tests


Log

Author Commit Date CI Message
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 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 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Geoff Lang 981afd7f 2014-11-05T16: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>
Jamie Madill 9abdc2d8 2014-11-05T16: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>
Olli Etuaho 76acee83 2014-11-04T13: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>
Cooper Partin 980eb8f3 2014-10-22T07: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>
Geoff Lang 0d3683c4 2014-10-23T11: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>
Zhenyao Mo 4de44cb6 2014-10-29T18: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>
Zhenyao Mo 9ad55845 2014-10-30T11: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>
Olli Etuaho d2a67b96 2014-10-21T16: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>
Jamie Madill c751d1e5 2014-10-21T17: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>
Jamie Madill 70a0b2a1 2014-10-21T11: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>
Kimmo Kinnunen 7c1cfd61 2014-10-15T14: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>
Zhenyao Mo 94ac7b78 2014-10-15T18: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>
Cooper Partin 88d3b8cb 2014-10-08T10: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>
Jamie Madill e020bed5 2014-10-20T16: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>
Cooper Partin 756aebfc 2014-10-08T10: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>
Jamie Madill ec6de4ec 2014-10-20T10: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>
Shannon Woods 8858cf0a 2014-10-17T20: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>
Cooper Partin 406a3be9 2014-10-08T10: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>
Kenneth Russell caa549c0 2014-10-10T17: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>
Brandon Jones 993d08d9 2014-10-10T14: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>
Jamie Madill 4119ed3d 2014-10-01T10: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>
Jamie Madill 2ff18fb6 2014-10-09T12: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>
Jamie Madill fc63152a 2014-10-09T12: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>
Jamie Madill 98f87eb2 2014-10-09T13: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>
Zhenyao Mo ed13636a 2014-10-03T13: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>
Kenneth Russell e0a2d1c5 2014-10-06T17: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>
Jamie Madill 9aca059f 2014-10-06T16: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>
Jamie Madill 1ea53509 2014-10-06T12: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>
Jamie Madill dcd8f13d 2014-10-03T19: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>
Jamie Madill 2d337ce0 2014-10-03T11: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>
Jamie Madill 00e5452a 2014-10-02T10: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>
Jamie Madill 94203b36 2014-10-02T10: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>
Olli Etuaho e61209af 2014-09-26T12: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>
Jamie Madill bee59e03 2014-10-02T10: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>
Jamie Madill 49f9dd45 2014-10-02T10: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>
Jamie Madill 5ac124b1 2014-10-02T10: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>
Jamie Madill b4fd0c96 2014-10-01T17: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>
Austin Kinross 18b931d5 2014-09-29T12: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>
Jamie Madill ef4ac5b1 2014-09-29T10: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>
Jamie Madill e611b064 2014-09-29T10: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>
Jamie Madill 431cbc8e 2014-09-24T10: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>
Jamie Madill ea0e8733 2014-09-24T10: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>
Geoff Lang df647a2a 2014-09-19T13: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>
Jamie Madill ee009b8e 2014-09-19T13: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>
Jamie Madill c483326b 2014-09-18T16: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>
Geoff Lang 02f18b88 2014-09-17T11: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>
Austin Kinross af875527 2014-08-25T21: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>
Jamie Madill e6256f87 2014-09-17T10: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>
Jamie Madill bbffd556 2014-09-10T10: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>
Jamie Madill 9e16d40d 2014-09-08T17: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>
Jamie Madill 82cceb2d 2014-09-09T13: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>
Jamie Madill 3f2e61de 2014-09-05T10: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>
Sudarsana Nagineni ab56c6ae 2014-09-01T14: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>
Jamie Madill 2d8c879f 2014-08-29T15: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>
Jamie Madill 33ea2f97 2014-08-29T15: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>
Jamie Madill a502c749 2014-08-28T17: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>
Jamie Madill ffcc2e62 2014-08-26T13: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>
Geoff Lang b1319f62 2014-08-28T10:55:25 Fix a compilation error for the ES3 CTS in 64bit. The generated obj file was too large, it required an extra MSVC flag for this particular project. BUG=angle:497 Change-Id: I833a78611da78b0ac5a308547d11a911428ea04c Reviewed-on: https://chromium-review.googlesource.com/214684 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill a6f267f9 2014-08-27T11:44:15 Fix row-major layout tracking in interface blocks. Some block field types, such as nested structs, were bugged. This only affects our "CollectVariables" path, not our current HLSL UBO path. BUG=angle:466 Change-Id: I2b8daf58aa7ec1ad06a80d38f57e76087eacccdc Reviewed-on: https://chromium-review.googlesource.com/213503 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org>
Jamie Madill 5599c8f6 2014-08-26T13:16:39 Use shared compile helpers in the ANGLE tests. BUG=angle:730 Change-Id: Ib3bd646c73355449105e6cf79bdcf0a14b391fd2 Reviewed-on: https://chromium-review.googlesource.com/213550 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5704d6e8 2014-08-26T13:16:38 Add some shared utility methods to the utils project. BUG=angle:730 Change-Id: I268c7f76ee9a14ab82f646ae8ebf4eed100bf86d Reviewed-on: https://chromium-review.googlesource.com/213509 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 62af5467 2014-08-26T13:16:37 Use EGLWindow in ANGLETests. This completes the refactor to use the same code for EGL and OS Window creation for samples and tests. BUG=angle:730 TEST=angle_tests Change-Id: Ib6de89f5bf83c0730a66f662cd1f87351f36a5f7 Reviewed-on: https://chromium-review.googlesource.com/213297 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 8add0eb7 2014-08-26T13:16:35 Use OSWindow with angle_tests for Window management. BUG=angle:730 Change-Id: I409fd4f4e00eb0d8d964b0ac199fa6f675a36df8 Reviewed-on: https://chromium-review.googlesource.com/213295 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill b547ddf5 2014-08-25T16:20:46 Fix interface block static use tracking. The current code couldn't handle some uses of interface blocks, such as blocks with instance names. BUG=angle:466 Change-Id: I0a3746f277af0538cede30232532c6788412da1c Reviewed-on: https://chromium-review.googlesource.com/213502 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org>
Peter Kasting 71117e2c 2014-08-25T16:22:51 Fix some MSVC warnings about possible truncation of int -> char. BUG=81439 TEST=none Change-Id: Iedf02bf374e4992fc4c8ee050eff76f4f05708ac Reviewed-on: https://chromium-review.googlesource.com/214065 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Peter Kasting <pkasting@chromium.org>
Kenneth Russell db8ae16b 2014-08-25T19:02:35 Refactored TransformFeedback for multi-platform ANGLE and added tests. Added angle_implementation_unit_tests target designed for testing the cross-platform code in libGLESv2, and libGLESv2_static target as a dependency. The goal is to incorporate these tests into Chromium's angle_unittests target on all platforms; however, more work is needed to make libGLESv2's common code compile on non-Windows platforms, so this is an intermediate step. BUG=angle:719 Change-Id: Ifc44a779352294e857d6e913d9b997a60674c443 Reviewed-on: https://chromium-review.googlesource.com/214105 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 39e7bc05 2014-08-21T10:04:07 Fix "Reize" to "Re*s*izeWindow". BUG=angle:730 Change-Id: I7d4e5a36cec2b3a5c61ae768ec4c816553031baf Reviewed-on: https://chromium-review.googlesource.com/213292 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill db74f18e 2014-08-21T10:04:06 Make the EGLDisplay a non-static member of ANGLETest. We would create and destroy the display with every test, as it was not part of the environment. BUG=angle:730 Change-Id: Iae003f13c8e975ae57d3af2d74f9f058a560046f Reviewed-on: https://chromium-review.googlesource.com/213291 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4f2bf3a5 2014-08-20T16:03:52 Fix reversed shift in the huge SetData test. BUG=angle:716 Change-Id: I1b621668b78373e0566f6eab6034993ec09aa4b9 Reviewed-on: https://chromium-review.googlesource.com/213221 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 18afd77e 2014-08-04T13:22:22 Make the HugeSetDataTest more robust. By starting from a near-maximum size, and trying until we reach a a valid allocatable size, we can guarantee the test can run. Previously the allocation could fail under some systems and succeded in others, leading to flakiness. BUG=angle:716 Change-Id: If1690349f7028c4e6a88f20649fb255ea2dd2587 Reviewed-on: https://chromium-review.googlesource.com/210992 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 778d5279 2014-08-04T13:13:25 Fix a stray quote that snuck into GLSLTest.cpp. This was causing a test failure in TwoElseIfRewriting. BUG=angle:716 Change-Id: I75e21ff586cdef10f0c35985a97fbb7c4783d2fe Reviewed-on: https://chromium-review.googlesource.com/210991 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 1c28e1f0 2014-08-04T11:37:54 Fix shaders with invariant keyword. We would trigger assertion failures in Debug mode, and fail to parse and translate correctly in Release. BUG=angle:711 Change-Id: Ibb7f33b288376617598578f48c7bbdbdec044279 Reviewed-on: https://chromium-review.googlesource.com/210822 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org>
Jamie Madill 5c1e58d0 2014-08-04T10:47:58 Add missing cache clears to D3D buffer classes. BUG=angle:709 Change-Id: I93f92b916a0da26975cd459399cc2873cb4ab9f0 Reviewed-on: https://chromium-review.googlesource.com/210642 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org>
Jamie Madill a3fe2b4e 2014-07-18T10:33:13 Update non-default constructors in shadervars.h. Most of these constructors are unused. Remove the unused ones, and change the usage of existing constructors to be consistent. BUG=angle:466,697 Change-Id: I455dd314036e1dfcb8c4690bab577b81dd0e060c Reviewed-on: https://chromium-review.googlesource.com/208355 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org>
Jamie Madill 4fbd36ec 2014-07-29T15:20:48 Add a test for multisampled PBOs. We don't allow ReadPixels from multisampled targets in GL. Also update the assertions in Buffer11 to reflect our expectations. BUG=angle:511 Change-Id: Ia3d5f796f5405fbae1187f3d45b0080d7f24b6d9 Reviewed-on: https://chromium-review.googlesource.com/210053 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 34b66f32 2014-07-23T15:09:50 Use D3D11 Renderer for ANGLE Tests. Many of our tests rely on extensions and ES3 support. Until we have the ability to switch between Renderers for specific tests, the D3D11 Renderer should enable many failing tests to pass. Also fix a double-delete crash in the test cleanup routine. BUG=angle:702 Change-Id: I5e615ca1a35bd109d9f7bcbb5fa90b88e09157bd Reviewed-on: https://chromium-review.googlesource.com/209102 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill a09403c0 2014-07-21T10:03:36 Fix masked ClearBuffer. We were not properly setting the masked channels for these APIs. Since we use a std::vector for tracking the render targets for a particular ClearBuffer call, we lose the indexing into the clear parameters. Fix this by storing the information in the std::vector along with the Render Target. BUG=angle:702 Change-Id: Ie3b1e870aa04054411c4f155682b86a340ec00cf Reviewed-on: https://chromium-review.googlesource.com/209103 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4836d22a 2014-07-24T06:55:51 Fix ASSERT when rewriting else-if blocks with no else. The code assumed an else-if would end in an else. We can also save a few allocations in the cases where there is no else. BUG=angle:699 Change-Id: I550857366775b4a34aea97e117ef732297d3f448 Reviewed-on: https://chromium-review.googlesource.com/208681 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org>
Jamie Madill 048c4fe7 2014-07-23T15:28:33 Fix buffer tests. The names of the tests were not properly capitalized, and the huge buffer test could fail unexpectedly when it was run after several prior tests which allocated large amounts of memory. Change-Id: Ied5d1b6f56354e748f0df9d52658d14de9a559ac Reviewed-on: https://chromium-review.googlesource.com/209611 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f0955f15 2014-06-20T16:07:07 Update the samples and tests to use eglGetPlatformDisplayEXT. BUG=angle:490 Change-Id: I5a685e42089377b5c600cd1f7ca8bd9a6654b3ba Reviewed-on: https://chromium-review.googlesource.com/204939 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill b759a748 2014-07-17T10:40:49 Fix test class names to reflect their class-ness. Style guide dictates a camel case scheme for classes. Since the tests are actually classes, update their names to reflect that. Change-Id: Ib7422b6d8c5de8414765439704fc103eae8b2d63 Reviewed-on: https://chromium-review.googlesource.com/208680 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Peter Kasting a1851e8f 2014-07-10T17:09:12 Fixes for re-enabling more MSVC level 4 warnings: angle/ edition This contains fixes for the following sorts of issues: * Signedness mismatch BUG=81439 TEST=none Change-Id: Ief116d4b79b63479641259119246bb1465bbfd1f Reviewed-on: https://chromium-review.googlesource.com/207418 Reviewed-by: Alok Priyadarshi <alokp@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill d4cfa57d 2014-07-08T10:00:32 Move more draw call validation to the API. The GL expects us to reject invalid draw calls before we start doing any work, so we can prevent internal unnecessary state changes. Also update the program binary's cached sampler data when we validate. The previous patch was breaking draw calls in Google Earth WebGL. BUG=angle:571 BUG=390412 Change-Id: I1c4e204ae2467afc36b76af975a3a49e26349639 Reviewed-on: https://chromium-review.googlesource.com/206482 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>