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 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>
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>
Kenneth Russell 7bff24c1 2014-11-20T17:37:47 Rename and slightly reorganize test targets. Use "angle_" prefix for all targets to disambiguate them from any potential Chromium-side targets. Combine compiler and preprocessor tests into angle_compiler_tests. (Chromium's "angle_unittests" target contains both.) Deleted preprocessor_test_main.cpp. BUG=angleproject:833 Change-Id: I7acc5a76f49c15d0064c16d2ace256f9cc86e9e8 Reviewed-on: https://chromium-review.googlesource.com/231185 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Kenneth Russell <kbr@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 af224bf0 2014-11-21T14:57:42 Update the README to match the one on the google code page. Change-Id: I05b61d9a7c80a6e53df1b12a99b0c107b570496c Reviewed-on: https://chromium-review.googlesource.com/231223 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-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>
Kenneth Russell 1027aa62 2014-11-20T10:10:26 Refactor gmock and gtest dependencies for ANGLE's tests. This change allows these targets to be referenced from Chromium's build projects. BUG=angleproject:833 Change-Id: I14694f610921d28ddcd8664887086ca30375b7a2 Reviewed-on: https://chromium-review.googlesource.com/231072 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Kenneth Russell <kbr@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>
Shannon Woods 970d2613 2014-11-18T18:05:29 Adds a file to track known failures in the WebGL CTS Because ANGLE does not have a framework for testing directly against the WebGL CTS, we're unable to suppress failing tests at runtime. Instead, we'll document them in the repository for the reference of contributors. Change-Id: Ieea68a9aaa0b7bfebda2900265e3c4a857a0ce64 Reviewed-on: https://chromium-review.googlesource.com/230582 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-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 5312b5d8 2014-11-11T15:54:24 Remove pre-generated projects. BUG=angle:829 Change-Id: I220ffb0929cf20f2834e7e0ea163105b45a9e03b Reviewed-on: https://chromium-review.googlesource.com/229065 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@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>
John Abd-El-Malek ea0c84d1 2014-11-11T10:16:40 Copy the D3D compiler dll in the GN build. Change-Id: I773a411d07991d9ae160267eba8325c327146554 Reviewed-on: https://chromium-review.googlesource.com/229007 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: John Abd-El-Malek <jam@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>