|
a0928b94
|
2015-09-15T08:15:56
|
|
Port gpu_test_expectations to Mac
BUG=angleproject:891
Change-Id: I06ad3b25914bc9ec4541b38a9b160983b7dcb720
Reviewed-on: https://chromium-review.googlesource.com/299850
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
cc54ab36
|
2015-09-02T10:27:28
|
|
Generate tests.sln for WinRT, and make it include dEQP projects
Change-Id: I34284965f7b4f9d11aa7bab263292d4f41312d04
Reviewed-on: https://chromium-review.googlesource.com/297307
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ee48376c
|
2015-09-15T13:12:07
|
|
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.
Re-land fixes double define from different style defines in libGLESv2.gypi
and other projects.
Re-land fixes missing defines in angle_util project in gn.
Change-Id: I1952413cd4390e6f5450df809f8f5867bf6f49e2
Reviewed-on: https://chromium-review.googlesource.com/299771
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0393310f
|
2015-09-15T16:59:59
|
|
Revert "Update to the latest versions of the GL and EGL headers."
Issues with GN build.
This reverts commit 8284436798dd184afe61cbb586185cb68e503d6f.
Change-Id: I99d186019135bbbe250e95c9567854108d31c556
Reviewed-on: https://chromium-review.googlesource.com/299870
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f0ca9a0c
|
2015-09-14T11:53:10
|
|
Remove the usage of some c++11 library features
That were causing compilation error in Chromium Mac builds
BUG=angleproject:891
Change-Id: I45777451b300928e8c8d232a5b7ecffa7f1c3cbe
Reviewed-on: https://chromium-review.googlesource.com/299721
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
178e5974
|
2015-09-14T11:52:44
|
|
In Chromium Mac builds do not find cstdint, use stdint.h instead
BUG=angleproject:891
Change-Id: Idf2a89ad26955df3579bb2c1883137589f68f573
Reviewed-on: https://chromium-review.googlesource.com/299720
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
1b27199e
|
2015-09-14T11:57:03
|
|
IndexBufferOffsetTest: fix -Wnewline-eof for Mac
BUG=angleproject:891
Change-Id: Ic36d549d1a5ae52c49185064c2fdf60bd0074c0d
Reviewed-on: https://chromium-review.googlesource.com/299723
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
934cd2e5
|
2015-09-11T11:21:34
|
|
SixteenBppTextureTest: test the FBO are renderable before drawing
It is valid for the implementation to return a
GL_FRAMEBUFFER_UNSUPPORTED for framebuffer completeness. Check for that
case and return early. This fixes the RGB5_A1 tests on Mac that doesn't
support rendering to this format.
BUG=angleproject:891
Change-Id: If37d8f82e994a93a470cbdc01d758fe60d54a5b2
Reviewed-on: https://chromium-review.googlesource.com/298863
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
0baaca68
|
2015-09-14T07:38:00
|
|
EGLContextCompatTest: fix typo in WindowDifferentConfig
It was incorrectly calling the pbuffer function.
BUG=angleproject:891
Change-Id: I6959540262a8ef80886e41da795f9e4aff218535
Reviewed-on: https://chromium-review.googlesource.com/299441
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
82844367
|
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.
Re-land fixes double define from different style defines in libGLESv2.gypi and
other projects.
Change-Id: I6204dc767bd83b7aa7e4d6e2fa338b2ce7f304d8
Reviewed-on: https://chromium-review.googlesource.com/299401
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e12150fe
|
2015-09-11T20:06:27
|
|
Revert "Update to the latest versions of the GL and EGL headers."
Linux compile failures to do gyp defines.
This reverts commit 8bbeabc1795473f7b3141219be3970fea3b95a71.
Change-Id: Icb31dd817414b3a9ab36e88cedab9c725af26b6b
Reviewed-on: https://chromium-review.googlesource.com/299173
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8bbeabc1
|
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: Icaa444efa52f3b9d1497189da92bc364545a6e3a
Reviewed-on: https://chromium-review.googlesource.com/299172
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
7cb71880
|
2015-08-26T16:24:07
|
|
Update the dEQP GLES2 test expectations for Linux
BUG=angleproject:1127
Change-Id: Ia5f9442ef718625ed913fe3a76301a0edea00390
Reviewed-on: https://chromium-review.googlesource.com/295720
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3c192a78
|
2015-08-26T20:32:53
|
|
Revert "Remove dynamic indexing of matrices and vectors in HLSL"
Seems to be failing a WebGL/ES2 CTS test in D3D9:
conformance/ogles/GL/mat3/mat3_001_to_006
BUG=angleproject:1116
BUG=525188
This reverts commit 83f3411da456faac8570892e3dd7d76edf4095e5.
Change-Id: Ic186f51240dbdd96ccab3f5470329cdc9727c618
Reviewed-on: https://chromium-review.googlesource.com/295730
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5f57cc6e
|
2015-08-26T13:41:37
|
|
Add targets that run the EGL dEQP tests.
Generates lots of assertion failures when run, expectations and assertion fixes
to come.
BUG=angleproject:1139
Change-Id: Ia55b4b2ca3a7844d8d9d05cb7043cd42d55b86ed
Reviewed-on: https://chromium-review.googlesource.com/295243
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
53b8aec0
|
2015-08-24T10:33:25
|
|
Work around deprecated LUMA formats in the core profile.
Use R and RG textures with swizzle states to emulate them. A manual blit is
required when calling CopyTex[Sub]Image from a RGB[A] framebuffer to an
emulated L[A] texture so that the alpha channel ends up in the correct channel
of the destination texture.
Fixes the following tests when using the core profile:
* conformance/extensions/oes-texture-float.html
* conformance/extensions/oes-texture-half-float.html
* conformance/textures/misc/tex-sub-image-2d.html
* conformance/textures/misc/texture-formats-test.html
* conformance/textures/misc/texture-npot.html
BUG=angleproject:1113
Change-Id: If5540e66d9017596bd83d95ec3ede043cbcfe0d2
Reviewed-on: https://chromium-review.googlesource.com/293905
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
83f3411d
|
2015-06-18T15:47:46
|
|
Remove dynamic indexing of matrices and vectors in HLSL
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: I024722ef4ca1e14d5ad47fdc540397e18858bed6
Reviewed-on: https://chromium-review.googlesource.com/290515
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
d7a25243
|
2015-08-18T13:49:45
|
|
Add deep copying support for typed AST nodes
Resubmit with inconsistent override warnings fixed.
Removing dynamic indexing of vectors and matrices will require copying
the indexed nodes in case they are written. Any type of l-value node that
doesn't have side effects may need to be copied. Add a copying function
for all typed node classes so that this copying can be performed.
Private copy constructors are used to implement the deepCopy function in
order to make maintenance easier. With copy constructors, each subclass
only needs to take care of copying its own members, and not the base
class members, which reduces the possibility of errors. Copy constructors
are disabled for all node classes that don't support deep copying by
inheriting TIntermNode from angle::NonCopyable.
Assignment operator is disabled for all node classes through inheriting
angle::NonCopyable. This applies also to classes that now get the private
copy constructor.
Explicit copy constructor and assignment operator declarations are added
to some classes which show up in node member variables to make code
clearer.
BUG=angleproject:1116
TEST=angle_unittests
Change-Id: I7964976f5dac7dfd745b8c6612ca06fb01d271c4
Reviewed-on: https://chromium-review.googlesource.com/295080
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
254fceac
|
2015-08-25T15:11:07
|
|
Fix two leaks and a delete vs delete[] reported by ASAN
BUG=angleproject:1137
Change-Id: Ic654b79aa56ae0c0a24097b85ab48f5af53ca1f7
Reviewed-on: https://chromium-review.googlesource.com/295154
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
4d5362d0
|
2015-08-25T11:25:14
|
|
VertexArrayGL: fix the streaming of offset non-packed strides
When the packed stride and source stride were different, the streaming
code path used a loop that added two times the offset for the start of
the index range.
BUG=angleproject:1135
Change-Id: I6d314a1a28abec4df22f7c798c1af87a18d8b7ec
Reviewed-on: https://chromium-review.googlesource.com/295225
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
a5ef8d89
|
2015-08-19T14:52:21
|
|
Enabled loop indexing validation for fragment shaders compiled using renderers configured for FL9_3 and below.
BUG=angleproject:1130
Change-Id: I2b5d7091c394565354b14fbf9297276dce8d92a5
Reviewed-on: https://chromium-review.googlesource.com/294733
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cc16c913
|
2015-08-20T17:18:43
|
|
gpu_test_expectations: Fix a -Wheader-hygiene
Reland with a fix for the compilation on Windows.
Rereland with a fix for the Chromium compilation on Windowds.
Our angle_config.h was using "using namespace" in a header as a way to
import symbols to shim Chromium's base. This patch changes this to
import each function separately using "using".
This patch will allow our gpu_test_expectations to compile inside
Chromium on Linux.
BUG=angleproject:1127
Change-Id: Iefb9e253e278fa766a11e50fc6a69eceb2e81dd9
Reviewed-on: https://chromium-review.googlesource.com/295192
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c1654203
|
2015-08-21T17:04:16
|
|
Revert "gpu_test_expectations: Fix a -Wheader-hygiene"
When building in Chromium, on Windows, we got a symbol clash for
base::SysInfo::OperatingSystemVersionNumbers
This reverts commit d2eaa37d77cecde113267fd0fb66697f9b5dfe09.
BUG=
Change-Id: Icffa01a26368cecc9eb3c2ada8bf41143bd3c50a
Reviewed-on: https://chromium-review.googlesource.com/295230
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
d2eaa37d
|
2015-08-20T17:18:43
|
|
gpu_test_expectations: Fix a -Wheader-hygiene
Reland with a fix for the compilation on Windows.
Our angle_config.h was using "using namespace" in a header as a way to
import symbols to shim Chromium's base. This patch changes this to
import each function separately using "using".
This patch will allow our gpu_test_expectations to compile inside
Chromium on Linux.
BUG=angleproject:1127
Change-Id: I19b97c2a37accc683a35809859c604bcaf3dcc43
Reviewed-on: https://chromium-review.googlesource.com/295150
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0ef5c746
|
2015-08-21T10:51:40
|
|
Revert "gpu_test_expectations: Fix a -Wheader-hygiene"
This patch causes a compile failure, probably because some symbols had
been declared in the root namespace and should have been moved to base.
(but weren't compiled under Linux)
BUG=
This reverts commit f41e04dbb8602a349351c537b735eb991588a944.
Change-Id: Ia2292bf9dcbf429f47c8c8632356574a91ff0a1d
Reviewed-on: https://chromium-review.googlesource.com/295110
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
1c207ae9
|
2015-08-20T17:29:41
|
|
dEQP.gypi: tweaks to enable in-Chromium compilation on Linux
Two things were needed:
- The re-enabling of exception and RTTI as it is disabled in Chromium
and in a different way than in ANGLE standalone
- Link decpp with dl
BUG=angleproject:1127
Change-Id: I9ac37545762dc13320c7fba418fba82d7961e83e
Reviewed-on: https://chromium-review.googlesource.com/294822
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
f41e04db
|
2015-08-20T17:18:43
|
|
gpu_test_expectations: Fix a -Wheader-hygiene
Our angle_config.h was using "using namespace" in a header as a way to
import symbols to shim Chromium's base. This patch changes this to
import each function separately using "using".
This patch will allow our gpu_test_expectations to compile inside
Chromium on Linux.
BUG=angleproject:1127
Change-Id: I99a78ab9fddc11b81e3e5154d41cd8bbbb2ac28d
Reviewed-on: https://chromium-review.googlesource.com/294821
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
37c3979e
|
2015-08-20T14:19:46
|
|
Revert "Revert "Make the default framebuffer owned by Surface""
Reland the commit after fixing a bug in FramebufferAttachment.
This reverts commit 18fdcbcf1d02d3b3b4b5c712f05058f2e8d629c6.
BUG=angleproject:891
Change-Id: I07e08de52bfce8d84d070fc7bc15883009298a4d
Reviewed-on: https://chromium-review.googlesource.com/294831
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
b5d61dac
|
2015-08-20T13:43:02
|
|
Revert "Add deep copying support for typed AST nodes"
This reverts commit d0d59aa4cbce2da92deaa0f4021dfed8885e8d01 and commit
760379532b02ae039790f1e8f1c89e03481aab4b
To be fixed will be the newline at the end of IntermNode_tests.cpp and
the -Winconsistent-missing-override
BUG=
Change-Id: I57693bdff01f9e3f03b2fbb5dc53fa21e68c2789
Reviewed-on: https://chromium-review.googlesource.com/294820
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
76037953
|
2015-08-20T13:18:44
|
|
Fix compilation on Mac, adding a newline in IntermNode_test.cpp
BUG=
Change-Id: Ie935486bf44bacb89660419c0dabd0ff38838c90
Reviewed-on: https://chromium-review.googlesource.com/294800
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
ec1be6d5
|
2015-08-19T15:07:43
|
|
Suppress dEQP negative_api compressedtexsubimage2d_invalid_size on Linux
Temporarily suppress this test as it might be caused by a dEQP bug.
BUG=angleproject:1128
Change-Id: I9c6f1b95edca55f54f3292227ebc81d4ddc57f0a
Reviewed-on: https://chromium-review.googlesource.com/294580
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
d0d59aa4
|
2015-08-18T13:49:45
|
|
Add deep copying support for typed AST nodes
Removing dynamic indexing of vectors and matrices will require copying
the indexed nodes in case they are written. Any type of l-value node that
doesn't have side effects may need to be copied. Add a copying function
for all typed node classes so that this copying can be performed.
Private copy constructors are used to implement the deepCopy function in
order to make maintenance easier. With copy constructors, each subclass
only needs to take care of copying its own members, and not the base
class members, which reduces the possibility of errors. Copy constructors
are disabled for all node classes that don't support deep copying by
inheriting TIntermNode from angle::NonCopyable.
Assignment operator is disabled for all node classes through inheriting
angle::NonCopyable. This applies also to classes that now get the private
copy constructor.
Explicit copy constructor and assignment operator declarations are added
to some classes which show up in node member variables to make code
clearer.
BUG=angleproject:1116
TEST=angle_unittests
Change-Id: Ia757b69397837f8309f0e7511c0cd24ca2c7a721
Reviewed-on: https://chromium-review.googlesource.com/293931
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
18fdcbcf
|
2015-08-19T18:12:44
|
|
Revert "Make the default framebuffer owned by Surface"
Seems to be causing failures on the Mac GPU FYI bots.
SurfaceTest.DestructionDeletesImpl seems to crash.
BUG=angleproject:891
BUG=522557
This reverts commit 264ab56f2e70431e8310f9353952acd3b22b466f.
Change-Id: I80aeecb8e191de011d9afe6534d0285dcffa82a3
Reviewed-on: https://chromium-review.googlesource.com/294540
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
26e355b8
|
2015-08-14T14:16:19
|
|
Add full support for line continuation in the preprocessor
Re-landing earlier change with constant signedness fixed (was causing
build issues on Linux).
Line continuation in ESSL 3.00 needs to be processed before tokenization,
since tokens can span the line continuation. On the other hand, ANGLE's
tokenizer keeps track of line numbers, and whenever a line continuation
appears the line number still needs to be incremented by one, just like
on a regular newline.
That's why line continuation is now implemented as follows: when the
shader strings are concatenated in Input, they are also checked for line
continuation. Whenever line continuation is encountered, the string
is cut before that point. When the tokenizer asks for more input, the
string starting from the character after line continuation is passed
to it, and the line number is incremented from Input. This way the
tokenizer can parse tokens that span multiple lines - it never sees the
line continuation - but still keeps track of the line number correctly.
Relevant spec is in ESSL 3.00 section 3.2 "Source strings".
Support for line continuation also applies to ESSL 1.00. ESSL 3.00
spec section 1.5 says that line continuation support is mandated when
an ESSL 1.00 shader is used with the OpenGL ES 3.0 API, and is optional
when ESSL 1.00 is used with the OpenGL ES 2.0 API.
TEST=dEQP-GLES3.functional.shaders.preprocessor.line_continuation.*
(all pass),
angle_unittests
BUG=angleproject:1125
Change-Id: Ic086aacac53cd75bf93c0fda782416501d2f842b
Reviewed-on: https://chromium-review.googlesource.com/294200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
264ab56f
|
2015-08-12T12:39:52
|
|
Make the default framebuffer owned by Surface
Reland with a fix for SurfaceTest in angle_unittests and fixes for
signed-unsigned warnings
In CGL there is no notion of default Framebuffer and MakeCurrent only
makes a context current but not a drawable. Instead, everything is done
via render to texture. For that reason, different surfaces will have
different FBOs as default framebuffers, which causes that change.
BUG=angleproject:891
Change-Id: I0664896bc335b1a757226aaa212536b8f9d0f08f
Reviewed-on: https://chromium-review.googlesource.com/293752
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|