src


Log

Author Commit Date CI Message
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 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 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 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 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>
Geoff Lang 53a1f4a0 2014-11-19T16:35:45 Remove the libGLESv2_static target. BUG=angle:733 Change-Id: Ia33a67d8422c6c31a1f07f2a8778537e023b2dd2 Reviewed-on: https://chromium-review.googlesource.com/230781 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 853dc1ab 2014-11-06T17:25:48 Add mediump and lowp precision emulation support for GLSL output This implements the rounding as specified in WEBGL_debug_shader_precision extension proposal for desktop GLSL and ESSL output. The bulk of the new functionality is added in the form of a new EmulatePrecision AST traverser, which inserts calls to the rounding routines angle_frm and angle_frl in the appropriate places, and writes the rounding routines themselves to the shader. Compound assignments which are subject to emulation are transformed from "x op= y" to "angle_compound_op_frm(x, y)", a call to a function which does the appropriate rounding and places the result of the operation to x. The angle_ prefixed names should not clash with user-defined names if name hashing is on. If name hashing is not on, the precision emulation can only be used if the angle_ prefix is reserved for use by ANGLE. To support the rounding routines in output, a new operator type is added for internal helper function calls, which are not subject to name hashing. In ESSL output, all variables are forced to highp when precision emulation is on to ensure consistency with how precision emulation performs on desktop. Comprehensive tests for the added code generation are included. BUG=angle:787 Change-Id: I0d0ad9327888f803a32e79b64b08763c654c913b Reviewed-on: https://chromium-review.googlesource.com/229631 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 1c9ecfd7 2014-11-25T11:50:58 Add querySurfacePointerANGLE method to Surface. This method will more closely match the desktop GL implementation. BUG=angle:795 Change-Id: I796b46bb6e8e895dad8d9824e8405edcc12e8a4f Reviewed-on: https://chromium-review.googlesource.com/228915 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 55573e13 2014-11-25T11:21:13 Use cross-platform enum for Vendor ID. BUG=angle:795 Change-Id: Ibe9bbb79b92730ba80ca7275528c8b61d5d44c59 Reviewed-on: https://chromium-review.googlesource.com/228914 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2207213b 2014-11-20T15:15:01 Move as many files as possible from common to libANGLE. BUG=angle:733 Change-Id: If01c91cd52ac5c2102276a9fdc4b68ebc13e47f9 Reviewed-on: https://chromium-review.googlesource.com/231850 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5ce48e21 2014-11-24T11:38:54 Use EGLClientBuffer in place of HANDLE in EGL. BUG=angle:795 Change-Id: I7af47e9306e0e12b980cfd3f061bbbe0951ac4e4 Reviewed-on: https://chromium-review.googlesource.com/228913 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 4349ab85 2014-11-25T15:53:34 Revert "Move as many files as possible from common to libANGLE." Chromium directly includes our common/version.h and couldn't build after this change. This reverts commit f0a2c7727f9863c38a435a16a69d513c481fbbdd. Change-Id: Iafc41b1a3973f609518fe3588fdb64cecc285332 Reviewed-on: https://chromium-review.googlesource.com/231840 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f0a2c772 2014-11-20T15:15:01 Move as many files as possible from common to libANGLE. BUG=angle:733 Change-Id: I40cee6e2e305ac493acbc8649f858785c0569aed Reviewed-on: https://chromium-review.googlesource.com/231051 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Shannon Woods f03c4da0 2014-11-24T20:07:07 Revert "In Clear11, use ID3D11DeviceContext1::ClearView when appropriate" Causing failures on GPU Windows bots This reverts commit 3b23162968cdb7fb76aef74e979d8ea1fd256a8d. Change-Id: Ie1806db36b13f8b03dc1a1ae10f237260c99de7b Reviewed-on: https://chromium-review.googlesource.com/231701 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang f60fab6d 2014-11-24T11:21:20 Fix handling of shader source with fixed length. BUG=angle:837 Change-Id: Ie9c3059ad2973b0733be92b7548525ee694bb1fa Reviewed-on: https://chromium-review.googlesource.com/231612 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 3b231629 2014-11-07T15:39:35 In Clear11, use ID3D11DeviceContext1::ClearView when appropriate Change-Id: I81fe722973aa3c89ea03501543ab74d92e26b02b Reviewed-on: https://chromium-review.googlesource.com/228620 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 0a73dd85 2014-11-19T16:18:08 Fix include guards. BUG=angle:733 Change-Id: I08b2c11c4831f1161c178c1842b10e807185aced Reviewed-on: https://chromium-review.googlesource.com/230831 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill edcc6bc5 2014-11-24T11:38:53 Make device lost flag a RendererD3D member. This flag we used in both D3D renderers, and hence we can move it to the base class to share a bit of common code. BUG=angle:795 Change-Id: I8bd60796bfeb9590bdf798f9d044f8e20c7ad779 Reviewed-on: https://chromium-review.googlesource.com/228912 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4c76feac 2014-11-24T11:38:52 Remove notify parameter from testDeviceLost. We can get rid of this parameter now that we call notify directly on the display in cases where we need to. BUG=angle:795 Change-Id: I2024b70d0d725e755f7aa742ba221c2d0179d8b6 Reviewed-on: https://chromium-review.googlesource.com/228911 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9dd0cf0a 2014-11-24T11:38:51 Do not use notify feature of testDeviceLost. This is part one of a simplification of testDeviceLost. This patch changes the instances where we would use the notify parameter to notify the Display directly. We can do this by using the Display attached to the Renderer in some cases. BUG=angle:795 Change-Id: I24fd827989d47b0b2cefef7afb99fa62581ddc1b Reviewed-on: https://chromium-review.googlesource.com/228910 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kenneth Russell b23deb26 2014-11-21T14:53:56 Fixed Mac and Linux build breakage. Introduced in 1edac3b1bdcc54a4b0f0449cb727bda84ab3ee53 . BUG=none Change-Id: Ia5c5e38b794e9c991ec8624de34681dcf13a651f Reviewed-on: https://chromium-review.googlesource.com/231441 Tested-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Cooper Partin 1edac3b1 2014-11-20T13:49:27 Fixed Visual Studio 2013 Update 4 build failures for WinRT Change-Id: I393e9800d1c2e902f60728e1f7d0debca66b76a0 Reviewed-on: https://chromium-review.googlesource.com/231140 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e371f1d7 2014-11-21T11:25:22 Update the DISALLOW_COPY_AND_ASSIGN macro to use c++ operator deletion. Also remove the TSymbol copy constructor which is not used. BUG=angle:836 Change-Id: I4f35f554c90d01dc2132d244a1974d9a8dc89bbd Reviewed-on: https://chromium-review.googlesource.com/231231 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill cc4cd292 2014-11-21T14:49:40 Fix releasing textures after we kill D3D11. This bug was crashing the IncompleteTextureTest in Release mode. Fix this by releasing the textures before we free the D3D11 libraries. BUG=angle:838 Change-Id: I771e4cc6876e3529c5d26f36711dea9181e631f0 Reviewed-on: https://chromium-review.googlesource.com/231247 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 2b5420c0 2014-11-19T14:20:15 Merge libGLESv2 and libEGL classes into libANGLE. BUG=angle:733 Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df Reviewed-on: https://chromium-review.googlesource.com/230830 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 746d0ea7 2014-11-21T11:28:33 Disallow copying of the MemoryBuffer class. BUG=angle:836 Change-Id: Ie3f674ef6c321770209a37b1af06ea21d788f476 Reviewed-on: https://chromium-review.googlesource.com/231232 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang aad0cd7f 2014-11-21T11:07:36 Fix leaked ID3D11Resource object. BUG=427245 Change-Id: If4833df5dc405a2a8d87a577bbd47b954613e321 Reviewed-on: https://chromium-review.googlesource.com/231246 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f8fccb39 2014-11-12T15:05:26 Fix bugs in 2D Array Texture support. This fixes assertion failures and other errors, reproducible by running the dEQP Texture Format tests. BUG=angle:813 Change-Id: I3b97f89323f9656b45f617211fb4579a24013951 Reviewed-on: https://chromium-review.googlesource.com/229351 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill e5685e08 2014-11-12T15:37:41 Fix failure initting 2D Array textures. Our code currently failed in retrieving a NULL Image internally, when we relied on getting texture dimensions on an unitialized texture. BUG=angle:813 Change-Id: Iaf6791ee291e45daae9c80d6452c4d9154227fdb Reviewed-on: https://chromium-review.googlesource.com/229350 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Kenneth Russell 0c219b81 2014-11-19T11:17:03 Trivial change to allow translator to be compiled via Emscripten. BUG=none Change-Id: Ifdb02d4b7c061f403f50d2e1fbea4ab117462475 Reviewed-on: https://chromium-review.googlesource.com/230813 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang acf5d5be 2014-11-19T11:48:40 Remove includes of libGLESv2/main.h. It was mostly being included for gl::error or the debug.h include. BUG=angle:733 Change-Id: If40d511c5422ac9265fbd809f647a91bcc802d41 Reviewed-on: https://chromium-review.googlesource.com/230551 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 9c308c8d 2014-11-19T12:38:25 Remove includes of libEGL/main.h. It was mostly being included for querying the current state and EGL includes. BUG=angle:733 Change-Id: Ia985dbc9de5739f6ea7fa5bb6eb2e187cc1d60f3 Reviewed-on: https://chromium-review.googlesource.com/230780 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6a1e6b97 2014-11-06T10:42:45 Create a DefaultAttachment type and an implementation for it. This allows for dynamically sized default attachments instead of calling Context::makeCurrent each time the surface changes size. BUG=angle:824 Change-Id: Ic39c0d7dc4269db53a34c01c4d915cb1a3cfbd08 Reviewed-on: https://chromium-review.googlesource.com/228180 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 44f4d74c 2014-11-11T13:37:00 Fix memory leak when default framebuffer has 0 depth bits and 0 stencil bits Change-Id: If9dbcfc7eac3295b2523dd41dc87198d1b1e2d76 Reviewed-on: https://chromium-review.googlesource.com/229022 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Austin Kinross aed9f94e 2014-10-23T14:31:03 Limit D3D11 Feature Level 9 to GL ES 2.0, and say it's not conformant Change-Id: I2ce88217c9b78e83bac6df5975d9edfbbf90e557 Reviewed-on: https://chromium-review.googlesource.com/225251 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Corentin Wallez e0902644 2014-11-04T12:32:15 Change the component type of STENCIL_INDEX8 to UNSIGNED_NORMALIZED That way RenderbufferStorageMultisample accepts STENCIL_INDEX8 as an internal format for a multisampled buffer (samples > 0) as it isn't concerned by the restriction on integer component types anymore. This is consistent with the component type returned by the NVIDIA driver. BUG=angle:812 Change-Id: Ic03f502ffa082b1011e8127213a5c1df0617ef43 Reviewed-on: https://chromium-review.googlesource.com/227470 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Corentin Wallez ac6ff938 2014-11-12T06:16:53 Unset SRVs which resource are being bound to an RTV This is the extension of a previously debug-only workaround for D3D doing the unsetting by itself (with a warning). It made our state tracking of the bound SRVs out of sync with D3D's and caused some rendering to not take place. BUG=427245 Change-Id: Id378030b64fddafbb3d406872a7dfd2c84793221 Reviewed-on: https://chromium-review.googlesource.com/229066 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Scott Graham 7e81c9d5 2014-11-15T02:23:08 Revert "Revert "Switch to 8.1 SDK and d3dcompiler_47.dll"" This reverts commit 3cbdc34d4e90f6b51d5612e6f1d3ae632da47234. This reverts back to using 8.1 and d3dcompiler_47, as chrome is now rolled forward. Change-Id: I7ef4ebdbc32146b9ba6f551e376ac03ac71131ba Reviewed-on: https://chromium-review.googlesource.com/229990 Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Scott Graham <scottmg@chromium.org> Commit-Queue: Scott Graham <scottmg@chromium.org> Tested-by: Scott Graham <scottmg@chromium.org>
Scott Graham 3cbdc34d 2014-11-14T18:25:26 Revert "Switch to 8.1 SDK and d3dcompiler_47.dll" This reverts commit e1425d95ba0ab095c5d64536bbeb3f78adcbf79f. This is to keep the GPU fyi bots green until the chrome side is landed. Chrome will be rolling to e1425d95... Change-Id: Iff1c60eeb7143fb72afa8525b31f8f0de9385897 Reviewed-on: https://chromium-review.googlesource.com/229497 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Scott Graham e1425d95 2014-11-13T11:28:30 Switch to 8.1 SDK and d3dcompiler_47.dll Change-Id: If43c7861ab7f47448fd726fd0b5c35f3a6eeb362 Reviewed-on: https://chromium-review.googlesource.com/229616 Commit-Queue: Scott Graham <scottmg@chromium.org> Tested-by: Scott Graham <scottmg@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cooper Partin e9bdeb25 2014-11-04T16:49:40 Added Trim support for Windows Store application certification requirement Change-Id: Iff58863bf4af756d77521aadb1ccbaa977f0b78a Reviewed-on: https://chromium-review.googlesource.com/227530 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 21203702 2014-11-13T16:16:21 Fix precision tracking of constructor return values Precision should be set for constructor return values if they are of a built-in type. Structs should not be precision qualified. BUG=angle:787 Change-Id: Ie5efd5be25a788ff6f01c5b989254572c00231eb Reviewed-on: https://chromium-review.googlesource.com/229560 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 30d6c255 2014-11-13T10:03:33 Remove redundant rx:: scoping prefixes. In many places we can get rid of this scoping operator. BUG=angle:789 Change-Id: If6c40c435a97473d2fd9d6f1fb5a2c709393eb00 Reviewed-on: https://chromium-review.googlesource.com/225566 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill b38f2e5d 2014-11-13T10:03:31 Remove the unused Renderer client version methods. Previous patches enable us to get rid of this workaround. We should in subsequent patches also try to clean up code that uses the internal Renderer-only version of the context caps. BUG=angle:789 Change-Id: Ic054090303cdc3f7ee8e45e4577c157559955472 Reviewed-on: https://chromium-review.googlesource.com/227714 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 245d3602 2014-11-13T10:03:30 Pass GL context data into shader creation. This allows us to remove the hack where we store the current GL client version in the Renderer. BUG=angle:789 Change-Id: I6526f11eaa922325a9a41df0df48b2152e022e26 Reviewed-on: https://chromium-review.googlesource.com/227713 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 80bacde5 2014-11-10T12:07:37 Use the [[flatten]] attribute only when a loop is present. Flattening branch-heavy shaders that contained no loops caused regressions. As a temporary workaround we only flatten ifs when there exists a loop. BUG=395048 Change-Id: I95c40f0249643b98c62304a0f2a4563561d1fbbc Reviewed-on: https://chromium-review.googlesource.com/228722 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 560eef16 2014-11-11T15:06:39 Fix ProgramBinary being disabled when it should be enabled. Change-Id: I6a21bca32ae5bf1e0e638c0cf46102bd964cd066 Reviewed-on: https://chromium-review.googlesource.com/229064 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang ab75a056 2014-10-15T12:56:37 Refactor Framebuffer attachment application. Instead of passing texture and renderbufer IDs which requires a call to gl::getNonLostContext to resolve the objects, pass the Texture and Renderbuffer objects directly. BUG=angleproject:733 Change-Id: Ia500a781643e43a17c8e9cea9f95847a7ff7b25d Reviewed-on: https://chromium-review.googlesource.com/228280 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill de8892b4 2014-11-11T13:00:22 Pass GL caps and version to compiler. This allows us to get rid of some of the reliance on storing the current context client version in the Renderer. A subsequent patch will allow us to remove the client version ugly hack. BUG=angle:789 Change-Id: I139e0f66e1d39e5cd41a484c841a7101b1f29540 Reviewed-on: https://chromium-review.googlesource.com/227712 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 87f6da1f 2014-11-11T13:00:20 Move the Context ReadPixels logic into RendererD3D. BUG=angle:789 Change-Id: I0a678f8fe31a3e7ddd9a675a0e3cb0342299b0e3 Reviewed-on: https://chromium-review.googlesource.com/226064 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill a93bef2e 2014-11-11T13:00:19 Move BlitFramebuffer logic into RendererD3D. BUG=angle:789 Change-Id: Ib3f830ba2f915a5fa4fa552dccc13c24575aa843 Reviewed-on: https://chromium-review.googlesource.com/226063 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>