|
9fc3682c
|
2015-11-18T13:08:07
|
|
D3D: Rework varying packing code.
In D3D we pack varyings by making a register map, and using the
recommended GLSL ES algorithm to reserve register space. We use
this map to assign row and column slots to each varying and then
produce a semantic index value.
The existing scheme had a number of bugs, and was failing several
angle_end2end_tests. The new design cleans up the code somewhat
and uses a different counting scheme for the semantic indexes:
just sort the varyings in packing order and use a simple
incrementing semantic index per varying. In SM4+, the HLSL compiler
sorts and packs the varyings correctly itself, and in SM3, handle
the cases we don't support by returning an error instead of a D3D
compiler link error.
Also refactor how we store varying information for TF Feedback/
StreamOut. Only store the necessary D3D information, instead of
extra information like the name and type.
This fixes several tests in GLSLTest/*. This also will allow us to
fix interpolation qualifier packing and the structure packing in
HLSL, which seems to work differently than the rest of the varying
types.
BUG=angleproject:1202
TEST=bots,dEQP-GLES3.functional.transform_feedback.*
Change-Id: Ie5bfbb4f71d8bf97f39115fc46d2e61b131df639
Reviewed-on: https://chromium-review.googlesource.com/311241
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7a3e8e24
|
2015-10-08T15:50:06
|
|
Don't include samplers in uniform vector count validation
Change-Id: Id2820643b70d3266c82eb10a5f05d3a5886e9323
Reviewed-on: https://chromium-review.googlesource.com/304871
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
4d61f7ed
|
2015-08-12T10:56:50
|
|
Reland Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
Additional warnings found with more testing and added C4267 warning disable only for angle_libpng
BUG=angleproject:1120
Change-Id: Ic403dcff5a8018056fa51a8c408e64207f3362eb
Reviewed-on: https://chromium-review.googlesource.com/293028
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
02df796f
|
2015-07-01T10:03:42
|
|
Centralize renderer limitations for non-conformant renderers
Some renderer configurations (e.g. D3D11 Feature Level 9_3) have
some limitations and aren't quite conformant. This change
generates errors when applications hit these limitations, and
informs developers that they must work around them.
BUG=angleproject:1055
Change-Id: I6a4a9e5cc71288ca366a54c769ca0eb82e79a7f7
Reviewed-on: https://chromium-review.googlesource.com/282814
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
dd323e95
|
2015-06-09T15:16:31
|
|
Only run tests that the current hardware can support.
For each config, determine if a context can be created at test
instantiation time. This allows skipping of ES3 tests when the hardware
does not support ES3.
Updated the perf_tests to use the EGLPlatformParameters struct so that
they can be filtered in the same way.
Change-Id: If664604b057cec4005eb4b63bebd83cd4964b7b2
Reviewed-on: https://chromium-review.googlesource.com/276460
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
08a8438f
|
2015-05-20T14:08:07
|
|
Remove un-needed swapBuffers calls in the tests.
If a glReadPixels is done after a swapBuffers, it's results are often
undefined.
bug=angleproject:967
Change-Id: I4a99ca47624347ecbc0a5c084e93b997c92e1b31
Reviewed-on: https://chromium-review.googlesource.com/272423
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d3970de4
|
2015-05-14T11:07:48
|
|
Move ANGLETest back in test_utils, leaving a proxy header for Chromium
BUG=angleproject:892
Change-Id: Ibd494813be87e996096077d6e208cc92461b8f49
Reviewed-on: https://chromium-review.googlesource.com/271154
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
b0c645e2
|
2015-05-12T14:25:36
|
|
Validate global initializer qualifiers
Allow only constants, other globals, temporaries, and uniforms to be used
in global variable initialization for now. The spec limits global
variable initialization further to only constant expressions, but fully
implementing this has a too large compatibility cost for ESSL 1.00, so
implement it only partially. In the case of ESSL 3.00 we can use stricter
validation, since there's no legacy to worry about.
Resubmitting the change, since the previous version neglected to remove
incorrect GLSL tests.
TEST=angle_unittests, WebGL conformance tests, angle_end2end_tests
BUG=angleproject:988
Change-Id: I1bb3b8dc305689a90eadfe8cc7705e5ac3829e03
Reviewed-on: https://chromium-review.googlesource.com/270651
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ac3ab882
|
2015-05-12T13:31:28
|
|
Temporarily move back ANGLETest in end2end_tests
This path needs to a Chrome change before it can change.
BUG=angleproject:892
Change-Id: I549737383b9720a2e7d83ee5e3145d71716f04cb
Reviewed-on: https://chromium-review.googlesource.com/270457
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
973402fd
|
2015-05-11T13:42:22
|
|
Compile end2end tests on Linux
BUG=angleproject:892
Change-Id: Id4a9ddc35ae9600080e743c77476d36743a3e646
Reviewed-on: https://chromium-review.googlesource.com/270199
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/270412
|
|
e45b7458
|
2015-05-12T15:46:28
|
|
Revert "Compile end2end tests on Linux"
Build errors in Chromium:
ninja: Entering directory `C:\b\build\slave\GPU_Win_Builder\build\src\out\Release'
ninja: error: '../../gpu/egl_tests/EGLQueryContextTest.cpp', needed by 'obj/gpu/egl_tests/angle_end2end_tests.EGLQueryContextTest.obj', missing and no known rule to make it
This reverts commit be39156b10bf56686b03b274046e51ef156283fc.
Change-Id: I931295f16cad096e94baac9811ea2396a4182848
Reviewed-on: https://chromium-review.googlesource.com/270347
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
be39156b
|
2015-05-11T13:42:22
|
|
Compile end2end tests on Linux
BUG=angleproject:892
Change-Id: If3903f1801f4999bebaaaed2625346bfbec2243d
Reviewed-on: https://chromium-review.googlesource.com/270199
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
9cb9583e
|
2015-05-11T10:21:48
|
|
Move end2end and standalone tests to gl_tests and egl_tests
Also introduce a test_utils directory that contains helpers used for all
types of tests.
BUG=angleproject:892
Change-Id: I9e1bff895020ffd3a109162283971a290a1098bd
Reviewed-on: https://chromium-review.googlesource.com/270198
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|