|
d9671226
|
2016-11-29T16:30:31
|
|
Implement ES3.1 glDraw*Indirect entry points for OpenGL
BUG=angleproject:1595
TEST=dEQP-GLES31.functional.draw_indirect.*
Change-Id: I82f5d0864e70d6e7abdccf5f10330ddfa099ec62
Reviewed-on: https://chromium-review.googlesource.com/417250
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
89c21ea8
|
2016-12-13T17:03:43
|
|
InstancingTest: fix a stack overflow.
BUG=angleproject:1661
Change-Id: Iac7af4aed2782ab839922281d29f1a9861a334e3
Reviewed-on: https://chromium-review.googlesource.com/419758
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
a7d12dc7
|
2016-12-13T15:08:19
|
|
Store uniform block bindings in program binaries.
This affects all back-ends - we weren't saving this. Note that
bindings can only be set after program linking. The spec is fairly
clear in that any programs saved must be loadable and runnable under
the same set of state, which would include block bindings.
Also add validation for zero binary formats in GetProgramBinary.
Also add a workaround for AMD where the block bindings were not
applied properly after link, similarly to our original bug.
This CL also includes a few fixups for GLProgram (raii).
BUG=angleproject:1637
Change-Id: Iae068eb4e1e4c763aa9f9332c033e38708026c8f
Reviewed-on: https://chromium-review.googlesource.com/418393
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e1faacb1
|
2016-12-13T12:42:14
|
|
Don't use logging macros in end2end_tests.
Macros like ASSERT and UNREACHABLE call gl::trace, which at some
point we might want to use to call the angle Platform logging code.
Standalone tests won't easily have access to the platform, so for
now just log errors in other ways.
This also corrects some logic in GLSLTest which was calling
internal methods in libANGLE when it didn't have to.
BUG=angleproject:1660
Change-Id: Idecbd97f2de7916b35bd78f5b7cd02b156ea100d
Reviewed-on: https://chromium-review.googlesource.com/419134
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
da9fb093
|
2016-12-09T17:32:29
|
|
Work around atan(y, x) bug on NVIDIA
atan(y, x) is not always returning expected results on NVIDIA OpenGL
drivers between versions 367 and 375. Work around this by emulating
atan(y, x) using the regular atan(x) function. A fix to the driver is
expected in a future release.
It is most convenient to implement the vector atan(y, x) functions by
using the scalar atan(y, x) function. Support for simple dependencies
between emulated functions is added to BuiltInFunctionEmulator. In the
current implementation one function is allowed to have at most one
other function as its dependency.
BUG=chromium:672380
TEST=angle_end2end_tests
Change-Id: I9eba8b0b7979c7c7eaed353b264932e41830beb1
Reviewed-on: https://chromium-review.googlesource.com/419016
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b8b0122f
|
2016-11-20T23:25:53
|
|
Add compiler support for shared memory
The patch adds handling of the 'shared' qualifier in the shader
compiler.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: Iaa288026af0faf2a30e40495faa6ea1f5ff02323
Reviewed-on: https://chromium-review.googlesource.com/413200
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
36fd100d
|
2016-12-08T11:30:44
|
|
GLSLTest: test interaction of declaration splitting with other passes
In TranslatorHLSL a number of AST simplifications are done, that must
happen in a precise order for things to be correct:
- First for-loops must be split
- Then multideclarations must be split
- Finally comma operators must be split
This adds tests for interaction between this passes to make sure they
are done in the right order.
BUG=668028
Change-Id: I306915b51011bb5467d117352becfd60cbe77be4
Reviewed-on: https://chromium-review.googlesource.com/417989
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
327411e8
|
2016-12-09T11:09:17
|
|
WebGL_compatibility: disallow client-side arrays
BUG=angleproject:1523
Change-Id: Icd207b2d94c1375c6f3189af42d55eac52b99603
Reviewed-on: https://chromium-review.googlesource.com/418398
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a2c74985
|
2016-12-12T11:20:42
|
|
Don't load binaries across client versions.
BUG=angleproject:523
Change-Id: Id54033dce15f01a0f2891533172acd8b99896e12
Reviewed-on: https://chromium-review.googlesource.com/418240
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f52fe93d
|
2016-12-07T13:39:15
|
|
Work around unary minus operator float issue on Intel Mac 10.11
Result of -float is wrong on Intel Mac 10.11 drivers. Replace -float
with 0.0 - float to work around this issue.
BUG=308366
BUG=672380
Change-Id: I53bc2eda7259fff5805bec39896fc7b7a6eaf665
Reviewed-on: https://chromium-review.googlesource.com/417169
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d0239396
|
2016-10-31T20:01:54
|
|
Fix angle_deqp_egl_tests compilation on Android
BUG=angleproject:1657
Change-Id: I5afb28485bd5ca7bdf7015f5fdcaa84ec3c02b95
Reviewed-on: https://chromium-review.googlesource.com/418710
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
da2f78f9
|
2016-12-10T19:25:18
|
|
Fix compilation after dEQP roll
BUG=chromium:671021
Change-Id: Iee0e7b1b146b53c6324da8e51d70de42487092b5
Reviewed-on: https://chromium-review.googlesource.com/418510
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e735511d
|
2016-12-09T15:55:29
|
|
Roll dEQP.
Several months of updates. Does not change the build files - will
mean the GPU.FYI bots temporarily break, and possibly there's some
flakiness on the ANGLE trybots and Optional GPU bots until the
correct suppression set is instated.
BUG=chromium:671021
Change-Id: I207be11ed37a9173f53a06554880be6ebcaee5fa
Reviewed-on: https://chromium-review.googlesource.com/418405
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
aecfa8e6
|
2016-12-09T12:47:26
|
|
Constant fold compute shader local work group size
gl_WorkGroupSize should be written into the AST as a constant node
instead of a symbol node. In correct shaders, local size is guaranteed
to have been declared before any references to gl_WorkGroupSize -
otherwise the shader translator was already generating an error.
This ensures that work group size can be used to size arrays as
specified and also works around a crash issue on NVIDIA Linux OpenGL
driver.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: I9b1a4bff16ecf2c3db1511c3702756346cdd2f6b
Reviewed-on: https://chromium-review.googlesource.com/418735
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
023c2b19
|
2016-12-09T11:47:29
|
|
dEQP-GLES3: Suppress two failing Win/AMD tests.
Might be flaky, more suppressions might be needed.
BUG=angleproject:1633
Change-Id: Ic5665aadb7cbbae82639d206f29a2db859622451
Reviewed-on: https://chromium-review.googlesource.com/418399
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
56a2f95f
|
2016-12-08T12:16:27
|
|
Output infinity and NaN literals correctly in shaders
Previously infinity and NaN resulting from constant folding would be
clamped to finite 32-bit float range when they were written in shader
output. Now they are written as a bit pattern in case the shader
version allows it.
This does not guarantee that NaNs work, but this is fine, since ESSL
3.00.6 spec has very loose requirements when it comes to NaNs.
BUG=angleproject:1654
TEST=angle_end2end_tests
Change-Id: I9997000beeaa8ed22523c22d5cf6929cdfc93f60
Reviewed-on: https://chromium-review.googlesource.com/417301
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2ad1c490
|
2016-12-07T14:46:18
|
|
D3D: Fix overflow in varying packing.
Also add a more robust set of unit tests for this internal class.
Because the GL spec allows for succeess when packing any set of
varyings, it's impossible to write negative end to end tests. This CL
also rewrites our disabled varying packing GLSL tests as unit tests.
BUG=angleproject:1296
BUG=angleproject:1638
Change-Id: I78153742517d5c72ddb13ff59dc44ddc4af42fc2
Reviewed-on: https://chromium-review.googlesource.com/415555
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
dceacf5b
|
2016-12-08T11:29:35
|
|
dEQP: Update multiple test expectations.
Many tests were removed from mustpass at some point, and a couple
were expected to fail but passing. Also update some of the global
skip settings to use DEBUG RELEASE as a catch-all.
BUG=angleproject:989
BUG=angleproject:998
BUG=angleproject:1017
BUG=angleproject:1018
BUG=angleproject:1019
BUG=angleproject:1020
BUG=angleproject:1025
BUG=angleproject:1027
BUG=angleproject:1028
BUG=angleproject:1033
BUG=angleproject:1034
BUG=angleproject:1051
BUG=angleproject:1108
BUG=angleproject:1143
BUG=angleproject:1335
BUG=angleproject:1418
BUG=angleproject:1655
BUG=angleproject:1656
Change-Id: I731d3adeed36509ce69f72e5fcc80d0adc89cb67
Reviewed-on: https://chromium-review.googlesource.com/418063
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
00cf8940
|
2016-12-07T17:26:57
|
|
dEQP-GLES2: Update test expectations.
Many test expectations listed were not in the mustpass list, so
weren't even necessary.
BUG=angleproject:989
BUG=angleproject:1015
BUG=angleproject:1016
BUG=angleproject:1020
BUG=angleproject:1025
BUG=angleproject:1027
BUG=angleproject:1029
BUG=angleproject:1030
BUG=angleproject:1128
Change-Id: Ia18796cb3388e8528b4351cb2c81ff9793a1d250
Reviewed-on: https://chromium-review.googlesource.com/417413
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9d7d0b14
|
2016-11-29T16:30:31
|
|
Add support for GL_DRAW_INDIRECT_BUFFER_BINDING binding point
BUG=angleproject:1595
TEST=dEQP-GLES31.functional.state_query.integer.draw_indirect_buffer_binding*
Change-Id: Ib8f712fdf10411ef0b7b63742d17c3caca99137b
Reviewed-on: https://chromium-review.googlesource.com/416193
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2d73665d
|
2016-11-30T10:37:49
|
|
Handle constant folding arithmetic involving infinity
Constant folding arithmetic operations that involve infinity are now
handled correctly in the cases where the result is infinity or zero.
The implementation mostly relies on C++ to implement IEEE float
arithmetic correctly so that unnecessary overhead is avoided.
Constant folding arithmetic operations that result in overflow now
issue a warning but result in infinity. This is not mandated by the
spec but is a reasonable choice since it is the behavior of the
default IEEE rounding mode.
Constant folding arithmetic operations that result in NaN in IEEE will
generate a warning but the NaN is kept. This is also not mandated by
the spec, but is among the allowed behaviors.
There's no special handling for ESSL 1.00. ESSL 1.00 doesn't really
have the concept of NaN, but since it is not feasible to control
generating NaNs at shader run time either way, it should not be a big
issue if constant folding may generate them as well.
TEST=angle_unittests
BUG=chromium:661857
Change-Id: I06116c6fdd02f224939d4a651e4e62f2fd4c98a8
Reviewed-on: https://chromium-review.googlesource.com/414911
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
b5e997fb
|
2016-12-06T10:55:34
|
|
Update ES 3.1 expectations from SKIP to FAIL.
Change "DEBUG RELEASE" modifier to "OPENGL D3D11" to be more specific.
Add D3D11 expectations.
BUG=angleproject:1442
Change-Id: If3a9704e7f16cc473fd6ea410d10eb01ae1a8008
Reviewed-on: https://chromium-review.googlesource.com/416960
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9f09037b
|
2016-12-02T10:20:43
|
|
Change dEQP ES 3.1 expectations from FAIL to SKIP.
UNIMPLEMENTED debug spam was causing the tests time time out. We can mark them
as FAIL again once the dEQP test setup/tear down code doesn't emmit so many
messages.
Implement a couple validation cases for ES 3.1 to greatly reduce the spam.
BUG=angleproject:1647
BUG=angleproject:1442
Change-Id: Ie7b4ac8737a2df1c0ada6ad53154ddf2f37d9c3c
Reviewed-on: https://chromium-review.googlesource.com/415520
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
922cbfcb
|
2016-11-25T16:23:18
|
|
common: Add a vector arithmetic helper classes
Change-Id: I2f96baedf10d346eaa150bab04f8f6ca3ba573b9
Reviewed-on: https://chromium-review.googlesource.com/414272
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f2a6aecf
|
2016-12-01T19:48:25
|
|
Suppress flaky TransformFeedbackTest.MultiContext on Intel OSX.
BUG=angleproject:1645
Change-Id: If35d277705ce9f2882d9ba059bd56e494ca9d123
Reviewed-on: https://chromium-review.googlesource.com/415613
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
cfb85358
|
2016-12-01T12:39:31
|
|
Suppress flaky test on Intel D3D Windows.
PointSpritesTest.PointWithoutAttributesCompliance:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28New%20Intel%29/builds/1741
Showing as failed now that flaky tests are not retried.
BUG=angleproject:1346
Change-Id: Ic0fce361f37394da8771fa82288b0a9206d3a347
Reviewed-on: https://chromium-review.googlesource.com/415448
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0742c8c9
|
2016-12-01T11:18:22
|
|
Pass the --deqp-egl-display-type= flag to dEQP tests.
BUG=angleproject:1442
Change-Id: I49299d2345f67b7ed3e2c80db0ec85589fc7583c
Reviewed-on: https://chromium-review.googlesource.com/415526
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c339c4e5
|
2016-11-29T10:37:36
|
|
Split WebGL compatibility into two extensions.
The mechanism for requesting extensions is now a separate extension.
Added a way to query the extensions that support enabling.
BUG=angleproject:1523
Change-Id: I2efaa9f6d67b12ecae325f455404e34ba04d0e7c
Reviewed-on: https://chromium-review.googlesource.com/414529
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
08d4aa93
|
2016-11-23T16:15:49
|
|
Refactor constant folding tests
The constant folding test classes are moved into a separate file in
test_utils. This will enable adding multiple test files that use
constant folding test classes, so that constant folding tests can be
organized better.
TEST=angle_unittests
BUG=chromium:661857
Change-Id: I00bf25a4b941bdc1364ff5aa9bee2d571e4b0ea0
Reviewed-on: https://chromium-review.googlesource.com/414910
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
ee9f08c0
|
2016-11-16T10:06:10
|
|
Implement ES3.1 glProgramUniform* entry points
BUG=angleproject:1589
TEST=dEQP-GLES31.functional.program_uniform.*
Change-Id: I27fffa755fd277ed918746259cac88ab9e349c41
Reviewed-on: https://chromium-review.googlesource.com/412193
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
51f75c5d
|
2016-11-28T18:35:50
|
|
Suppress flaky Win/AMD/GL end2end tests.
These tests became flaky when google test retries are turned off.
BUG=chromium:669196
BUG=angleproject:1643
BUG=angleproject:1541
Change-Id: I7cc10f532662928e5436a4e88a42fc109c00bfe8
Reviewed-on: https://chromium-review.googlesource.com/414216
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
01074255
|
2016-11-28T15:55:51
|
|
D3D: Implement multi-thread shader compilation.
Choose to use std::async for now to implement multi-threaded compiles.
This should work across platforms and also be usable for other
threading tasks. Note that std::async does not have a good way to
wait for multiple std::futures. Also the Linux compile of std::async
is broken due to a bug in an old STL version, so disable it on this
platform.
The implementation uses a static polymorphism approach, which should
have very good performance (no virtual calls).
This design leaves the door open for other future implementations,
such as a Win32 thread pool, or one based on angle::Platform.
BUG=angleproject:422
Change-Id: Ia2f13c3af0339efaca1d19b40b3e08ecca61b8e8
Reviewed-on: https://chromium-review.googlesource.com/413712
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
57ce9ea2
|
2016-11-24T12:03:14
|
|
Implement EXT_discard_framebuffer for the GL backend.
BUG=angleproject:1634
Change-Id: I3822b99b59d4653e4d9a2c1d3dd16734f2050fae
Reviewed-on: https://chromium-review.googlesource.com/414437
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
f1a2aefc
|
2016-11-25T11:03:56
|
|
Test shader built-in corner cases in constant folding tests
IEEE rules for generating zero or infinity are now checked for the
constant folding of several built-in functions except for the cases
where ESSL 3.00.6 explicitly states that the results are undefined.
BUG=chromium:661857
TEST=angle_unittests
Change-Id: I2ce427229a5583039694d060ea6db29c5bdace97
Reviewed-on: https://chromium-review.googlesource.com/414370
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e018e98c
|
2016-11-24T17:25:39
|
|
Add test for large UBO readback.
BUG=chromium:660670
Change-Id: I51c7e93f071041663f6b9a39ee75c0cca2264015
Reviewed-on: https://chromium-review.googlesource.com/414447
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
457aa6c8
|
2016-11-22T18:36:31
|
|
Add a shader compile performance test.
BUG=angleproject:422
Change-Id: I10a2192c5c91360a1b7fe5e4d014bcf1fa84c96e
Reviewed-on: https://chromium-review.googlesource.com/413713
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
133a2ecb
|
2016-11-17T16:28:03
|
|
Implement CHROMIUM_copy_texture for OpenGL.
This also makes BlitGL work correctly on OpenGL ES (provided vertex
arrays are available)
BUG=angleproject:1356
Change-Id: Icb7cef35bebfe6672220aa0b312ab89187dbf585
Reviewed-on: https://chromium-review.googlesource.com/412452
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f1cf5e63
|
2016-11-22T17:36:49
|
|
Prevent stack overflow in macro expansion
Add a configurable limit for how many nested MacroExpander objects can
be created in the preprocessor, so that stack overflow can be
prevented in case of malicious shaders. By default the limit is set to
1000. In unit tests the limit is set lower to make the test run
faster.
Includes refactoring of most of the preprocessor tests so that they
use utility functions provided by the test class instead of repeating
the same code for initializing the preprocessor.
BUG=angleproject:1600
TEST=angle_unittests
Change-Id: I23b5140d9f2dc52df96111650db63150f7238494
Reviewed-on: https://chromium-review.googlesource.com/413986
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
28cb0368
|
2016-11-22T15:42:37
|
|
Check for misconfiguration of shader built-ins
Fail compiler initialization if the built-in resources are invalid.
This avoids creating zero-sized arrays out of built-ins into the
symbol table, which could later lead to asserts when these built-ins
were indexed by constants.
BUG=chromium:667468
TEST=angle_unittests
Change-Id: I9553c7c91ea355abb35b9cc6088ee14b40b0922b
Reviewed-on: https://chromium-review.googlesource.com/413037
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
907e4a61
|
2016-11-22T08:40:37
|
|
Suppress Win/AMD/D3D11 dEQP-GLES3 failures.
BUG=angleproject:1633
Change-Id: If8273747ade1cd3530b96006f2445e1dce0ccf00
Reviewed-on: https://chromium-review.googlesource.com/413231
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
78b0c91d
|
2016-11-21T14:23:06
|
|
Fix infinite recursion in macro expansion
BUG=angleproject:1600
TEST=angle_unittests
Change-Id: I72bf81ec060f36255a0f13b132a4fd69b89672ff
Reviewed-on: https://chromium-review.googlesource.com/412744
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
76cdbd51
|
2016-09-23T16:51:04
|
|
Add basic initialization code for ContextNULL so it can run some tests.
BUG=angleproject:1468
Change-Id: I8dfc9a3c71e5638de22bc9d9a5dadfb495ef23a7
Reviewed-on: https://chromium-review.googlesource.com/388846
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
1b896c62
|
2016-11-16T13:10:44
|
|
translator: remove code related to for-loop unrolling
For loop unrolling is not used and causes the translator fuzzer to find
a hang when unrolling tons of nested loops (duh).
Also remove MMap.h which was unused.
This is essentially a revert of https://codereview.appspot.com/4331048
BUG=chromium:665255
Change-Id: Id6940f7e306d4ed53bc992f751e9ffe733190f17
Reviewed-on: https://chromium-review.googlesource.com/412023
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cec2b7f8
|
2016-11-18T14:11:58
|
|
Allow the null backend to be used by dEQP.
BUG=angleproject:1468
Change-Id: Ife6f0001b9a6ae06c98385df47fc3887036f3a36
Reviewed-on: https://chromium-review.googlesource.com/412863
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
99bd5f40
|
2016-11-07T12:44:29
|
|
Fix GLSL float parsing corner cases
This fixes parsing floats that are out-of-range, and floats that have
more digits than the standard library float parsing functions can
handle. In these cases, we now fall back to a custom implementation of
float parsing. The custom parsing path can correctly process floats
with up to hundreds of millions of digits in their mantissa part.
Rounding behavior of the custom float parser may not be entirely
consistent with the standard parser, but the error should be at most
a few ULP. This can be considered acceptable since floating point
operations are not expected to be exact in GLSL in general. Settling
for lower accuracy also enables the parser to run in constant memory,
instead of having to store all the significant digits of the decimal
mantissa being parsed.
BUG=angleproject:1613
TEST=angle_unittests
Change-Id: I04a5d9ae5aaca48ef14b79cca5b997078614eb1c
Reviewed-on: https://chromium-review.googlesource.com/412082
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
555009ce
|
2016-11-16T11:51:01
|
|
Buffer11: Intel workaround for constant buffers.
This workaround avoids using inter-buffer copies involving constant
buffers. Instead of copying from a staging storage to a constant
buffer (or vice-versa), the Buffer memory managment will keep the
system memory storage around permanently. This uses a bit more memory
but should fix all the problematic cases where we have the canonical
version of the buffer data inside GPU memory.
BUG=chromium:593024
Change-Id: I2ce0cfd22784aa43e819ce2df2d0da540d0a0cfe
Reviewed-on: https://chromium-review.googlesource.com/412140
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8b7d8144
|
2016-11-15T13:40:37
|
|
Clamp "count" in glUniform* before passing to the backend
The OpenGL spec allows "count" to overflow safely implemented but some
drivers like the Intel Windows OpenGL driver don't handle this
correctly and crash on overflow tests.
BUG=661413
Change-Id: I10de9292c75daa375f002850900bb5e1cbfce3b6
Reviewed-on: https://chromium-review.googlesource.com/411387
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
15ac534a
|
2016-11-03T17:06:39
|
|
Program: clamp the number of uniforms to be copied
Reland with a temporary test suppression.
BUG=661413
Change-Id: I552b64de754b326dcd499b84d9f337b9d015dc8e
Reviewed-on: https://chromium-review.googlesource.com/411473
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
c51642b4
|
2016-11-14T16:18:26
|
|
Validate level exists for TexSubImage calls.
Before validating the texture format, verify that the texture level already
exists in glTexSubImage calls.
BUG=602737
Change-Id: I0d83c7d43c7b358abdb59583dc83265df70c13b5
Reviewed-on: https://chromium-review.googlesource.com/411361
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
399d1a17
|
2016-11-15T14:55:06
|
|
Revert "Program: clamp the number of uniforms to be copied"
This reverts commit 9863a3ef180edb17307665e0cc65a16603222103.
Change-Id: I840a735b49bc4f2319c8af5f620d7f52bb7eecf1
Reviewed-on: https://chromium-review.googlesource.com/411470
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9863a3ef
|
2016-11-03T17:06:39
|
|
Program: clamp the number of uniforms to be copied
BUG=661413
Change-Id: I1a146dae0d01edeb272a58610355261b0e23dec1
Reviewed-on: https://chromium-review.googlesource.com/406745
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7bb45988
|
2016-11-11T09:17:20
|
|
Return a lift of a angle_end2end_tests on AMD.
BUG=angleproject:1622
TEST=angle_end2end_tests
TBR=jmadill@chromium.org
Change-Id: Icd1f5fecc36621d70822c738da39d39d3bdb3ff6
Reviewed-on: https://chromium-review.googlesource.com/410037
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
049edfa2
|
2016-11-11T14:35:37
|
|
Add volatile, coherent and restrict memory qualifiers
The patch adds support for the three remaining memory qualifiers:
volatile, coherent and restrict.
BUG=angleproject:1442
TEST=angle_unittests
TEST=angle_end2end_tests
Change-Id: Ie662d304af2399468df1d976e04c38dada1e2cec
Reviewed-on: https://chromium-review.googlesource.com/385876
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d7490967
|
2016-11-09T15:49:51
|
|
Fix linkage.html failures on Mac.
The failure is due to when we initialize variables to 0, we re-create
the struct TType, and it contains a different unique id from the
original struct TType, thus leading to a different hashed name.
BUG=chromium:641129
TEST=webgl_conformance,webgl2_conformance
Change-Id: I267b97fa496f55ea59dacee93af8f6a90f3e66cb
Reviewed-on: https://chromium-review.googlesource.com/409602
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4b97d504
|
2016-11-09T06:45:32
|
|
Fixed incorrect multisample rendering when enable SAMPLE_COVERAGE on Win
In RendererD3D::createRenderTarget, we use getNearestSamples(samples)'s
result to assign D3D11_TEXTURE2D_DESC.SampleDesc.Count. However, in
renderer11::updateState, we used the original samples to calculate mask
by GetBlendSampleMask not the supported nearest samples. It would result
that multisample rendering result was incorrect when enable
AMPLE_COVERAGE and the samples is not in the suported list but less than
max samples. At least, on Intel Win platform, we can reproduce it.
The fixing is to use same samples in these two places.
BUG=angleproject:1610
TEST=MultisampleCompatibilityTest.DrawCoverageAndResolve
Change-Id: I255b12d1032317145adfcee94e65e88ae5307113
Reviewed-on: https://chromium-review.googlesource.com/408516
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
55644211
|
2016-11-08T11:07:34
|
|
Fix constant folding right shift corner cases
Right-shifting the minimum signed integer needs to be handled as a
special case, since it can't go through the usual path that clears the
sign bit.
Code for right-shifting by zero also had a typo that resulted in
setting the wrong value to the result.
BUG=chromium:662706
TEST=angle_unittests
Change-Id: Ief24d738064906a72212242e0917ce30e45d6b25
Reviewed-on: https://chromium-review.googlesource.com/408158
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e5c53e3e
|
2016-11-07T12:22:48
|
|
dEQP: Add command-line parsing of back-end.
Also use the requested renderer to initialize expectations.
BUG=angleproject:1442
Change-Id: Idf54072dac5f7ad9deea70e97d65e36a6e883b1c
Reviewed-on: https://chromium-review.googlesource.com/407802
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
7f07caa9
|
2016-10-25T07:43:33
|
|
Rename the build/ directory.
GYP related files went in gypfiles/, and the gni went in gni/ this
changes frees up the build/ directory name for Chromium's build/
directory.
BUG=angleproject:1569
Change-Id: I76fe343d569239c2732ba87986fcf7debc21d417
Reviewed-on: https://chromium-review.googlesource.com/403029
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e76f55fe
|
2016-10-25T06:44:45
|
|
Make the gmock and gtest dirs match Chromium's
Making the dependencies' directories match Chromium's is needed if we
want to use the same GN file for Chromium builds and standalone builds.
This also rolls the gtest and gmock dependencies to match Chromium.
BUG=angleproject:1569
Change-Id: I54ce9c9a29964abfddbea64a0f4466f2c9d48a33
Reviewed-on: https://chromium-review.googlesource.com/403028
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
45bcc784
|
2016-11-07T13:58:48
|
|
translator: Scope all classes with "sh".
I was seeing an odd problem with our PoolAlloc conflicting with the
glslang/Vulkan TIntermNode, so the fix was to move everything to a
separate namespace.
The bison grammars are also regenerated. No functional changes.
BUG=angleproject:1576
Change-Id: I959c7afe4c092f0d458432c07b4dcee4d39513f3
Reviewed-on: https://chromium-review.googlesource.com/408267
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
20c97cac
|
2016-11-04T18:27:56
|
|
Squashed commit of the following:
commit 0146dfeefa47b520e71f0e74230abd7dac163a79
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:43:03 2016 -0700
Revert "Implementation of eglGetSyncValuesCHROMIUM extension."
This reverts commit 5d9f5df01ac5a384d9b7cbb49d9f98a76b62c7ad.
commit 0d920fe27bd8e73d831a9002548bde00fea78709
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:23:11 2016 -0700
Revert "Fix EGLSyncControlTest.SyncValuesTest timeout on Windowse Server 2012 R2"
This reverts commit d258ca045f31eb43ec01b5501c84e9afd8e82cd6.
commit bde8defe53741855bb71fbf27bcb0a91cfafbd01
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:22:58 2016 -0700
Revert "Disabling EGLSyncControlTest.SyncValuesTest"
This reverts commit a74183613955bd891f56f6a979a5391c16c64138.
commit f78e4b7e97b9d1259878f6902bb6ddeb0aeded87
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:22:36 2016 -0700
Revert "Fix and re-enable EGLSyncControlTest.SyncValuesTest"
This reverts commit 138ec92f52da7c0fc8e6df08ac4e4e572bbf6b39.
commit f3933e6a04bd23473077d2fd74616023db3c9601
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:20:26 2016 -0700
Revert "Handle nullptr mSwapChain in SwapChain11::getSyncValues"
This reverts commit af7f301f6ba9e5f31d1511142a936a9ba84169d0.
BUG=angleproject:1402
Change-Id: I99969e906e316574e9f739141de0e360d1edebd9
Reviewed-on: https://chromium-review.googlesource.com/408752
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
|
|
acb4b81a
|
2016-11-07T13:50:29
|
|
translator: Put ShaderLang APIs in "sh" namespace.
Working with glslang in Vulkan means we are static linking libANGLE
with functions that have the same name as our translator APIs. We
can fix this by scoping our APIs. We don't need to scope the types
of the file, since they don't conflict.
This will require a follow-up patch to remove the unscoped APIs
once we switch over Chromium.
We also scope TCompiler and some related classes to avoid multiply
defined link errors with glslang.
BUG=angleproject:1576
Change-Id: I729b19467d2ff7d374a82044b16dbebdf2dc8f16
Reviewed-on: https://chromium-review.googlesource.com/408337
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f097e238
|
2016-11-05T00:44:15
|
|
D3D11: Fix 3D texture redefinition bug.
We would incorrectly check the storage type after we had redefined it.
Thus we would allow old storages to persist for some cases of 3D
texture. This bug did not affect 2D textures.
See WebGL 2 test: conformance2/misc/views-with-offsets.html
BUG=angleproject:1609
Change-Id: I7a04ff498740bb5d7daf2cee174c336f97a44c01
Reviewed-on: https://chromium-review.googlesource.com/408417
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0350a64c
|
2016-11-01T17:01:51
|
|
Fixed the bug using uniform block array
At the beginning of Program::defineUniformBlock, getUniformBlockSize will call
getUniformBlockIndex on MacOS to check if the block is an active block with
giving blockName. However, it didn't distinguish array and non-array situations
and unified to use interfaceBlock.name as the blockName to call
getUniformBlockIndex. It would result that INVALID_INDEX was returned when
it's a block array. For example, using 'blockName' not 'blockName[0]'.
In OpenGL 4.3 spec, section 7.3.1, there are following descriptions:
If name exactly matches the name string of one of the active resources for
programInterface, the index of the matched resource is returned. Additionally, if
name would exactly match the name string of an active resource if "[0]" were
appended to name, the index of the matched resource is returned. Otherwise, name
is considered not to be the name of an active resource, and INVALID_INDEX is
returned.
So, for array block case, we use blockName appending [0] to check the activity.
BUG=angleproject:1543
Change-Id: I8189b62066b779f7d392a7dba1cf5cb02a31936d
Reviewed-on: https://chromium-review.googlesource.com/405830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8f775607
|
2016-11-03T16:45:34
|
|
Introduce a gl::BufferState class.
This state can share vital pieces of information with the impl.
The most elementary state is the buffer size, which then the
impl doesn't need to replicate.
BUG=angleproject:1579
Change-Id: I341393c64a6e49de65c1d53b1bad2fa143209862
Reviewed-on: https://chromium-review.googlesource.com/406644
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bbe9fb5e
|
2016-11-03T17:16:05
|
|
Check that implicitly sized array constructors have arguments
Array size must be greater than zero according to the ESSL 3.00.6
spec.
BUG=angleproject:1602
TEST=angle_unittests
Change-Id: I1fa54b143bc821583822cbc5139464cdd058b6c1
Reviewed-on: https://chromium-review.googlesource.com/407257
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e7dc9d71
|
2016-11-03T16:58:47
|
|
Fix handling bvec on the right hand side of a logical op
The vector/matrix size matching is not done for logical ops similarly
to other binary ops. For that reason both left and right hand side
need to be checked for being scalar.
BUG=angleproject:1601
TEST=angle_unittests
Change-Id: Ie87da68d6cb0d439f0e6273d374fc7d836c82309
Reviewed-on: https://chromium-review.googlesource.com/406988
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
8f447a7a
|
2016-07-07T11:51:22
|
|
D3D11: Enable previously crashing trig dEQP tests.
The newer Win SDK version seems to fix the crash.
BUG=angleproject:1252
BUG=chromium:568170
Change-Id: I9bac4a9978774ac0f8951a95ce920e8e5d6caed8
Reviewed-on: https://chromium-review.googlesource.com/358811
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e653403b
|
2016-11-01T18:19:06
|
|
Remove component translator target and keep static_library.
Rename translator_static to translator and use it everywhere.
BUG=angleproject:1596
Change-Id: I36c990d54979d2460b1513a65cca0b82f8d65c80
Reviewed-on: https://chromium-review.googlesource.com/406668
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
87c182e1
|
2016-11-02T11:23:22
|
|
Enable shader validation with WebGL compatibility extension.
The change configures shaders to be of a compatible spec upon creation.
BUG=angleproject:1523
Change-Id: Id345d0b8f0abad8ed3c4fb3117d0fdfeab9fea53
Reviewed-on: https://chromium-review.googlesource.com/405778
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
02bd82cd
|
2016-11-03T10:29:43
|
|
Fix handling unsized arrays with incorrect initializer
In case the initializer of an unsized array is not an array, the array
size still needs to be set to some value > 0 in order to not hit
asserts in the code that parses accessing the array. An error was
already being generated in the case an unsized array has a non-array
initializer, but the variable will still have an array type in the
symbol table.
BUG=chromium:661592
TEST=angle_unittests
Change-Id: I4a11527eab0404ba9e59ebb7227faef13dbea62c
Reviewed-on: https://chromium-review.googlesource.com/407256
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
d2f0c74c
|
2016-11-02T10:34:41
|
|
Use safe math in ValidateCopyBufferSubData.
This should fix any potential out of bounds reads/writes.
BUG=chromium:660854
Change-Id: Iffa00e4551d7362115cbf023a09b1d0e15f724c8
Reviewed-on: https://chromium-review.googlesource.com/405816
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
0982a2bf
|
2016-11-01T15:13:46
|
|
Prefix internal names in GLSL output
Prefixing internal names will avoid clashes with user-defined names.
We use prefix webgl_angle_ so that the internal names are both
reserved in WebGL on one hand and clearly separated from hashed names
starting with just webgl_ on the other hand.
BUG=angleproject:1597
TEST=WebGL conformance tests
Change-Id: I7deef9c1a38105c8b57eda13c84eec13e515a91a
Reviewed-on: https://chromium-review.googlesource.com/406247
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
d75d03bd
|
2016-10-31T16:46:53
|
|
Enumerate dEQP ES 3.1 test expectations.
BUG=angleproject:1442
Change-Id: I9005a54d30988a472a3f512f394a4a352a4732e9
Reviewed-on: https://chromium-review.googlesource.com/405297
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
d89792f4
|
2016-10-30T22:41:53
|
|
Buffer11: Keep system memory storage for large UBOs.
The system memory storage is needed to back UBOs larger than the max
constant buffer size in D3D11 Windows 7. Because readback from UBOs
can be tricky, the system memory storage keeps the canonical copy of
the data in this case.
We can also extend this to add a workaround to fix the outstanding
failure cases of UBOs on Intel.
BUG=chromium:660670
Change-Id: Ia3119d3064d10c4262def4c5a967972b4de2d10f
Reviewed-on: https://chromium-review.googlesource.com/405367
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
698e36ed
|
2016-10-25T11:42:26
|
|
Update GLES2 Mac expectations
BUG=
Change-Id: I7ca6e6c0fc4b178a1df6d6acc95dde3b6ed3c479
Reviewed-on: https://chromium-review.googlesource.com/403089
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
77c13aaf
|
2016-10-27T22:06:51
|
|
Disable D3DTextureTest on Windows Intel OpenGL
BUG=angleproject:1585
Change-Id: I550750e0e94bd15c0b076f911d05f8dd92e4a202
Reviewed-on: https://chromium-review.googlesource.com/404499
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
1d2c41d6
|
2016-10-19T16:14:46
|
|
Implement GL_EXT_sRGB_write_control for GL.
BUG=angleproject:1547
BUG=655247
Change-Id: I3f04ddc7032e4a47eb21ff3b8586c5b47415bb64
Reviewed-on: https://chromium-review.googlesource.com/400958
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0e3aee3f
|
2016-10-27T12:56:38
|
|
Check precision qualification for all declarations
Precision qualification is now checked properly also for declarations
that don't have qualifiers.
BUG=angleproject:1574
TEST=angle_unittests
Change-Id: I3d186df0763e071614c1da9a355a6f6fefdc8091
Reviewed-on: https://chromium-review.googlesource.com/403949
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2018c0ba
|
2015-12-08T11:48:51
|
|
Add a EGL_ANGLE_d3d_texture_client_buffer extension.
Allows creation of pbuffers from D3D texture objects.
BUG=540829
BUG=angleproject:1144
Change-Id: If8ea717ef011608cd01357c217837133d726d3ea
Reviewed-on: https://chromium-review.googlesource.com/316804
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
449a8030
|
2016-10-26T08:05:54
|
|
MacroExpander: bump expansionCount before peeking for "("
BUG=658555
Change-Id: I578b8aff37a116fd7b2b387388311a27bb8a2809
Reviewed-on: https://chromium-review.googlesource.com/403848
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
5d0a30bf
|
2016-10-25T18:46:25
|
|
Fix warnings in TransformFeedbackTest.
Introduced in cd2ed608719fbf.
BUG=angleproject:1570
Change-Id: I71ef8a06e379eca853e7729863976e868066df95
Reviewed-on: https://chromium-review.googlesource.com/403313
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
81c6b577
|
2016-10-19T14:07:52
|
|
Implement GL_EXT_texture_sRGB_decode for GL.
BUG=angleproject:1383
BUG=655247
Change-Id: I409b12e1ae418530576de5ec9ce26b7be5d91650
Reviewed-on: https://chromium-review.googlesource.com/400807
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
de318b26
|
2016-10-25T16:18:25
|
|
Disallow samplers as ternary operands
Quoting the ESSL 1.00 spec section 4.1.7: "Except for parameters to
texture lookup functions, array indexing, structure field selection,
and parentheses, samplers are not allowed to be operands in
expressions."
ESSL 3.00 has a similar passage related to opaque types.
Validate this correctly. Compatibility risk should be low, since
attempting to use samplers in ternary operators was already failing
before this in most cases.
BUG=angleproject:1551
TEST=angle_unittests
Change-Id: I6cbb536f473ba9674d558b14a458f3799f9c7c9c
Reviewed-on: https://chromium-review.googlesource.com/402694
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
cd2ed608
|
2016-10-25T09:44:01
|
|
TransformFeedbackTest: Give enough vertex attributes
BUG=angleproject:1570
Change-Id: I6d148c6ce22f3b8266257b25c7f5b676a13c5c92
Reviewed-on: https://chromium-review.googlesource.com/402931
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
0bdfe4c8
|
2016-10-25T09:52:33
|
|
VertexAttributeTest: don't copy too much data in the buffer
BUG=angleproject:1570
Change-Id: I199bb88042c3926cb05e27494bb6af9b2666cd00
Reviewed-on: https://chromium-review.googlesource.com/402932
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
fb80eaf0
|
2016-07-25T13:39:30
|
|
Enable GenerateMipmapBaseLevel test on NVIDIA
The issue is no longer reproducible on newest drivers.
TEST=angle_end2end_tests
Change-Id: I18728877ed9b936ecb469c44e3dae185ab4f08d3
Reviewed-on: https://chromium-review.googlesource.com/362950
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
2cc85b3b
|
2016-08-05T16:22:53
|
|
Add support for images in the compiler
The patch adds support for GLSL ES 3.1 image types.
Internal format layout qualifiers for images are added.
Support for the readonly and writeonly qualifiers are added. The other
memory qualifiers are omitted as to make the patch simpler.
Tests are added which check for correct and incorrect usage of images,
internal format layout and memory qualifiers.
BUG=angleproject:1442
TEST=angle_unittests
TEST=angle_end2end_tests
Change-Id: Ie4d3acb2a195de11b405ad54110a04c4c1de0b7e
Reviewed-on: https://chromium-review.googlesource.com/378855
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
0a9661f2
|
2016-10-20T10:59:20
|
|
Implement robust the GetInternalFormativ entry point.
BUG=angleproject:1354
Change-Id: Ib25fe4905fdd6c532c67de1d4ca1ba37932f8e0b
Reviewed-on: https://chromium-review.googlesource.com/401149
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
635671dc
|
2016-10-20T07:57:36
|
|
Fix pruning empty declarations from loop headers
Empty declarations are possible in loop init expressions. Make
PruneEmptyDeclarations take this into account.
BUG=angleproject:1550
TEST=angle_unittests
Change-Id: If407babf9b6f7a26dfcf73ff345493d3e2af3f9a
Reviewed-on: https://chromium-review.googlesource.com/401147
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
336b1470
|
2016-10-05T16:37:55
|
|
Split TIntermFunctionDefinition from TIntermAggregate
This makes the code easier to understand. Function definition nodes
always have just two children, the parameters node and the function
body node, so there was no proper reason why they should be aggregate
nodes.
As a part of this change, intermediate output is modified to print
symbol table ids of functions so that debugging function id related
functionality will be easier in the future.
After this patch, TIntermAggregate is still used for function
prototypes, function parameter lists, function calls, variable and
invariant declarations and the comma (sequence) operator.
BUG=angleproject:1490
TEST=angle_unittests, angle_end2end_tests
Change-Id: Ib88b4ca5d21abd5f126836ca5900d0baecabd19e
Reviewed-on: https://chromium-review.googlesource.com/394707
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
138ec92f
|
2016-10-10T17:38:55
|
|
Fix and re-enable EGLSyncControlTest.SyncValuesTest
It looks like the problem was not making the OS Window visible.
It turned out the previous version of the test succeeded only
when I ran angle_end2end_tests.exe with
--gtest_filter=EGLSyncControlTest.SyncValuesTest and failed
when I ran all tests, especially with --single-process-tests.
I tested the modified version of the test which repeated the
measurement 50 times and couldn't get a reliable test execution
until I figured out that back buffers were queueing and not
swapping successfully with the window being invisible.
This version works reliably when running all angle_end2end_tests.exe
on my workstation and on a test laptop, both running Windows 10,
with or without --single-process-tests.
BUG=angleproject:1402
Change-Id: I97764a86b20119cc586ea2a4fd1d94558c4e737e
Reviewed-on: https://chromium-review.googlesource.com/397739
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
|
|
7835b525
|
2016-10-08T11:20:17
|
|
Reland "Add workaround for unused std140 and shared uniform blocks on MacOS"
On some Mac drivers with shader version 4.1, they will
treat unused std140 and shared uniform blocks' members as inactive. However,
WebGL2.0 based on OpenGL ES3.0.4 requires all members of a named uniform block
declared with a shared or std140 layout qualifier to be considered active.
The uniform block itself is also considered active.
This workaround is to reference all members of unused std140 and shared uniform blocks
at the beginning of the vertex/fragment shader's main().
BUG=chromium:618464
TEST=UniformBufferTest.ActiveUniformBlockNumber
Change-Id: I18da4e2b61b0170068bf5ea38ce54667b0737780
Reviewed-on: https://chromium-review.googlesource.com/395648
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
4310354e
|
2016-10-10T12:28:13
|
|
Handle corner cases of shifting signed integers better
Right-shifting a negative number should sign-extend according to the
ESSL 3.00.6 spec. Implement sign-extending right shift so that it
doesn't hit any undefined behavior in the C++ spec. Negative lhs
operands are now allowed for bit-shift right.
Also implement bit-shift left via conversion to unsigned integer, so
that it does not hit signed integer overflow. Negative lhs operands
are now allowed also for bit-shift left as well.
BUG=chromium:654103
TEST=angle_unittests
Change-Id: Iee241de9fd0d74c2f8a88219bddec690bb8e4db2
Reviewed-on: https://chromium-review.googlesource.com/395688
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a7418361
|
2016-10-08T18:03:26
|
|
Disabling EGLSyncControlTest.SyncValuesTest
Disabling EGLSyncControlTest.SyncValuesTest for now until I can get
it stable on Windows 8.
BUG=angleproject:1402
Change-Id: I21a770e0f8516916c6987ba66ec49762cd99b78a
Reviewed-on: https://chromium-review.googlesource.com/395577
Reviewed-by: Stanislav Chiknavaryan <stanisc@chromium.org>
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
|
|
62fce5b1
|
2016-09-30T10:46:35
|
|
Implement robust ReadPixels entry points.
BUG=angleproject:1354
Change-Id: I70738d2f00e283ddc52b1545f8efda9022110487
Reviewed-on: https://chromium-review.googlesource.com/391090
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d258ca04
|
2016-10-07T11:19:04
|
|
Fix EGLSyncControlTest.SyncValuesTest timeout on Windowse Server 2012 R2
The test does two buffer swaps and polls sync values waiting for sbc
(swap buffer counter) value to first increase from 0 to 1, then from 1
to 2.
Looking the error log I see that sometimes it fails on the first wait
and sometimes on the second wait. Also the total runtime varies between
1000 and 1600 ms. That makes me think that perhaps test doesn't poll
long enough to run reliably on a test machine.
I've increased the number of poll iteration to 500 and the sleep between
iterations - to 10 ms (I think in reality it was 10 ms already because
the previously used 1 ms is only possible with high resolution system
timer).
BUG=angleproject:1402
Change-Id: I8f6fe209756a1597e2739390352c90d893eaf940
Reviewed-on: https://chromium-review.googlesource.com/395506
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e61d3045
|
2016-10-07T13:20:52
|
|
Don't write to the <length> parameter if an error is generated.
BUG=angleproject:1354
Change-Id: I9ed4a675b2be07b00c29d34e283280dc65238fea
Reviewed-on: https://chromium-review.googlesource.com/395109
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
47110bf4
|
2016-04-20T11:13:22
|
|
Implement CHROMIUM_copy_compressed_texture for D3D11.
BUG=angleproject:1356
Change-Id: Id563997d2921cf558c52a781ae66d8bde58d1f2f
Reviewed-on: https://chromium-review.googlesource.com/339847
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b7fe49db
|
2016-10-05T16:39:11
|
|
D3D11: Fold mipmap gen caps into the support table.
This change is two-fold: first it allows us to remove the std::map for
D3D11 format info, which was only being used in a single place.
Secondly, it fixed the support table to use the correct 9_3 caps for
texture support, determined by running the D3D11FormatTablesTest.
This should reduce the number of format queries we need to run on 9_3
startup.
BUG=angleproject:1389
BUG=angleproject:1459
Change-Id: I2435a47fc221e73c96337bc7c1c4ed37b527bc1f
Reviewed-on: https://chromium-review.googlesource.com/392210
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|