|
e5bb72ff
|
2016-09-01T01:41:27
|
|
Remove SH_EMULATE_BUILT_IN_FUNCTIONS which isn't used
The flag is not used in chrome. We decide to do per emulation per flag.
BUG=chromium:642227
Change-Id: I936d53e5015186e35e672d0cb51c853a941582d2
Reviewed-on: https://chromium-review.googlesource.com/379077
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
8314465d
|
2016-08-31T17:03:30
|
|
GL backend: add a workaround for bad default current vertex attributes
BUG=angleproject:1492
BUG=351528
Change-Id: Ie4b25b0106282c9f60d19053e5a320549887bc8b
Reviewed-on: https://chromium-review.googlesource.com/379196
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
a4e6f074
|
2016-08-29T14:49:21
|
|
Work around abs() issue in Intel Mac drivers
abs(i) where i is an integer returns unexpected result in Intel Mac.
This works around the issue by emulating abs(i) manually.
BUG=chromium:642227
TEST=deqp/functional/gles3/shadercommonfunction.html
Change-Id: I2a41e0f4bcb0766109d651e663283b1760468017
Reviewed-on: https://chromium-review.googlesource.com/377628
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
c2c5fc48
|
2016-08-31T15:24:22
|
|
Remove CSS Shader related code
CSS shader has been removed from spec and chrome code base. Remove the
code in ANGLE.
BUG=chromium:233383
Change-Id: I93a35437f540e51ce7af9d49f21ca60d7c0b156a
Reviewed-on: https://chromium-review.googlesource.com/378739
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7ef9aa7b
|
2016-08-31T15:39:38
|
|
Enable texelFetchOffset re-writing for GLSL translator
Intel Mac has the same bug as Win. So the CL enables it in GLSL translator as
well.
BUG=chromium:642605
TEST=deqp/functional/gles3/shadertexturefunction/texelfetchoffset.html
Change-Id: I30323ea3a6d4c07ff32e50bd7c574916b5b865f4
Reviewed-on: https://chromium-review.googlesource.com/378601
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
ad10a4aa
|
2016-08-29T23:24:33
|
|
Update dEQP gles2 tests expectations for Android
Mark tests that fail or hang on Nexus 5X as such.
BUG=angleproject:1471
TEST=gles2 tests pass on Nexus 5X
Change-Id: I3de8ce3e472f9c75bd18140bf9aa4d79a73cb22d
Reviewed-on: https://chromium-review.googlesource.com/377703
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e3352f94
|
2016-08-12T20:40:14
|
|
Change angle_util to be a shared library
So that there will be one instance of static thread synchronization variables
in AndroidWindow.
Previously there was one instance in lib_angle_deqp_gles2_tests__library
and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize
waiting forever.
Also make the change in GYP build to fix standalone build,
and fix rpath issues on Mac.
BUG=angleproject:1471
TEST=end2end and deqp tests on standalone Win10 and end2end on GN Mac 10.11
Change-Id: I731578459400bb47d269df129aabed9b67b555e6
Reviewed-on: https://chromium-review.googlesource.com/376202
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d5da505d
|
2016-08-29T13:16:55
|
|
Fix constant folding non-square outerProduct
Use all the vector elements correctly when constant folding non-square
outerProduct. Previously the code used to discard some elements of the
smaller outerProduct operand. Also clear up confusion about matrix
rows/columns in matrix constant folding code in general.
BUG=angleproject:1482
TEST=angle_unittests
Change-Id: I7cba8f97a92b875de01e57255d54258cdfd92a47
Reviewed-on: https://chromium-review.googlesource.com/377298
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
2ac58792
|
2016-08-29T15:31:44
|
|
Update dEQP GLES3 test expectations
BUG=angleproject:1097
Change-Id: Ib10ee930eb4d29bee3bc014c008a6b7420525e42
Reviewed-on: https://chromium-review.googlesource.com/377458
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4e58af61
|
2016-08-26T10:56:52
|
|
Add missing TexImage and CopyTexImage format combinations for ES3.
* Some unsized DEPTH_COMPONENT combinations were not added to the validation
tables for the ANGLE_depth_texture extension.
* The HALF_FLOAT_OES format was not validated in ES3 for RGB and RGBA formats
when the OES_texture_half_float extension is supported.
* BGRA->BGRA CopyTexImage validation was missing.
No more errors are generated within ANGLE when visiting
http://alteredqualia.com/tools/webgl-features/
BUG=605754
Change-Id: If654c34adcebb4cd3eaa994ad7e912f6ffa4df55
Reviewed-on: https://chromium-review.googlesource.com/376281
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b920e360
|
2016-08-03T18:19:41
|
|
Implement GL_ARB_create_context_robustness on GLX and WGL
BUG=angleproject:1463
Change-Id: I5bdcfd757d6f7d6411558c368fa7a26c8a38c9ba
Reviewed-on: https://chromium-review.googlesource.com/365971
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9ddfa060
|
2016-08-29T13:56:39
|
|
Disable compute shader tests on Intel
The compute shader tests in angle_end2end_tests fail on Intel Linux.
The patch disables the tests for Intel.
TEST=angle_end2end_tests
BUG=angleproject:1483
Change-Id: I303f0852ea3ccb65c1dd96a196a640c76cc519e4
Reviewed-on: https://chromium-review.googlesource.com/377318
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ab481645
|
2016-08-26T12:09:10
|
|
Fix splitting nested sequence operators
Make sure that only one sequence operator is split on one iteration
of SplitSequenceOperator. This prevents multiple successive PostVisit
calls to nested sequence operator nodes from adding duplicate nodes
to the AST. The sequence operators are split starting from the
outermost one to preserve execution order.
Note that the shader translator somewhat unexpectedly generates nested
sequence operators in the AST when there is a sequence operator with
more than two operands, so this bug ended up affecting shaders in the
wild. The code around parsing sequence operators could be clarified
separately.
BUG=638313
TEST=angle_end2end_tests
Change-Id: Ic6400a484ceff0c790c2290f7b4b80980f87cd88
Reviewed-on: https://chromium-review.googlesource.com/376678
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
11e43ece
|
2016-08-11T09:54:08
|
|
Add a workaround for Intel drivers on glsl function texelfetchoffset
GLSL function texelfetchoffset will be translated into texture.Load in
ANGLE. In D3D there is a note that When one or more of the coordinates
in Location exceeds the u, v, or w mipmap level dimensions of the
texture, Load returns zero in all components, but in glsl there is no
such restriction, which will cause the WebGL 2 dEQP test
deqp/functional/gles3/shadertexturefunction/texelfetchoffset.html fail
on Windows with Intel GPU.
Adapted from ExpandIntegerPowExpressions.cpp, this patch adds a
translation from texelFetchOffset into texelFetch to work around this
issue.
BUG=angleproject:1469
Change-Id: Iecfb9570472036acf5960789bdb1a63f191316be
Reviewed-on: https://chromium-review.googlesource.com/367883
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
1fe74c7e
|
2016-08-25T13:23:01
|
|
Manually compute the mipmap size for the textureSize builtin.
There were two issues with the current implementation:
* The GetDimensions function already takes into account the base level of the
SRV.
* The GetDimensions function returns doesn't return valid sizes for levels
that don't exist in the SRV. Instead, manually do the lod offset.
BUG=angleproject:931
BUG=angleproject:1316
TEST=dEQP-GLES3.functional.shaders.texture_functions.texturesize.sampler2d_fixed_vertex
Change-Id: I63259b563a42b93b73949e0ef7ac412099a42f13
Reviewed-on: https://chromium-review.googlesource.com/376099
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b0465313
|
2016-08-26T13:21:37
|
|
Don't allow packed integer types in glVertexAttribIPointer.
They are only allowed in the glVertexAttribPointer call.
BUG=angleproject:1101
Change-Id: I85aae9e35b45e8b1296244756091271d01dd1533
Reviewed-on: https://chromium-review.googlesource.com/376719
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
558b038c
|
2016-08-26T17:54:34
|
|
Don't accept sampler operands for unary operators
Unary plus and minus used to be accepted with sampler operands.
Increment/decrement operators also now generate a clearer error
message if a sampler operand is supplied.
TEST=angle_unittests
BUG=angleproject:1480
Change-Id: I2c5165c4eaac7b023d96e46a177e36f6536b0125
Reviewed-on: https://chromium-review.googlesource.com/376319
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
87fbe1c2
|
2016-08-03T14:41:42
|
|
ContextImpl: only expose getResetStatus for robustness
This will allow each backend to implement this method separately. The
current set of ContextImpl methods used for robustness are slightly
D3D-centric.
BUG=angleproject:1463
Change-Id: I101f8ada2c49de4cf110db48b1e8380c52b50fb2
Reviewed-on: https://chromium-review.googlesource.com/365829
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
4c4c8e72
|
2016-08-04T12:25:34
|
|
Add compute program compilation and linking support
Compute shaders can be now compiled and linked to create programs.
Some tests are added to verify successful and unsuccessful compute
shader linking.
The patch also replaces std::array<int, 3> with a custom struct
WorkGroupSize.
BUG=angleproject:1442
TEST=angle_end2end_tests
TEST=angle_unittests
Change-Id: I4ab0ac05755d0167a6d2a798f8d7f1516cf54d84
Reviewed-on: https://chromium-review.googlesource.com/366740
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
63e1ec5c
|
2016-08-18T22:05:12
|
|
Move the rest of the validation out of TIntermBinary::promote
TIntermBinary::promote now has a single purpose of determining the
type resulting from a binary math operation. The TIntermBinary
constructor taking the left and right nodes can now also call promote
automatically, and promote is made into a private member of
TIntermBinary. Validation of binary math operand types is done
inside ParseContext.
BUG=angleproject:952
TEST=angle_unittests
Change-Id: I52a409f680c8d4120b757193972d03aed34c6895
Reviewed-on: https://chromium-review.googlesource.com/372624
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
666f65a1
|
2016-08-26T01:34:37
|
|
Revert "Revert "Cover vector dynamic indexing case in SplitSequenceOperator""
This reverts commit d2f59bb6dda4f3548e158a09540829f9ff56bba4.
Change-Id: If2842bce17a0c085e2bc913ff120083fbe90497c
Reviewed-on: https://chromium-review.googlesource.com/376189
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b3925a3f
|
2016-08-23T13:17:34
|
|
Add test for EGL_create_context_robustness
The test is disabled on non-Windows as Linux drivers seem to not be
able to kill an in-flight warp and the whole computer locks down.
BUG=angleproject:1463
Change-Id: Iea3dcb1df323aa1341a4d26fe291b6abfae2aa3a
Reviewed-on: https://chromium-review.googlesource.com/374166
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1dded803
|
2016-08-18T18:13:13
|
|
Check multiplication validity in ParseContext
This improves separation of responsibilities in the code: ParseContext
should handle operand type validation, while TIntermBinary::promote
should ideally only determine the type of the node based on the
operation and operands.
BUG=angleproject:952
TEST=angle_unittests
Change-Id: I9a8d8ede21cdf35de631623a62194c0da5c604d2
Reviewed-on: https://chromium-review.googlesource.com/372622
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
9949f04d
|
2016-08-03T12:47:27
|
|
Fence11: When busy looping on a fence, test for device loss
Previously the code only checked is the device had already seen as lost
but never updating the lost status. Since checking for device loss can be
expensive, only do it every 128 loop iterations.
BUG=angleproject:1463
Change-Id: Ib481aebbb73d0f279e7ef835ac3a96c0a4663d58
Reviewed-on: https://chromium-review.googlesource.com/365736
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
55033e58
|
2016-08-25T17:32:12
|
|
Revert "Change angle_util to be a shared library"
This reverts commit 2f9b5e6f79cd576bd3b7110272d58f143801bf0f.
Change-Id: I90a7ba0596e79795c9549bc268eabff69c96d572
Reviewed-on: https://chromium-review.googlesource.com/376079
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
0ea0caeb
|
2016-08-10T12:39:29
|
|
Move load functions table to renderer layer.
We will be able to use it for the Vulkan formats table.
BUG=angleproject:1455
Change-Id: Iddc09fe560b06880af72a6fa8eb03fa2792e2f8c
Reviewed-on: https://chromium-review.googlesource.com/367454
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
17605b61
|
2016-08-10T11:48:29
|
|
Replace DXGI with ANGLE format in the load tables.
BUG=angleproject:1455
Change-Id: I851848d8a28bd70ff921d76b19902f40a5e8b17d
Reviewed-on: https://chromium-review.googlesource.com/367453
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
46ad513f
|
2016-08-13T14:22:47
|
|
dEQP: Use GL ES display factory on Android
BUG=angleproject:1471
Change-Id: I11964fa36fa75841512c49eda4cd5947d6197cda
Reviewed-on: https://chromium-review.googlesource.com/368985
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4628f386
|
2016-08-13T14:13:16
|
|
Add dEQP search paths on Android devices
Including: test expectations and list, dEQP data and test results.
Hardcode chromium_tests_root for now, to avoid adding a new API
to pass the path from test runner to ANGLE.
BUG=angleproject:1471
Change-Id: I654fa4727c436d743b3d6344ad17cb030934cde2
Reviewed-on: https://chromium-review.googlesource.com/368984
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b2e4863c
|
2016-08-09T18:08:03
|
|
Replace std::map with switch in load functions.
BUG=angleproject:1455
Change-Id: Ica74ea5503efc0315bc4d98aa322da523a30b24c
Reviewed-on: https://chromium-review.googlesource.com/367696
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2f9b5e6f
|
2016-08-12T20:40:14
|
|
Change angle_util to be a shared library
So that there will be one instance of static thread synchronization variables
in AndroidWindow.
Previously there was one instance in lib_angle_deqp_gles2_tests__library
and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize
waiting forever.
BUG=angleproject:1471
Change-Id: Ia529c91e34960eb352730c1bb89a91ce6336c8a0
Reviewed-on: https://chromium-review.googlesource.com/368983
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6230dd54
|
2016-08-23T15:20:03
|
|
Check for OpenGL ES support when creating context
Support for an OpenGL ES version can come either through OpenGL ES,
OpenGL core or available extensions. The context creation should fail
if the requested OpenGL ES version is not supported.
BUG=angleproject:1477
TEST=angle_end2end_tests
Change-Id: I810d004a1bd62f75f162d775d3cf92c4283252a3
Reviewed-on: https://chromium-review.googlesource.com/374338
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ca05a081
|
2016-08-12T14:46:30
|
|
Compile deqp_gles2 on Android
Add some missing functions,
modify preprocessor conditions and build files
to include some other missing functions when building for Android.
BUG=angleproject:1471
Change-Id: Iadc0a0b9fed2444b8bc9a894ee65c8b66ea7f3c9
Reviewed-on: https://chromium-review.googlesource.com/368982
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
91e71ed9
|
2016-08-23T09:29:22
|
|
Misc minor WinRT fixes and cleanups
Change-Id: Ibf041e74d81ef266791e6b6a3bb43bf504b035b3
Reviewed-on: https://chromium-review.googlesource.com/374040
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e1846665
|
2016-08-23T11:03:21
|
|
Add Vulkan to in-progress section of the landing page.
Change-Id: Ib1f911d1a30921e4d74d405b77f930754a647d17
Reviewed-on: https://chromium-review.googlesource.com/374048
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
39b11018
|
2016-08-22T13:42:30
|
|
Remove Windows 8.1 (Store apps) and Windows Phone 8.1 support
ANGLE has moved onto the Windows 10 SDK, and is using new compiler
features that aren't supported by the old Windows 8.1 toolchain. Support
for the 8.1 projects has been broken in master for some time now.
Since more and more developers are moving towards Windows 10, we
are going to take a snapshot of ANGLE that includes 8.1 support and
freeze it in a branch on github.com/microsoft/angle. If developers
wish to compile for use ANGLE in 8.1 apps then they should use that
branch going forward.
Change-Id: Ifee2d8a8cc0332500e0bd338911d831e7624fa82
Reviewed-on: https://chromium-review.googlesource.com/374039
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c4718040
|
2016-08-09T17:21:03
|
|
Remove DXGI_FORMAT_UNKNOWN cases from load table.
These cases were unreachable.
BUG=angleproject:1455
Change-Id: I5f3b969de3aca3862944ac9ed510c9f5e9fd77e2
Reviewed-on: https://chromium-review.googlesource.com/367695
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
04d3d895
|
2016-08-09T15:02:19
|
|
Simplify load functions table.
The indexing of the table data was mismatched with the table,
causing confusion with no appreciable gain. Fix this, reducing
the lines in the script and table at the same time.
BUG=angleproject:1455
Change-Id: I59095ba11a416575fd2310765eaac8d368b90cab
Reviewed-on: https://chromium-review.googlesource.com/367694
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
55f29a8c
|
2016-08-09T13:11:02
|
|
Check if conversion needed from load function.
The 'LoadToNative' copy is the only one that should be considered a
non-conversion. For depth formats, we should be clamping on SetData
and CopyImage calls, so this changes the flags for two of the
depth formats, but won't affect behaviour since the conversion bit
is never check for depth/stencil formats.
This allows us to remove the 'requiresConversion' bit from the data.
BUG=angleproject:1455
Change-Id: I739ecc54406d65049caad7851ffd51d7cb777946
Reviewed-on: https://chromium-review.googlesource.com/367693
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c99518fc
|
2016-08-09T11:10:38
|
|
Move default ANGLE format map to shared location.
This default format mapping serves as a base for a Renderer format
mapping. Any formats that require emulation or other representation
in a Renderer can be overridden in the renderer layer.
BUG=angleproject:1455
Change-Id: I47f070c2ea132bada9cc0fc4353b89b74b8ee8f3
Reviewed-on: https://chromium-review.googlesource.com/367692
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c2c106d4
|
2016-08-11T12:42:14
|
|
D3D11: Clean up buffer calls a bit.
BUG=None
Change-Id: I3b697c3b721b5be4888d039a5cefd160ab5b23f8
Reviewed-on: https://chromium-review.googlesource.com/367877
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f69682be
|
2016-08-16T14:50:42
|
|
Add unittests to verify invariant doesn't leak
This is a followup CL of
https://chromium-review.googlesource.com/366720. Unittests is added to
check invariant status does not leak across shaders.
This CL also moves mInvariantVaryings and mGlobalInvariant from
TSymbolTable to TSymbolTableLevel. So at the end of a compilation, the
levels pop, and the settings will be cleared and will not affect the
next compilation.
Change-Id: I1199fade7a637276ab149ab9a599621b9977298b
Reviewed-on: https://chromium-review.googlesource.com/370844
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
3fdec919
|
2016-08-18T15:08:06
|
|
Refactor binary node creation
1. Simplify code by using asserts instead of adding internal errors to
log.
2. Add a TIntermBinary constructor that takes left and right operand
nodes as parameters.
3. Remove TIntermediate functions with trivial functionality.
BUG=angleproject:952
TEST=angle_unittests
Change-Id: I2e0e52160c9377d8efcf15f14fd59f01cb41bd83
Reviewed-on: https://chromium-review.googlesource.com/372720
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1cc598f8
|
2016-08-18T13:50:30
|
|
Add error and warning helpers to Diagnostics
This will make it easier to generate errors and warnings with a
consistent format outside of ParseContext, for example in
TIntermBinary::fold() which warns about division by zero.
BUG=angleproject:952
TEST=angle_unittests
Change-Id: I25999d7bdc77efafe77785a0d6f4d63417dfaab9
Reviewed-on: https://chromium-review.googlesource.com/372719
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
244be01a
|
2016-08-18T15:26:02
|
|
Fix struct compound assignment being allowed in GLSL parsing
The shader translator used to accept some invalid struct operations,
like struct += struct and struct == struct with a different type. Fix
this.
BUG=angleproject:1476
TEST=angle_unittests
Change-Id: Ia2303fc1f740da4d78242e094ee6004b07364973
Reviewed-on: https://chromium-review.googlesource.com/372718
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bccc65d3
|
2016-07-19T16:48:43
|
|
Flatten "#pragma STDGL invariant(all)" into varying variables.
This is implemented as a compiler option which is enabled by default
when outputting to desktop GLSL version 130 and greater, which does
not support this #pragma in fragment shaders. As a workaround, and for
better compatibility on desktop OpenGL drivers, this pragma is also
flattened into the outputs of vertex shaders, and the inputs of ESSL
1.00 fragment shaders.
TEST=conformance/glsl/misc/shaders-with-invariance.html with --enable-unsafe-es3-apis
BUG=629622, angleproject:1293
Change-Id: Ib040230915e639971505ed496d26e804c9d64e68
Reviewed-on: https://chromium-review.googlesource.com/361792
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
d2f59bb6
|
2016-08-17T11:50:52
|
|
Revert "Cover vector dynamic indexing case in SplitSequenceOperator"
This CL was causing inverted rendering in a WebGL application.
This reverts commit 7da9850643f55335a13a4663d226c73d0ac4d3b1.
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: I854f8cce2d46107afa62f48edf3d32c6d5c97eda
Reviewed-on: https://chromium-review.googlesource.com/371643
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6c9503ec
|
2016-08-16T14:06:32
|
|
D3D11: Improve integer pow workaround.
A slight bug in the problem case detection applied the workaround
overly-broadly. Also included a much more thorough test.
BUG=angleproject:851
Change-Id: I5c09d67eee3622c144401769af85958f23b60c57
Reviewed-on: https://chromium-review.googlesource.com/371380
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1200c41b
|
2016-08-16T14:09:14
|
|
Suppress two new AMD failures.
These failures were exposed with the new R7 240 card.
BUG=chromium:637037
Change-Id: I1fe5add2fc08d5c93e338250efb2af62712d0e53
Reviewed-on: https://chromium-review.googlesource.com/371318
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8a17626d
|
2016-08-16T14:23:01
|
|
Refactor: Return true when checks succeed in ParseContext
Instead of returning false when a check succeeds in ParseContext,
return true. This is more intuitive and in line with conventions used
elsewhere inside ANGLE.
Also includes some minor other cleanup in ParseContext, like improved
variable names and code structure especially when checking array
element properties. This will make introducing arrays of arrays easier
in the future.
BUG=angleproject:911
TEST=angle_unittests
Change-Id: I68233c01ccfbfef9529341af588f615efc2b503a
Reviewed-on: https://chromium-review.googlesource.com/371238
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
583c4d2a
|
2016-08-05T17:58:40
|
|
Invariant qualifier should not leak across shaders
Change-Id: I2a35899bffd28767b8bc638f415857636d4ad8ef
Reviewed-on: https://chromium-review.googlesource.com/366720
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
4e94fea8
|
2016-08-09T14:31:37
|
|
Emulate gl_FragColor broadcasting behavior when GL_EXT_draw_buffers is
enabled.
BUG=angleproject:1467,635433
TEST=WebGL conformance, angle_unittests
Change-Id: I9eb4ce715732087a3786da886f42243716f2b9b2
Reviewed-on: https://chromium-review.googlesource.com/367532
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
856c497e
|
2016-08-08T11:38:39
|
|
Clarify error checking function names in the GLSL parser
Most error checking functions in ParseContext used to follow a format
like <property>ErrorCheck. Sometimes this function would check that
the node/value would have <property>, sometimes it would check that
the node/value would not have it, which was confusing. Change most of
these functions to use a lot more descriptive names, which clearly
communicate what they are checking for.
Also includes a bit of refactoring in constructorErrorCheck(), so that
the function only checks for errors rather than also setting the type
of the constructor node.
Also make TType::arraySize unsigned, and return a sanitized size from
checkIsValidArraySize() instead of using an output parameter.
BUG=angleproject:911
TEST=angle_unittests
Change-Id: Id9767b8c79594ad3f782f801ea68eb96df721a31
Reviewed-on: https://chromium-review.googlesource.com/367070
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
9371f7ab
|
2016-08-09T11:10:37
|
|
D3D11: Remove unsized formats from the table.
These cases weren't actually ever hit within ANGLE.
BUG=angleproject:1455
Change-Id: I60da3fb9eae91598ddaed5572a4bab0a66345694
Reviewed-on: https://chromium-review.googlesource.com/367691
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
30712068
|
2016-08-09T11:10:36
|
|
Move fast copy functions into angle::Format.
These tables were duplicated in D3D11 and D3D9, and would have to be
further duplicated into Vulkan.
BUG=angleproject:1455
Change-Id: Ice1b81417d7b14f933b61861c4a9997c260ef72e
Reviewed-on: https://chromium-review.googlesource.com/367690
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
41ee2024
|
2016-07-18T16:22:03
|
|
D3D11: Improvements on ETC1 to BC1 transcode.
ETC1 data doesn't need to be fully decoded before encoding to BC1. Saves
~50% computation.
BUG=angleproject:1285
Change-Id: I0cb479a08159ccd0472e5fdf40dd84323151883c
Reviewed-on: https://chromium-review.googlesource.com/361553
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8cf70d55
|
2016-08-09T11:10:35
|
|
D3D11: Rename ANGLEFormatSet to Format.
BUG=angleproject:1455
Change-Id: I896b3ed2d5e4ff3ad72de9a3a4b554841129e4e9
Reviewed-on: https://chromium-review.googlesource.com/367093
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c98cd326
|
2016-08-09T11:10:33
|
|
D3D11: Merge d3d11::TextureFormat and ANGLEFormatSet.
BUG=angleproject:1455
Change-Id: I7fc2640ec9d73528feb526b4d8b89cabccda4d17
Reviewed-on: https://chromium-review.googlesource.com/367092
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e5922891
|
2016-08-09T11:10:32
|
|
D3D11: Partially squash D3D11 format types.
d3d11::TextureFormat and d3d11::FormatSet don't really do different
things, so it would be best to merge them.
BUG=angleproject:1455
Change-Id: I8c09ae763e4cb284bb611fed9d74b9048fb9f13e
Reviewed-on: https://chromium-review.googlesource.com/367091
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
950ee3cc
|
2016-08-10T15:46:07
|
|
Update the homepage support table.
Mention our good ES 3.0 support. Also mention our multiplatform and
Vulkan support.
BUG=None
Change-Id: Ib2a3f94b56ecf3a3b20b960b3270ebbc8948a628
Reviewed-on: https://chromium-review.googlesource.com/367755
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
9a39224b
|
2016-08-09T11:10:31
|
|
D3D11: Move the swizzle format set into ANGLEFormatSet.
The only piece of data left in the d3d11::TextureFormat is the
initializer function, which could just as easily be in the
ANGLEFormatSet.
BUG=angleproject:1455
Change-Id: Iee8eb84f71807575c2a46bf4fcbf283aa1b7f565
Reviewed-on: https://chromium-review.googlesource.com/367090
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
86e0b7f7
|
2016-08-09T11:10:29
|
|
Clean up PackPixels.
BUG=angleproject:1455
Change-Id: I263719cc77ff80580a551683d062e862dee1bdab
Reviewed-on: https://chromium-review.googlesource.com/365826
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a5ac1e16
|
2016-08-09T11:10:28
|
|
D3D9: Use angle::Format when possible.
This will unify the way we call into PackPixels and also cleans u
the code. It required adding a few D3D9-specific formats to the table.
BUG=angleproject:1455
Change-Id: Ic8282f40f52cabdb2925e2bb305c26582284082d
Reviewed-on: https://chromium-review.googlesource.com/365825
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
a5b1561e
|
2016-08-09T11:10:27
|
|
Place format info in angle::Format.
Some bits of information, like the copy functions and mipmap gen
functions, can be shared across back-ends in the angle::Format
class.
Also name the info struct angle::Format, and use an enum class
angle::Format::ID to identify the particular format.
This patch introduces a new table generator for angle formats
and updates the D3D11 generator accordingly.
BUG=angleproject:1455
Change-Id: I13b8b98822b1186c6a9e436dc232c18fef50980c
Reviewed-on: https://chromium-review.googlesource.com/365824
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
20f69ce5
|
2016-08-09T11:10:26
|
|
Introduce angle::Format enum.
This general enum can encapsulate different formats between
GL/Vulkan/D3D9/D3D11/etc so we can use them in common routines like
PackPixels. It also can help us get rid of the ANGLEX enums which
we use to represent internal formats not present in GL.
It is currently used for Textures/Renderbuffers/Surfaces, but can
also be extended in the future to cover things like vertex formats.
It mirrors something like a DXGI_FORMAT in D3D11 or VkFormat.
BUG=angleproject:1455
Change-Id: I467d7b36d8fc92bb45239d56b9243d06f4e29378
Reviewed-on: https://chromium-review.googlesource.com/365413
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
383b791a
|
2016-08-05T11:22:59
|
|
Remove recover() from ParseContext
This call is a no-op. The shader parser is intended to almost always
recover from errors, so including it doesn't clarify the code either.
It's simpler to remove it entirely.
BUG=angleproject:911
TEST=angle_unittests
Change-Id: I0feae097c2807c8e9559672e7a3d50a2fc4fbdea
Reviewed-on: https://chromium-review.googlesource.com/367040
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b088360f
|
2016-08-04T17:48:58
|
|
Add compute shader special variables
Support is added for the compute shader special variables given in
OpenGL GLSL ES 3.1 Revision 4, 7.1.3 Compute Shader Special Variables.
Unit tests are added for legal and illegal usage of the special
variables.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: Idb25811c15c4044c55c611c0e73ef26eb5b3e9d7
Reviewed-on: https://chromium-review.googlesource.com/366661
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
802abe01
|
2016-08-04T17:48:32
|
|
Add compute shader compilation support in the glsl compiler
Support is added for compute shader compilation. There is a small
extension to the parser so that 'local_size_x = ', 'local_size_y = '
and 'local_size_z = ' are supported as layout qualifiers.
A few shader compilation tests are added and one which checks the AST
whether the layout qualifiers are properly parsed.
BUG=angleproject:1442
TEST=angle_unittests
TEST=angle_end2end_tests
Change-Id: I67283797d1cf13fa4ac47faa2a6e66d93a2db867
Reviewed-on: https://chromium-review.googlesource.com/362300
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
17b10a9a
|
2016-08-03T14:10:06
|
|
D3D11: Store more format info by-reference.
This CL stores the d3d11::TextureFormat by reference in the texture
storage. Adding the internalFormat to the TextureFormat allows us
to store a single ref instead of three per TextureStorage11.
Also store the format sets in a d3d11::TextureFormat by-ref instead
of by-pointer, making the code a bit cleaner.
BUG=angleproject:1455
Change-Id: I3c0e966d948c694435577d7d45dc0cd156480cdb
Reviewed-on: https://chromium-review.googlesource.com/365412
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3416ff3e
|
2016-08-04T10:13:21
|
|
D3D: Check for error before createTextureStorageEGLImage.
Previously we were just dumping any unexpected errors here. Fix this
by passing in the RT explicitly in the constructor, although we still
store the EGLImage pointer in case the RT changes.
BUG=angleproject:1455
Change-Id: Ie4d4a07c3a7b3a5ccc0a43c4e80bfc6ee43a676b
Reviewed-on: https://chromium-review.googlesource.com/365411
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f7ccaf73
|
2016-08-03T14:10:04
|
|
D3D11: Move texture format code out of the python script.
It's better to maintain the code outside of a generator script. It
gives easier formatting and updating.
BUG=angleproject:1455
Change-Id: I2b4383f1ed01545004de10024d03879201e2bf41
Reviewed-on: https://chromium-review.googlesource.com/365410
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f5207dea
|
2016-08-05T11:51:40
|
|
DisplayGLX: XSync before setting the error handler
This mirrors https://codereview.chromium.org/2206973002
BUG=628823
Change-Id: Ifd71d67df174cac3f90097c809fc91046699bed8
Reviewed-on: https://chromium-review.googlesource.com/366790
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
43341b7a
|
2016-08-03T14:10:03
|
|
D3D11: Merge FL10 and 9_3 ANGLE formats.
This will let us use ANGLE formats to describe a format layout rather
than a Renderer-specific usage. This in turn will let us use ANGLE
formats for other Renderers, as a universal thing.
BUG=angleproject:1455
Change-Id: I56492cb809d4ef6ac4b962cb12affbc853bbdaa0
Reviewed-on: https://chromium-review.googlesource.com/365269
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
509a1d46
|
2016-07-18T10:10:29
|
|
GN: Enable more MSVS warnings.
Some warnings were enabled only in standalone builds. Enabling them in
the GN config will prevent standalone build breakage and also make
some potentially harmful warnings more visible to non-Windows devs.
BUG=angleproject:1449
Change-Id: I11fe9bac957864d37af37b3860a22fcbd91946ac
Reviewed-on: https://chromium-review.googlesource.com/360961
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e1c4d39a
|
2016-08-04T11:44:34
|
|
Fix unused variable warnings.
BUG=angleproject:1442
Change-Id: I07b32d4c1f1a95f136bf922e78053e0de41c1633
Reviewed-on: https://chromium-review.googlesource.com/366083
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fbcd96db
|
2016-08-03T17:12:34
|
|
dEQP: Add simple stats reporting to GTest runs.
BUG=None
Change-Id: Ia2b59916ebb0de5a09c1f039200d6c8885dd294c
Reviewed-on: https://chromium-review.googlesource.com/365940
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c53507ca
|
2016-08-03T13:37:54
|
|
Noop cleanups to Renderer11.h and Renderer9.h
BUG=
Change-Id: I1cdaa61fa00cc418b3c0b4d9e8270e780ff0d8a6
Reviewed-on: https://chromium-review.googlesource.com/365737
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
e93d24ef
|
2016-07-28T12:06:05
|
|
Add es3.1 shader constants
The patch adds all shader built-in constants.
BUG=angleproject:1442
TEST=angle_unittests
TEST=angle_end2end_tests
Change-Id: I81cae479d6506a8faa2dce023d5fcc2c1291d521
Reviewed-on: https://chromium-review.googlesource.com/364460
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
3cbb27a1
|
2016-07-14T11:55:48
|
|
Simplify loop conditions so that they won't generate statements
Introduce an AST traverser that can move the evaluation of certain
types of loop conditions and loop expressions inside the loop. This
way subsequent AST transformations don't have to worry about cases
where they have to insert new statements to implement a loop condition
or expression.
This includes the revert of "Unfold short-circuiting operators in loop
conditions correctly". The new traverser covers the loop cases that
used to be handled in UnfoldShortCircuitToIf.
BUG=angleproject:1465
TEST=WebGL conformance tests,
dEQP-GLES2.functional.shaders.*select_iteration_count*
Change-Id: I88e50e007e924d5884a217117690ac7fa2f96d38
Reviewed-on: https://chromium-review.googlesource.com/362570
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
66fb8206
|
2016-07-28T11:45:20
|
|
Add ES3.1 API constants
The newly added capability constants are handled in the corresponding
glGet functions. Also, getBooleani_v has been added.
BUG=angleproject:1442
TEST=angle_deqp_gtest_gles31_tests
--gtest_filter=*functional_state_query_integer_max_*
TEST=angle_deqp_gtest_gles31_tests
--gtest_filter=*state_query_indexed_max_compute_work_group_size*
TEST=angle_unittests
TEST=angle_end2end_tests
Change-Id: I846e006307563ae81d8b6c62cf261417e15186c7
Reviewed-on: https://chromium-review.googlesource.com/362270
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
f54b14fc
|
2016-08-02T11:28:13
|
|
Remove angle_standalone from GYP files
BUG=angleproject:1462
Change-Id: Ifdd714e2bc1f0a184f63f8ef162facce5286e935
Reviewed-on: https://chromium-review.googlesource.com/365233
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
97073d12
|
2016-04-20T10:42:34
|
|
Implement CHROMIUM_copy_texture for D3D11.
BUG=angleproject:1356
Change-Id: I70246762411dbeeb3e291e317854139a68d80070
Reviewed-on: https://chromium-review.googlesource.com/339434
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
59a334fc
|
2016-08-02T11:29:45
|
|
Remove ANGLE's isolate
BUG=angleproject:1462
Change-Id: I549692583bbf35edc4e383f8fb7e0dff17c28594
Reviewed-on: https://chromium-review.googlesource.com/365234
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
9c721c64
|
2016-08-02T14:56:23
|
|
Check for device loss on all applicable EGL entry-points
This will make applications aware of device loss on all EGL calls that
need to have an initialized display. For that purpose, we track the
device loss state at the egl::Display level instead of always querying
the implementation. This is correct because at device-loss at the
display level is non-recoverable. It also deduplicates the tracking
that would have to be done in all the EGL backends.
Changes made in this commit:
- Cached device loss in egl::Display
- Check isDeviceLost in ValidateDisplay
- Changed EGL entry-points testing isDeviceLost to explicitely request
a testDeviceLost
- Add calls to ValidateDisplay to entry-points missing it
- Removed unused virtual qualifiers for some robustness methods
BUG=angleproject:1463
Change-Id: I92bea81f2ecd5423c445cff31557a4d9783557d5
Reviewed-on: https://chromium-review.googlesource.com/365450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
6bbdce5b
|
2016-08-02T12:32:00
|
|
D3D11: Remove X24G8 special format.
This special format means we're using a depth/stencil format with only
the stencil channel being used. We can just use a normal D24S8 format
here, there's pretty much no difference.
BUG=angleproject:1455
Change-Id: Id304094b92814f38930209a703733190ad8e8410
Reviewed-on: https://chromium-review.googlesource.com/359086
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7a074768
|
2016-08-02T12:31:59
|
|
D3D11: Remove 'non-renderable' texture formats.
The only difference between the NONRENDERABLE and normal versions of
the formats is the rtvFormat is blank for non-renderable. The only
place that I can see we check rtvFormat to make a decision is in
TextureStorage11::GetTextureBindFlags. The rtvFormat here isn't
necessary because we also check the 'renderTarget' flag, which won't
be true for compressed formats at any time.
BUG=angleproject:1455
Change-Id: Icbb438d336e67b80c44a0ab8de995a32b92e451e
Reviewed-on: https://chromium-review.googlesource.com/359085
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
00d6796a
|
2016-07-28T16:20:21
|
|
Replace std::set with vector for signal receivers.
This should make insertion much faster, which will improve the speed
of many BindBuffer calls.
BUG=angleproject:1458
Change-Id: I3f7ebc02cc481257be8b84773506b9ac9e3be677
Reviewed-on: https://chromium-review.googlesource.com/364221
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
11b30612
|
2016-08-02T12:31:58
|
|
D3D11: Store ANGLEFormatSets instead of ANGLEFormats.
This saves us looking up the FormatSet repeatedly.
BUG=angleproject:1455
Change-Id: I77890c1eb427e7d087ceaf194a5001b8b03585d4
Reviewed-on: https://chromium-review.googlesource.com/359084
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aae1e4ae
|
2016-08-01T09:44:09
|
|
ShCheckVariablesWithinPackingLimits: remove deprecated overload
BUG=621031
Change-Id: Ib4cdd88ecd58f617813a91379a8b8b518fba149b
Reviewed-on: https://chromium-review.googlesource.com/364910
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
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>
|