|
5655b849
|
2016-08-02T11:00:07
|
|
D3D11: Fix integer pow workaround for nested pows.
For some nested pow expressions, queueing two node replacements in the
same tree traversal would mangle tree, resulting in invalid code. Fix
this by iterating over the tree until no replacements are found, and
doing one replacement each iteration.
BUG=angleproject:851
Change-Id: Ie08ab23f4bfe3d5f32726856afc61ff1f3d6c789
Reviewed-on: https://chromium-review.googlesource.com/365400
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1e0ea4f5
|
2016-07-22T13:07:24
|
|
Add a workaround for NVIDIA drivers with repeated transform feedback.
BUG=angleproject:1298
Change-Id: Ibfbad8eb8ec824e377d8c1746a6691d6b689f498
Reviewed-on: https://chromium-review.googlesource.com/362601
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ee7e1e21
|
2016-07-18T15:39:47
|
|
Add ES31 entry points as function stubs
Entry points were generated using scripts which take the
new function declarations from gl31.h, find the newly added functions
and output the new function declarations and defitions.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: I2d77eb4cc24873a31cb2745b7b82bf611d5058c6
Reviewed-on: https://chromium-review.googlesource.com/361291
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
03d863c8
|
2016-07-27T18:15:53
|
|
translator: Refactor node replacement APIs.
BUG=angleproject:851
Change-Id: I50c3b3a4f00b27fed85f09509738513a441c7b5b
Reviewed-on: https://chromium-review.googlesource.com/363990
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
64ae9952
|
2016-07-25T17:55:27
|
|
D3D11: Get driver version from DXGI adapter.
This is a simpler and more portable design. Thanks for Austin from MS.
BUG=angleproject:1452
Change-Id: I93e8f3fc61107f13c4b2c1cf7fbaf2bb7ccdfafb
Reviewed-on: https://chromium-review.googlesource.com/363041
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ee0fac3f
|
2016-07-19T14:58:18
|
|
Put chromium path rendering entry points into the extern C block
Entry points were outside of the extern C block.
Change-Id: Ifbd159c59b850a90f728db9027c485661aa96bc8
Reviewed-on: https://chromium-review.googlesource.com/361720
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
c9bde926
|
2016-07-24T17:58:50
|
|
D3D11: Allow gl_PointCoord when not rendering points.
ANGLE D3D11 uses a geometry shader to expand points into quads.
This led to an edge case with gl_PointCoord. When the user references
gl_PointCoord in the fragment shader but renders with GL_TRIANGLES or
other non-point primitives, gl_PointCoord is undefined, but ANGLE
would produce a link error. This would break some very odd edge-case
shaders (e.g. a shader that is used with both points and triangles).
We can fix this by simply adding a dummy PointCoord value to our
vertex shader is all cases. If the user renders points, we ignore the
PointCoord value passed to the geometry shader. If they render tris
or lines and use PointCoord, the shader signatures will match, and
PointCoord will even have a sane value of (0.5, 0.5).
BUG=angleproject:1380
Change-Id: I322155cd3801d0241cabc9bb639a5aaa502831b3
Reviewed-on: https://chromium-review.googlesource.com/362779
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
ce1ed238
|
2016-07-24T12:45:17
|
|
D3D11: Detect driver version for blit workaround.
Since the newer driver versions are required for WebGL 2 conformance,
we need a solution that can detect a driver version to know if we
should apply the workaround.
Use a modified copy of Chrome's Windows GPU driver detection code.
In the future we should extend this to a full module when we port
the command buffer workarounds.
BUG=angleproject:1452
Change-Id: I783d5726454671cc22585a2bf990c071d539aa9f
Reviewed-on: https://chromium-review.googlesource.com/361962
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1048e43f
|
2016-07-23T18:51:28
|
|
D3D: Work around HLSL integer pow folding bug.
BUG=angleproject:851
Change-Id: I68a47b8343a29e42c0a69ca3f2a6cb5054d03782
Reviewed-on: https://chromium-review.googlesource.com/362775
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ed0ab661
|
2016-07-23T14:30:22
|
|
D3D11: Fix another missing viewport set.
This one was in a different blit function.
BUG=angleproject:1246
Change-Id: Ib571c10ddc30b3293f5c0d6bdb357b4cd3b52579
Reviewed-on: https://chromium-review.googlesource.com/362774
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
7cfefb37
|
2016-07-23T13:02:32
|
|
D3D11: Set viewport in Blit11::resolveStencil.
This introduced a flaky failure to the multisample resolve blit tests.
They would work sometimes if the state had set the correct viewport
previously, so it wasn't always evident there was a bug.
BUG=angleproject:1246
Change-Id: If16d574fb87484fcdc9b7cc6ecc0531ee4a8959d
Reviewed-on: https://chromium-review.googlesource.com/362699
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
f178d0bd
|
2016-07-23T06:59:00
|
|
Fix output variable gl_FragData array size issue.
If the GL_EXT_draw_buffers extension isn't explicitly enabled in the shader,
then gl_FragData is an array of size 1, not of size max_draw_buffers.
BUG=angleproject:1441
TEST=webgl2_conformance with --use-gl=angle
Change-Id: I2ead1457462bf1f396fda1f47022df6b54612e17
Reviewed-on: https://chromium-review.googlesource.com/362781
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
c051372a
|
2016-07-22T23:20:59
|
|
Fix standalone variable shadowing warning.
Introduced in https://chromium-review.googlesource.com/362641
Eventually we'll switch to using the same sets of warnings
for standalone and GN ANGLE.
BUG=angleproject:1441
Change-Id: I6534b9f85b952ddf1d953342cf9c8ddc5de6614e
Reviewed-on: https://chromium-review.googlesource.com/362780
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0c8abca1
|
2016-07-22T20:21:26
|
|
Fix CopyTexSubImage validation.
Now that we preserve the sized-ness information, we can validate
CopyTexSubImage and related methods correctly.
Fixed a lot of WebGL 2 tests when using ANGLE.
BUG=angleproject:1228
Change-Id: I959322c0a9bb16a2f16d60dce7cd1e63ca95b45a
Reviewed-on: https://chromium-review.googlesource.com/362618
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a3944d4f
|
2016-07-22T22:13:26
|
|
Add gl::Format to represent a texture/rb/surface format.
This has a few advantages: it preserves all the information of the
internal format, such as if it is sized or unsized. It also saves
looking up the format multiple times in the table, which should
improve speed in some cases.
The extra sized-ness information will allow us to perform the
correct validation in CopyTexSubImage calls.
BUG=angleproject:1228
Change-Id: I42954771b0a9a968f5d787b8cf6e0af721791855
Reviewed-on: https://chromium-review.googlesource.com/362626
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f931268f
|
2016-07-22T12:51:31
|
|
Handle initializing of struct typed output variable correctly.
BUG=angleproject:1441
TEST=webgl2 conformance
Change-Id: Idb27036347e1e814ba4603969cc2065e425ac4aa
Reviewed-on: https://chromium-review.googlesource.com/362641
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
156d7197
|
2016-07-21T16:11:00
|
|
HLSL: Insert return statements into functions that are missing them.
It's allowed to not have all code paths return a value in ESSL but the HLSL
compiler detects this and generates an error. Work around this by adding
dummy return statements at the end of each function that doesn't have one.
TEST=deqp/data/gles2/shaders/functions.html
BUG=angleproject:1015
BUG=478572
Change-Id: I2913f90f0994d4caf25cc43b16b9fc4e9efb19a5
Reviewed-on: https://chromium-review.googlesource.com/362085
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
1e8dcb5f
|
2016-07-22T12:01:41
|
|
Add missing R16 formats to internal format mapping.
These were missing and are in the spec.
BUG=angleproject:1228
Change-Id: Ife9d311e76662d467d06b7aec4e674f9699b3573
Reviewed-on: https://chromium-review.googlesource.com/362624
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6dd2843b
|
2016-07-22T14:28:42
|
|
Fix wrong type for GL_STENCIL_INDEX8.
This was stored as DEPTH_STENCIL when it should be STENCIL.
BUG=angleproject:1228
Change-Id: I34c226a273cf962e83a040630bedbefa0f9ee382
Reviewed-on: https://chromium-review.googlesource.com/362623
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
585362f4
|
2016-07-22T01:19:25
|
|
Remove manual include path setup for gtest and gmock
This should no longer needed after http://crrev.com/d805a40eb7b1ef6b
BUG=chromium:630299
Change-Id: I2f78a922d873cf1b5809b3454cb0b72267261b97
Reviewed-on: https://chromium-review.googlesource.com/362295
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
461e3af8
|
2016-07-21T18:15:34
|
|
preprocessor: Fix negative shift with bad ids.
Fix this by producing an error on undefined or negative shifts.
BUG=629518
Change-Id: Idfca5ed3fc8e557f6178408f3426a5ef2ce7cf14
Reviewed-on: https://chromium-review.googlesource.com/362020
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
27776e33
|
2016-07-22T14:00:56
|
|
Fix member variable masking warning in standalone MSVS build
The patch for initializing output variables introduced a warning that
broke MSVS 2015 standalone build. The "shaderType" variable passed to
TCompiler::initializeOutputVariables was unnecessary and had the same
name as a member variable of TCompiler that stores the shader type.
TEST=MSVS 2015 build
Change-Id: I9e01f5eae77a88babde21d4864a02c8731a220de
Reviewed-on: https://chromium-review.googlesource.com/362550
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
72111915
|
2016-07-20T17:45:56
|
|
Initialize all output variables.
BUG=angleproject:1441
TEST=bots
Change-Id: Ia4cf415d8346c3234bf0f548a178ee3ea8cd35c4
Reviewed-on: https://chromium-review.googlesource.com/362110
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
dacac90a
|
2016-07-21T17:12:27
|
|
Skip the TransformFeedbackTest.BufferRebinding on Windows NVIDIA.
BUG=angleproject:1298
Change-Id: I32750d5d81c14fe5a17634586cddf117f0a4e692
Reviewed-on: https://chromium-review.googlesource.com/362157
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7da98506
|
2016-07-20T18:45:09
|
|
Cover vector dynamic indexing case in SplitSequenceOperator
Vectors or matrices that are dynamically indexed as a part of an
l-value generate new statements in the RemoveDynamicIndexing AST
transformation step. SplitSequenceOperator needs to detect this case
and split the sequence operator before statements are generated from
its operands to ensure the correct order of execution.
BUG=angleproject:1341
TEST=angle_end2end_tests
Change-Id: I84e41a59c88fb5d0111669cab60312b930531a22
Reviewed-on: https://chromium-review.googlesource.com/361695
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e1d199bb
|
2016-07-19T17:14:27
|
|
Split sequence operator when necessary
Split sequence operators if some of their operands generate statements
in subsequent AST transformations to guarantee the right order of
execution. For now, this is supported for expressions that return
arrays and unfolded short-circuiting operators, which is enough to get
WebGL 2 tests passing. A trickier corner case with dynamic indexing of
vectors as an l-value is left to be addressed later.
BUG=angleproject:1341
TEST=angle_end2end_tests, WebGL 2 conformance test:
conformance2/glsl3/array-in-complex-expression.html
Change-Id: I9301edd3366be7607a8aa4c42a5ec13928749e10
Reviewed-on: https://chromium-review.googlesource.com/361694
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
1fc7493e
|
2016-07-21T10:15:04
|
|
Fix TearDown incorrect order in ReadPixelsTest
The ANGLETest::TearDown() call was set at the beginning of the
function where as it should be at the end since it destroys the
context. The earlier version would not cause any crashes because the
GL function calls would be ignored.
BUG=angleproject:1445
TEST=angle_end2end_tests
Change-Id: I187cb8fede1db4ef2bfc13ab850594c41e00b0b0
Reviewed-on: https://chromium-review.googlesource.com/362220
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
00f6fbbe
|
2016-07-20T16:32:29
|
|
Add IntermNodePatternMatcher helper class
This will enable sharing code between different AST traversers that
apply transformations on similar node structures. This will make the
code more maintainable.
For now the helper class is used in UnfoldShortCircuitToIf and
SeparateExpressionsReturningArrays.
BUG=angleproject:1341
TEST=angle_end2end_tests, WebGL 2 conformance tests
Change-Id: Ib1e0d5a84fd05bcca983b34f18d47c53e86dc227
Reviewed-on: https://chromium-review.googlesource.com/361693
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
b21e20da
|
2016-07-19T15:35:41
|
|
D3D: Validate that all color attachments are unique.
The previous logic of only checking the currently enabled draw buffers was
incorrect. Also updated the logic to be more lenient and allow multiple
slices or mips of the same texture.
BUG=483282
Change-Id: I0d406d1a9a96e48342baefbaf11e0c2ecc6d390c
Reviewed-on: https://chromium-review.googlesource.com/361533
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c4433f48
|
2016-07-12T16:56:43
|
|
Fix uninitialized variables in BlendMinMaxTest
BUG=angleproject:1443
Change-Id: I1ad2ecee3ffc81a4d1c128aa4de4437e3ee88e34
Reviewed-on: https://chromium-review.googlesource.com/360120
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
138064f5
|
2016-07-15T12:03:41
|
|
Improve glCopyTexSubImage2D and glReadPixels validation
glCopyTexSubImage2d and glReadPixels should generate a
GL_INVALID_OPERATION when GL_NONE is specified as a color buffer.
There are two tests added which cover glCopyTexSubImage2D and
glReadPixels.
BUG=angleproject:1445
TEST=angle_end2end_tests
Change-Id: I3ab1428aad7eee96ca2330909e2b6f765f539705
Reviewed-on: https://chromium-review.googlesource.com/360860
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
1be913cf
|
2016-07-11T17:59:16
|
|
Add support for ES31 context creation
The dEQP test for context creation passes.
SH_WEBGL3_SPEC has been added, but it should be considered whether we
should keep it, remove it or rename it. It was added so that there is
a webgl mapping to es 310 shaders. Check Compiler.cpp. The bison file
has been modified so that some tokens from es3 can be also used in
es31 as well.
A separate macro ES3_1_ONLY is added so that some tokens are limited
only for es 310 shaders.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: I2e5ca227c96046c30dc796ab934f3fda9c533eba
Reviewed-on: https://chromium-review.googlesource.com/360300
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6396d9f2
|
2016-07-20T17:43:10
|
|
Fix windows clang build
Change-Id: I920e9be38c3dd63e00db111294f69c335c4e772d
Reviewed-on: https://chromium-review.googlesource.com/361663
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9d901791
|
2016-07-15T15:58:58
|
|
Fix KHR_Debug segfault errors
Calls to functions ObjectLabel, ObjectPtrLabel, GetObjectLabel,
GetObjectPtrLabel were resulting into segfaults due to improper
validation and parameter handling. It could be that the
implementations of those functions were based on an earlier version
of the KHR_Debug extension.
The patch fixes the segfault error and almost all failing dEQP 3.1
tests related to KHR_Debug. The failing tests were also relevant to
older ES versions. There is still one failing test, but that one
fails since ES3.1 is not fully supported yet.
List of reasons for the segfault error and failing tests:
- the segfault error was caused by strlen called on a null pointer
- another segfault was caused by writing out the length to a null
pointer
- even if the buffer size for getObject(Ptr)Label is 0, still the
length of the label can be returned. That was not handled.
BUG=angleproject:1446
TEST=angle_deqp_gtest_gles31_tests
--gtest_filter=*functional_debug_object*
Change-Id: I4743be8e862f3620091061cd7abb206a426655ed
Reviewed-on: https://chromium-review.googlesource.com/361300
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
29f908bf
|
2016-07-19T23:21:01
|
|
Revert "Support EXT_blend_func_extended in the GLES2 context"
Test failures on Intel Release:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28New%20Intel%29/builds/1163
Also Intel Debug:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28New%20Intel%29/builds/820
Also NVIDIA with a different config:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%20GeForce%20730%29/builds/1564
BUG=angleproject:1379
This reverts commit 7f539ea52e6bc493d8e025ed2c43e10f606f088b.
Change-Id: I2634ad2b3fcc31e1e5ffb3674b94cb0aed9fd773
Reviewed-on: https://chromium-review.googlesource.com/361840
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2be29497
|
2016-07-12T10:13:49
|
|
Force the flush through the GetData call in Renderer11::finish.
NVIDIA drivers sometimes go into infinite loops in this code, jbauman@
speculated that these drivers may need to do the flush in the GetData call.
BUG=626849
Change-Id: I85408fbe7176242240862225e968f557bd7818cf
Reviewed-on: https://chromium-review.googlesource.com/360130
Reviewed-by: John Bauman <jbauman@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
fed6d0e2
|
2016-07-05T11:33:53
|
|
Check for out-of-date swap chains during eglWait calls.
BUG=angleproject:1438
Change-Id: I9b8d0da30e41c133ee92685d00f5f0239c7b2574
Reviewed-on: https://chromium-review.googlesource.com/358490
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
73bd218e
|
2016-07-15T13:01:24
|
|
Support virtualized contexts and transform feedback in Renderer11.
Track buffer offets in the transform feedback object and dirty them when a
buffer is bound. This fixes problems when a buffer is rebound at the same
offset and maintains tracking between context switches.
BUG=angleproject:1447
BUG=angleproject:1298
Change-Id: I2f890e3ad5edacab47f624a95a502615c86cc0c8
Reviewed-on: https://chromium-review.googlesource.com/360910
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e074f728
|
2016-07-19T10:41:26
|
|
dEQP: Move the shadow texture failure expectations.
BUG=angleproject:1435
BUG=angleproject:1436
Change-Id: Idd11e29ad49cb488d3a8ecefd6aefc181b43d3fc
Reviewed-on: https://chromium-review.googlesource.com/361558
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
196ca36c
|
2016-07-12T10:54:04
|
|
D3D11: Implement multisample depth resolve.
This uses a pretty slow path with readback to the CPU. It should be
possible to use SV_Depth in HLSL to resolve without a readback, but
that will be left for a future optimization.
Enables the WebGL 2 tests gles3/fbomultisample and fboinvalidate/sub.
BUG=angleproject:1246
Change-Id: Id67178b0f6374cf53e4e107428637546ecca4124
Reviewed-on: https://chromium-review.googlesource.com/359956
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d9fe55fe
|
2016-07-19T13:48:54
|
|
Fix compilation errors on Android
TBR=ynovikov@chromium.org
BUG=None
Change-Id: I3d90027eaa2479622d7ea80f5dc69d2578d5b1b3
Reviewed-on: https://chromium-review.googlesource.com/361548
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
78a9c733
|
2016-07-15T11:22:43
|
|
D3D11: Implement multisampled stencil resolve.
This implements a fairly slow path with readback for stencil blits,
and depth/stencil resolve. In a subsequent patch I'll implement the
depth blits.
BUG=angleproject:1246
Change-Id: I04151d1f49ca404d858172dff8286608eae29864
Reviewed-on: https://chromium-review.googlesource.com/359955
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e58e1416
|
2016-07-18T16:40:46
|
|
ShCheckVariablesWithinPackingLimits add sh::ShaderVariable overload
This overload doesn't take a stripped down version of the variable
information, which makes it possible to handle varying structs
correctly by flattening them as individual variables.
BUG=621031
Change-Id: I367629fce3d17dd7e1f876c5937eb37f3d97c7f4
Reviewed-on: https://chromium-review.googlesource.com/361460
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7f539ea5
|
2016-05-20T13:29:08
|
|
Support EXT_blend_func_extended in the GLES2 context
BUG=angleproject:1379
Change-Id: Ibda6e84c0a7f86e838247cd5c538ef956dd786fe
Reviewed-on: https://chromium-review.googlesource.com/346410
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
a8503cef
|
2016-07-18T13:47:12
|
|
Re-land "GN: Enable chromium_code config instead."
Using "no_chromium_code" is a bit less strict, but ANGLE should be
able to handle slightly stricter warnings.
Re-land with fix for Clang build.
BUG=angleproject:1449
Change-Id: I8988287d630a6258f2f9ee90e7bfef5f2d5799cd
Reviewed-on: https://chromium-review.googlesource.com/361331
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ae41faf5
|
2016-07-18T12:52:06
|
|
Add win_clang to CQ trybots.
BUG=angleproject:1311
Change-Id: I5a9f381ef7e7e18b20919f791beb2be7f2ddd7a5
Reviewed-on: https://chromium-review.googlesource.com/361064
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
|
|
f729e29d
|
2016-07-18T11:07:00
|
|
dEQP: Make RandomOrderExecutor produce less spam.
We can take out the test case duration output, as it would only be
useful for diagnosing unexpectedly slow tests. This will reduce the
size of dEQP logs on the bots.
BUG=None
Change-Id: I591b2c564e89393ca6754140001f334c19a10b1a
Reviewed-on: https://chromium-review.googlesource.com/361243
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5bc93c41
|
2016-07-18T16:34:42
|
|
Revert "GN: Enable chromium_code config instead."
Seems to fail the Clang build:
../../third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp(35,60): error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
maxSrvMip = (desc.Texture2D.MipLevels == -1) ? INT_MAX : maxSrvMip;
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~
BUG=angleproject:1449
This reverts commit aeb477fbe5fad337815560a0031815f0636471a1.
Change-Id: I01baaf082f282c9d80a9c17fd6ffc2b8911313b2
Reviewed-on: https://chromium-review.googlesource.com/361094
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
91bc2907
|
2016-07-14T13:38:52
|
|
D3D11: Add support for pack parameters when packing to PBOs.
BUG=angleproject:1268
TEST=conformance2/reading/read-pixels-pack-parameters.html
Change-Id: Ia7d69bdabd94d146bc027e6a6d3bb619b1ada2e8
Reviewed-on: https://chromium-review.googlesource.com/360491
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aeb477fb
|
2016-07-15T13:32:37
|
|
GN: Enable chromium_code config instead.
Using "no_chromium_code" is a bit less strict, but ANGLE should be
able to handle slightly stricter warnings.
BUG=angleproject:1449
Change-Id: Ifaf77201085dd70cf5ff628b1aa02de55c5e96ba
Reviewed-on: https://chromium-review.googlesource.com/360940
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e319171f
|
2016-07-18T16:01:10
|
|
Fix debug standalone build warning on MSVS 2015
Fixes signed/unsigned mismatch due to missing type cast inside an
assert.
BUG=angleproject:1382
TEST=standalone MSVS 2015 debug build
Change-Id: I1508b54a2608e9204ad582bde4bd62af6926c36e
Reviewed-on: https://chromium-review.googlesource.com/360921
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
0d959258
|
2016-07-12T17:26:32
|
|
ParseContext: validate additional restriction for the ? and , operators
WebGL2 shaders have added restriction to improve portability for some
OpenGL compilers that do not support arbitrary ternary and sequence
operators. It disallows these operators for arrays, structs containing
arrays and the void type.
BUG=612066
Change-Id: Id11042051bce25a91e57deaa9591d4d813fed7aa
Reviewed-on: https://chromium-review.googlesource.com/359949
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
1b2f1629
|
2016-03-04T15:06:51
|
|
Forbid defined operator generated by macro expansion
After lengthy debate, the GLES working group recommended that this
should be an error in WebGL, though old specs were not updated. Make
ANGLE follow the WebGL spec and generate an error in this case.
This is a partial revert of the patch which added support for defined
operator generated by macro expansion. The preprocessor unit tests
added by the reverted commit are kept, but their expectations are
changed.
This breaks some dEQP tests that are not in line with the WebGL spec.
BUG=angleproject:1335
TEST=angle_unittests, WebGL conformance tests
Change-Id: I7d8a1d42c61367197f2aed4ca4de9297cc48acfc
Reviewed-on: https://chromium-review.googlesource.com/352471
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
4d675ca2
|
2016-03-07T14:48:49
|
|
Reserve "defined" as a macro name
After lengthy debate, the GLES working group recommended that this
should be an error in WebGL, though old specs were not updated. Make
ANGLE follow the WebGL spec and generate an error in this case.
This breaks some dEQP tests which are not in line with the WebGL spec.
BUG=angleproject:1335
TEST=WebGL conformance tests
Change-Id: I93fc397094419ecbf6a1b5179631b72064149bd0
Reviewed-on: https://chromium-review.googlesource.com/352470
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
163fa521
|
2016-07-15T17:38:04
|
|
Workaround interpolation qualifier mismatching
Centroid implies smooth when doing translation. But the Intel Mesa
driver considers centroid and smooth are different interpolation
qualifiers which makes shaders fail compilation.
This patch adds smooth at the front of centroid at translation step. And
it makes linkage.varying.rules.differing_interpolation_2 test in WebGL
2.0 dEQP test pass.
BUG=621031
TEST=WebGL 2.0 deqp/data/gles3/shaders/linkage.html
Change-Id: I8f0944846b5244b21c526ae95a7ce37c1504efb7
Reviewed-on: https://chromium-review.googlesource.com/360638
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
3f6a398c
|
2016-07-15T15:20:45
|
|
Fix type conversion warnings.
BUG=angleproject:1382
Change-Id: Idee8882a7d7576faaa08418d9d399d836cec8fa7
Reviewed-on: https://chromium-review.googlesource.com/360903
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1a1829c4
|
2016-07-15T11:26:06
|
|
dEQP GLES3 test expectations, reassign a bug.
BUG=angleproject:1448
Change-Id: I82346baa0989416cf0105e4446178a299f4f8ffb
Reviewed-on: https://chromium-review.googlesource.com/360664
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
9bd4aa3e
|
2016-07-12T16:34:05
|
|
Fix uninitialized stencil ref variables in the GL backend
BUG=angleproject:1443
Change-Id: I8c259368abdffb57c2963b29f81e2433a08ecae1
Reviewed-on: https://chromium-review.googlesource.com/360110
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
46eaa946
|
2016-06-29T10:26:37
|
|
Support CHROMIUM_path_rendering fragment operations
This brings two new APIs, BindFragmentInputLocation and
ProgramPathFragmentInputGen that together dictate how the
fragment shader varyings are used.
BUG=angleproject:1382
Change-Id: I4b52fd8a3555235a73aecd4f3dba2d500789cbb0
Reviewed-on: https://chromium-review.googlesource.com/357071
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
5b130489
|
2016-07-15T10:59:53
|
|
Audit and amend style guide.
BUG=None
Change-Id: Idb6863c93f639dfe4770e67710159f3e398c5238
Reviewed-on: https://chromium-review.googlesource.com/360890
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
90892fbd
|
2016-07-14T14:44:51
|
|
Refine swizzle/indexing constant folding code
Fix constant folding of subscripting non-square matrices. Previously
constant folding would offset the pointer into the matrix in multiples
of the number of columns, when it should offset the pointer in
multiples of the number of rows.
Also change the MalformedShaderTest so that it only succeeds if vector
swizzle is being checked correctly. Previously compilation would fail
in the test either way because the shader code contained a call to an
undefined function.
Also refactor indexing checks and constant folding so that constant
folding is done entirely separately from out-of-range checks. Bogus
comments are removed from the constant folding functions.
BUG=angleproject:1444
TEST=angle_unittests, angle_end2end_tests
Change-Id: I7073b38f759e9b3635ee05947df4f6d8e23a39d5
Reviewed-on: https://chromium-review.googlesource.com/360112
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
313d9447
|
2016-07-13T18:01:55
|
|
Stop linking a static_initializer into the Mac chromium build.
The :angle-image_util target was a source_set rather than a
static_library(), causing us to link in loadimage.cpp, which
pulled in mathutils.cpp, which contains a static initializer.
Switching :angle_image_util to a static library (which is what GYP
does) solved the problem.
R=rsesek@chromium.org, cwallez@chromium.org
BUG=628052
Change-Id: I63387b3fc9d799c92f7c1b49a1c7c7435e70a951
Reviewed-on: https://chromium-review.googlesource.com/360228
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
|
|
4c32feb1
|
2016-06-24T00:08:04
|
|
Pause TransformFeedback before eglMakeCurrent.
On Android Adreno eglMakeCurrent resets TransformFeedback position.
Workaround is to pause TransformFeedback before eglMakeCurrent
and resume afterwards.
BUG=angleproject:1426
TEST=TransformFeedbackTest.MultiContext
Change-Id: I4fdb9edbd28b4b16c01d1a94419e78160b31b79f
Reviewed-on: https://chromium-review.googlesource.com/355676
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
3f23406a
|
2016-07-13T15:35:45
|
|
Compute row pitch using the size of the input pixel, not the format pixel.
For formats that can be loaded with data that has a different size pixel than
the internal format (UNSIGNED_INT -> GL_DEPTH_COMPONENT_24) the row length
would be computed as rowLength * 3 which is incorrect.
BUG=angleproject:1095
Change-Id: I0f60a3bb9bb387d475ddda1389a3b4b6f4973922
Reviewed-on: https://chromium-review.googlesource.com/360214
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b741c761
|
2016-06-29T15:49:22
|
|
Support precision emulation on HLSL
Re-submit with missing virtual destructor and angle::NonCopyable
added.
Add precision emulation support to HLSL 4.1 output. This makes it
possible for developers to test their shaders for precision issues
easily on Chrome on Windows without having to use the GL backend. The
patch has been verified with Chrome on Windows to reproduce some
precision bugs in real-world WebGL content, including old versions of
the babylon.js library.
The EmulatePrecision AST transformation still relies on writing out
raw shader code for the rounding functions, with raw HLSL code added
alongside pre-existing GLSL and ESSL code. In some ways it would be
nicer to do the EmulatePrecision step as a pure AST transformation,
but on the other hand the raw code is much more readable and easier
to optimize.
To better support multiple output languages in EmulatePrecision, add a
RoundingHelperWriter class that has different subclasses for writing
the rounding functions in different languages.
The unit tests are expanded to cover the HLSL output of precision
emulation. The parts of the tests that require the HLSL output are
only active on Windows where ANGLE_ENABLE_HLSL define is added to the
unit tests. Putting the HLSL tests in an entirely separate file is a
worse alternative, since it would require either a lot of code
duplication or add a lot of boilerplate to the individual tests.
BUG=angleproject:1437
TEST=angle_unittests
Change-Id: I47d501037c206f4bd8b976d3acab9b21c717084c
Reviewed-on: https://chromium-review.googlesource.com/360152
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
28ff4fd8
|
2016-07-06T11:54:21
|
|
Add deqp gles 3.1 tests to the build files
BUG=angleproject:1442
Change-Id: I2ef27478573ec362bff57b532f7fee5731333b06
Reviewed-on: https://chromium-review.googlesource.com/360121
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
4107dda9
|
2016-07-13T14:19:49
|
|
Clamp float32 depth data when uploading.
BUG=angleproject:1095
Change-Id: I4c272aef0f94733fc7b5297ddaa1fa2bc765fe62
Reviewed-on: https://chromium-review.googlesource.com/360029
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
84954988
|
2016-07-12T15:42:18
|
|
ShaderVars: add isSameInterfaceBlockFieldAtLinkTime
This will be used by Chromium to check for interface blocks mismatches.
BUG=621031
Change-Id: Ia6cc19e5d7b2a5c33af558d65b87885a6b72cea3
Reviewed-on: https://chromium-review.googlesource.com/359607
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
3fdaf6f2
|
2016-07-13T15:07:41
|
|
Revert "Support precision emulation on HLSL"
Forgot to add virtual destructors.
BUG=angleproject:1437
This reverts commit a42e8b2cb9d0857f53c0490b5be3bf25b4e1f827.
Change-Id: If33fecfeca9947deedf4668c64dbadf25a5dc5eb
Reviewed-on: https://chromium-review.googlesource.com/360122
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
b00dcee4
|
2016-07-11T17:42:58
|
|
TranslatorGLSL/ESSL: Output #pragma before #extension
The Intel Mesa driver considers the #pragma directive to be a
non-preprocessor token which makes shaders fail compilation.
The relevant blurb from the spec is: "the extension directives
must occur before any non-preprocessor tokens"
BUG=627417
Change-Id: Ic22cff49a9f9c1fe5d140302581ca7b36688732c
Reviewed-on: https://chromium-review.googlesource.com/359621
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a42e8b2c
|
2016-06-29T15:49:22
|
|
Support precision emulation on HLSL
Add precision emulation support to HLSL 4.1 output. This makes it
possible for developers to test their shaders for precision issues
easily on Chrome on Windows without having to use the GL backend. The
patch has been verified with Chrome on Windows to reproduce some
precision bugs in real-world WebGL content, including old versions of
the babylon.js library.
The EmulatePrecision AST transformation still relies on writing out
raw shader code for the rounding functions, with raw HLSL code added
alongside pre-existing GLSL and ESSL code. In some ways it would be
nicer to do the EmulatePrecision step as a pure AST transformation,
but on the other hand the raw code is much more readable and easier
to optimize.
To better support multiple output languages in EmulatePrecision, add a
RoundingHelperWriter class that has different subclasses for writing
the rounding functions in different languages.
The unit tests are expanded to cover the HLSL output of precision
emulation. The parts of the tests that require the HLSL output are
only active on Windows where ANGLE_ENABLE_HLSL define is added to the
unit tests. Putting the HLSL tests in an entirely separate file is a
worse alternative, since it would require either a lot of code
duplication or add a lot of boilerplate to the individual tests.
BUG=angleproject:1437
TEST=angle_unittests
Change-Id: Ia4ba0374cd415908f16f34752321af1cb93525a5
Reviewed-on: https://chromium-review.googlesource.com/358473
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
fea6e952
|
2016-06-23T16:29:20
|
|
Skip DXT1CompressedTextureTestES3.PBOCompressedTexImage when DXT1 not supported
Was failing on Nexus 5X Adreno,
which doesn't have GL_EXT_texture_compression_dxt1 extension.
Also rename the tests to indicate they test DXT1 compression format.
BUG=angleproject:1424
TEST=DXT1CompressedTextureTestES3.PBOCompressedTexImage
Change-Id: Ic82363a6f497da12602f3f3a662a52ffa833aa0f
Reviewed-on: https://chromium-review.googlesource.com/355711
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9585a784
|
2016-07-08T15:12:34
|
|
Clear SRV cache on keyed mutex texture unbind from TextureStorage11_External
This fixes the same issue as https://chromium-review.googlesource.com/328400,
except with NV12 external storage textures. The SRV cache thinks the
texture is still bound, but releasing the keyed mutex has unbound it.
BUG=625900,626524
Change-Id: I991cb3eeaaea0a1c4570b88de2ba873ae868ec2a
Reviewed-on: https://chromium-review.googlesource.com/359430
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: John Bauman <jbauman@chromium.org>
|
|
e8d5c5c4
|
2016-07-07T13:17:47
|
|
Check ozone_platform_gbm before doing gbm stuff.
Just checking use_ozone fails when building an ozone platform which
doesn't have gbm, e.g. chromecast.
BUG=angleproject:1439
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_gn_chromeos_rel;tryserver.chromium.android:android_compile_dbg
Change-Id: Idec14441ce30dd872b3bfddfe844abfeb910cc02
Reviewed-on: https://chromium-review.googlesource.com/358860
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
8bad46d4
|
2016-07-01T19:52:52
|
|
The global invariant pragma must not leak across compilations.
BUG=chromium:625363
TEST=conformance/glsl/bugs/global-invariant-does-not-leak-across-shaders.html
Change-Id: I66389352b92211f4d7967772f68470c8e93405bd
Reviewed-on: https://chromium-review.googlesource.com/358515
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
61b81acf
|
2016-06-28T14:15:20
|
|
Support non-square matrices in precision emulation
In case the shader version is greater than ESSL 1.00, the precision
emulation needs to output rounding functions for non-square matrix
types.
Writing emulated compound assignment functions for non-square matrices
already had most of the code in place before this change.
New compound assignment operators like >>= don't need floating point
precision emulation in ESSL 3.00, since all of them only operate on
integers.
BUG=angleproject:1434
TEST=angle_unittests
Change-Id: I4678f511edf4f9f744fe23bb8d7dab4387f07f20
Reviewed-on: https://chromium-review.googlesource.com/358472
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
5695fc99
|
2016-07-05T14:47:30
|
|
Clean up the SSE detection logic.
* Include the correct header right in the SSE check in platform.h.
* Don't use separate SSE versions of the load functions, have them use
SSE automatically.
BUG=612205
Change-Id: I70f9a5513e144db4d16c1f3ad922debeb6c50268
Reviewed-on: https://chromium-review.googlesource.com/358108
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e92507bc
|
2016-07-04T11:20:10
|
|
Reuse code for determining built-in type name string
Add TType::getBuiltInTypeNameString() that returns an unique char
pointer for each built-in type. They can be easily stored in an
std::set as required by EmulatePrecision, and the function can also
be used in TOutputGLSLBase.
BUG=angleproject:1437
TEST=angle_unittests
Change-Id: I9acfe1b149546dedeae058841cbabf0d9829cdc9
Reviewed-on: https://chromium-review.googlesource.com/358471
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
701b19bf
|
2016-07-05T16:04:16
|
|
Use the Windows 10 SDK in standalone builds.
BUG=None
Change-Id: I52a9beeddfc83ee8711cc23979a97c79a4f22227
Reviewed-on: https://chromium-review.googlesource.com/358109
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3820e9c1
|
2016-07-04T16:01:15
|
|
Set correct type on nodes created in precision emulation
The correct type needs to be set so that HLSL output will be able to
disambiguate user-defined function calls correctly based on argument
types. HLSL output support will be added to precision emulation in a
future patch, which will also have tests that verify this patch.
The lack of correct type on the nodes is not known to cause any bugs
in GLSL output.
BUG=angleproject:1437
Change-Id: I53200df066ece0ab4bd7d7a6aab699d6a1ecb659
Reviewed-on: https://chromium-review.googlesource.com/358470
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
7e1200b4
|
2016-07-05T02:25:13
|
|
Revert "The global invariant pragma must not leak across compilations."
This reverts commit ae2e19188cf0a9b035a27143f585df10e72ffabd.
Change-Id: I017ba4ba9baa633793d7bdd9691c580ed7016cde
Reviewed-on: https://chromium-review.googlesource.com/358410
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
ae2e1918
|
2016-07-01T19:52:52
|
|
The global invariant pragma must not leak across compilations.
BUG=chromium:625363
TEST=conformance/glsl/bugs/global-invariant-does-not-leak-across-shaders.html
Change-Id: Ie8d38e44837fc87bb4c94e76e779ad41e8b79957
Reviewed-on: https://chromium-review.googlesource.com/358203
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
6e4cfceb
|
2016-06-13T15:06:31
|
|
Refactor ANGLE's image manipulation code into a static library.
Allows for chromium to make use of some of the functionality.
BUG=612205
Change-Id: Ib4435ca44775a3a554b0fb3bd384bd4d31d7952d
Reviewed-on: https://chromium-review.googlesource.com/351753
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
91d56945
|
2015-07-21T18:56:48
|
|
Emulate the pack/unpack functions for unorms.
BUG=angleproject:1044
Change-Id: I2cfb792de43d3a6fddd750100c74f948948dc1f6
Reviewed-on: https://chromium-review.googlesource.com/287290
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3bc116e7
|
2016-07-04T13:49:28
|
|
Update dEQP test expectations for fixed tests.
BUG=angleproject:1021
BUG=angleproject:1027
BUG=angleproject:1101
BUG=angleproject:1323
Change-Id: I52ce720de66373ea2174890097a6908307a7fa91
Reviewed-on: https://chromium-review.googlesource.com/358168
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
ec0b580d
|
2016-07-04T13:11:59
|
|
Re-land "D3D11: Fix readback of BGRA-backed formats."
For some BGRA-backed formats (RGBA4, R5G6B5, RGB5A1), our ReadPixels
implementation wasn't aware the BGRA format didn't exactly match the
RGBA format. For these it would do the 'fast path' memcpy method, when
it should stop and do the slow pixel-by-pixel packing method.
Fixes conformance2/reading/read-pixels-from-fbo-test.html.
Reland: fix empty format info that was causing us to only see the
first pixel in the FBO in a ReadPixels call. Also fix bugs in the
unorm 16-bit format readback code, and add ASSERTs to catch bugs in
subsequent new formats.
BUG=angleproject:1407
BUG=chromium:616176
Change-Id: I9fd55b9e1dd6a306eb4db195d775c02a1eb1f93f
Reviewed-on: https://chromium-review.googlesource.com/357132
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
563e45aa
|
2015-05-07T13:31:16
|
|
Remove the artificial uniform vector limitation in D3D11.
BUG=407309
Change-Id: Ic59bea88f0a4d7a6df9089238be0c79d654016e2
Reviewed-on: https://chromium-review.googlesource.com/269971
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c2128ff5
|
2016-07-04T10:26:17
|
|
translator: Fix two bugs that trigger ASSERTs.
The first bug was a result of constant-folding a vector swizzle that
was out-of-bounds. The second bug was a result of using a semicolon
in a preprocessor define.
BUG=angleproject:1425
Change-Id: Id6643b1f3e3b13cc021bd721ef2572487fe3c8d3
Reviewed-on: https://chromium-review.googlesource.com/357864
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
474a08c0
|
2016-06-28T10:49:46
|
|
Remove qualifiers from empty struct declarations in output
Empty struct declarations with qualifiers are rejected by NVIDIA GL
driver version 367.27. For example this kind of construct that is
expected to be accepted by the WebGL conformance tests is rejected:
const struct a {
int i;
};
Since qualifiers do not carry meaning unless a struct declaration
has declarators, they can be simply omitted from the translator
output in this kind of cases to work around this driver issue.
New unit test is added to check that pruning empty declarations works
correctly.
BUG=angleproject:1430
BUG=622492
TEST=WebGL conformance tests, angle_unittests
Change-Id: Id83f83124ae597fcdfa15100d336c2c207d9449c
Reviewed-on: https://chromium-review.googlesource.com/356362
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a8873ef5
|
2016-07-04T10:44:42
|
|
Fix warnings in PathRenderingTest.cpp.
Certain warnings are suppressed in Chromium but not standalone ANGLE.
We should enable those warnings for ANGLE specifically, in a follow-up
CL.
BUG=angleproject:1382
Change-Id: I12491a61b0f349c5937a1e5d9985c8da1d76e0dc
Reviewed-on: https://chromium-review.googlesource.com/358107
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d59ca052
|
2016-06-21T16:10:00
|
|
Support instanced CHROMIUM_path_rendering
This implements instanced path rendering.
BUG=angleproject:1382
Change-Id: I4654251882975d707b22c7bb522af14ae34eb1a1
Reviewed-on: https://chromium-review.googlesource.com/355401
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
10fcd9be
|
2016-06-30T12:24:09
|
|
Add a helper class for compiler string matching tests
The MatchOutputCodeTest class makes it easier to implement tests that
do string matching on compiler output. Inheriting test classes set the
compiler settings, tests then call compile() with the shader string
and can call foundInCode() to check if the output code contains a
given string.
Various compiler unit tests that already did string matching are
refactored to make use of this new helper class. Some tests now use
SH_GLES3_SPEC instead of SH_GLES2_SPEC - this should not have a
significant impact on test coverage.
Some compileTestShader function variants that are now unused can be
removed from the code.
BUG=angleproject:1430
TEST=angle_unittests
Change-Id: I1fd3529d5a1c6ab192f95ace800cf162604e68e7
Reviewed-on: https://chromium-review.googlesource.com/357800
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bbf1c102
|
2016-06-28T13:31:33
|
|
Fix BeginQuery validation
ANY_SAMPLES_PASSED and ANY_SAMPLES_PASSED_CONSERVATIVE queries can not
be active at the same time. The only place where the
State::isQueryActive function is used is validating whether a
BeginQuery call is correct, so it can be changed to check for this.
BUG=angleproject:1101
TEST=dEQP-GLES3.functional.negative_api.fragment.begin_query
Change-Id: Idadf129c6a036570f6e28857bdb24ffc11eeebe8
Reviewed-on: https://chromium-review.googlesource.com/356363
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
3c754194
|
2016-06-27T19:36:41
|
|
Skip Texture2DTestES3.UnpackSkipImages2D test on Adreno Android GLES
Due to a bug in Adreno glTexImage2D with GL_UNPACK_SKIP_IMAGES.
BUG=angleproject:1429
TEST=Texture2DTestES3.UnpackSkipImages2D
Change-Id: Iccb4cc968915a623f0aed099b81e759c6e4343f7
Reviewed-on: https://chromium-review.googlesource.com/356494
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ad6c0452
|
2016-06-24T22:24:37
|
|
Skip SamplerInStruct AsFunctionParameter tests on Adreno Android GLES
Due to Adreno bug in compiling struct function parameter in shader.
BUG=angleproject:1427
TEST=SamplerInStructAsFunctionParameterTest
SamplerInStructArrayAsFunctionParameterTest
SamplerInNestedStructAsFunctionParameterTest
Change-Id: I979312885f2047e78b61530c97703854a4be1586
Reviewed-on: https://chromium-review.googlesource.com/356125
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b13e0a5b
|
2016-06-27T15:25:34
|
|
Add android_angle_rel_ng to ANGLE CQ
Swarmed Nexus 5X bot.
Mirroring Android Release (Nexus 5X) from chromium.gpu.fyi
BUG=chromium:617848, chromium:534814
Change-Id: I773c6accd3b4023822ddb165556e3af11ff5c6b1
Reviewed-on: https://chromium-review.googlesource.com/356470
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
419bfc91
|
2016-06-28T10:54:45
|
|
On Desktop GL, require index-constant sampler array indexing
BUG=598924
Change-Id: If97dbaa782595997b815c70d14f079e0f0c3d82a
Reviewed-on: https://chromium-review.googlesource.com/356710
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
0b2cc797
|
2016-06-29T16:32:34
|
|
Update bug IDs for some shadow sampler failures.
BUG=angleproject:1436
Change-Id: I4f6c2eaf4bcb2f85fe31c0e0112c0a9651d4ad70
Reviewed-on: https://chromium-review.googlesource.com/357161
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ce342918
|
2016-06-29T15:30:44
|
|
Update bug IDs for some shadow sampler failures.
BUG=angleproject:1435
Change-Id: I4964c84f76991c156dfe49c99dae873ab451c8ab
Reviewed-on: https://chromium-review.googlesource.com/357151
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
dcf12c70
|
2016-06-28T15:03:06
|
|
Fix validating non-square matrix compound multiplication
The validation previously checked that two matrices in compound
multiplication are the exact same size, which isn't correct for
non-square matrices introduced in ESSL 3.00.
Instead, check that the matrix multiplication is valid and that the
resulting value has the same number of columns as the lvalue. The
number of rows in the result is taken from the lvalue so it doesn't
need to be checked.
BUG=angleproject:1431
TEST=angle_unittests
Change-Id: I6f32b7dc037d72c3c5cfdfffcda5d996e8450283
Reviewed-on: https://chromium-review.googlesource.com/356411
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|