Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| e8c86274 | 2015-01-15 18:55:36 | MipmapTestES3's SetUp() doesn't conform to standards Change-Id: I57dba132cd08bb1b3db2cda2fe0c31b97746e1a4 Reviewed-on: https://chromium-review.googlesource.com/241380 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Nico Weber <thakis@chromium.org> | ||
| 276171b4 | 2015-01-15 13:16:18 | Disable MipmapTest::ThreeLevelsInitData test due to failure on D3D11 Change-Id: I5d1ee78fceb91c05f3925e753888b10cc81ec2b8 Reviewed-on: https://chromium-review.googlesource.com/241080 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 215b37a6 | 2014-12-22 12:56:07 | Work around zero-LOD mipmap issue on D3D11 Feature Level 9_3 In OpenGL ES, it is possible to sample from level 0 of a mipmapped texture by setting GL_TEXTURE_MIN_FILTER to GL_NEAREST. This is possible in D3D9 and D3D11 Feature Level 10_0+ via various methods. It's not possible in D3D11 Feature Level 9_3, though. This change works around this restriction by creating two copies of each texture on 9_3. The textures are identical, except one has mipmaps and one doesn't. The D3D11 renderer figures out which texture to use at the right time, and keeps the textures in sync with each other as necessary. Note: each texture is only created when it's needed. It's possible that only one (or even neither) D3D texture will be created for a given GL texture. Change-Id: I3c17137b4f63b9158b3abf067ad8e5d5c49d2191 Reviewed-on: https://chromium-review.googlesource.com/234522 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 691e58cd | 2014-12-19 17:03:25 | Merge all gl::Texture* classes. The validation for sampler completeness had a lot of duplicated code. The special cases have been merged into the base class by checking mTarget. BUG=angle:681 Change-Id: I11d94c1432f8fc70a1edaaf8228bbc43c3c8fff3 Reviewed-on: https://chromium-review.googlesource.com/236932 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| d4b55a00 | 2015-01-09 14:21:49 | Fix "start" vertex being applied for instanced buffers. In GLES, the start vertex only applies to non-instanced vertex attributes. BUG=angle:864 BUG=447140 Change-Id: Idd2afbfbd4c2e76e06b2704cc002fae26b353109 Reviewed-on: https://chromium-review.googlesource.com/239843 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| ab549dad | 2015-01-09 14:50:29 | Update WebGL expecations. Change-Id: Ic318a929f43a48f0e957add5fab4bc3362be47b0 Reviewed-on: https://chromium-review.googlesource.com/239954 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| ea878cb9 | 2015-01-08 11:32:31 | Use typed tests for the gles conformance tests. BUG=angle:497 Change-Id: I396411cc7c07047ef2fab70605de39287aaea879 Reviewed-on: https://chromium-review.googlesource.com/239515 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 5879598b | 2015-01-07 14:25:10 | Add a test for rendering to cube map faces. BUG=angle:849 Change-Id: I9986e45256da6f4cdbd375dad95037464fbcf299 Reviewed-on: https://chromium-review.googlesource.com/239219 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 4f89e3dd | 2015-01-07 13:40:14 | Add missing test files to angle_end2end_tests_sources. Change-Id: I97217f4b4f42d9b9811185706587e2eb55270888 Reviewed-on: https://chromium-review.googlesource.com/239226 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| e1728549 | 2015-01-07 11:31:54 | Unwritten shader output variables should not crash. BUG=angle:862 Change-Id: I8e7fa9b0d00bb1b2a32a8d60d8ceda998cea8e8c Reviewed-on: https://chromium-review.googlesource.com/239160 Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 049743a9 | 2014-12-23 13: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> | ||
| 4fd18b1b | 2014-12-22 12: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> | ||
| 324bcc46 | 2014-12-22 13: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> | ||
| ce8bb2fa | 2014-12-30 13: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> | ||
| 21c1e456 | 2014-12-29 11: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> | ||
| be12fa22 | 2014-12-23 13: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> | ||
| 48825bea | 2014-12-23 12: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> | ||
| d5663b1c | 2014-12-22 12: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> | ||
| 2609bf4c | 2014-12-18 13: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> | ||
| eb32a2e9 | 2014-12-10 14: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> | ||
| 0dbda057 | 2014-12-04 18: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> | ||
| 1a05ce93 | 2014-12-05 15: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> | ||
| 8300538f | 2014-12-03 14: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> | ||
| 2c43325d | 2014-12-03 12: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> | ||
| 0ecf9af6 | 2014-12-04 13: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> | ||
| 8e1936c7 | 2014-12-03 15: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> | ||
| fb0580a6 | 2014-11-27 14: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> | ||
| ce260bb4 | 2014-11-27 13: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> | ||
| 50832442 | 2014-11-27 11: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> | ||
| 60305f14 | 2014-11-18 13: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> | ||
| 53a1f4a0 | 2014-11-19 16: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> | ||
| 853dc1ab | 2014-11-06 17: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> | ||
| 2207213b | 2014-11-20 15: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> | ||
| 4349ab85 | 2014-11-25 15: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> | ||
| f0a2c772 | 2014-11-20 15: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> | ||
| f60fab6d | 2014-11-24 11: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> | ||
| 7bff24c1 | 2014-11-20 17: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> | ||
| 2b5420c0 | 2014-11-19 14: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> | ||
| 1027aa62 | 2014-11-20 10: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> | ||
| f8fccb39 | 2014-11-12 15: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> | ||
| 970d2613 | 2014-11-18 18: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> | ||
| e0902644 | 2014-11-04 12: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> | ||
| 21203702 | 2014-11-13 16: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> | ||
| 981afd7f | 2014-11-05 16:30:36 | Fix possible crash when the info log length is zero. BUG=angle:822 Change-Id: I01cb590cc9c1ba05f4d63dd088eef7e176a09d2f Reviewed-on: https://chromium-review.googlesource.com/227264 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 9abdc2d8 | 2014-11-05 16:13:22 | Fix fuzzy color check in ClearTest. This test was failing on some systems because of overly stringent color expectations. BUG=angle:809 Change-Id: I817de315ff6de46fb87f8ed1c21e3bb62c133176 Reviewed-on: https://chromium-review.googlesource.com/225262 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 76acee83 | 2014-11-04 13:44:03 | Name mangle function prototypes and print them in interm output This patch changes function prototype handling so that they get assigned the same kind of a mangled name as function definitions and function calls. This name is now also printed in interm output so that function prototypes can be accurately identified in the interm output. BUG=angle:821 TEST=compiler_tests Change-Id: Ia150b8ac5b816b8096c964767cd8666bdee28539 Reviewed-on: https://chromium-review.googlesource.com/227390 Reviewed-by: Nicolas Capens <capn@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> | ||
| 980eb8f3 | 2014-10-22 07:42:59 | Added ISwapChainPanel support Change-Id: I26faa32804ee47cb6ad8458c90abeb93a01dfbdf Reviewed-on: https://chromium-review.googlesource.com/224991 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 0d3683c4 | 2014-10-23 11:08:16 | Update ANGLE_platform_angle to allow requesting of Renderer versions. Added enums to allow users to request major and minor versions of the underlying API and if a WARP device is used. BUG=angle:490 Change-Id: I0bfb2ac8d327da28a47cc8e6346300e47ab9538c Reviewed-on: https://chromium-review.googlesource.com/225081 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 4de44cb6 | 2014-10-29 18:03:46 | Change ShaderLang APIs from c style to c++ style. BUG=angle:816 TEST=gpu_unittests,angle_unittests,webgl_conformance Change-Id: I0b46c11f6055a82511bb946a6dc491360835526e Reviewed-on: https://chromium-review.googlesource.com/226410 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org> | ||
| 9ad55845 | 2014-10-30 11:38:55 | Fix angle_unittests failures. BUG=angle:815 TEST=angle_unittests Change-Id: I4d59f227b7c72f4f456d0a60d8507d097ef05dec Reviewed-on: https://chromium-review.googlesource.com/226463 Tested-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| d2a67b96 | 2014-10-21 16:42:57 | Fix precision tracking for built-in function return values Previously, the type of the return value of all function calls was set to the type of the return value in the function signature. This did not carry precision information. This patch changes this so that the return value precision is set correctly for built-in functions. For single-argument math functions, it mostly depends on that addUnaryMath sets the type of the return value to be the same as the type of the operand. The type is replaced but the precision information from the operand type is retained when needed. For multi-argument math functions, precision is determined based on all the nodes in the aggregate after the type has been set. For texture functions, the precision is set according the sampler type as per ESSL 1.0 spec. For textureSize, the precision is always highp as per ESSL 3.0 spec. BUG=angle:787 Change-Id: I48448e3ffe38656b91177dee9b60dd07a03cd095 Reviewed-on: https://chromium-review.googlesource.com/224951 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> | ||
| c751d1e5 | 2014-10-21 17:46:29 | Support compressed textures with unpack buffers. BUG=angle:792 Change-Id: I32f32422232bd4cb04c8a70005cb51482224bf3e Reviewed-on: https://chromium-review.googlesource.com/224655 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 70a0b2a1 | 2014-10-21 11:48:39 | Fix varying interpolation parsing. This was broken sometime in the CollectVariables refactor. BUG=angle:803 Change-Id: Iaa09449f02290c4547f87c1560465dc8998d957c Reviewed-on: https://chromium-review.googlesource.com/224104 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 7c1cfd61 | 2014-10-15 14:59:57 | Make ShBuiltInResources comparable with memcmp Chromium builds a std::map with ShBuiltInResources as part of the key. Comparator for == and < are needed for the map implementation. Currently Chromium uses memcmp as the comparator. Padding in ShBuiltInResources causes uninitialized reads. Fix this by clearing the padding with memset during ShBuiltInResources initialization. Change-Id: I78aa3c59ce165503831aa2a67c96cf8af316c152 Reviewed-on: https://chromium-review.googlesource.com/223431 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 94ac7b78 | 2014-10-15 18:22:08 | Invariant related processing. * Fix a bug in PreProcessor for STDGL pragma. * Record all invariant settings and set them in ShaderVariable. * Write #pragma STDGL invariant(all) in GL BUG=angle:776 TEST=https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/shaders-with-invariance.html Change-Id: Ie28b75480deed79f0c9f26e3b98f1778d1290182 Reviewed-on: https://chromium-review.googlesource.com/223610 Tested-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 88d3b8cb | 2014-10-08 10:41:56 | Added IInspectable EGLNativeWindowType and ICoreWindow support Change-Id: I6dd7fef72a73572d4a3deda7ce36a11da3a75c81 Reviewed-on: https://chromium-review.googlesource.com/224366 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| e020bed5 | 2014-10-20 16:16:46 | Revert "Added IInspectable EGLNativeWindowType and ICoreWindow support" Causing regressions in the build: http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/20182 This reverts commit 756aebfc7afa6d0de14e96637ef396dd7b290c2d. Change-Id: I2f4bdb5aeb429c9bbc5e655a1761704f33737841 Reviewed-on: https://chromium-review.googlesource.com/224221 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 756aebfc | 2014-10-08 10:41:56 | Added IInspectable EGLNativeWindowType and ICoreWindow support Change-Id: I34e443b1e194800460e441ac6cee42cf68430564 Reviewed-on: https://chromium-review.googlesource.com/224302 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| ec6de4ec | 2014-10-20 10:59:56 | Fix TextureD3D::setData for depth-stencil textures. D3D11 requires us to NULL the update region parameter when updating depth stencil textures. For these textures, we can't always use the subdata workaround, so disable it entirely for these textures. BUG=angle:729 BUG=365078 Change-Id: I44258dd1b8937b1aebcb3a73de835698805537e0 Reviewed-on: https://chromium-review.googlesource.com/222911 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 8858cf0a | 2014-10-17 20:53:32 | Revert "Added IInspectable EGLNativeWindowType and ICoreWindow support" due to build failures on Chromium FYI bots. This reverts commit 406a3be91cc8175df95bd390425e35830778f2d5. Change-Id: Ica2abd2e557a4fd9852d85b7fc018e3d272b6edf Reviewed-on: https://chromium-review.googlesource.com/224051 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 406a3be9 | 2014-10-08 10:41:56 | Added IInspectable EGLNativeWindowType and ICoreWindow support Change-Id: I9ad82b7819bcca1c05e7aa60dc2baec4a7bc403c Reviewed-on: https://chromium-review.googlesource.com/222360 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| caa549c0 | 2014-10-10 17:52:59 | Split FenceImpl into FenceNVImpl and FenceSyncImpl, and refactor. Move Windows-specific code out of Fence.cpp. Split FenceImpl based on suggestions on previous review https://chromium-review.googlesource.com/221805/ . Refactored further based on code review feedback and added first unit tests. BUG=angleproject:774 Change-Id: I630034e1788e48ddb7722016ca22da474e785798 Reviewed-on: https://chromium-review.googlesource.com/222954 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Kenneth Russell <kbr@chromium.org> | ||
| 993d08d9 | 2014-10-10 14:32:57 | Added test to ensure ProgramBinary saving and loading works correctly Change-Id: I7fa88e7e3ecf812659967867e856cc1677b8359d Reviewed-on: https://chromium-review.googlesource.com/222931 Tested-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 4119ed3d | 2014-10-01 10:41:40 | Make OSWindow a non-static member of ANGLETest. BUG=angle:611 Change-Id: I455e1dd0ad5582191621e316c4808a2d753e9aaa Reviewed-on: https://chromium-review.googlesource.com/219867 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 2ff18fb6 | 2014-10-09 12:55:30 | Remove perf tests dependency on gtest. BUG=angle:744 Change-Id: I9272e0009238680db1a87e6cb1c1c48b2ed48dd6 Reviewed-on: https://chromium-review.googlesource.com/220362 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| fc63152a | 2014-10-09 12:55:28 | Use Chromium perf bot output style for perf test. The Chromium style output will allow the perf bots to collect data from our performance tests. BUG=angle:744 Change-Id: I2ffdace688004edf2918ead2a3e2aa2a6c4daf95 Reviewed-on: https://chromium-review.googlesource.com/220361 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 98f87eb2 | 2014-10-09 13:27:00 | Import the testing/perf module from Chromium. We can use these perf routines to make our performance test output compatible with the Chromium perf bots. BUG=angle:744 Change-Id: I75a44786d4521fc0c7d8226f10575fcfda0fa221 Reviewed-on: https://chromium-review.googlesource.com/220360 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| ed13636a | 2014-10-03 13:23:01 | Add type comparison, type retrieval, original name retrieval to ShaderVariable. This is needed to effectively use the new APIs to get shader variable info. BUG=angle::770 TEST=ShaderVariableTest Change-Id: Ia591eb567868ebe898f4a7449c64167ad212f59b Reviewed-on: https://chromium-review.googlesource.com/221388 Tested-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| e0a2d1c5 | 2014-10-06 17:45:59 | Add needed static_casts to GLenum for compilation on Linux. BUG=angleproject:773 Change-Id: I8b01a1f187456eb8997fc7a620b5ecdffb872c19 Reviewed-on: https://chromium-review.googlesource.com/221810 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Kenneth Russell <kbr@chromium.org> | ||
| 9aca059f | 2014-10-06 16:26:59 | Enable TexSubImage workaround on D3D11. This workaround uses UpdateResource instead of staging buffers for texture data updates. It improves performance for highly dynamic textures, especially in some benchmarks, eg the turbulenz particle demo. Re-land, with fix to the issue with glGenerateMipmaps. BUG=angle:729 BUG=365078 Change-Id: I4c9398e0645176c296bf95e35eab97a44eae4319 Reviewed-on: https://chromium-review.googlesource.com/221493 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 1ea53509 | 2014-10-06 12:54:10 | Fix image index iterator unit test. This test was checking out-of-bounds. The bug only showed up in Linux. BUG=angle:741 Change-Id: I4cb45fc00dbb0bf9713f735a20fb6fd04bc95140 Reviewed-on: https://chromium-review.googlesource.com/221057 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> | ||
| dcd8f13d | 2014-10-03 19:54:50 | Revert "Enable TexSubImage workaround on D3D11." Probably causing WebGL CTS failures: http://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/6148 This reverts commit 2d337ce0503db5f91fcf0a11591cd436dfb32cd7. Change-Id: Ic032640f44adf337c4b3eedd4d7f3551d565a5cb Reviewed-on: https://chromium-review.googlesource.com/221397 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 2d337ce0 | 2014-10-03 11:50:56 | Enable TexSubImage workaround on D3D11. This workaround uses UpdateResource instead of staging buffers for texture data updates. It improves performance for highly dynamic textures, especially in some benchmarks, eg the turbulenz particle demo. BUG=angle:729 BUG=365078 Change-Id: Idd82c27845a772199caef3695111c96735e8843e Reviewed-on: https://chromium-review.googlesource.com/219864 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 00e5452a | 2014-10-02 10:44:17 | Accept a second form of WARP Test renderer string. On our Renderer test, we would be overly restrictive in the forms of Renderer string we would accept for WARP. On this machine, it returns a different string than the one we had in the test. Expand the test to accept both. BUG=angle:769 Change-Id: If27644d32d6d7d0eff77ff9cca81faee3b2be4e1 Reviewed-on: https://chromium-review.googlesource.com/221066 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 94203b36 | 2014-10-02 10:44:16 | Restrict the tests that use ClearBuffer to ES3. We had changed the configurations to run them in ES2 mode, while ClearBuffer is an ES3-only method. BUG=angle:769 Change-Id: I63d92af4702a133aa8bbf52444dfef59a4f602b0 Reviewed-on: https://chromium-review.googlesource.com/221064 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| e61209af | 2014-09-26 12:01:17 | Add option to support EXT_draw_buffers with NV_draw_buffers After this patch, it is possible to set a flag to change EXT_draw_buffers extension directives to NV_draw_buffers in ESSL. This enables users of ANGLE to emulate EXT_draw_buffers by using NV_draw_buffers in combination with GLES3.0. Change-Id: I5dacdbd6cd0d0362424ea3791557342c42efd4bd Reviewed-on: https://chromium-review.googlesource.com/219941 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| bee59e03 | 2014-10-02 10:44:18 | Disable broken D3D9 GLSL Varying tests. Not sure at the moment if we can only disable tests in D3D9/etc, but these tests are broken for D3D9 and hence we can disable them to return angle_tests to passing. BUG=angle:769 Change-Id: I3c13f985fde99c3d885f825de60af841c8f3f0f1 Reviewed-on: https://chromium-review.googlesource.com/221067 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 49f9dd45 | 2014-10-02 10:44:15 | Don't run the DrawBuffers tests in D3D9. We only support MRT on the D3D11 Renderer for now, so we can skip running these tests entirely on the D3D9 back-end. BUG=angle:769 Change-Id: I442936fe987ae1749d5ee7626f6a4737e824ac6f Reviewed-on: https://chromium-review.googlesource.com/221063 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 5ac124b1 | 2014-10-02 10:44:13 | Fix a bug in MaxTextureSizeTest.RenderToTexture. This bug only presented itself in our D3D9 Renderer. In D3D11 we would stretch the texture to fit -- this is behaviour correct in ES3 but not in the ANGLE spec draft. BUG=angle:769 Change-Id: Iddb8551c9645aa6f0841e2dc9d96fbd196bc6788 Reviewed-on: https://chromium-review.googlesource.com/221061 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| b4fd0c96 | 2014-10-01 17:40:24 | Replace usages of std::vector::data in most cases. In some parts of ANGLE code, we were using std::vector::data to get a pointer to the first element. Sadly, this is c++11 only, which isn't currently supported on Chromium. This was causing a breakage on Android. We should probably refrain from using data except on D3D-only code, which we know will be Visual Studio. BUG=angle:767 Change-Id: Ibc10577368435a13f62d74d77c95076482cd8f82 Reviewed-on: https://chromium-review.googlesource.com/220920 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 18b931d5 | 2014-09-29 12:58:31 | Configure Google Tests to run against multiple renderers/GLES versions BUG=angle:611 Change-Id: I7d43612171c439045038db9ae82fd8716c0b31c6 Reviewed-on: https://chromium-review.googlesource.com/220400 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com> | ||
| ef4ac5b1 | 2014-09-29 10:46:11 | Add ImageIndexIterator. We can use image index iterators to iterate over all images in a Texture. This allows us to do some operations in TextureD3D rather than in the typed subclasses and save on some repeated code. BUG=angle:729 Change-Id: I3ba47b2eebad2cfca313117fd501ff76d5107044 Reviewed-on: https://chromium-review.googlesource.com/219834 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> | ||
| e611b064 | 2014-09-29 10:26:14 | Fix gyp linux build. ANGLE implementation unit tests was enabled by mistake on Linux. BUG=angle:761 Change-Id: Ibdca214466a6177aa50bdb3a3f55031dc0957b90 Reviewed-on: https://chromium-review.googlesource.com/220272 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 431cbc8e | 2014-09-24 10:38:50 | Benchmark point sprites test with several varyings. A potential performance slowdown could be our geometry shader using extra logic in packing varyings. Test this by adding a variable number of varyings to the point sprites benchmark. Initial tests show it could slow down the test by about 30-40% or so, stil not catastrophic compared to D3D9. BUG=angle:705 Change-Id: Ia815f0ee28e2af2d3dc4d9f5675c27bbeb4cb119 Reviewed-on: https://chromium-review.googlesource.com/216468 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| ea0e8733 | 2014-09-24 10:26:49 | Add a point sprite benchmark. This benchmark will attempt to reproduce the slowdown we see in D3D11 on the turbulenz GPU particles demo. BUG=angle:705 Change-Id: I9c4c2f09d4282feae30f448fd374cdbb6bceae9b Reviewed-on: https://chromium-review.googlesource.com/216467 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| df647a2a | 2014-09-19 13:13:40 | Use a D24S8 format to back GL_DEPTH_COMPONENT32_OES in D3D9. Looks like the D3D9 D32 format isn't available on most GPUs (and doesn't exist in D3D11) so back GL_DEPTH_COMPONENT32_OES with D24S8 instead to match D3D11. BUG=angle:750 Change-Id: I0f7a124544c1c14ba21db20fbf6765d07e244966 Reviewed-on: https://chromium-review.googlesource.com/219080 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| ee009b8e | 2014-09-19 13:17:51 | Fix a NULL dereference on buffer initialization. In some cases, where the user would create a buffer with NULL (empty) data, we would attempt to dereference NULL when drawing with the buffer as a vertex attribute. BUG=angle:749 Change-Id: Ied5ecbab4608c85890cdf7cc32a8dae46989e33b Reviewed-on: https://chromium-review.googlesource.com/219090 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| c483326b | 2014-09-18 16:18:26 | Use ImageIndex in getRenderTargetSerial. Also move getRenderTargetSerial to the TextureStorageInterface base class, since it shares a common interface. BUG=angle:741 Change-Id: I1bc1cfac6426e241ac91d373884a7dd8a1c5b188 Reviewed-on: https://chromium-review.googlesource.com/218313 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 02f18b88 | 2014-09-17 11:42:17 | Don't skip draw calls on zero-sized viewports. If transform feedback is active, primitives still need to be rendered even if no pixels are written to the framebuffer. Instead of checking for active transform feedback, simply remove the draw call skipping optimization since it is most likely an application mistake to draw with a zero sized viewport and we shouldn't optimize for this case. This change doesn't affect the clear calls because the viewport is set to the framebuffer size which is non-zero. BUG=angle:743 Change-Id: I04af9d6de5aad3040e3c6b3c24990e107e21ad36 Reviewed-on: https://chromium-review.googlesource.com/218508 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| af875527 | 2014-08-25 21:06:07 | Improve D3D11 varying packing when there are more varyings than registers. BUG=angle:738 Change-Id: I0599840fc79d571230acf26105d512322bcffdcd Reviewed-on: https://chromium-review.googlesource.com/214108 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| e6256f87 | 2014-09-17 10:31:15 | Fix the varying sort comparator in ShaderD3D. The comparator was actually a <= operator, while sort requires a strict < operator. This was causing a potential assertion failure. Bug report from Kerim Borchaev. BUG=angle:742 Change-Id: I37c2925ab0b85e70ee1b2be3c72c6ddc062e8d28 Reviewed-on: https://chromium-review.googlesource.com/218506 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| bbffd556 | 2014-09-10 10:12:49 | Add a TexSubImage benchmark. Currently we are about 2x as slow on this micro-benchmark in D3D11. Preliminary testing suggests using CopySubresourceRegion gives improved performance across the board, but testing could disprove this hypothesis. Modified from a sample from bajones. BUG=angle:705 Change-Id: Iedf36a4e7b9b9bbed308302fd2bf3912acacbd2c Reviewed-on: https://chromium-review.googlesource.com/216272 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 9e16d40d | 2014-09-08 17:36:33 | Fix Win32Window::resize breaking angle_tests. We were messing up the client rect on resize, which caused the ReadPixels checks to mess up around the window edges. Disabling the window styles on the test windows masked this bug. Fix this by using a style-less child window inside the parent window. This gives us access to window styles for the samples project, along with the ability to use tiny 1x1 windows for testing. BUG=angle:730 Change-Id: Ic6dd931df7b4e32fbbcacbb004d3bbc49917f658 Reviewed-on: https://chromium-review.googlesource.com/217024 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 82cceb2d | 2014-09-09 13:21:33 | Only use direct buffers for static data in D3D11. For highly dynamic data, which gets updated every frame, or almost every frame, we're better off using our existing dynamic buffer path. We could further optimize the dynamic buffer path by only uploading changed data every frame. BUG=angle:705 Change-Id: Icbb357b889be789b30f73067f75b13664c806929 Reviewed-on: https://chromium-review.googlesource.com/217280 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 3f2e61de | 2014-09-05 10:38:05 | Enable MRT pixel shader rewriting. Writing to all 8 pixel outputs was causing performance problems on Intel and AMD. Enabling Geoff's work to rewrite our pixel shaders solves the regression. This patch also includes a workaround to the nVidia driver bug where it would ignore NULL RT values in OMSetRenderTargets, by compacting the RT list to skip NULL values. BUG=angle:705 BUG=365078 Change-Id: Ia68af6f0ccd5f10c484d6f76297a0bec694948f0 Reviewed-on: https://chromium-review.googlesource.com/214852 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| ab56c6ae | 2014-09-01 14:36:35 | Fix memory leaks in angle_unittests. Call ShDestruct() to destroy the compiler objects to avoid memory leaks. BUG=angle:737 Change-Id: I71a8ddfe67c9d8c7b4e5b5683c69dd578fc38c66 Reviewed-on: https://chromium-review.googlesource.com/215860 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Sudarsana Nagineni <sudarsana.nagineni@intel.com> | ||
| 2d8c879f | 2014-08-29 15:15:02 | Expand the SubData benchmark. BUG=angle:705 Change-Id: I9bd29bb35ad6c240bf141b9449bb613d2e00f828 Reviewed-on: https://chromium-review.googlesource.com/213811 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 33ea2f97 | 2014-08-29 15:15:01 | Added BufferSubData benchmark. BUG=angle:705 Change-Id: I65d557f35e4c9f1d94853a775330a92b7d428847 Reviewed-on: https://chromium-review.googlesource.com/213810 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| a502c749 | 2014-08-28 17:19:13 | Use the specified Program instead of current in GetUniform. This bug slipped in with the GetUniform validation refactor. BUG=angle:571 Change-Id: I2b87e6fe98224ba99c5b21a71d66b197fd618741 Reviewed-on: https://chromium-review.googlesource.com/214872 Reviewed-by: Nicolas Capens <capn@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| ffcc2e62 | 2014-08-26 13:16:40 | Add a performance tests target. Include a preliminary implementation of a simple benchmark app. BUG=angle:705 Change-Id: I627450f6fdf01ed2054a50bd2327b7b9128c86f5 Reviewed-on: https://chromium-review.googlesource.com/214230 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> |