|
2511d064
|
2015-09-11T15:19:56
|
|
Default test window size to 16x16.
This fixes a crash on Linux whenever we try to create a test without
specifying a default width and height. Did not seem to have a problem
on Windows.
TEST=angle_end2end_tests (Windows/Linux)
BUG=angleproject:1123
Change-Id: I1afcea9e833208d8a67d363678b9736c2a222066
Reviewed-on: https://chromium-review.googlesource.com/298835
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7aef6020
|
2015-09-11T19:04:00
|
|
Revert "Update to the latest versions of the GL and EGL headers."
Broke the Clang compile.
In file included from ../../third_party/angle/include/GLSLANG/ShaderLang.h:28:
../../third_party/angle/include/KHR/khrplatform.h:282:30: error: no newline at end of file [-Werror,-Wnewline-eof]
#endif /* __khrplatform_h_ */
Several other similar errors.
BUG=None
This reverts commit aac2035d851fc92b159dc8e01cfd2ebb86e99e4a.
Change-Id: I407e7e65bb6a46d1d941c54cdf14a14758e22d96
Reviewed-on: https://chromium-review.googlesource.com/298834
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4aba0b90
|
2015-09-11T13:11:22
|
|
Support GL_ETC1_RGB8_OES in the OpenGL renderer.
Passes all dEQP tests related to etc1.
Change-Id: I3ab2d51b7664cb2411fdc3247ff65a9e3258185a
Reviewed-on: https://chromium-review.googlesource.com/299340
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
aac2035d
|
2015-09-11T13:52:12
|
|
Update to the latest versions of the GL and EGL headers.
Add GLES 3.1 and 3.2 headers.
Remove GLES 3.0 extension headers and entry point files.
Change-Id: I8e9df6262dc1b2536a409c5791734e4a4d63b115
Reviewed-on: https://chromium-review.googlesource.com/299341
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d756145d
|
2015-09-10T10:23:29
|
|
Re-land "Added support for premultiplied alpha mode for composition swapchains"
Change-Id: Ic0c863c3d4936947fc520a5394e38e458659df46
Reviewed-on: https://chromium-review.googlesource.com/298880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
62d31cb6
|
2015-09-11T13:25:51
|
|
Re^6-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
Re^5-land with a fix for a test warning on Linux.
Re^6-land with a fix for transposed matrix uniform arrays.
BUG=angleproject:1123
TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
Change-Id: Ie6fcde1c16eb05d67191b629338b88302a2563f5
Reviewed-on: https://chromium-review.googlesource.com/298971
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fb53603c
|
2015-09-11T13:19:49
|
|
Revert "Re^5-land "Move Uniform and UBO info to the gl::Program layer.""
Failing dEQP-GLES3.functional.uniform_api.random.22 and 23:
There's a bug with arrays of tranpsosed matrix uniforms.
BUG=angleproject:1123
This reverts commit 78d356929bd0441d81e2dd8a63130cd6788e2fde.
Change-Id: If39b5908af39671dfe98965e6a1ba77fd18ea8fc
Reviewed-on: https://chromium-review.googlesource.com/299320
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2b835a6f
|
2015-09-10T15:58:44
|
|
Call the correct vertex attrib function for stream integer attribs.
Fixes tests related to integer attributes in
dEQP-GLES3.functional.shaders.builtin_functions.*
BUG=angleproject:880
Change-Id: I107c5c9fd1adc29f58617fab095374daa74a0da1
Reviewed-on: https://chromium-review.googlesource.com/298970
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
362c0a79
|
2015-08-12T14:44:38
|
|
Implement EGL image classes for the D3D renderers.
BUG=angleproject:970
Change-Id: I24d393fcd75dd4ee510785e8475b093868701c77
Reviewed-on: https://chromium-review.googlesource.com/295152
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
78d35692
|
2015-09-11T08:32:51
|
|
Re^5-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
Re^5-land with a fix for a test warning on Linux.
BUG=angleproject:1123
TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
Change-Id: I03afcd446d9e74573c4d4c712ed7407b91d8001c
Reviewed-on: https://chromium-review.googlesource.com/299180
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a2eb02c9
|
2015-09-11T12:31:41
|
|
Revert "Re^4-land "Move Uniform and UBO info to the gl::Program layer.""
Test has a warning on Linux:
In file included from ../../third_party/angle/src/tests/test_utils/ANGLETest.h:13:
../../testing/gtest/include/gtest/gtest.h:1392:16: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
if (expected == actual) {
~~~~~~~~ ^ ~~~~~~
../../testing/gtest/include/gtest/gtest.h:1422:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
return CmpHelperEQ(expected_expression, actual_expression, expected,
^
../../third_party/angle/src/tests/gl_tests/UniformBufferTest.cpp:357:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
EXPECT_EQ(GL_FLOAT, type);
^
BUG=angleproject:1123
This reverts commit 2ae1ee6161c24aab065190b1528f6195e80e34d0.
Change-Id: Ic3dabea54068377d1f2c5f722ba52966cf1a0491
Reviewed-on: https://chromium-review.googlesource.com/299170
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2ae1ee61
|
2015-09-10T10:04:24
|
|
Re^4-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
BUG=angleproject:1123
TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
Change-Id: I4c9f5ed31b81380507bef7981f97086d642801ae
Reviewed-on: https://chromium-review.googlesource.com/298451
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
769769a7
|
2015-09-09T15:20:08
|
|
Adding in checks for program and shader names to return INVALID_OPERATION
When a valid program is given instead of a shader, an INVALID_OPERATION
is returned rather than INVALID_VALUE when a shader related function is
called. The reverse happens when a program related function is called and
a valid shader program is given to it.
This commit also refactors other places that requires a similar check to
use the same validation function and error message.
BUG=angleproject:1029
dEQP-GLES2.functional.negative_api.state.get_shader_info_log
dEQP-GLES2.functional.negative_api.state.get_shader_source
dEQP-GLES2.functional.negative_api.state.get_programiv
dEQP-GLES2.functional.negative_api.state.get_program_info_log
BUG=angleproject:1101
dEQP-GLES3.functional.negative_api.state.get_shader_info_log
dEQP-GLES3.functional.negative_api.state.get_shader_source
dEQP-GLES3.functional.negative_api.state.get_programiv
dEQP-GLES3.functional.negative_api.state.get_program_info_log
Change-Id: I707b6ba10da0288128af185ce8dfb906fca0f766
Reviewed-on: https://chromium-review.googlesource.com/298604
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tryjob-Request: Dian Xiang <dianx@google.com>
Tested-by: Dian Xiang <dianx@google.com>
|
|
e8f47137
|
2015-09-09T12:17:43
|
|
Work around depth texture sampling differences in GL versions.
ES3 requires that only the red channel has data when sampling from depth
textures while desktop GL treats them as luminance textures. Set the
swizzle state of the texture to sample 0 from the blue and green channels
in TextureGL.
Passes 75 new tests in dEQP-GLES3.functional.texture.format and
dEQP-GLES3.functional.texture.specification.
BUG=angleproject:884
Change-Id: I863472961dcbbf8af864f5e1d85a4aea41f47bda
Reviewed-on: https://chromium-review.googlesource.com/298481
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4a693565
|
2015-09-10T09:48:13
|
|
Fix the named parameter for the IndexConversion perftest
It seems that the compiler didn't resolve the overloaded operator<< with
the structure's grandparent structure. Fix it by explicitely casting to
the grandparent before calling operator<<. Also provides slightly more
information on the number of iterations/triangles.
This wasn't caught with local testing as IndexConversion isn't compiled in
angle_perftests on Linux.
BUG=angleproject:1153
BUG=530226
Change-Id: Ifa602eb0728d052bc651f0dd030f9f880c00dc51
Reviewed-on: https://chromium-review.googlesource.com/298860
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
2aa3b436
|
2015-09-10T16:39:13
|
|
Revert "Added support for premultiplied alpha mode for composition swapchains"
Unused member warning:
..\..\third_party\angle\src\libANGLE/renderer/d3d/d3d11/NativeWindow.h(68,24) : error: private field 'mConfig' is not used [-Werror,-Wunused-private-field]
const egl::Config *mConfig;
^
BUG=None
This reverts commit 9823337204555935804985c5b93a38adc69cb681.
Change-Id: I8ed41770eb3fe70ab7e32ba9a0860e2c397e22c5
Reviewed-on: https://chromium-review.googlesource.com/298830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
86f8dd7c
|
2015-08-12T12:37:48
|
|
Implement a minimal EGL -> CGL backend
This succesfully renders HelloTriangle and some samples but fails on a
lot of tests. In particular it doesn't handle resizing the window and
doesn't have depth or stencil buffers.
BUG=angleproject:891
Change-Id: I16356471b470f764acb38e8dd3589e9c0129829d
Reviewed-on: https://chromium-review.googlesource.com/290770
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
5cf466d3
|
2015-09-08T18:18:08
|
|
Returning INVALID_OPERATION when a valid program is passed to getShaderiv
BUG=angleproject:1147
Change-Id: I7f3e77f8f5f55887fe03172eadce78129ffeb10f
Reviewed-on: https://chromium-review.googlesource.com/298064
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tryjob-Request: Dian Xiang <dianx@google.com>
Tested-by: Dian Xiang <dianx@google.com>
|
|
54c311fc
|
2015-09-09T15:37:31
|
|
win clang build fix
BUG=
TEST=win clang bots build
Change-Id: I802be2e72a884e50cf13120d3cd9c76a8f8eb86f
Reviewed-on: https://chromium-review.googlesource.com/298253
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0d8b7247
|
2015-09-09T14:56:53
|
|
Support ETC2 texture formats with RendererGL.
400 tests in dEQP-GLES3.functional.texture go from unsupported to passing.
BUG=angleproject:884
Change-Id: I51927dffbc5931c7d1b80e72f55c620197736724
Reviewed-on: https://chromium-review.googlesource.com/298484
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
df2572c3
|
2015-09-09T14:55:27
|
|
Add LUMA format entries into the tables in formatutilsgl.
BUG=angleproject:884
Change-Id: Ie4f378bc18cda57a91c16832c33f0ddc81f9c105
Reviewed-on: https://chromium-review.googlesource.com/298483
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a6c95fc6
|
2015-09-09T13:02:52
|
|
Pass the texture unit to TextureGL::syncSamplerState.
When syncing the texture's sampler state, make sure the correct texture
unit is active. When StateManagerGL syncs the textures, it may not set
the active texture if the texture ID has not changed.
BUG=angleproject:884
BUG=angleproject:883
BUG=angleproject:1051
Change-Id: Ib22874c22a12b1b9bd68887ac5a449c507e7bdc6
Reviewed-on: https://chromium-review.googlesource.com/298482
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
add8d031
|
2015-09-09T16:11:58
|
|
Don't sync the multisample state in StateManagerGL.
GL_MULTISAMPLE is not a real state in GLES but existed for the D3D
renderers to sync the rasterizer state more easily. Instead of syncing it
in StateManagerGL, rely on the default value of GL_TRUE in Desktop GL.
All tests in dEQP-GLES3.functional.multisample.* now pass.
BUG=angleproject:885
BUG=angleproject:883
Change-Id: Idbe5fbc1b43a6e66008fe87da41601277dbe7311
Reviewed-on: https://chromium-review.googlesource.com/298441
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
61b8dd97
|
2015-09-09T19:04:04
|
|
Revert "Re-re-re-land "Move Uniform and UBO info to the gl::Program layer.""
Seems to be failing the dEQP-GLES2.functional.uniform_api tests relating to boolean arrays.
BUG=angleproject:1123
This reverts commit 892a6a4b17b35e89898be8b4605c1ee595d3ae13.
Change-Id: Ifc4ce3ca806ef88a02ac6f693334ac37ce098a88
Reviewed-on: https://chromium-review.googlesource.com/298520
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
892a6a4b
|
2015-09-09T10:17:15
|
|
Re-re-re-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
BUG=angleproject:1123
TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
Change-Id: Ia40820a5ce2f34ec2d27648b1dc940a8955e9999
Reviewed-on: https://chromium-review.googlesource.com/298440
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
dd5262eb
|
2015-09-08T07:55:17
|
|
Fix compilation on Mac
BUG=angleproject:891
Change-Id: I2b787778268e8c29f0cf36d91520a04e92208f6f
Reviewed-on: https://chromium-review.googlesource.com/298030
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
0962fc36
|
2015-09-09T10:40:28
|
|
Suppress two failing end2end_tests on Intel.
The UniformTest suppression we can work around with a patch to handle
GetUniform queries entirely in ANGLE. The suppression for BlendMinMax
is a long-standing failure for an unknown reason.
BUG=angleproject:809
Change-Id: Ib89af1579a74dc5065f169b31307678429724a7c
Reviewed-on: https://chromium-review.googlesource.com/298450
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e6432c85
|
2015-09-08T14:21:38
|
|
Fix preprocessor macro replacement list location
According to the dEQP tests, a macro replacement list generated by a
function-like macro invocation should get its location from the closing
parenthesis of the invocation. The tests check this by using __LINE__ in
a macro with a multi-line invocation. It's not quite clear from the spec
that the enforced behavior is expected as opposed to the replacement
list getting its location from the macro name, but a minor correction to
the preprocessor makes the dEQP tests pass.
Newlines in the preprocessor unit tests are generated according to the
source locations in the token list produced by the preprocessor, so the
expectations of a few tests also need to be updated.
BUG=angleproject:989
TEST=dEQP-GLES3.functional.shaders.preprocessor.predefined_macros.*
(2 start passing with this change),
angle_unittests
Change-Id: I4cc9da09bd0985310a05ebf6def680916a46308a
Reviewed-on: https://chromium-review.googlesource.com/297990
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
0304d2fe
|
2015-09-07T16:28:19
|
|
Don't split the file into two chunks in shader_translator
Splitting the file into two strings in shader_translator complicated
testing line/file numbering related functionality with it, since each
chunk passed to ShCompile has its own file number and line numbering.
These are exposed to the preprocessor in __FILE__ and __LINE__ predefined
macros.
Just supply the file to ShCompile in a single string. Also, since the
original motivation for splitting the string seems to have been to
exercise ShCompile with multiple strings, add a new unit test that
ensures that ShCompile handles multiple strings as expected.
BUG=angleproject:989
TEST=angle_unittests
Change-Id: I31d24925ec85ca3411e537df25a985f09737403e
Reviewed-on: https://chromium-review.googlesource.com/297251
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
b654f659
|
2015-09-08T20:40:00
|
|
Revert "Re-re-land "Move Uniform and UBO info to the gl::Program layer.""
Failes the gles2_conform_test:
GLES2ConformTest.GL2Tests_glGetUniform_input_run
Possibly also WebGL failures, will investigate.
BUG=angleproject:1123
This reverts commit 10750cb936288d8dd09d49fadd592904c06c56f9.
Change-Id: I1ae59325e1831589019bc5a27ffc2091d3994a65
Reviewed-on: https://chromium-review.googlesource.com/298200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
10750cb9
|
2015-09-04T14:23:52
|
|
Re-re-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
BUG=angleproject:1123
TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
Change-Id: I7b55e4964fbe64e0106c37928c894146937a2476
Reviewed-on: https://chromium-review.googlesource.com/298110
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2119dd05
|
2015-09-08T19:30:37
|
|
Revert "Re-land "Move Uniform and UBO info to the gl::Program layer.""
Problems with multiply defined symbols in the Linux builder.
BUG=angleproject:1123
This reverts commit ff1abe63c3d8af28e9755c8d0c95b2aeca27a0d9.
Change-Id: Ifcb2ad885d0841c128ffd69afb6594e37eba17fc
Reviewed-on: https://chromium-review.googlesource.com/298100
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ff1abe63
|
2015-09-04T14:23:52
|
|
Re-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
BUG=angleproject:1123
TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
Change-Id: I9074c057c2c67d4d3221ec11c5556a26e07c7ceb
Reviewed-on: https://chromium-review.googlesource.com/297070
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7bd13082
|
2015-09-08T13:10:10
|
|
Set seamless cubemap filtering in StateManagerGL.
Cubemap filtering is supposed to be seamless for ES3+ contexts.
Fixes 298 failures in dEQP-GLES3.functional.texture, mostly in
dEQP-GLES3.functional.texture.filtering and
dEQP-GLES3.functional.texture.shadow.
BUG=angleproject:986
BUG=angleproject:1149
Change-Id: I6054365086bb3b9d9b085c260f88e2c43eb75bfe
Reviewed-on: https://chromium-review.googlesource.com/296966
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
98233372
|
2015-08-28T15:53:44
|
|
Added support for premultiplied alpha mode for composition swapchains
Change-Id: Iee1d327a03469d7daf6cc412709c0a36e1c83e32
Reviewed-on: https://chromium-review.googlesource.com/296721
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
|
|
33585c71
|
2015-09-03T14:41:23
|
|
Use named value-parameterized tests for angle_end2end_tests
This replace the non-descriptive digit at the end of the test name by
the name of the configuration being tested.
Reland with a fix for gtest initialization on Windows caused by
ProgramBinaryTest having the same parameter name twice.
BUG=angleproject:1153
Change-Id: I9b0f661a535b760793d9d87ef0c8298f6b83830d
Reviewed-on: https://chromium-review.googlesource.com/297701
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9bbad18e
|
2015-09-04T11:07:29
|
|
Mark GL_RGB10_A2UI as a renderable format.
dEQP-GLES3.functional.fbo.color.tex3d.rgb10_a2ui was already failing but
because the framebuffer was marked as unsupported, dEQP considers the test to
be passing.
BUG=angleproject:1149
BUG=angleproject:1097
Change-Id: I82223e8e927d1fd6d66f75b5fdea7989c92d706d
Reviewed-on: https://chromium-review.googlesource.com/298031
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
809ec546
|
2015-08-26T14:30:57
|
|
Don't evaluate short-circuited preprocessor expressions
Resubmit with clang build issue fixed. The result of a short-circuited
operation is now either 0 or 1.
ESSL 3.00 spec section 3.4 mentions that the second operand in a logical
&& or || preprocessor operation is evaluated only if the first operand
doesn't short-circuit the expression. The non-evaluated part of a
preprocessor expression may also have undefined identifiers.
Make the expression parser follow the spec by ignoring errors that are
generated inside short-circuited expressions. This includes undefined
identifiers and divide by zero.
BUG=angleproject:347
TEST=dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers.*
angle_unittests
Change-Id: I4163f96ec46d40ac859ffb39d91b89490041e44d
Reviewed-on: https://chromium-review.googlesource.com/297252
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9a1b49f7
|
2015-09-08T14:32:26
|
|
Revert "Don't evaluate short-circuited preprocessor expressions"
Build break on Clang:
FAILED: /b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/compiler/preprocessor/preprocessor.ExpressionParser.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=245965-1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DDCHECK_ALWAYS_ON=1 -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O2 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.6 -arch x86_64 -Wendif-labels -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-unused-function -Wno-unused-variable -std=c++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/GPU_Mac_Builder/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-templates -fcolor-diagnostics -fno-strict-aliasing -c ../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp -o obj/third_party/angle/src/compiler/preprocessor/preprocessor.ExpressionParser.o
../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1372:35: error: use of logical '||' with constant operand [-Werror,-Wconstant-logical-operand]
(yyval) = (yyvsp[-3]) || 0;
^ ~
../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1372:35: note: use '|' for a bitwise operation
(yyval) = (yyvsp[-3]) || 0;
^~
|
../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1406:35: error: use of logical '&&' with constant operand [-Werror,-Wconstant-logical-operand]
(yyval) = (yyvsp[-3]) && 0;
^ ~
../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1406:35: note: use '&' for a bitwise operation
(yyval) = (yyvsp[-3]) && 0;
^~
&
../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1406:35: note: remove constant to silence this warning
(yyval) = (yyvsp[-3]) && 0;
~^~~~
BUG=angleproject:347
This reverts commit 6ffe613518482b966b913013c51221ce06ca7c33.
Change-Id: I6d81666cca573f320bfb1164a6c794b6f75f7463
Reviewed-on: https://chromium-review.googlesource.com/298020
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
47f730fa
|
2015-09-08T14:29:37
|
|
Revert "Mark GL_RGB10_A2UI as a renderable format."
Fails the dEQP test:
dEQP-GLES3.functional.fbo.color.tex3d.rgb10_a2ui
BUG=angleproject:1149
This reverts commit d0f9fdc772d0b286a50978f4a16c94e2af3dfee7.
Change-Id: I5b76255be3fc1f0734395dac609e2949fc8c8185
Reviewed-on: https://chromium-review.googlesource.com/298010
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6ffe6135
|
2015-08-26T14:30:57
|
|
Don't evaluate short-circuited preprocessor expressions
ESSL 3.00 spec section 3.4 mentions that the second operand in a logical
&& or || preprocessor operation is evaluated only if the first operand
doesn't short-circuit the expression. The non-evaluated part of a
preprocessor expression may also have undefined identifiers.
Make the expression parser follow the spec by ignoring errors that are
generated inside short-circuited expressions. This includes undefined
identifiers and divide by zero.
BUG=angleproject:347
TEST=dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers.*
angle_unittests
Change-Id: Ieed02a71298af838f784a5d1197d4f4a9ba0e3c8
Reviewed-on: https://chromium-review.googlesource.com/295033
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
3910ca93
|
2015-09-04T15:38:17
|
|
Suppress failing Uniform test on AMD.
This test exposes a driver bug in state query, where the AMD
driver does not cast state values correctly. Suppress this for now
but we can quickly turn it on with the Uniforms refactor, which
does all of the necessary state retrieval within ANGLE without
consulting the driver.
BUG=angleproject:1123
Change-Id: I5c1f1c16e3a59582267de3365e388ffef4d57467
Reviewed-on: https://chromium-review.googlesource.com/296667
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6ba5d4dd
|
2015-09-04T14:23:50
|
|
Fix GetUniform rounding in D3D. Also add a test.
The test will help cover a bug that I found when doing the refactor
of gl::Program.
BUG=angleproject:1123
Change-Id: Id353ffaffef83ad1538580ad01668c915bf9853f
Reviewed-on: https://chromium-review.googlesource.com/297031
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6026538a
|
2015-09-04T14:36:16
|
|
Revert "Use named value-parameterized tests for dEQP gtests"
This reverts commit 0db7b15554f30c528a69285ec19150f36be263f7.
BUG=
Change-Id: Ia2de8268bd51d865ad87875c55cb5bfcc51e29f6
Reviewed-on: https://chromium-review.googlesource.com/297760
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
b92c133e
|
2015-09-04T12:54:55
|
|
Don't use the mip level to validate the 2D texture depth parameter.
BUG=angleproject:1149
Change-Id: I5dd45c99b373d480814c9fbdbe0abd419a270c89
Reviewed-on: https://chromium-review.googlesource.com/297052
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ed1e0ad9
|
2015-07-23T14:54:47
|
|
Fix typo when syncing GL_UNPACK_SKIP_ROWS and GL_PACK_SKIP_ROWS.
Causes crashes in the dEQP ReadPixels test.
BUG=angleproject:1149
BUG=angleproject:883
Change-Id: I090e21ebd7781ce3372b8842421e7da3e4bedbac
Reviewed-on: https://chromium-review.googlesource.com/287629
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
da34d002
|
2015-09-04T11:08:59
|
|
Apply the pixel pack state before ReadPixels in FramebufferGL.
This ensures that the PBO is bound because it does not have a dirty bit
yet.
BUG=angleproject:1149
BUG=angleproject:885
Change-Id: Iad96abc4dec4e6ac8187975c7638dfd7f18951e7
Reviewed-on: https://chromium-review.googlesource.com/296963
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d0f9fdc7
|
2015-09-04T11:07:29
|
|
Mark GL_RGB10_A2UI as a renderable format.
BUG=angleproject:1149
Change-Id: Ia808c0d411133d135eef8e90485ba346086f012c
Reviewed-on: https://chromium-review.googlesource.com/296964
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f622792b
|
2015-09-04T11:05:47
|
|
Skip deletion of null framebuffers.
It's valid to have a map entry that is null to represent a framebuffer
that has been generated but never bound. This was causing crashes after
dEQP pbo tests were run during dEQP shutdown.
BUG=angleproject:1149
Change-Id: Idcedac23e5c4e17ed025b10c2939572b394d3aec
Reviewed-on: https://chromium-review.googlesource.com/296962
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0db7b155
|
2015-09-03T15:25:41
|
|
Use named value-parameterized tests for dEQP gtests
This replace the non-descriptive digit at the end of the test name by
the name of the dEQP test being run.
BUG=angleproject:1153
Change-Id: Ibc9e5fbf46ffbf3a8c783807161b2bdc63119f54
Reviewed-on: https://chromium-review.googlesource.com/296686
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
|
|
6b10ddbf
|
2015-09-02T15:55:10
|
|
Fix the vertex copy loop iterating over one too many elements.
BUG=angleproject:1149
BUG=angleproject:880
Change-Id: I2840043ded50f805afa3032fc1f0362fa91b8877
Reviewed-on: https://chromium-review.googlesource.com/297088
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
20c14e3f
|
2015-09-04T14:06:57
|
|
Revert "Use named value-parameterized tests for angle_end2end_tests"
Causing crashes on windows.
This reverts commit dfa569e67829f891ae4481812ca7a0371c9d4e17.
Change-Id: Icbe56455d172ec92395c4f889557091f98a30240
Reviewed-on: https://chromium-review.googlesource.com/297700
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
69f9b2c8
|
2015-08-20T13:25:41
|
|
Fixed GL_MAX_VERTEX_UNIFORM_VECTORS and GL_MAX_FRAGMENT_UNIFORM_VECTORS to report accurate maximum value.
Change-Id: Ic581e1ef0c6be2bf1ff0092b373b3c480b6fbd8a
Reviewed-on: https://chromium-review.googlesource.com/294755
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
|
|
3766a40d
|
2015-06-18T15:47:46
|
|
Remove dynamic indexing of matrices and vectors in HLSL
Re-landing after fixing D3D9 specific issues.
HLSL doesn't support dynamic indexing of matrices and vectors, so replace
that with helper functions that unroll dynamic indexing into switch/case
and static indexing.
Both the indexed vector/matrix expression and the index may have side
effects, and these will be evaluated correctly. If necessary, index
expressions that have side effects will be written to a temporary
variable that will replace the index.
Besides dEQP tests, this change is tested by a WebGL 2 conformance test.
In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec
allows undefined behavior. KHR_robust_buffer_access_behavior adds the
requirement that program termination should not occur and that
out-of-range reads must return either a value from the active program's
memory or zero, and out-of-range writes should only affect the active
program's memory or do nothing. This patch clamps out-of-range indices so
that either the first or last item of the matrix/vector is accessed.
The code is not transformed in case the it fits within the limited subset
of ESSL 1.00 given in Appendix A of the spec. If the code isn't within
the restricted subset, even ESSL 1.00 shaders may require this
workaround.
BUG=angleproject:1116
TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change)
WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html)
Change-Id: I66a5e5a8d7f4267da0045f1cc2ba6b0dc7eb3f5d
Reviewed-on: https://chromium-review.googlesource.com/296671
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
dfa569e6
|
2015-09-03T14:41:23
|
|
Use named value-parameterized tests for angle_end2end_tests
This replace the non-descriptive digit at the end of the test name by
the name of the configuration being tested.
BUG=angleproject:1153
Change-Id: Ieed08c8e5f111c079c183dd96cf3fe1cfff52f7f
Reviewed-on: https://chromium-review.googlesource.com/296685
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
a2c3c8e9
|
2015-09-02T11:02:23
|
|
Comment out UNIMPLEMENTEDs in TransformFeedbackGL.
dEQP's resetState function triggers these assertions when testing.
BUG=angleproject:1149
Change-Id: Ib6fc3acdf15cadf3ffafad8ffda4788e34f520f0
Reviewed-on: https://chromium-review.googlesource.com/297082
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
bdcc54a4
|
2015-09-02T13:09:48
|
|
Support writing interface blocks in OutputGLSL.
BUG=angleproject:882
BUG=angleproject:1149
Change-Id: Iea0b1d0bc586ec9517a06793386c91890b7a5115
Reviewed-on: https://chromium-review.googlesource.com/297086
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d8edb518
|
2015-09-02T11:52:56
|
|
Allow OutputGLSL to write non-square matrices.
Fixes assertion failures when ShaderGL fails to compile the generated shaders.
BUG=angleproject:882
BUG=angleproject:1149
Change-Id: Ib7c23a54bdb81852864d792f29c89644084859a3
Reviewed-on: https://chromium-review.googlesource.com/297085
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6e36042f
|
2015-09-02T15:54:36
|
|
Implement translation of EOpIndexDirectInterfaceBlock in OutputGLSL.
BUG=angleproject:882
BUG=angleproject:1149
Change-Id: I5e0808dd3576339aa87aade3a349586d01b28f74
Reviewed-on: https://chromium-review.googlesource.com/297087
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f826e1a3
|
2015-09-02T11:31:54
|
|
Avoid copy of PixelUnpackState in Texture::setImage.
The ternary operator determines that the common type is the value type, causing
a copy of PixelUnpackState. If PixelUnpackState::pixelBuffer is non-null then
there is an assertion failure in the destructor on any call to Texture::setImage.
See:http://stackoverflow.com/a/30088030
BUG=angleproject:1149
Change-Id: I9654e65956339d6b6966ad65a98cf37ad4e00452
Reviewed-on: https://chromium-review.googlesource.com/297084
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
be184c7d
|
2015-09-02T11:07:39
|
|
Support syncing pixel pack and unpack buffers in StateManagerGL.
BUG=angleproject:1149
Change-Id: I641693e67bf35733a591107fdd3812d0badd17f2
Reviewed-on: https://chromium-review.googlesource.com/297083
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5ade8459
|
2015-09-02T11:00:30
|
|
Properly check for EGL_KHR_create_context before creating ES3 context.
Mark EGL_KHR_create_context as supported in the DisplayGLs.
BUG=angleproject:1149
Change-Id: I20671535680eb2c3b9c08205cee243b3aa5c5821
Reviewed-on: https://chromium-review.googlesource.com/297080
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e4de307e
|
2015-09-02T11:01:32
|
|
Mark the pack and unpack buffer types as valid in ES3.
dEQP resetState generates a GL error and exits when trying to reset the
pixel buffers after a test.
BUG=angleproject:1149
Change-Id: I133788c6c2f17074bf5bbf5cd17b63338352765f
Reviewed-on: https://chromium-review.googlesource.com/297081
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a7e1d9aa
|
2015-09-01T12:41:47
|
|
Only validate that color and alpha blend funcs are non-constant on D3D renderers.
BUG=angleproject:1025
Change-Id: I9c6008cc2f268bda4afa2c67e0b3d3716e77ea31
Reviewed-on: https://chromium-review.googlesource.com/296681
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
814a54dd
|
2015-08-27T16:23:09
|
|
Force index/loop validation on the D3D9 backend
D3D9 shader models have limited support for looping, so the Appendix A
index/loop limitations are necessary. This is consistent with applying
the limitations on D3D9_3 feature level and lower of the D3D11 backend
too.
Also, when the limitations are not in place, a workaround for dynamic
indexing of vectors and matrices will be applied. This workaround does not
work on the D3D9 backend, as demonstrated with some WebGL conformance
failures caused by it in Chrome on D3D9.
BUG=525188
TEST=angle_end2end_tests
Change-Id: I6411594f067f2740f55d7560427026b23b15dac7
Reviewed-on: https://chromium-review.googlesource.com/296940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
a0a9e12d
|
2015-09-02T15:54:30
|
|
translator: Add sh::OutputVariable type.
This replaces the dual-use of sh::Attribute, which can be a bit
confusing to people expecting a literal output variable.
Currently not used in Chromium, so should be safe to land.
BUG=angleproject:1146
Change-Id: I436f2bc9dc4ddc3709369cb2baa344c6b13a21a2
Reviewed-on: https://chromium-review.googlesource.com/296683
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
beb81589
|
2015-09-02T10:30:55
|
|
Make the end2end tests compile in the GN build.
BUG=angleproject:929
Change-Id: Ifc5ad03579c3e187721842f7585f3f06b69cbf45
Reviewed-on: https://chromium-review.googlesource.com/296682
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
48705cad
|
2015-09-02T20:40:51
|
|
Revert "Move Uniform and UBO info to the gl::Program layer."
Seems to be failing dEQP-GLES2.functional.uniform_api.value.unused_uniforms.* on Linux (possibly Win as well)
BUG=angleproject:1123
This reverts commit 54f882c9167b1aff5b3700187a2048bd886e8b17.
Change-Id: I7dbbf40aae8dd9ebd35895df0dd338a3b6b9cc96
Reviewed-on: https://chromium-review.googlesource.com/297051
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
54f882c9
|
2015-09-02T14:33:48
|
|
Move Uniform and UBO info to the gl::Program layer.
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
BUG=angleproject:1123
TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
Change-Id: I8b7e1380a61590a46ccee646a47ffe9bda287f6b
Reviewed-on: https://chromium-review.googlesource.com/295124
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f5f4ad24
|
2015-09-02T18:32:38
|
|
Revert "Revert "Clean up interface to ProgramImpl::link.""
Should be fixed now with the fix the prior CL.
BUG=angleproject:1123
This reverts commit 63069dfc20bc34fe6962dee694953893ee6fc663.
Change-Id: Ie1826673820e3a24f9bb3e4ff5c723ac47570041
Reviewed-on: https://chromium-review.googlesource.com/297050
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ca03b35c
|
2015-09-02T12:38:13
|
|
Re-land "Compute packed varyings in ProgramD3D only."
Instead of storing varying information in the shader, use a temporary
set when linking a D3D program. This also means we won't have to
modify information in the Shader object when linking a D3D program.
This completes the refactoring for PackedVaryings.
Re-land with fix for missing init of PackedVarying::vertexOnly.
BUG=angleproject:1123
Change-Id: If110809c3817d88b0370ac575d739d7385b067d9
Reviewed-on: https://chromium-review.googlesource.com/296731
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3a86ad38
|
2015-09-01T11:47:05
|
|
Only validate that stencil refs and masks are the same on D3D renderers.
BUG=angleproject:1025
Change-Id: If79046f9f81ad20c5f2f7296245b0cb74a4102aa
Reviewed-on: https://chromium-review.googlesource.com/296680
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
93fc8f3e
|
2015-09-02T11:26:06
|
|
Add back a suppression for a bot specific dEQP GLES2 failure on Windows
BUG=angleproject:1127
Change-Id: I749c2c39dfaf60d5e39a00bd7954fcb1d7e931ac
Reviewed-on: https://chromium-review.googlesource.com/296960
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
efb6ac66
|
2015-09-02T08:10:09
|
|
ProgramBinaryTest: fix an unreachable code warning
This warning was found by the GN build on Windows: the FAIL macro contains
a return which caused code after the FAIL to be unreachable.
BUG=angleproject:929
Change-Id: Id4bda39ea9f76d2b59c44391cb2de8a3bfb6947c
Reviewed-on: https://chromium-review.googlesource.com/296950
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d4bcfa2c
|
2015-09-01T10:32:30
|
|
Make the unittests compile in the GN build.
This changes angle_unittests.gypi to use a variable per list of files so
that we can grab the list of files in conditions in BUILD.gn
BUG=angleproject:929
Change-Id: I7fc73fd84d8efc1ea545fe672b1dba1c429b317f
Reviewed-on: https://chromium-review.googlesource.com/296443
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
94d099d0
|
2015-09-01T13:56:56
|
|
BitSetIterator_unittest: fix an unreachable code warning
Because gtest's FAIL macro does a return, MSVC complained that the
update part of a range-based for loop was unreachable. Fixed this by
having a boolean value set to true if we execute the loop body.
BUG=angleproject:929
Change-Id: I6c1fec7ed6cf1a3aba6f02b68c1015bee2feebfd
Reviewed-on: https://chromium-review.googlesource.com/296730
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
c437046f
|
2015-09-01T17:27:40
|
|
Revert "Compute packed varyings in ProgramD3D only."
Likely the cause of Windows bot failures.
BUG=angleproject:1123
This reverts commit 532061bbfb160586a06f0e47b6bbb5350e735203.
Change-Id: Ia4f0161b97bfbf2adb4cafaa5fa5484f04fad245
Reviewed-on: https://chromium-review.googlesource.com/296710
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
63069dfc
|
2015-09-01T17:26:41
|
|
Revert "Clean up interface to ProgramImpl::link."
Probably causing bot failures in a prior dependent patch.
BUG=angleproject:1123
This reverts commit b83592750d00ca96413575016b0e27bc9d861f58.
Change-Id: I7642c4a66b190dda49cbb16611abc893f3eb6422
Reviewed-on: https://chromium-review.googlesource.com/296700
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
477b243b
|
2015-08-31T10:41:16
|
|
Change the FLATTEN heuristic to "ifs with a loop with a gradient"
This heuristic makes more sense than the previous "ifs with a
discontinuous loop" as the reason we need to flatten is that we need
gradients to be in branchless code.
Change the UnrollFlatten test accordingly.
Tested with:
- the WebGL CTS
- dev.miaumiau.cat/rayTracer "Skull Demo"
- THe turbulenz engine GPU particle demo
- Lots of ShaderToy Samples (inc. Volcanic, Metropolis and Hierarchical
Voronoi)
- Google Maps Earth mode
- Lots of Chrome experiments
- madebyevan.com/webgl-water
BUG=524297
Change-Id: Iaa727036fffcfde3952716a1ef33b6ee0546b69d
Reviewed-on: https://chromium-review.googlesource.com/296442
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
12d59314
|
2015-08-31T13:33:00
|
|
Prefer glDepthRangef and glClearDepthf to the double version.
ES only has the float versions.
BUG=angleproject:1145
Change-Id: I6c96b553d20e8aa160f68fe1b3fa0200d64108a3
Reviewed-on: https://chromium-review.googlesource.com/296361
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f2ee0752
|
2015-09-01T10:14:36
|
|
Fix wrongly formatted dEQP GLES2 expectations
The formatting problem was introduced in
770f8f8658806b278f67e55ca195e022b683f9e0 and prevented the bots from
running the dEQP tests.
BUG=angleproject:1143
Change-Id: I427f6472625df19111ff56685b7e70b9e9aae866
Reviewed-on: https://chromium-review.googlesource.com/295199
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2728f992
|
2015-08-31T16:24:10
|
|
Make unittest #includes start from src
This is will help avoid adding many include directories for the GN
build.
BUG=angleproject:929
Change-Id: If8f7e98526df3560b8e410ec86271a2da0c6889d
Reviewed-on: https://chromium-review.googlesource.com/296480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
89bb70e9
|
2015-08-31T14:18:39
|
|
Mark TF Feedback array element capture as unsupported.
According to dEQP this is an undefined section of the spec. Mark it as
unsupported for now until we can investgate if it's possible on
certain platforms.
Noticed this when testing with the Program refactor.
BUG=angleproject:1123
TEST=dEQP-GLES3.functional.transform_feedback.array_element.*
Change-Id: I830dddf418e28fb4536f09500f4069def1d97b58
Reviewed-on: https://chromium-review.googlesource.com/295984
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
aa40feea
|
2015-09-01T09:35:45
|
|
Supress failures in RGB->L CopyTex[Sub]Image calls on Intel OpenGL.
BUG=angleproject:1113
Change-Id: Ie16a28046546fad2ff1c1af35ca67c434b9f5216
Reviewed-on: https://chromium-review.googlesource.com/296481
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
47502236
|
2015-08-25T16:26:10
|
|
Implement drawRangeElements in RendererGL.
BUG=angleproject:1136
Change-Id: I8b84b845da09f60bfd5e8f400da47d759f0d8f1a
Reviewed-on: https://chromium-review.googlesource.com/295234
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
846f107f
|
2015-09-01T09:07:15
|
|
Fix unsigned/signed comparison in VertexDataManager.
Affects Debug/Win32 only.
BUG=angleproject:1136
Change-Id: I29fbf06077014c313489be07ff983009afb652fd
Reviewed-on: https://chromium-review.googlesource.com/296362
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b8359275
|
2015-08-26T15:57:14
|
|
Clean up interface to ProgramImpl::link.
We no longer need to pass mutable shaders with the changed to packed
varyings.
BUG=angleproject:1123
Change-Id: I0a4bbf5d770ff48e10e3de2146840d8987b1e826
Reviewed-on: https://chromium-review.googlesource.com/295194
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
532061bb
|
2015-08-31T15:16:45
|
|
Compute packed varyings in ProgramD3D only.
Instead of storing varying information in the shader, use a temporary
set when linking a D3D program. This also means we won't have to
modify information in the Shader object when linking a D3D program.
This completes the refactoring for PackedVaryings.
BUG=angleproject:1123
Change-Id: I241610e87f7d14f3e18b0d8bd84f1a3509c05dfd
Reviewed-on: https://chromium-review.googlesource.com/295193
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
0e06ea33
|
2015-08-31T10:35:46
|
|
HLSLCompiler: fix an infinite loop when failing to compile
When compiling shaders that produce errors X3531 or X4014 even when macros
is nullptr, we would try the same permutation infinitely.
BUG=524297
Change-Id: Id2a26ce2a5344bff4566440342adad5031368994
Reviewed-on: https://chromium-review.googlesource.com/296441
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
3cf12ce6
|
2015-08-27T14:40:48
|
|
Implement the instanced draw calls in RendererGL.
BUG=angleproject:1136
Change-Id: I1167365618bdc3ca37ac0f4c60809de32c7a9d78
Reviewed-on: https://chromium-review.googlesource.com/295733
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5b49bb83
|
2015-08-31T18:48:50
|
|
Revert "Implement the instanced draw calls in RendererGL."
Causing crashes in some dEQP tests.
This reverts commit c1948415e52dbaefb0d3176b75a58a7b86bd091a.
Change-Id: Idedb32484b4f2b09090346bc4228fe536190a621
Reviewed-on: https://chromium-review.googlesource.com/296440
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c1948415
|
2015-08-27T14:40:48
|
|
Implement the instanced draw calls in RendererGL.
BUG=angleproject:1136
Change-Id: Id04e357b97c04b3843b25827f705fd802e6a68e3
Reviewed-on: https://chromium-review.googlesource.com/295233
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2a592150
|
2015-08-31T10:10:33
|
|
Fix Chromium compilation error in VariablePack_test.cpp
BUG=
Change-Id: I59c9716774df4615da6dd412795639e055f45034
Reviewed-on: https://chromium-review.googlesource.com/295732
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a9bee1b8
|
2015-08-27T16:10:53
|
|
Add row-sharing packing tests for VariablePacker_test.cpp
Recent test failures leads to suspicion that our variable packing algorithm is
buggy - turns out to be an underlying driver bug.
With the added test cases, such suspicion shouldn't even arise.
BUG=angleproject:1142
TEST=angle_unittests
Change-Id: I1fb3c5c7798d9ad17668a3d633286e031da79cab
Reviewed-on: https://chromium-review.googlesource.com/295901
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
465e6f45
|
2015-08-28T16:01:53
|
|
Fix missing copy rules for DEQP EGL test cases and expectations.
BUG=angleproject:1139
Change-Id: I9d58b2c0b1e6465b58b2f3d4aad4b1d3517ae3ec
Reviewed-on: https://chromium-review.googlesource.com/295147
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3caa6528
|
2015-08-27T14:38:52
|
|
Only update the synced parts of mAppliedAttributes.
Members such as divisor are not synced in
VertexArrayGL::updateAttribPointer so assigning the whole attribute causes
the divisor to not be synced.
BUG=angleproject:1136
Change-Id: I947a144f81ae67953947e363debd1d1cff78207a
Reviewed-on: https://chromium-review.googlesource.com/295145
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
770f8f86
|
2015-08-28T13:46:02
|
|
Add back suppressions for bot-specific dEQP GLES2 failures on Linux
BUG=angleproject:1143
Change-Id: I5bd1a7de7b147062f2e093a30efe4ed06eb80ec2
Reviewed-on: https://chromium-review.googlesource.com/295247
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ad915e9b
|
2015-08-27T14:34:47
|
|
Update the Windows dEQP GLES2 test expectations
BUG=angleproject:1127
Change-Id: I6f38e5441c4a288e9c1f55fefa31d5d2f10a700c
Reviewed-on: https://chromium-review.googlesource.com/295246
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
11865105
|
2015-08-27T17:55:17
|
|
angle_unittests add forgotten VariablePacker test.
Also add a warning on top of the UnrollFlatten test that it works only
when HLSL is enabled.
BUG=angleproject:1140
Change-Id: Ide961bbed70dc9ed2a604f13273e4209b1dec29b
Reviewed-on: https://chromium-review.googlesource.com/295125
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
cf5a092f
|
2015-08-27T14:30:40
|
|
Add back one left out compiler test to angle_unittests
VariablePacker_test.cpp
The other one UnrollFlatten_test.cpp crashes.
BUG=
TEST=angle_unittests
Change-Id: I78e6e81e9b61f2a1599a5a0601b5b76165b180de
Reviewed-on: https://chromium-review.googlesource.com/295767
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|