kc3-lang/angle

Branch :


Log

Author Commit Date CI Message
c5cf9bc4 2015-08-06 10:46:48 Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data' BUG=angleproject:1120 Change-Id: I01ef10bea7f487c2b394d030c76628f38d2ea645 Reviewed-on: https://chromium-review.googlesource.com/292780 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
27446bda 2015-08-10 14:59:53 Move traverse functions under TIntermTraverser This enables implementing specialized variants of TIntermTraverser. Intermediate subclasses of TIntermTraverser are expected to maintain contextual information in their traverse* functions, which is then used by the visit* functions in the actual traversers. This approach is better than adding a flag to TIntermTraverser, since it will make the code cleaner and easier to understand. Traverse() functions in TIntermNode subclasses are still kept around to redirect calls to TIntermTraverser traversal functions. This is less hacky than choosing the function with switch/case in TIntermTraverser would be, and if new TIntermNode subclasses get added, it's not as likely that adding the traversal support would be forgotten. TEST=angle_unittests BUG=angleproject:1116 Change-Id: Ie6889be1d7e955518f13cd3390dce17871ba49b5 Reviewed-on: https://chromium-review.googlesource.com/292720 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
b4b0b482 2015-08-11 13:45:52 Fix missing and incorrect ordering of FunctionsWGL member initialization. BUG=angleproject:890 Change-Id: Id55d941a95cf38f825b9a52fc8043e0e129f7a82 Reviewed-on: https://chromium-review.googlesource.com/292631 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
4f488494 2015-08-07 16:05:25 Fixed compiler warning C4457 'declaration of 'node' hides function parameter'. BUG=angleproject:1119 Change-Id: Ie3de5a776b5860b1ca502cee9e2b19c41cd3bfb2 Reviewed-on: https://chromium-review.googlesource.com/292051 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Cooper Partin <coopp@microsoft.com>
b459fb04 2015-08-07 16:12:39 Fixed compiler warning C4456 'declaration of variable hides previous local declaration'. BUG=angleproject:1119 Change-Id: I99572711ceeae94fb920d197c86e741945d3b60b Reviewed-on: https://chromium-review.googlesource.com/292279 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
8168b4bd 2015-08-07 16:02:10 Fixed compiler warning C4838 'conversion from size_t to LONG requires a narrowing conversion'. BUG=angleproject:1119 Change-Id: I2c879193dc122e6c45d0462abc91f39f5d332506 Reviewed-on: https://chromium-review.googlesource.com/292156 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
149e6e69 2015-08-07 16:18:18 Fixed compiler warning C4458 'declaration of variable hides class member'. BUG=angleproject:1119 Change-Id: Ibc7cfdea72abe402cbfa1c10e0ada7576fa1cfa2 Reviewed-on: https://chromium-review.googlesource.com/292052 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
1e0bc3ad 2015-08-11 08:12:21 Implement dirty bits acceleration for Current Values. BUG=angleproject:1040 TEST=angle_end2end_tests,angle_perftests,WebGL Change-Id: If471cfb9676795d5cc985eea52ad7144d4544ed1 Reviewed-on: https://chromium-review.googlesource.com/289559 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
3dfcdcb6 2015-08-10 14:28:54 D3D: Fix buffer overflow in VertexBuffer.cpp. Under certain situations an integer overflow could lead to ANGLE writing to places where it shouldn't. BUG=518206 Change-Id: I9217685daecb160a4072fbf79c26e5bee9f4621e Reviewed-on: https://chromium-review.googlesource.com/292391 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
bd136f9a 2015-08-10 14:51:37 Reland of "D3D11: Fix draw perf regression with input layouts." f8dd7b10 fixed unnecessary shader compiles, but introduced a draw call perf regression. Fix the regression robustly by storing a minimal set of input layout elements/vertex attribute info, but also handle the case where the vector sizes mismatch between a cached and new vertex layout. Reland with fix for comparison warning. BUG=510151 Change-Id: I578ddbb5b5bb12e7c1a901f23c7b5fcbd64b5d23 Reviewed-on: https://chromium-review.googlesource.com/292460 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
194814e3 2015-08-10 14:34:46 Fix missing colon in codereview.settings. BUG=504872 Change-Id: Ib69830a556fe06c111f41d78811c7115b0d8314c Reviewed-on: https://chromium-review.googlesource.com/292450 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
00c782e8 2015-08-10 17:54:30 Revert "D3D11: Fix draw perf regression with input layouts." size_t comparison warning in Win32. src\libangle\renderer\d3d\programd3d.cpp(2084) : warning C4018: '<' : signed/unsigned mismatch BUG=510151 This reverts commit bf3f780c0a281cfe6192aa5635b02a01314f7fd3. Change-Id: I5565b697ca29270375049f3e855437fa19157de9 Reviewed-on: https://chromium-review.googlesource.com/292331 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
bf3f780c 2015-08-10 10:47:57 D3D11: Fix draw perf regression with input layouts. f8dd7b10 fixed unnecessary shader compiles, but introduced a draw call perf regression. Fix the regression robustly by storing a minimal set of input layout elements/vertex attribute info, but also handle the case where the vector sizes mismatch between a cached and new vertex layout. BUG=510151 Change-Id: If5e9ea4a4c9edaa7a78c8daa44bbe7d9927dc4e4 Reviewed-on: https://chromium-review.googlesource.com/292390 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
14ecb13f 2015-08-10 11:06:04 libGLESv2.gypi move the link to X11 to libANGLE (vs. libGLESv2) This fixes a bot compilation failure that started happening after unittest started using Display stuff that use X11. Because angle_unittests was linking against libANGLE and not libGLESv2, it didn't get linked to X11, which produced a link error. BUG= Change-Id: I8f1f0dbcb13bb7c9897f235b72c4d4896a7b8a6c Reviewed-on: https://chromium-review.googlesource.com/292380 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
19b890af 2015-08-07 15:01:04 Import new MurmurHash3 to fix g++ 4.9.2 errors The code is from http://smhasher.googlecode.com/svn/trunk/ revision 152. Fixes error: ../../src/third_party/murmurhash/MurmurHash3.cpp:57:41: error: inlining failed in call to always_inline ‘uint32_t getblock(const uint32_t*, int)’: function body can be overwritten at link time FORCE_INLINE uint32_t getblock ( const uint32_t * p, int i ) The error was previously fixed by adding a pragma to ignore the warning. The problem the compiler is complaining is that the function is visible to outside of the compilation unit. This can be fixed by making the function inline (as in the new version of the MurmurHash3.cpp) or static. Change-Id: I7a1262964489d72de8b4707ca2284363c8b46e20 Reviewed-on: https://chromium-review.googlesource.com/291620 Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Tested-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
8afe1e1b 2015-08-05 18:00:01 Track that indices of l-values are not required to be l-values In an expression like a[ind]++, a[ind] is required to be an l-value but ind is not. Reset the l-value required flags before traversing the index of an indexing operation, so that this is accurately tracked. After the index has been traversed, the previous state of the l-value required flags is restored. New tests are added to angle_unittests cover this functionality. TEST=angle_unittests BUG=angleproject:1116 Change-Id: I8929ec01e85e672c83ef7d385e455b7df8682f4b Reviewed-on: https://chromium-review.googlesource.com/290561 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
a26ad58d 2015-08-04 13:51:47 Track where l-values are required in AST traversal This functionality is refactored out of EmulatePrecision to be a common feature of TIntermTraverser. This is done since tracking where l-values are required will be useful for other traversers. For example, it will be needed for converting dynamic indexing of matrices and vectors to function calls. This change adds some overhead to all tree traversers, but the overhead is expected to be small for typical shaders which don't contain too many user-defined functions. BUG=angleproject:1116 TEST=angle_unittests Change-Id: I54d34c2b5093ef028f2b24d854c11c0195dc1dbb Reviewed-on: https://chromium-review.googlesource.com/290514 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
45808a17 2015-08-07 13:05:12 Use WGL_ARB_pixel_format to choose the pixel format when available. BUG=angleproject:890 Change-Id: If10ea7e1cb670bb3cd6fdcf40344d1c1e0acd862 Reviewed-on: https://chromium-review.googlesource.com/291650 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
1b94d432 2015-08-07 13:23:23 Implement dirty bits for RendererGL's basic state. BUG=angleproject:1040 TEST=angle_end2end_tests,angle_perftests,WebGL Change-Id: I72beaf7e178e042440337fbb8b9669638c5ad016 Reviewed-on: https://chromium-review.googlesource.com/289558 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
519a5be2 2015-07-23 11:07:29 Update ANGLE's GPU test expectations code. Pull over the more recent changes from Chromium which include the graphics API, which we can use for specific API suppressions for the dEQP tests. Also update the docs with detailed steps for updating from Chrome. BUG=None Change-Id: I0cb7d8268fbb2778c0160a58f1a10ef4a92c9c61 Reviewed-on: https://chromium-review.googlesource.com/287810 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
b18609b9 2015-07-16 14:13:11 Implement ES 2,3 parts of EXT_blend_func_extended for shader translation Exposes gl_SecondaryFragColor, glSecondaryFragData[] and gl_MaxDualSourceDrawBuffers to GLES SL 1.0. Relaxes rules for undefined output locations for GLES SL 3.0 and exposes gl_MaxDualSourceDrawBuffers. If the output GL context is GL ES 2.0 or 3.0: The emulation layer is expected to turn on EXT_blend_func_extended if the output GL context supports it. If the output GL context is GL: The emulation layer is expected to turn on EXT_blend_func_extended if the output GL context supports ARB_blend_func_extended or if GL context is 3.2 or later. If the source shader spec is GLES SL 2.0: The emulation layer is expected to inspect the shader compilation output variables upon linking. If output target is GL SL, the emulation layer should bind color location 0, index 1 to "angle_SecondaryFragColor" if variable "gl_SecondaryFragColorEXT" is used. Alternatively, emulation layer should bind "angle_SecondaryFragData" to locations 0,1,2,3,..., all color index 1, if "gl_SecondaryFragData" array is used. (The caller can not bind the locations or specify output variables.) If the source shader spec is GLES SL 3.0: The emulation layer is expected to do location auto-resolve of the the output variables that have undefined output locations that have not been bound by the caller. (The caller can not use gl_ built-ins, so nothing to do with those.) BUG=angleproject:1085 TEST=angle_unittest Change-Id: I5cafe205b0c29478b0dcd24aa89a7b0000f5d046 Reviewed-on: https://chromium-review.googlesource.com/287580 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>
3574c614 2015-08-07 10:37:24 Fix warnings caused by gmock on linux When mocking functions gmock uses the keyword virtual instead of override and this conflicted with our usage of override for the destructor (there is a warning for using all one or the other). BUG= Change-Id: I9dd9204d5755dd3a588a32d438de3c1018ba07cd Reviewed-on: https://chromium-review.googlesource.com/291630 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
b44440d8 2015-07-22 17:54:20 ANGLETest::SetUp: resize the window only if needed. This avoids a flickering of the window at the start of every test. Reland with a speculative fix for ViewportTest BUG=angleproject:1105 Change-Id: I83e89881de5b6f58cfb3e14cbe324fd9547f2836 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/288533 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
b4191c3e 2015-08-06 10:29:12 ViewportTest::SetUp set the scissor to the default value Previously ViewportTest would rely on the scissor being set to the size of the window by default, which is a fragile assumption as the scissor is set to the size of the window only on the first makeCurrent. BUG=angleproject:1105 Change-Id: I088565c7032fe817eb5c48a5351cc678fe42b376 Reviewed-on: https://chromium-review.googlesource.com/291310 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
f8dd7b10 2015-08-05 13:50:08 Refactor input layout & vertex signatures. Always size input layouts to gl::MAX_VERTEX_ATTRIBS, and use '1' bits to signal where we have a GPU conversion. The simplification allows us to more cleanly match the vertex executable signatures and makes our default VertexExecutable hit much more often. BUG=510151 TEST=angle_end2end_tests,Canary WebGL, manual testing with Chromium Change-Id: I5009323c4e7e208e7a2595be46658c344517a4ff Reviewed-on: https://chromium-review.googlesource.com/290740 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
a840617a 2015-07-21 16:53:39 Implement the egl and gl layers of EGL Image. Add end2end tests and unittests. BUG=angleproject:970 Change-Id: Ie8306971730a793f08dfd09ead1bfd6ff3e4623d Reviewed-on: https://chromium-review.googlesource.com/291260 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
4274f7d2 2015-08-05 23:07:38 Revert "Implement the egl and gl layers of EGL Image." This reverts commit 22a4f38c2ca9ca430b5f976fc7fc816d88918eba. Change-Id: I07acbfe28d11675236de2ea7f6b050c25f80579a Reviewed-on: https://chromium-review.googlesource.com/290960 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
35ab4299 2015-08-05 23:05:54 Revert "Fix warnings on gcc builds in ImageTest.cpp." This reverts commit 52ff4ac92ef5dfe77e14221726a0f0ab57dc57d5. Change-Id: I11ec6e7e343dd6579f7aa13106facc65b05eb795 Reviewed-on: https://chromium-review.googlesource.com/290940 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
52ff4ac9 2015-08-05 18:20:44 Fix warnings on gcc builds in ImageTest.cpp. BUG=angleproject:970 Change-Id: Ic7f451fb4c2378c7574ede7c513a5bb9d903c908 Reviewed-on: https://chromium-review.googlesource.com/290920 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
22a4f38c 2015-07-21 16:53:39 Implement the egl and gl layers of EGL Image. Add end2end tests and unittests. BUG=angleproject:970 Change-Id: I13fc501b24c3f11bfedc810c1ff80fcf1318877c Reviewed-on: https://chromium-review.googlesource.com/287343 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
6b2a0b0c 2015-08-03 14:15:08 Reland of "Add Iterable bitset class." This helper allows us to quickly iterate state bits from the Impl/Renderer layers. Re-land with no C++11 usage. BUG=angleproject:1040 TEST=angle_unittests (Mac/Win/Linux) Change-Id: I3b6d5beb2bcff7fa3d45c9220d7c026c64c45d2e Reviewed-on: https://chromium-review.googlesource.com/290153 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
43613b03 2015-08-04 11:02:21 Make sure that the AST root is always a sequence node This enables inserting helper functions as an AST transformation. BUG=angleproject:1116 TEST=angle_unittests Change-Id: I169d4d3a726d0e389cb3444fe9dfb4c6c5d80155 Reviewed-on: https://chromium-review.googlesource.com/290513 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
ef1eb273 2015-08-03 10:14:44 DisplayGLX: factor redundant getFBConfigAttribs This is very tiny code cleanup and is a noop behavior change. BUG= Change-Id: Ib850ff88eafa0bd45bb389de1b74b1e9fe4c6d8b Reviewed-on: https://chromium-review.googlesource.com/290146 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
6ab01b9a 2015-08-03 10:16:36 FramebufferGL: Add a member to know if we are the default FBO On CGL, the default framebuffer will have a name different than 0 and without this change it wouldn't get special-cased as on the other platforms. It is assumed that the default framebuffer will get initialized directly by the driver or other parts of the code. BUG=angleproject:891 Change-Id: Ifbe4ada58f27ad9ddb5b43697c234cb17e7504f0 Reviewed-on: https://chromium-review.googlesource.com/290147 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
c384d2a3 2015-07-31 10:45:06 Add the tryserver properties to the codereview.settings file. BUG=504872 Change-Id: I44b619f15e46cb3a6a3d95fd81c999d612d60184 Reviewed-on: https://chromium-review.googlesource.com/290090 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
cc36b983 2015-07-10 14:14:18 Implement ESSL 3.00 shader input/output variable type rules ESSL 3.00 allows a wider variety of types of input/output variables than ESSL 1.00, but there are still specific restrictions on structs, matrices and arrays. Some of the checks need to be implemented twice: once for array syntax where the brackets are after the type, and another time for array syntax where the brackets are after the variable name. This requires fixes to constant folding unit tests which were previously incorrectly using matrix outputs in fragment shaders. New unit tests are added for several of the rules introduced, but some cases are also covered by dEQP. TEST=angle_unittests, dEQP-GLES.functional.shaders.linkage.varying.rules.* BUG=angleproject:1061 Change-Id: I655b054cfe56d376db775b96a2bb41b3ac5740b0 Reviewed-on: https://chromium-review.googlesource.com/285482 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
5d65cd56 2015-07-30 09:47:39 Surface: query swapBehavior from the Impl All the previously implemented surfaces used to preserve the content of the surface on a swap but this is no longer the case with CGL. BUG=angleproject:891 Change-Id: I264c579bcbbd22b4eeb09e78aa95751d223694fc Reviewed-on: https://chromium-review.googlesource.com/289871 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
afe44c41 2015-07-31 16:54:31 D3D: Add timer histogram for D3DCompile. BUG=516027 Change-Id: Ibbf45c863570581ea79e198604cd4c5cc1836620 Reviewed-on: https://chromium-review.googlesource.com/289996 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
ef41279c 2015-07-31 16:44:38 Add scoped timer histogram helper macros. These macros replace a lot of repeated timing code, and mirror how Chromium operates. BUG=516027 Change-Id: Ib03e35d0f3b8638b9b0e8785c397c8381f16b041 Reviewed-on: https://chromium-review.googlesource.com/289995 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
ea1be878 2015-07-30 07:04:13 Change the NSGL skeleton to be a CGL skeleton The previous skeleton was name NSGL because it seemed the easier route to go, however Chrome uses CGL internally, which we want to match. BUG=angleproject:891 Change-Id: I00eb597080c8b735545750dfcd6ad80dcea79300 Reviewed-on: https://chromium-review.googlesource.com/289870 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
9988a028 2015-08-03 12:46:45 Revert "Add Iterable bitset class." std::to_ullong is c++11, failing on Mac. BUG=angleproject:1040 This reverts commit 37a9e71246e2a3343289267e5d7e123948924bd3. Change-Id: I5cecd1fe95b889feffb556f67d082cec585256f4 Reviewed-on: https://chromium-review.googlesource.com/290211 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
37a9e712 2015-07-30 11:21:55 Add Iterable bitset class. This class allows us to quickly notify Impl/Renderer layers of which state changed. BUG=angleproject:1040 TEST=angle_unittests (Mac/Win/Linux) Change-Id: I2f27bc65b4f627a261e94e3e3b7095b169986cc6 Reviewed-on: https://chromium-review.googlesource.com/289557 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
b70b63e8 2015-07-30 15:28:19 Add trace event for D3DCompile. Adds more profiling help for startup shader compiles in Chrome. BUG=510151 Change-Id: I550b55b1280542d1eaab9ed6166387b663cafffe Reviewed-on: https://chromium-review.googlesource.com/290091 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
d17c016b 2014-10-27 14:10:35 Add support for RESOURCE_MISC_SHARED_KEYEDMUTEX Change-Id: I225f38b4616ac47e690dccbcb67074fedc571d61 Reviewed-on: https://chromium-review.googlesource.com/225642 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
2e5797e3 2015-07-29 16:20:28 Log EGL initialize errors to the platform. This will allow us to show more extended error info in about:gpu in Chromium. BUG=angleproject:966 BUG=515229 Change-Id: I24c8f33ac3576395ff13dbf7f4664c649af18e33 Reviewed-on: https://chromium-review.googlesource.com/289590 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2e5b500c 2015-07-30 17:40:29 Revert "Store the applied element array buffer as a binding pointer." This reverts commit 0018c85ea45090b5de61d4be1fbfbf96a3cde48b. Change-Id: Ieab61c0a4cd1b24d606263e9bf2bae31ea2e8ac4 Reviewed-on: https://chromium-review.googlesource.com/289486 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
0018c85e 2015-07-30 10:57:46 Store the applied element array buffer as a binding pointer. to be consistent with how we start vertex attributes. A null pointer indicates we're using the streaming buffer. Will also aid the dirty state bits refactor. BUG=angleproject:1040 TEST=WebGL CTS, end2end_tests, unittests Change-Id: I7a9167282b60dbe0cbb9f0e5d9e3770890ffeb71 Reviewed-on: https://chromium-review.googlesource.com/284619 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
13e7c7e6 2015-07-30 14:17:29 Revert "Names of built-in functions cannot be redeclared as functions" Causing failures in the WebGL1 test: conformance/glsl/misc/shader-with-non-reserved-words.html This reverts commit b5f88853ea80ea112368bb15999b363db0e4c648. Change-Id: I2105c8040057665abda00435e8c0ff8a83af3645 Reviewed-on: https://chromium-review.googlesource.com/289192 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
385a1d31 2015-07-29 16:45:12 Fix reference leak in Blit9. BUG=angleproject:1111 Change-Id: I0c71b765e8589a7387f4fd40f9dc453ed06c05b9 Reviewed-on: https://chromium-review.googlesource.com/289591 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
cce24e9c 2015-07-29 15:14:29 dEQP-GLES2: Reland of "Skip flush/finish test on Windows." This test is having flaky timeouts on the bots. Disable it for now. The re-land fixes the test syntax, and ensures we will see any errors in test config as test failures on the bots. BUG=angleproject:1107 TEST=angle_deqp_gles2_tests runs Change-Id: Ia4fa8affb70e4474d8e43ff87ee86328aa47ebeb Reviewed-on: https://chromium-review.googlesource.com/289580 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
79d059f8 2015-07-28 15:03:28 Fix uniform array handling in ProgramGL. Our validation wouldn't correctly handle single-element arrays because it was checking size > 1 instead of isArray(). This caused issues in ProgramGL on some drivers that optimized the array size (AMD) if some elements were unused. BUG=angleproject:882 Change-Id: I417d13cd86380e2c6caa688f6398709a74692e21 Reviewed-on: https://chromium-review.googlesource.com/289201 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
b5f88853 2015-07-23 17:37:39 Names of built-in functions cannot be redeclared as functions With ESSL 3.00, names of built-in functions cannot be redeclared as functions and therefore overloading or redefining builtin functions is an error. This is fixed by inserting unmangled built-ins into the symbol table and then checking if the new function declaration matches any of the built-in in symbol table. BUG=angleproject:1066 TEST=angle_unittests(new: ParseESSLFunctionsTest), dEQP Tests dEQP-GLES3.functional.shaders.functions.invalid.overload_builtin_function* (2 tests started passing with this change) Change-Id: I0e027e588664e604f29c130028178315c3e21631 Reviewed-on: https://chromium-review.googlesource.com/287801 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
6db9adac 2015-07-29 19:13:10 Revert "dEQP-GLES2: Skip flush/finish test on Windows." Incorrect syntax is making the bots skip all tests. BUG=angleproject:1107 This reverts commit e8c8de2da7907579dd25273bbb422143586e79b1. Change-Id: I4469b6b320f8754af576875128e4e3fb210c67b6 Reviewed-on: https://chromium-review.googlesource.com/289501 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
1747603e 2015-07-29 09:54:40 Remove compiler_tests.gypi and preprocessor_tests.gypi. These files were a relic of a previous structure, we can safely remove them now that chrome uses angle_unittests.gypi. BUG=None TEST=compiles standalone and with chromium Change-Id: If9a09122f664b740099b4270f5acc5627fc5ac35 Reviewed-on: https://chromium-review.googlesource.com/289343 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
aadf5117 2015-07-29 01:21:20 Fix incorrect extension check. BUG=angleproject:884 Change-Id: Ia201ac60e337fd45ef72cc254bcb36d333418613 Reviewed-on: https://chromium-review.googlesource.com/289333 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
ac319fcc 2015-07-28 16:48:55 EGLContextCompatibility: remove suppression BUG=angleproject:1109 Change-Id: I551dbf79b98798f06fd5cbe1b005dc2410daaa6b Reviewed-on: https://chromium-review.googlesource.com/289274 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
9bcfe672 2015-07-28 16:44:52 DisplayGLX::generateConfigs filter by MS and Accum buffers FBConfigs where missing some filtering that wasn't needed on NVIDIA: the multisample and accumulation buffers must be the same as the context's config otherwise glXMakeCurrent will fail. See FBConfigCompatibility.md for more details. BUG=angleproject:1109 Change-Id: Ied3336f9f5227594b143c884c4546fd603238b47 Reviewed-on: https://chromium-review.googlesource.com/289273 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
b2e33b90 2015-07-28 13:06:35 X11Window::initialize remove a small code redundancy BUG= Change-Id: Id5f98332129b3cc854254187b494bf6a97921dbd Reviewed-on: https://chromium-review.googlesource.com/289272 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
23a2ae0c 2015-07-28 12:42:52 Centralize GL format workarounds. Instead of trying to encapsulate the GL texture format workarounds into tables, use functions that do manual checks for specific cases. Simplifies the logic. Fixes: * conformance/extensions/ext-sRGB.html * conformance/extensions/oes-texture-half-float.html * conformance/extensions/oes-texture-half-float-with-canvas.html * conformance/extensions/oes-texture-half-float-with-image.htm * conformance/extensions/oes-texture-half-float-with-video.html BUG=angleproject:884 Change-Id: Ifb719fff908680fddc7c53a544e2284a42a58356 Reviewed-on: https://chromium-review.googlesource.com/289082 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
cbdf7366 2015-07-21 15:47:47 Add DebuggingTips.md with a tip about using apitrace BUG=angleproject:892 Change-Id: I0999b0d3b043d412c092350f7d20560cb8b87ff7 Reviewed-on: https://chromium-review.googlesource.com/287450 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
14389ccf 2015-07-23 10:57:20 Always use sized internal formats for textures in TextureGL. On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8 textures even if format is set to GL_FLOAT. Use sized internal formats whenever possible to ensure that the internal format of the texture is the expected format. Work around issues with Intel and AMD drivers that always round up when writing to a 1-bit alpha framebuffer format. Fixes: * conformance/extensions/oes-texture-float-with-image-data.htm * conformance/extensions/oes-texture-float-with-image.html * conformance/extensions/oes-texture-float.html * conformance/extensions/oes-texture-half-float-linear.html * conformance/extensions/oes-texture-half-float-with-image-data.html * conformance/extensions/oes-texture-half-float-with-image.html * conformance/extensions/oes-texture-half-float.html Reland of https://chromium-review.googlesource.com/#/c/288350/ BUG=angleproject:884 Change-Id: Ia2f9251d12dd3bbc7b6918d46e61623d0abedfac Reviewed-on: https://chromium-review.googlesource.com/288584 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
d71620aa 2015-07-24 08:06:31 Add IndexBufferOffsetTest This test that using glDrawElements with an offset and an index buffer works correctly with or without a static copy of the buffer in D3D. BUG=510585 Change-Id: I4574a4058cc803e2ee0306e5bac52b6df6a71530 Reviewed-on: https://chromium-review.googlesource.com/288352 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
53cabecc 2015-07-24 10:52:14 BufferD3D: reinit static data only when the usage is static Previously, once a dynamic buffer had an associated static data, it would be considered as static and the static data would be always be reinitialized just after having been invalidated. BUG=510585 Change-Id: I403e91d35d11efe17f52947b2182f7b8febd7922 Reviewed-on: https://chromium-review.googlesource.com/288351 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
cab7e1d1 2015-07-27 11:20:41 Add stubs for RendererGL workarounds. BUG=angleproject:884 Change-Id: I9e48803f6150b9d8cd70a36ab9197f78fd01a50f Reviewed-on: https://chromium-review.googlesource.com/288583 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
6941a556 2015-07-27 11:06:45 Rename Workarounds to WorkaroundsD3D. It is not referenced outside of the d3d classes. BUG=angleproject:884 Change-Id: Ibeec034b1b78b569bea2f1c77d6a686b58b8e010 Reviewed-on: https://chromium-review.googlesource.com/288582 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
c64d993d 2015-07-27 10:55:25 StateManagerGL: Use an array instead of map for FBOs. The std::map became a significant bottleneck for draw calls. BUG=angleproject:959 Change-Id: I28176d1474fe5cff05018f89878ea8b2a3e3f9f1 Reviewed-on: https://chromium-review.googlesource.com/288702 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
e8c8de2d 2015-07-27 10:09:31 dEQP-GLES2: Skip flush/finish test on Windows. This test is having flaky timeouts on the bots. Disable it for now. BUG=angleproject:1107 Change-Id: Iaa15672fb96f4aa3463a0613980f8a941aeafe1f Reviewed-on: https://chromium-review.googlesource.com/288405 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
3aa9b2e0 2015-07-27 10:46:30 dEQP-GLES3: Mark dynamic_loop_struct_array_fragment as failing. This test is failing on the bots. BUG=angleproject:1108 Change-Id: Iaef3f0810c5d076b6c49bc356340c9bde014c4f5 Reviewed-on: https://chromium-review.googlesource.com/288518 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
5e7f5c92 2015-07-25 13:52:51 Revert "Always use sized internal formats for textures in TextureGL." Causing failures on the Intel and AMD bot. This reverts commit 8d8044f7e39839a5dfbf09553f77fd4325e64d4c. Change-Id: I7dc6634eaf6f57ad84c315d74aa74d3ef2d4016f Reviewed-on: https://chromium-review.googlesource.com/288325 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
8d8044f7 2015-07-23 10:57:20 Always use sized internal formats for textures in TextureGL. On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8 textures even if format is set to GL_FLOAT. Use sized internal formats whenever possible to ensure that the internal format of the texture is the expected format. Fixes: * conformance/extensions/oes-texture-float-with-image-data.htm * conformance/extensions/oes-texture-float-with-image.html * conformance/extensions/oes-texture-float.html * conformance/extensions/oes-texture-half-float-linear.html * conformance/extensions/oes-texture-half-float-with-image-data.html * conformance/extensions/oes-texture-half-float-with-image.html * conformance/extensions/oes-texture-half-float.html BUG=angleproject:884 Change-Id: I48f220a4da518fff5831155a45c04cafcdffd33b Reviewed-on: https://chromium-review.googlesource.com/288350 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
5bb9af2a 2015-07-24 09:56:59 Fix a -Wswitch warning in ANGLE. BUG=505308 Change-Id: I34ae3aa65ce55c4e04eecfef3c9cde9841e47140 Reviewed-on: https://chromium-review.googlesource.com/288245 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Daniel Cheng <dcheng@chromium.org>
589a0bad 2015-07-24 17:55:54 Revert "Always use sized internal formats for textures in TextureGL." Causing failures on the Intel and AMD bots which seem to have incorrect rounding for 1-bit alpha formats. This reverts commit 0bcb68f32f5790b0c10913351259fdf4bfed0c28. Change-Id: I00d333b5c10ba3f41d54bec95769f4baf07b0771 Reviewed-on: https://chromium-review.googlesource.com/288206 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
b98c3a82 2015-07-23 14:26:04 Reformat style in ParseContext.cpp. Using git cl format. BUG=None Change-Id: Ia0ce03ae8115f45c3bcc4b022acd7e3e88518062 Reviewed-on: https://chromium-review.googlesource.com/287833 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
1a4b1b3c 2015-07-23 18:27:13 Fix use-after-delete in ParseContext.cpp. This bug was exposed after a refactoring from the translator. BUG=None TEST=angle_unittests,angle_end2end_tests Change-Id: I13fddcbe84f87826068a557f139f6e35c674571e Reviewed-on: https://chromium-review.googlesource.com/287832 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
73a5b648 2015-07-24 13:33:38 Only check alpha values of 0 and 1. Relying on the driver to round in one direction or the other is not reliable. Change-Id: Ide96864607ee6a22d2523544d6cfe8fae3116fcd Reviewed-on: https://chromium-review.googlesource.com/288289 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
0bcb68f3 2015-07-23 10:57:20 Always use sized internal formats for textures in TextureGL. On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8 textures even if format is set to GL_FLOAT. Use sized internal formats whenever possible to ensure that the internal format of the texture is the expected format. Fixes: * conformance/extensions/oes-texture-float-with-image-data.htm * conformance/extensions/oes-texture-float-with-image.html * conformance/extensions/oes-texture-float.html * conformance/extensions/oes-texture-half-float-linear.html * conformance/extensions/oes-texture-half-float-with-image-data.html * conformance/extensions/oes-texture-half-float-with-image.html * conformance/extensions/oes-texture-half-float.html BUG=angleproject:884 Change-Id: I227e782fe9aae7b2e66df67c7a4519cfc79890b9 Reviewed-on: https://chromium-review.googlesource.com/287529 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
d483e422 2015-07-23 15:56:26 IncompleteTextureTest: Remove the Linux/NVIDIA suppression BUG=angleproject:892 Change-Id: Iae3d1a83ccc4a6d738a78b58c295e06bfc564767 Reviewed-on: https://chromium-review.googlesource.com/287676 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
d1b9568f 2015-07-22 14:36:15 dEQP: Remove old test expectations file. This is no longer needed by Chromium, after we land the GLES3 expectations patch. BUG=angleproject:1071 BUG=510822 Change-Id: I63c2b020838aae8771314c959e9e7eb994bed93f Reviewed-on: https://chromium-review.googlesource.com/287518 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
7f8dc494 2015-07-23 21:29:33 Revert "ANGLETest::SetUp: resize the window only if needed." Going to try reverting this as a potential fix to failures seen on the bots. Can re-land in the morning if the failures don't clear up. Failures seen on all windows bots now. This reverts commit 15ca829680f81b26dfbcb59e9d53554cb1b29395. Change-Id: Ic2904e00e8d53b2cc8939b36953f47f131c5e6c2 Reviewed-on: https://chromium-review.googlesource.com/287846 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
e2bfe2cd 2015-07-23 21:25:45 Revert "Implement gl_FragDepth for GLES SL 3.0" assertion failures in WebGL2 CTS. This reverts commit 544809610a131fe7040f2212789c62e212bbaf24. Change-Id: I2e0c7045c5b6ef9031a6e6c5916504fe68f51077 Reviewed-on: https://chromium-review.googlesource.com/287910 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
eec431c7 2015-07-20 16:02:32 Enable point sprites in StateManagerGL. Test it against multiple versions of the OpenGL renderer so make sure that both core and compatibility profile are tested. Fixes: * conformance/rendering/point-size.html * conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html * PointSpritesTest * particle_system sample BUG=angleproject:883 Change-Id: I31f1c3d9bee1d191b4d731afbaa2d6de1a5c9454 Reviewed-on: https://chromium-review.googlesource.com/287855 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
3cca86b5 2015-07-23 19:30:46 Revert "Enable point sprites in StateManagerGL." Failures on AMD and Intel bots. This reverts commit e1bb74e7305cee5ea92ecd2b3b3d2ecad1cdee32. Change-Id: I8ae50bcf9ca365969f5231105fadc28f843aa527 Reviewed-on: https://chromium-review.googlesource.com/287854 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
45870c77 2015-06-01 14:23:51 Enable more GL extensions. Fixes: * conformance/canvas/canvas-test.html * conformance/canvas/draw-static-webgl-to-multiple-canvas-test.html * conformance/canvas/to-data-url-test.html * conformance/context/context-attribute-preserve-drawing-buffer.html * conformance/context/premultiplyalpha-test.html * conformance/extensions/oes-texture-float-with-canvas.html * conformance/extensions/oes-texture-half-float-with-canvas.html * conformance/textures/misc/gl-pixelstorei.html * conformance/textures/misc/tex-image-canvas-corruption.html Change-Id: Iab37a211c498ed0eece4c1748cf8b4ab6c0f53e0 Reviewed-on: https://chromium-review.googlesource.com/274444 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
f9ac8fea 2015-07-23 13:40:15 Fix compilation warning in ANGLETest BUG=angleproject:1105 Change-Id: I5f5f0ebea4fa83cc03df932e60e5843ba380597b Reviewed-on: https://chromium-review.googlesource.com/287831 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
e1bb74e7 2015-07-20 16:02:32 Enable point sprites in StateManagerGL. Test it against multiple versions of the OpenGL renderer so make sure that both core and compatibility profile are tested. Fixes: * conformance/rendering/point-size.html * conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html * PointSpritesTest * particle_system sample BUG=angleproject:883 Change-Id: Ib7625cb12faeac21016a9ff551aa650ba24e789f Reviewed-on: https://chromium-review.googlesource.com/277692 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
54480961 2015-07-22 10:30:35 Implement gl_FragDepth for GLES SL 3.0 Makes it an error to access gl_FragDepthEXT in #version 300 es shader. TODO: Lacks the feature to make "#extension GL_EXT_frag_depth : require" an error for #version 300 es. BUG=angleproject:1102 TEST=angle_unittest Change-Id: Ic313a0e1ed6369550d53885290f300fab1aaf304 Reviewed-on: https://chromium-review.googlesource.com/287570 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
15ca8296 2015-07-22 17:54:20 ANGLETest::SetUp: resize the window only if needed. This avoids a flickering of the window at the start of every test. BUG=angleproject:1105 Change-Id: Ib277ad5cfef97e00d27408f8feaa8ccba9a5e032 Reviewed-on: https://chromium-review.googlesource.com/287640 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
f3357ee2 2015-07-22 14:10:19 EGLWindow: remove the unused width and height EGLWindow does nothing with it per se, but some code was relying on it to store it. Add width and height to ANGLETest and SampleApplication instead. Also fix a typo in PerfTestParams, widowWidth -> windowWidth. BUG=angleproject:1105 Change-Id: I26da607a2e6342864b508a50ee3cf8944608f868 Reviewed-on: https://chromium-review.googlesource.com/287379 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
0932df61 2015-07-21 14:35:11 Expose GL built-in output variables in ShGetOutputVariables Expose GL built-in output variables in ShGetOutputVariables. Currently gl_FragColor, gl_FragData and gl_FragDepthEXT are exposed. The output variable names in the returned array are the input shader names, not the output shader names. This is needed in future features in which the emulation layer (command buffer/libANGLE) needs to know which output variables caller used. Example of such a feature is EXT_blend_func_extended, where gl_SecondaryFragColorEXT and gl_SecondaryFragDataEXT cause the need to bind the emulated output variables to their respective color indices. BUG=angleproject:1085 TEST=angle_unittests Change-Id: I7ca3e0fe6bdd3e3c66113518aa771cbb013fc014 Reviewed-on: https://chromium-review.googlesource.com/287230 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>
94d0e3e8 2015-07-22 14:22:05 IndexDataManager: always add the offset when streaming When the static buffer has just been invalidated we stream from the buffer directly for some time. This streaming forgot to offset the starting point, causing a bug. BUG=510585 Change-Id: I8321e462841eb0bd7ed97ab78197914cbdb68c55 Reviewed-on: https://chromium-review.googlesource.com/287525 Reviewed-by: Hendrik Wagenaar <hendrikw@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
bc4acb4e 2015-07-22 13:37:42 dEQP: Update dEQP-GLES3 test expectations. Tests are all green on my local Nvidia configuration. BUG=510822 BUG=angleproject:1071 Change-Id: I56d30089d574e795cfbd012ce7430896856d32ee Reviewed-on: https://chromium-review.googlesource.com/287517 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
86170f33 2015-07-21 13:01:12 Add a GLES3 GoogleTest target. BUG=510822 BUG=angleproject:1071 Change-Id: Ia2e6d0ac71e61dbed75e55994d2bf874a75fabd6 Reviewed-on: https://chromium-review.googlesource.com/286831 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
3cf11ff4 2015-07-21 16:38:12 Make sure the given display is a valid pointer. EGL functions are supposed to return EGL_BAD_DISPLAY when the display is an invalid pointer. Since there is very rarely more than one simultaneous display, iterating through the map is not costly. BUG=angleproject:970 Change-Id: I3d9b842a49c5c99f9b8fad3d7ef53f9f5d3057ba Reviewed-on: https://chromium-review.googlesource.com/287342 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
585f2a84 2015-07-21 10:45:40 Print outputs when printing variables in shader translator Print outputs when printing variables in shader translator. BUG=angleproject:1085 Change-Id: I67e301c4392fef70e6a186d404aff720b601a08d Reviewed-on: https://chromium-review.googlesource.com/287214 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
36da9269 2015-07-21 10:43:58 Add ability to select GLSL output type to shader translator User can pass -x=g130, ..., -x=g450 to get output in specific GLSL version. Passing -x=g selects GLSL compatiblity profile. BUG=angleproject:1085 Change-Id: Ia680e219eacb0e8a53b711ae277ecebf069dfdc7 Reviewed-on: https://chromium-review.googlesource.com/287220 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
591516ff 2015-07-21 10:17:50 Add skeleton for DisplayNSGL and WindowSurfaceNSGL BUG=angleproject:891 Change-Id: Ie79e76c68775e1144ac224a4f1eba85f8a889269 Reviewed-on: https://chromium-review.googlesource.com/286829 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
dcab33be 2015-07-21 13:03:16 Add stubs for EGL image entry points and validation. BUG=angleproject:970 Change-Id: Ic3b9f9f60146920571e0e5f00fac2273c35fff2f Reviewed-on: https://chromium-review.googlesource.com/287162 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
cc7bbafa 2015-07-21 15:14:10 ES3: Fix off-by-one max enabled attrib. In some cases we would have a 'max enabled' attrib that was checked incorrectly, and this could lead to edge cases which crash when we have a vertex attribute and buffer both NULL. BUG=angleproject:1081 TEST=dEQP-GLES3.functional.lifetime.attach.deleted_input.buffer_vertex_array Change-Id: I62a9fa79f38340c99a708e54751d2b67dd4b6c1f Reviewed-on: https://chromium-review.googlesource.com/286854 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
375c37c9 2015-07-21 15:14:08 ES3: Fix crash when binding nullptr to DEPTH_STENCIL. In some cases, binding nullptr could query for the internal format of the null object, causing us to dereference null and crash. BUG=angleproject:1080 TEST=dEQP-GLES3.functional.multisample.fbo_* Change-Id: I592ab31dc1efadfac003c39051632fc2a0fff0cc Reviewed-on: https://chromium-review.googlesource.com/286853 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
86af3d27 2015-07-21 15:14:07 ES3: Fix assertion failure in validation edge case. Passing a 2D texture type to a 3D texture function could result in an explosion. BUG=angleproject:1079 TEST=dEQP-GLES3.functional.negative_api.texture.compressedteximage3d Change-Id: Ibfcc4bdb334270f8fa27ebed6bcc3911986e7c7c Reviewed-on: https://chromium-review.googlesource.com/286852 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>