Log

Author Commit Date CI Message
Jamie Madill 5fd0b2d9 2015-01-05T13:38:44 Fix iterator comparison in Context.cpp. In deleteTransformFeedback, we were using a const iterator, in a non-const method. Fix the comparison by using auto, which delegates more work to the compiler's static type checking. BUG=angle:773 Change-Id: Ibc362fe49629331811a5302df1b68269dfa128a6 Reviewed-on: https://chromium-review.googlesource.com/238444 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 3b141a6c 2015-01-05T13:15:16 Add OSX cases to EGL headers. These changes we'll have to upstream at a later time. BUG=angle:773 Change-Id: I18feb84ae58cb16e3e555c9ab65b6925ba35048e Reviewed-on: https://chromium-review.googlesource.com/238443 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 3897cd17 2015-01-05T13:15:15 Don't use std::tuple in IndexRangeCache. std::tuple currently isn't available on Chromium/OSX. BUG=angle:773 Change-Id: I9f9efc88dcfe904e98a76df8b04086b88f724424 Reviewed-on: https://chromium-review.googlesource.com/238442 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 47e156c0 2015-01-05T13:15:13 Use #include <stdint.h> instead of <cstdint>. This fixes the compile on OSX. BUG=angle:773 Change-Id: I68111e178986bb78b73006a1559ba26120275599 Reviewed-on: https://chromium-review.googlesource.com/238441 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2bd2a42d 2015-01-05T13:26:05 Don't assume c++11 std::map::erase in invalidateRange. We were using the c++11 iterator return value from std::map::erase. Instead use the post-increment operator to keep a valid iterator after the call to erase, even on older stl. BUG=angle:773 Change-Id: Ieaa21a2b5a3fcd5ca229a31d40bdf9b8f3283a3c Reviewed-on: https://chromium-review.googlesource.com/238440 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 22bcf7cf 2014-12-30T16:02:46 Implement KHR_create_context. We need the functionality of this extension to support dEQP. Likely we only needed the minor version enum to not generate an error, but we can take the time to implement the few cases for the other enums as well. We don't support any debug context functionality currently, but we may want to support it in the future. BUG=angle:501 Change-Id: Ib74cd2e4581e054f8153bb358824d9296b9f8a1c Reviewed-on: https://chromium-review.googlesource.com/238083 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2445143a 2014-12-30T14:53:16 Advertise EGL_EXT_platform_base. We were not advertising the extension, though we require it for ANGLE_platform_angle. This was blocking dEQP functionality. Change-Id: I8781867e772b4b1af62f1387faa863f8ce21de76 Reviewed-on: https://chromium-review.googlesource.com/238082 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill e65d145b 2014-12-30T15:35:39 Accept no attributes in GetPlatformDisplayEXT. It is quite valid for the app to pass in NULL for the attribs list. In this case we currently crash. We could trigger this error using dEQP. Change-Id: I64aba1077f9095bd099c6b60f789ec076cb3d385 Reviewed-on: https://chromium-review.googlesource.com/238081 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 049743a9 2014-12-23T13:05:11 Restrict depth buffer formats on D3D11 Feature Level 9_3 *_TYPELESS formats weren't supported in D3D10Level9 until Windows 8. Some Win8 D3D9 drivers don't support them either. To workaround this, we avoid _TYPELESS formats on D3D11 FL9_3. BUG=angle:856 BUG=435726 Change-Id: I280dc7f87e3a2c737c14284ebb744188e7f10616 Reviewed-on: https://chromium-review.googlesource.com/237292 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com> Tested-by: Jamie Madill <jmadill@chromium.org>
Austin Kinross 4fd18b1b 2014-12-22T12:32:05 Emulate large and negative viewports on D3D11 Feature Level 9_3 Like D3D9, D3D11 Feature Level 9_3 doesn't support large or negative viewports. We have to emulate these in the vertex shader. BUG=angle:858 Change-Id: I2bd53e3921dc3590cc7193164d73596deafca9ea Reviewed-on: https://chromium-review.googlesource.com/236040 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 324bcc46 2014-12-22T13:43:02 Fix instancing on D3D11 9_3, by ensuring slot zero contains non-instanced data D3D11 Feature Level 9_3 supports instancing, but slot 0 in the input layout must not be instanced. D3D9 has a similar restriction, where stream 0 must not be instanced. This restriction can be worked around by remapping any non-instanced slot to slot 0. This works because HLSL uses shader semantics to match the vertex inputs to the elements in the input layout, rather than the slots. BUG=angle:858 Change-Id: I67b2be9095afc206a4b9f107ed61356820551afe Reviewed-on: https://chromium-review.googlesource.com/237270 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Nico Weber ce8bb2fa 2014-12-30T13:32:25 Improve standards conformance of ANGLE's testing code. ANGLE's testing code recently got enabled in Chromium's builds. While it builds fine with cl.exe, it isn't quite standards-conformant and doesn't build with clang. Fix this. There were three issues: 1. ANGLE_TYPED_TEST_CASE() is a variadic macro that tries to use __VA_ARGS__ as argument to a variadic template and then pass that template to another macro. However, [cpp.replace] describes that ANGLE_TYPED_TEST_CASE(Test, int, float) should be expanded to TYPED_TEST_CASE(Test, ::testing::Types<int, float>) which should be interpreted as a "call" of TYPED_TEST_CASE with the 3 macro arguments `Test`, `::testing::Types<int`, and `float>`. As a fix, use a typedef for the variadic template and refer to it through the typedef in the macro call. 2. `#version` was used on its own line in a substitution of the SHADER_SOURCE macro. [cpp]p1 says that every line starting with a `#` is a preprocessing directive, and [cpp.replace]p11 says "If there are sequences of preprocessing tokens within the list of arguments that would otherwise act as preprocessing directives, the behavior is undefined" (with a footnote that this includes non-directives -- # followed by unknown text). As a fix, merge the `#version` line with the previous line. Now the line doesn't start with `#` and things are fine. 3. Unqualified lookup usually doesn't look into dependent bases. If this is desired, one usually has to make the call qualified, a good explanation for this is at http://eli.thegreenplace.net/2012/02/06/dependent-name-lookup-for-c-templates cl.exe doesn't implement this rule, and clang tries to emulate cl.exe's behavior to a certain extend when in Microsoft mode. However, that seems to not work for member templates with explicit types (filed http://llvm.org/PR22066 for this, but since it's not needed to parse Microsoft headers and not standards-conformant, I'm not sure if we'll fix that). As a fix, don't provide an explicit type, the inferred type is the same. This is also consistent with all the other tests in this file. (We might clean up -Wmicrosoft warnings in the future; if so I'll add the explicit this->s that are missing in this file when we do.) BUG=chromium:445406 Change-Id: I77a2f3ab9601a1f0f39b56ed3d05217f123155b8 Reviewed-on: https://chromium-review.googlesource.com/238090 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 5b072780 2014-12-11T13:52:38 Fix DisplayD3D not initializing mRenderer. BUG=angle:658 Change-Id: If865910d52154f574f4d488d4c45fcac9a87b050 Reviewed-on: https://chromium-review.googlesource.com/234761 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 932b465b 2014-12-17T15:25:31 Add format size information for DXGI_FORMATs. Change-Id: I14d0b8ebd631e5c9c3c3b63c047c9ef7c11bf310 Reviewed-on: https://chromium-review.googlesource.com/236304 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang eca8561e 2014-12-17T15:24:38 Add format size information for D3DFORMATs. Change-Id: Id8d884df31726546e871d75a719bc419dd767d6b Reviewed-on: https://chromium-review.googlesource.com/236303 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 21c1e456 2014-12-29T11:33:41 Fix a translator crash with index expressions. This crash happened with certain bad shaders which used temporary values as array (or other) index expresisons. Fixes the crash covered in the WebGL test "conformance/bugs/undefined-index-should-not-crash" BUG=angle:857 Change-Id: I13e2ba6d5f1ab0846ac902021bc0b57cbb37d759 Reviewed-on: https://chromium-review.googlesource.com/237460 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 97399235 2014-12-23T12:31:15 Enable conditional InfoLog for HLSL link failures. We don't always have an InfoLog available for dynamic shaders, but we can still capture data in some cases for default shaders. Change-Id: Iccd022f24d5c2b8922e9254580705675cd4e405f Reviewed-on: https://chromium-review.googlesource.com/237328 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Gregoire Payen de La Garanderie be954a23 2014-12-23T00:05:28 Implement support for the binary operator '%' in the translator. BUG=angle:854 Change-Id: If116de132dc83d93255749b54c1919a75abcb65c Reviewed-on: https://chromium-review.googlesource.com/236330 Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill be12fa22 2014-12-23T13:09:42 Update WebGL expectations. Change-Id: I69795b97ef032838cd43e889119405aaee66fa4f Reviewed-on: https://chromium-review.googlesource.com/237329 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill 48825bea 2014-12-23T12:12:01 Disable FL9_3 tests because of Windows 7 failures. These tests were failing on SwapChain11 with errors relating to the Depth Stencil backbuffer. BUG=angle:856 BUG=435726 Change-Id: Idd371a380e9b302d7d5e40437e9d76589872b750 Reviewed-on: https://chromium-review.googlesource.com/237450 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 185de884 2014-12-22T15:17:52 Update ANGLE's translator to Bison 3. BUG=angle:462 Change-Id: I2c1c18027dee1c3b4efb87374caaadbf58367841 Reviewed-on: https://chromium-review.googlesource.com/236930 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Austin Kinross d5663b1c 2014-12-22T12:24:06 Support remaining vertex attrib formats on D3D11 9_3 Change-Id: Id0d3ad6ec7764ed84ec504ad92eca81dff29aac8 Reviewed-on: https://chromium-review.googlesource.com/236043 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Austin Kinross 366db7cd 2014-12-16T13:15:14 Prevent usage of GSSetConstantBuffers on D3D11 Feature Level 9_3 Calling GSSetConstantBuffers with real data causes a device removed error on 9_3. We therefore ensure that ANGLE doesn't call it on 9_3. Change-Id: I151a74ee7ea81fc4b795d8bf10d5e5c42bfe7c86 Reviewed-on: https://chromium-review.googlesource.com/236042 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kenneth Russell 2609bf4c 2014-12-18T13:55:08 Refactored test targets into angle_unittests and angle_end2end_tests. angle_unittests subsumes the previous: angle_compiler_tests angle_preprocessor_tests and will subsume angle_implementation_unit_tests in a follow-on CL. angle_end2end_tests subsumes the previous: angle_tests angle_standalone_tests angle_implementation_unit_tests The bulk of these two targets have been factored into their own .gypi files, so that a different main.cpp can be trivially plugged in for the gtest harness. This refactoring has been tested both in ANGLE standalone builds, and builds within Chromium. BUG=chromium:435726 Change-Id: I231a3c1989c17e188cc469dcf80fe78b052afe78 Reviewed-on: https://chromium-review.googlesource.com/236681 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang 54bd5a46 2014-12-01T12:51:04 Move blit to the Framebuffer object and Impl. BUG=angle:841 Change-Id: I482e53a90606d9d6b105c7006234215d51ab1a6b Reviewed-on: https://chromium-review.googlesource.com/232692 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang bce529e4 2014-12-01T12:48:41 Move ReadPixels to the Framebuffer object and Impl. BUG=angle:841 Change-Id: I71deac9e755b5dfa010596cd1f8a213c24d895bf Reviewed-on: https://chromium-review.googlesource.com/232691 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang b04dc82e 2014-12-01T12:02:02 Move Framebuffer clearing from Renderer to the Framebuffer object. BUG=angle:841 Change-Id: I95c9cbdc2d1c99731e19c48e18117358d22b9e94 Reviewed-on: https://chromium-review.googlesource.com/232690 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross c9878cb1 2014-12-11T10:43:48 Fix normalized GL_BYTE vertex attributes on D3D11 9_3 Feature Level 9_3 doesn't support as many formats for Input Layouts as 10_0+. On 9_3, we have to make sure that GL vertex attributes are converted into formats that 9_3 supports. Change-Id: I27b9a85a6eb21a37bd36e60bf011b83fce743fd0 Reviewed-on: https://chromium-review.googlesource.com/234523 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Dongseong Hwang 44b422c1 2014-12-09T15:42:01 Unify duplicated code for both depth and stencil buffer in ValidateBlitFramebufferParameters() Tested with angle_*_tests and WebGL CTS in Chrome Canary on Windows. Passed with no regressions. Change-Id: Ied0a32ea75565ef19b8e87bed8bdd555b74edee3 Reviewed-on: https://chromium-review.googlesource.com/234110 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang 4ed1c450 2014-12-12T10:44:33 Link libANGLE against translator_static. If there are multiple users of translator.dll then one could ShFinalize and destroy the memory of all the others. libANGLE needs it's own copies of the global pool allocator to make sure this doesn't happen. There should be no functional changes for non-component builds. BUG=angle:823 Change-Id: Id6f7d50e86d8950834399b16a7ab14e6e3198d12 Reviewed-on: https://chromium-review.googlesource.com/234594 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 588434c4 2014-12-10T10:41:45 Prevent D3D11 Feature Level 9_3 from sampling from SV_Position in Pixel Shaders D3D11 FL9_3, like Shader Model 2.0 in D3D9, doesn't support reading from SV_Position in the pixel shader. We have to reconstruct gl_FragCoord using dx_ViewCoords instead. Change-Id: I7e898038d210d73a9d224dcc18b033e5cd4a56f5 Reviewed-on: https://chromium-review.googlesource.com/234277 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 492a7e43 2014-11-05T13:27:06 Encapulate the ESSL compiler into a GL object that is per-context. * Allows for multiple contexts have to have different client versions, caps and extensions without causing shader compilation failures. BUG=angle:823 Change-Id: I523679e90be031b0b7fa385d46d6839b1cf3029f Reviewed-on: https://chromium-review.googlesource.com/227710 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 797ff4c0 2014-12-11T12:01:45 Move some structs and enums from Renderer.h to RendererD3D.h Change-Id: Ib334d2506031466a73f1a233ee68c1658841a882 Reviewed-on: https://chromium-review.googlesource.com/234720 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 62588f5b 2014-12-10T10:27:35 Remove D3D11_BIND_STREAM_OUTPUT usage on D3D11 Feature Level 9_3 Change-Id: Ib9d2d155a6e062488ff5bb5ce578036b6187ca70 Reviewed-on: https://chromium-review.googlesource.com/234276 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 53c1a456 2014-12-05T13:24:42 In Clear11, use ID3D11DeviceContext1::ClearView when appropriate Change-Id: I8d9054b5582cfe78beaff07146adc73b4716eaf9 Reviewed-on: https://chromium-review.googlesource.com/233680 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill eb32a2e9 2014-12-10T14:27:53 Fix cube map rendertargets. We were using the entire level parameter of the cube map, instead of using the helper functions for cube map ImageIndexes, which set the layer corresponding to the cube map face. BUG=angle:849 BUG=440701 Change-Id: Id78db5c8281b6b644392bb961d69a7f869755a34 Reviewed-on: https://chromium-review.googlesource.com/234380 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Austin Kinross b1237ed7 2014-12-08T09:37:42 On D3D11 Feature Level 9, use IDXGIAdapter2::GetDesc2. On Feature Level 9_3, GetDesc() returns "Software Adapter" in the hardware description string, instead of a description of the actual GPU. As a result, glGetString(GL_RENDERER) on 9_3 wouldn't return any useful info about the current hardware. Change-Id: Ie4d329a08a03ee044fc0b594308aaf0bf235c74e Reviewed-on: https://chromium-review.googlesource.com/233663 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Austin Kinross 0dbda057 2014-12-04T18:13:04 Add basic D3D11 Feature Level 9.3 support Change-Id: I660c74791ddb9917bd4796bb652eefab2a3e4863 Reviewed-on: https://chromium-review.googlesource.com/233660 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Geoff Lang 748f74ef 2014-12-01T11:25:34 Rename Framebuffer::completeness to checkStatus and add an Impl method. BUG=angle:841 Change-Id: I04b4ffd086424569a15aa21447dd552e0a898928 Reviewed-on: https://chromium-review.googlesource.com/232394 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 9dd95808 2014-12-01T11:12:59 Add set*Attachment methods to FramebufferImpl. BUG=angle:841 Change-Id: Ie819c253a900d105d768aee168a6a2de89754ccc Reviewed-on: https://chromium-review.googlesource.com/232393 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f1b85f31 2014-12-08T14:14:13 Update generated D3D shaders. We neglected to regenerate with our switch to the 8.1 SDK. Change-Id: Idd67dce1147ad0acec9bf933a0fd01f421c784ef Reviewed-on: https://chromium-review.googlesource.com/233844 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 16545669 2014-12-05T15:02:08 Move libEGL to compile on all platforms. BUG=angle:773 Change-Id: I377c6df9b1f10e2756b7f000099847dc910c965c Reviewed-on: https://chromium-review.googlesource.com/232793 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1a05ce93 2014-12-05T15:02:07 Allow implementation tests to compile on all platforms. BUG=angle:773 Change-Id: I9fb56c1d8332b1529460eb3962bae1b756f58e91 Reviewed-on: https://chromium-review.googlesource.com/232791 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 62a4be24 2014-12-05T15:02:06 Move the Image::copy implementation to ImageD3D. This method uses rx::RenderTarget, which is D3D-only. BUG=angle:773 Change-Id: I2cb523fa98bda96661260d37a8c69c2ed8e7aa84 Reviewed-on: https://chromium-review.googlesource.com/233441 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang b5d8f23e 2014-12-04T15:43:01 Move GetAttachmentRenderTarget and GetAttachmentSerial to FramebufferD3D.h. BUG=angle:841 Change-Id: Ic341239e848f1daf7cf38f233d79a58f221780f4 Reviewed-on: https://chromium-review.googlesource.com/232969 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 437d2662 2014-12-05T14:23:35 Move some D3D-specific stuff into ProgramD3D. BUG=angle:773 Change-Id: I48b42e7a3e82a43d3dde16a8d1016d28280eae39 Reviewed-on: https://chromium-review.googlesource.com/232968 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8e7c8a13 2014-12-04T16:16:32 Fix texture format support queries on AMD-D3D9. We were allowing calls to the device to check support for D3DFMT_NULL, which AMD reports as a usable texture type. This was causing crashes with the WebGL CTS and angle_end2end_tests, when the user tries to use an sRGB or other type, which we incorrectly reported as available. BUG=angle:839 Change-Id: I4941baac6a2b14a09c0ad2c924f29189ccfc6a07 Reviewed-on: https://chromium-review.googlesource.com/232728 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 130e6e8f 2014-12-05T12:17:40 Mark the exported entry points as stdcall. Because they may be returned as stdcall from eglGetProc address, the entry point functions must be stdcall. Fixes issues on 32-bit builds. BUG=angle:733 Change-Id: Ia20046a67fdc28c702837ec59b8299c6bb722006 Reviewed-on: https://chromium-review.googlesource.com/233471 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang babd8caf 2014-12-05T11:36:40 Have libGLESv2 compile tls.cpp. BUG=angle:733 Change-Id: Ief3ddabdc441eb7e46581337a511cec2a90ede48 Reviewed-on: https://chromium-review.googlesource.com/233431 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 8300538f 2014-12-03T14:50:26 Use the static CRT. Remove a test that expects a crash, it has become flaky. BUG=angle:733 Change-Id: Ia1d4e0b3dd09fa755f678b97b8deceee3ef0a35b Reviewed-on: https://chromium-review.googlesource.com/232963 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e7c6e43c 2014-12-03T14:48:07 Implement all entry points in libGLES and have libEGL act as a shim. This allows libANGLE to only be included in libGLESv2 and moves all TLS data to libGLESv2.dll. BUG=angle:733 Change-Id: I34f0b47987a5efbe906c290d3ca656142e69ea9a Reviewed-on: https://chromium-review.googlesource.com/232962 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 6c85047a 2014-12-02T16:23:17 Reject compound assignments of the type scalar op= vector/matrix scalar op vector/matrix produces a vector/matrix, which can't be assigned to a scalar. Handle this correctly for addition, subtraction and division. Multiplication was already handled correctly as a special case. BUG=angle:832 TEST=WebGL conformance tests Change-Id: I318cae8bf353a5c58c588876ce3f29d18389263c Reviewed-on: https://chromium-review.googlesource.com/232601 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 2c43325d 2014-12-03T12:36:54 Fix double delete with invariant varyings. The compiler would leave some TString variables lying around after the pool gets released, leading to a potential crash. BUG=angle:846 Change-Id: I484ed9b14bba9bf653f6ed4001ae79f87791b0dd Reviewed-on: https://chromium-review.googlesource.com/232780 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang 68439854 2014-12-04T14:40:16 Fix ASSERT not covering full range of drawbuffer counts. BUG=angle:841 Change-Id: I59cc281e4848572010cbba3d45382a98063e8db2 Reviewed-on: https://chromium-review.googlesource.com/233210 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 9ad4bda0 2014-12-01T11:03:09 Move Framebuffer invalidation into the impl. BUG=angle:841 Change-Id: Ibcf58c4f676491f3b2582198c6cf9fd4a7a38b42 Reviewed-on: https://chromium-review.googlesource.com/232392 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 164d54eb 2014-12-01T10:55:33 Set all the drawbuffer state at once instead of one buffer per call. BUG=angle:841 Change-Id: I988c7c0cd45317c78b8fd16df8324028ff1cb25d Reviewed-on: https://chromium-review.googlesource.com/232391 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 05a49f68 2014-12-04T13:48:47 Fix doubly defined variables in libANGLE and libGLESv2. We can get by with only including these in libANGLE, since libGLESv2 pulls in libANGLE. BUG=angle:773 Change-Id: Iccbdb968b3c55528e2a7e1dd55f4f1280a70bfe9 Reviewed-on: https://chromium-review.googlesource.com/232967 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 3011c25b 2014-12-04T13:48:46 Fix event tracer linking on Linux. We were including the cpp in multiple targets, which was causing a multiply defined error. BUG=angle:773 Change-Id: I1e31756faee2d7734f1fc6cfb086d0e7ec6519bc Reviewed-on: https://chromium-review.googlesource.com/232966 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4eae6dfa 2014-12-04T13:48:45 Move native display check to the DisplayImpl. This fixes another Linux compile error in the EGL layer. BUG=angle:773 Change-Id: Iba643a72fb7b0d5994fe69e46184256e07aa3aad Reviewed-on: https://chromium-review.googlesource.com/232945 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 0ecf9af6 2014-12-04T13:48:41 Update WebGL CTS expectations. Change-Id: I04f232b560dda470d589f8afbe8601d5cf7abeef Reviewed-on: https://chromium-review.googlesource.com/232965 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 8e1936c7 2014-12-03T15:20:12 Skip BlitStencil test on Intel D3D9. We seem to fail this config. It could be driver bug or other problem in ANGLE. Disable the test until we can find an answer. BUG=angle:809 Change-Id: I90d773d2047569d71fa8a25c8919a8e46b5676b1 Reviewed-on: https://chromium-review.googlesource.com/232980 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill dae55f64 2014-12-04T11:36:30 Remove polymorphism of egl::Display. This was causing a warning on GCC, and is no longer necessary. BUG=angle:773 Change-Id: I6cb09e79bff9035e3e38966dcad2cc7ba74701a1 Reviewed-on: https://chromium-review.googlesource.com/232944 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 5d94a2b1 2014-12-04T11:16:00 Move native window check to the DisplayImpl. This hides the D3D-specific methods from the EGL side of things. BUG=angle:773 Change-Id: I5a1c2bbff865e02bc1a07b3295347469ef9792e3 Reviewed-on: https://chromium-review.googlesource.com/232943 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang a0c18434 2014-12-04T10:27:25 Fix stray ANGLE_EXPORT. BUG=angle:733 Change-Id: Ia4a84bea483ac11a2326d2402649affe10d661c9 Reviewed-on: https://chromium-review.googlesource.com/232942 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 9d9132df 2014-12-03T14:46:48 Remove support for compiling libANGLE as a dynamic library. BUG=angle:733 Change-Id: Iacef45b89f234091eb5df505437adabece1e564b Reviewed-on: https://chromium-review.googlesource.com/232961 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2ec386bb 2014-12-03T14:44:38 Rename IsSampler to IsSamplerType. BUG=angle:733 Change-Id: I62aece16c11aefdbf13c0b5faf83040fdb8555e6 Reviewed-on: https://chromium-review.googlesource.com/232960 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 59723541 2014-11-26T15:30:16 Disable support for shader model 2 in Renderer9. Change-Id: I2fc6e1b440cbdd72c99971d355637819a13951be Reviewed-on: https://chromium-review.googlesource.com/232091 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 528ce3c1 2014-12-01T10:44:07 Merge some special cases of the default framebuffer into the Framebuffer class. BUG=angle:841 Change-Id: Id4b5ac38926bc90fa015584d966aaef3a7101849 Reviewed-on: https://chromium-review.googlesource.com/232390 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2212b3d5 2014-12-03T10:59:00 Only generate shader debug info on Windows. This was messing up the Linux build with some recent changes. BUG=angle:773 Change-Id: I9ca201f08ddde0a36224872b2c78d1d666cf458d Reviewed-on: https://chromium-review.googlesource.com/232792 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Bruce Dawson 36e86234 2014-12-01T16:48:23 Improve image update perf by re-using a MemoryBuffer. Instead of allocating a new MemoryBuffer every frame, we can store one scratch buffer in the Renderer, and occasionally re-create it to ensure we aren't stuck using the maximum amount of memory. BUG=angle:842 Change-Id: Id7c1912921ed8f84b151413453c3268d853352db Reviewed-on: https://chromium-review.googlesource.com/230861 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Bruce Dawson <brucedawson@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9d59a044 2014-12-03T10:58:59 Ignore GCC's always inline warnings in MurmurHash. These were benign and treated as errors. The always inline attribute may still have some value, so I left it in. BUG=angle:773 Change-Id: I78c5f792485e8f8d890123ee861cfecf2a5649be Reviewed-on: https://chromium-review.googlesource.com/232790 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 0540e5d5 2014-12-03T10:58:58 Move the SystemInfo helpers to Win32 only. BUG=angle:773 Change-Id: I53938837d925b14d8fc86c94a38d23bb86d82de5 Reviewed-on: https://chromium-review.googlesource.com/232699 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 2347de1a 2014-12-03T10:58:57 Remove src/libANGLE from default includes. This is unnecessary, and was breaking Linux builds because of a conflict with features.h. BUG=angle:773 Change-Id: Ic704ac24a0e8f5781f67cadca396bef779495efe Reviewed-on: https://chromium-review.googlesource.com/232698 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill e7cfb3dd 2014-12-03T10:58:56 Do not use std::strlen. GCC doesn't use the std:: namespace for these methods. BUG=angle:773 Change-Id: I0d887f103298cdd184b3f7825c5e44363edb9b92 Reviewed-on: https://chromium-review.googlesource.com/232697 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 2db1fbbc 2014-12-03T10:58:55 Make compile optimization level hidden outside D3D. BUG=angle:773 Change-Id: Ia6f16d2e4644c02d94cf99b73f70d05486886925 Reviewed-on: https://chromium-review.googlesource.com/232696 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 27839c6d 2014-12-03T10:58:53 Remove unrefed texture validation variables. These were causing unused variable warnings in Linux GCC builds. BUG=angle:773 Change-Id: I860d425a1caef07a58f6ff1b6c113ad7b63283dc Reviewed-on: https://chromium-review.googlesource.com/231856 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill e69a3f28 2014-12-03T10:58:53 Add missing cstring include to Uniform.cpp. This file was missing on GCC builds. BUG=angle:773 Change-Id: I6222b5ee563d64967d878c422abd464c8c92e646 Reviewed-on: https://chromium-review.googlesource.com/231855 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 639db12e 2014-12-03T11:36:43 Use memset to zero out ClearParameters. Using the C struct initialization syntax was giving errors on Linux. BUG=angle:773 Change-Id: I298c851df7246eeb1772837c5678f3c578483b63 Reviewed-on: https://chromium-review.googlesource.com/231854 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill d98bbc39 2014-12-03T11:36:42 Remove RendererD3D header from Renderbuffer.cpp. BUG=angle:773 Change-Id: Idb9f840c0a83550bd9a58c3c4599c65ee916fa3c Reviewed-on: https://chromium-review.googlesource.com/231853 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Olli Etuaho 352beffc 2014-11-19T13:45:55 Remove RemoveAllTreeNodes, since it was a no-op IntermNode operator delete() or any of the IntermNode destructors don't do anything, since all the AST memory is allocated on the PoolAllocator. Because of this, RemoveAllTreeNodes was simply a no-op, and redundant with the PoolAllocator deallocation procedure, and could confuse people reading the code to think that IntermNodes should be deleted individually, when in fact this is not the case. BUG=angle:831 Change-Id: Ie1ccaa51986aabf267280d92a8e76ca9f97a19e5 Reviewed-on: https://chromium-review.googlesource.com/230730 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Erik Dahlström ea7a2121 2014-11-17T16:15:57 Add GLSL/ESSL validator/translator support for GL_EXT_shader_framebuffer_fetch. BUG=angle:834 Change-Id: I2d4e25909a8e1266b9bb7f1d4421324143157c8a Reviewed-on: https://chromium-review.googlesource.com/231032 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Erik Dahlström <ed@opera.com>
Jamie Madill 870352a1 2014-12-01T11:01:17 MANGLE egl::Display. BUG=angle:794 Change-Id: Id131f3119100030d6ee630e357a8d28396a6a813 Reviewed-on: https://chromium-review.googlesource.com/231852 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 7dd2e10d 2014-11-10T15:19:26 Merge the ProgramBinary class into Program. BUG=angle:731 Change-Id: I2ee97155841dc62f04bb71c1f2035d210fd3883c Reviewed-on: https://chromium-review.googlesource.com/232694 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 21329414 2014-12-02T20:50:30 Revert "Merge the ProgramBinary class into Program." Issues appeared on the FYI waterfall, content_gl_tests hangs. This reverts commit 2195a6d6032883ed05468d5ecd019e7cb9a27bce. Change-Id: I9fe1a53cf40887ae5a98fd77b4872f41085fcea7 Reviewed-on: https://chromium-review.googlesource.com/232386 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2195a6d6 2014-11-10T15:19:26 Merge the ProgramBinary class into Program. BUG=angle:731 Change-Id: Ia0a356c0684f3a3576c71dfd04b00874318dd084 Reviewed-on: https://chromium-review.googlesource.com/228701 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang da88adda 2014-12-01T10:22:01 Create stubs for the FramebufferImpl class. BUG=angle:841 Change-Id: I089409981604abe9c65c3019765d8d9eeffe38f5 Reviewed-on: https://chromium-review.googlesource.com/232381 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f626df96 2014-12-01T11:01:15 Remove Display::recreateSwapChains. This method was unused and dead code. BUG=angle:794 Change-Id: I1348f5ffc62ff57f3c6503c6842cc68bcbefb550 Reviewed-on: https://chromium-review.googlesource.com/231851 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 4052af43 2014-12-01T14:45:20 Fix override keyword in Renderer9.h. BUG=angle:773 Change-Id: I1d69b79ed8f85a2e9238cee1ffada11ee362cffb Reviewed-on: https://chromium-review.googlesource.com/232395 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill ac59273c 2014-12-01T11:01:14 Clean up Adapter LUID queries. We might need to revisit this when we implement other GL back-ends. BUG=angle:773 Change-Id: I6e742254bd0df8cc899ea02a523992b4d66dfd68 Reviewed-on: https://chromium-review.googlesource.com/229061 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Geoff Lang 8bc361e1 2014-11-20T16:23:31 Support compiling libANGLE as a static or shared library. BUG=angle:733 Change-Id: If27d3330534bce0f5b691010ea7d97bcb7579122 Reviewed-on: https://chromium-review.googlesource.com/231052 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 4f4207f7 2014-12-01T10:07:56 Make some FramebufferAttachment methods const. BUG=angle:841 Change-Id: I4670e417c1976ebd2198ea4c8927a00fff7bb15c Reviewed-on: https://chromium-review.googlesource.com/232380 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 43b65311 2014-11-21T11:37:41 Make getAdapterIdentifier D3D-only. We only use this Renderer method in ProgramD3D, so we can hide it from the GL-side API. BUG=angle:773 Change-Id: I7a8092a7e3bceb1498f4e4022f84486e0295759d Reviewed-on: https://chromium-review.googlesource.com/229060 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 0954b340 2014-11-27T22:11:19 Revert "Do not check format caps for D3DFMT_NULL." Seems to be causing problems on the AMD Release GPU FYI bot. http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28ATI%29/builds/6378 This reverts commit 533f0a1d6a9510c3380dc791457883274fbdc997. Change-Id: I94ae0f72303ad5bc6e84e56c35a683d01844309a Reviewed-on: https://chromium-review.googlesource.com/232192 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill fb0580a6 2014-11-27T14:03:52 MANGLE egl::Surface. This class has its fingers in a lot of other classes. In particular, we will likely need to revisit the context lost handling methods when we implement the robustness extensions on top of desktop GL. For now, we can leave them tied pretty tightly to the D3D implementation. BUG=angle:795 Change-Id: I9b3ac90dfd393f52c5b49bc2bd6b97fb5536ed91 Reviewed-on: https://chromium-review.googlesource.com/228916 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 533f0a1d 2014-11-26T13:23:04 Do not check format caps for D3DFMT_NULL. On AMD systems the driver was reporting these textures as usable. This was causing crashes in the sRGB extension tests. BUG=angle:839 Change-Id: I8e9924ed44f82a2a6bc891d1df76c0f9a19084ad Reviewed-on: https://chromium-review.googlesource.com/232062 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ce260bb4 2014-11-27T13:39:16 Add Fence implementation tests back to project. Somehow they had been neglected. Change-Id: Ibe8b063758be8e99978fdd2723192be7bcea6d04 Reviewed-on: https://chromium-review.googlesource.com/232220 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 50832442 2014-11-27T11:06:19 Update WebGL expected failures. Change-Id: I8d90f9189340b6a8f8535bab595fd1e8f65fe9ff Reviewed-on: https://chromium-review.googlesource.com/231965 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill d3404ffd 2014-11-27T11:06:20 Optimize LoadL8ToRGBA8. We can save some work by re-using the color value in a temporary. BUG=angle:842 Change-Id: Ib64b34ca7bc77c73368e159527ad84419079f958 Reviewed-on: https://chromium-review.googlesource.com/231997 Reviewed-by: Bruce Dawson <brucedawson@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 149257f5 2014-11-26T14:14:31 Disable EXT_depth_textures on AMD D3D9 devices. BUG=angle:839 Change-Id: Ia8c24db98a31141994e22b25efbdfddaa4eced49 Reviewed-on: https://chromium-review.googlesource.com/231996 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 60305f14 2014-11-18T13:25:26 Fix error in dumping direct struct indexes. The parser would become confused over the purported array size of struct indexes. In reality they were always a single direct index into a struct, but it would take the object size of the represented type (EG, a vec4 would have size 4) and deference out-of-bounds memory. BUG=434033 Change-Id: I92349aa04e6faadc766cb28c04e28d5f19c4e1ec Reviewed-on: https://chromium-review.googlesource.com/230530 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org>