|
b2931601
|
2017-04-11T15:58:57
|
|
Add robust entry point for CompressedTex(Sub)Image
BUG=angleproject:1354
Change-Id: I925db827c4ccf4e6f037a058f8f6b960a56047e1
Reviewed-on: https://chromium-review.googlesource.com/474964
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b36e5393
|
2017-04-12T15:45:13
|
|
D3D: Return an empty string when the translated shader source is empty.
TEST=conformance/extensions/webgl-debug-shaders
BUG=angleproject:1991
Change-Id: Id210ec43501c4e4f3db2c8a0aec25e1d20b18d33
Reviewed-on: https://chromium-review.googlesource.com/475992
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
33151a53
|
2017-04-13T09:58:17
|
|
Code refactoring: remove unneeded variables
BUG=angleproject:1996
Change-Id: If635bf836251f90ec40d791b5f80d43f751aad9b
Reviewed-on: https://chromium-review.googlesource.com/476079
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d1bed175
|
2017-04-12T17:35:54
|
|
Reverse the order of array variable initialization
This works around a bug on Adreno 3xx in which array varying variables
are assigned in the reverse order.
BUG=chromium:709317
Change-Id: I86a345747f293ca8a2cb9a281bd1b752e66dcd3a
Reviewed-on: https://chromium-review.googlesource.com/475979
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c1d770e8
|
2017-04-13T17:31:24
|
|
Refactor remaining GLES 2.0 entry points.
This will pave the way for several features, like auto-generation.
BUG=angleproject:747
Change-Id: Ic390ac412f4e6b61346629093f185a4c07ea0284
Reviewed-on: https://chromium-review.googlesource.com/474118
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
3c68079c
|
2017-04-05T15:04:36
|
|
Update deqp expectations file for default fbo tests.
Deqp test case dEQP-GLES31.functional.fbo.no_attachments.maximums.all
fails on nvidia driver.
BUG=angleproject:1594
TEST=dEQP-GLES31.functional.fbo.no_attachments.*
TEST=dEQP-GLES31.functional.fbo.completeness.no_attachments
Change-Id: I31db12b10b4fb915135b12912738d9c14de1e585
Reviewed-on: https://chromium-review.googlesource.com/468649
Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a9042d3c
|
2017-03-17T08:50:45
|
|
ES31: Add array element transformfeedback
This enhances the PackedVarying to be either one element of array, or
whole array. Correspondingly the VaryingPacking is expanded to pack it
properly.
BUG=angleproject:1950
Change-Id: I0529d7ac4367d42b2b433410fbf08351412aada8
Reviewed-on: https://chromium-review.googlesource.com/459115
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e839078e
|
2017-04-06T14:34:43
|
|
compiler: Prune literal statements when outputting ESSL
The ESSL output doesn't have a default precision for floats, this causes
float literal statements to not have any precision defined, which is an
error. We fix this by removing literal statements as they are dead code
anyway.
BUG=angleproject:1967
Change-Id: I498f4f8495f854240ee8a2182415bf982c5166a4
Reviewed-on: https://chromium-review.googlesource.com/470268
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
6e60d6bf
|
2017-04-12T12:59:04
|
|
Don't allow deleting the 0 transform feedback.
BUG=709786
Change-Id: I956cae994241a650869cee45c471074d08e79a5d
Reviewed-on: https://chromium-review.googlesource.com/475131
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
67f5ce42
|
2017-04-12T10:32:36
|
|
Fix the texture completeness cache.
Two silly mistakes were landed in 9aded1:
* The cache was not updating the sampler state it was using to compare
against new ones.
* The SamplerCompletenessCache entry was being copied and not updated.
BUG=709980
Change-Id: I1914ed30e24b9e48c4504da164f013a637a0b6c2
Reviewed-on: https://chromium-review.googlesource.com/475752
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
1e5499db
|
2017-04-05T11:22:16
|
|
Refactor Signal utils into template classes.
This will allow us to pass on extra information to the receiving end,
such as the specific texture levels that are dirty.
BUG=angleproject:1635
Change-Id: Idb7ca1d625499e50e7712c458b694f6e9bfc0595
Reviewed-on: https://chromium-review.googlesource.com/453382
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2b39659d
|
2017-03-29T15:36:04
|
|
ES31: Implement glDispatchCompute for OpenGL backend
This patch refers to https://chromium-review.googlesource.com/c/380639/
BUG=angleproject:1955
TESTCASE=angle_end2end_tests
Change-Id: Iafd7a6ba2d71c0b332d9267a1260d9dbd9800c02
Reviewed-on: https://chromium-review.googlesource.com/462089
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e918de22
|
2017-04-12T10:21:11
|
|
Vulkan: Don't finish on swap.
This will enable the next frame to render while the previous frame's
command buffers are executing and rendering is happening. This should
speed up the Vulkan perf test.
BUG=angleproject:1898
Change-Id: I0820300d7934ef280cf75628239fe40dc96b8242
Reviewed-on: https://chromium-review.googlesource.com/445799
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
82483b93
|
2017-04-11T15:33:00
|
|
Obey the bufSize and write to the length parameter in glGetSynciv.
BUG=angleproject:1985
TEST=conformance2/state/gl-object-get-calls
Change-Id: Ic83c408b60d394ff5719beaedc5d4721b7811a47
Reviewed-on: https://chromium-review.googlesource.com/474551
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
38f2cfb8
|
2017-04-11T15:23:08
|
|
Refactor validation of glGetSynciv.
BUG=angleproject:1985
Change-Id: Idf1057e6d8d8c850643e3b2a22be5a881c8a2301
Reviewed-on: https://chromium-review.googlesource.com/474550
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
58337799
|
2017-03-21T13:49:57
|
|
Correctly initialize the condition of FenceSync objects.
The spec says that the initial condition of a FenceSync object should be
GL_SYNC_GPU_COMMANDS_COMPLETE. Make sure this is set in case the
condition is queried before the fence is set.
TEST=conformance2/state/gl-object-get-calls.html
BUG=602688
Change-Id: I8c0451fc996c175109541f337191cc1be4b813e3
Reviewed-on: https://chromium-review.googlesource.com/457452
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
46258e1f
|
2017-04-10T12:28:34
|
|
Blit9: Pass the dest rect to setViewportAndShaderConstants.
Using the sourceRect for calculating the viewport and texture coordinates
was not enough when the source and destination rectangles were different
sizes (generating mipmaps).
BUG=709232
Change-Id: I2704ddf6e3da0939ad77d278ab495e53a2d9bc7d
Reviewed-on: https://chromium-review.googlesource.com/473266
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
eb8abb0a
|
2017-04-11T08:30:38
|
|
Remove unused declaration
isValidResourceIndex in Program.h is unused.
BUG=angleproject:1920
Change-Id: Ide097348fac7ed97a0e07f3d97d7944ac997f71d
Reviewed-on: https://chromium-review.googlesource.com/474229
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5ed601b4
|
2017-04-10T18:50:10
|
|
Fix IsOzone() predicate.
ANGLE_USE_OZONE is not defined in tests, but USE_OZONE is so use the latter.
BUG=angleproject:1423
Change-Id: Ib758fec6a1bb8d5cc66d0994cba2142e6a7f82b0
Reviewed-on: https://chromium-review.googlesource.com/474113
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
20e005b2
|
2017-04-07T14:19:22
|
|
Rename BitSetIterator.h to bitset_utils.h
BUG=angleproject:1814
Change-Id: I152ae13b6b7cf0ba72259967f0f124e199b20e07
Reviewed-on: https://chromium-review.googlesource.com/471826
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
03b333b4
|
2017-04-07T14:54:10
|
|
Vulkan: Fix Clang warning and fix build.
The data_deps section for angle_vulkan was referencing a variable
that didn't exist (no warning for this). Fix the deps which also
then exposes the build problem with the layers with Clang in 32-bit.
Also fix not propagating the Win32 defines to the layer utils.
BUG=chromium:708835
Change-Id: I4a457bfabf1ca735d3f3f3d8b0f0823cfa834b84
Reviewed-on: https://chromium-review.googlesource.com/470087
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
067cdb4a
|
2017-04-05T13:42:49
|
|
Create depth stencils for D3D texture EGL surfaces.
BUG=angleproject:1144
Change-Id: I42d80293c06e40197fe100bcac31a5c6bd414edf
Reviewed-on: https://chromium-review.googlesource.com/469106
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
fa416b18
|
2017-04-06T11:34:17
|
|
Disable ValidationESTest.DrawElementsWithMaxIndexGivesError.
Temporarily until we have a proper fix.
BUG=chromium:708835
Change-Id: I9c1d63d8d1f831f2a4a168149b7ff805bc851def
Reviewed-on: https://chromium-review.googlesource.com/469967
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6f1c3de9
|
2017-04-05T16:40:15
|
|
gpu_info_util: fix a DeviceInfo leak on Windows
BUG=angleproject:1874
Change-Id: I382e306ce0c27a81e0d746fb9922fa12988927d4
Reviewed-on: https://chromium-review.googlesource.com/469230
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
df55f252
|
2017-04-05T15:32:06
|
|
Skip a couple end2end tests on Ozone.
Skip the following two end2end tests on Ozone pending investigation:
IndexedPointsTestUShort.VertexWithColorUnsignedShortOffsetChangingIndices/ES2_OPENGLES
SRGBTextureTest.SRGBDecodeTextureParameter/ES2_OPENGLES
BUG=angleproject:1423
Change-Id: Ied5b42903421ae9f388e8563814e3fe28eeb7b3e
Reviewed-on: https://chromium-review.googlesource.com/469087
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
72106562
|
2017-03-24T14:18:50
|
|
Vulkan: Only re-create pipeline on state change.
This speeds up the simple perf test, but it is a very simple
optimization that does not have a cache of pipelines or anything
sophisticated.
BUG=angleproject:1898
Change-Id: Iec126bc73bf28f8bb33662a2f70670588f010d72
Reviewed-on: https://chromium-review.googlesource.com/444850
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5e96d74f
|
2017-04-05T16:26:14
|
|
Allow the OpenGL ES backend to be used with dEQP on Windows.
Change-Id: I79e013ca2be57916affb167f5b348cc414d581ba
Reviewed-on: https://chromium-review.googlesource.com/469189
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6e0d8410
|
2017-04-05T15:15:10
|
|
Add IsOzone().
Add a function to check for the Ozone back end for use in skipping tests.
BUG=angleproject:1423
Change-Id: Ida3313e8cce5179422bdca85ba68f9765dfac840
Reviewed-on: https://chromium-review.googlesource.com/469068
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
9aded17c
|
2017-04-05T11:07:56
|
|
Invalidate completeness caches when enabling extensions.
Enabling extensions can cause framebuffers and textures to go from
incomplete to complete.
No functional changes from the API surface.
BUG=angleproject:1523
BUG=angleproject:1958
Change-Id: Iff686e1c292f6cf4921d6fffd7eb98bedaba828b
Reviewed-on: https://chromium-review.googlesource.com/468410
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
60e17eab
|
2017-04-05T11:01:49
|
|
Vulkan: Fix 32-bit Clang build.
We were getting a warning:
stdcall calling convention ignored on variadic function
BUG=None
Change-Id: I9165b285dfaf6bc238f946fda2d733292789390d
Reviewed-on: https://chromium-review.googlesource.com/468373
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
562c9686
|
2017-04-04T17:28:43
|
|
Clean up legacy code in VertexAttributeTest.cpp
This patch intends to clean up some coding style issues in
VertexAttributeTest.cpp, which is helpful to implement Vertex
Attrib Binding.
1. Use std::string directly instead of macro SHADER_SOURCE
2. Use constexpr on constants
3. Use std::array instead of traditional C-style arrays
BUG=angleproject:1593
Change-Id: I5b6f6d4fe0e34e82a9fc38cb54932fbc39e19a80
Reviewed-on: https://chromium-review.googlesource.com/467406
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f2209f74
|
2017-04-01T12:45:55
|
|
Clean up function name mangling code
Fix a few incorrect comments about mangled names, and refactor
generating mangled names from function call nodes.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: I3ee68c4c0982f1a9c28d8e87aafa19f19559bbf8
Reviewed-on: https://chromium-review.googlesource.com/465826
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
dd43e6cd
|
2017-03-24T14:18:49
|
|
Pass Context to VertexArray and Framebuffer syncstate.
This will enable more Vulkan-friendly idioms like clearing the
vulkan pipeline caches correctly on GL state changes immediately
because we have access to the ContextVk.
BUG=angleproject:1898
Change-Id: I16c848d8abdde8e26a38d384e565cec8548a66d0
Reviewed-on: https://chromium-review.googlesource.com/459079
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2360ed0c
|
2017-04-04T15:06:09
|
|
Disable the EGLSyncControlTest
This test is very flaky on Windows bots.
TBR=stanisc@chromium.org
BUG=angleproject:1402
Change-Id: Iddfc630113c33cb79a96b7882fe8fa0e7fbf17d7
Reviewed-on: https://chromium-review.googlesource.com/468026
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e93dabaa
|
2017-03-30T13:54:40
|
|
Output the number of columns and rows written for robust ReadPixels.
BUG=angleproject:1354
Change-Id: Ib78f74d7b1a449468e2c477955f6795dc5dbc811
Reviewed-on: https://chromium-review.googlesource.com/463786
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6b2ea3fe
|
2017-03-28T11:49:17
|
|
Support D3D texture share handles in the OpenGL backend on Windows.
BUG=angleproject:1144
Change-Id: Ideb0ed306ae8417f53b813745ced43002d028126
Reviewed-on: https://chromium-review.googlesource.com/461271
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9ec79391
|
2017-03-31T23:04:23
|
|
Use TLValueTrackingTraverser in ValidateLimitations
Use TLValueTrackingTraverser to determine whether a loop index is used
as an l-value. This replaces custom logic in ValidateLimitations,
greatly simplifying the code. Also pass the symbol table to
ValidateLimitations as a parameter, which removes the need to store a
global pointer to the current ParseContext.
BUG=angleproject:1960
TEST=angle_unittests, WebGL conformance tests
Change-Id: I122c85c78bbea05833d7c787cd184de568c5c45f
Reviewed-on: https://chromium-review.googlesource.com/465606
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b5e884a4
|
2017-03-09T19:33:33
|
|
Clear11 VerticesTransform, RasterizerStates, ScissorRect
- Skip clears if an empty scissor rect is set
- Use rastStates to apply scissoring instead of recomputing the scissored
positions and updating the VB and updating the VB for every clear
- Use ComPtrs for VB and RasterizerStates
BUG=angleproject:1934
Change-Id: Ib4448d8568b465df5de57607be4985095f6bd014
Reviewed-on: https://chromium-review.googlesource.com/453881
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
420ba154
|
2016-09-20T00:00:53
|
|
Update dEQP gles3 tests expectations for Android
Mark tests that fail or hang on Nexus 5X as such.
BUG=angleproject:1532
TEST=gles3 tests pass on Nexus 5X
Change-Id: Id4c31884890bd48595a83be14e8d56342f7fbe59
Reviewed-on: https://chromium-review.googlesource.com/387148
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9cb2c262
|
2017-04-03T10:12:04
|
|
Re-land: Roll vulkan-validation-layers. (2/2)
https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f
This CL re-enables Vulkan with the new build files.
In particular, this roll contains a fix for a vs2017 signed/unsigned
mismatch warning as error.
Re-land fixes build dependencies.
BUG=chromium:683729
Change-Id: If2b1bc7250037c33402965eae354ca550ecd36c0
Reviewed-on: https://chromium-review.googlesource.com/466106
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f546e7df
|
2017-03-27T14:12:59
|
|
ES31: Add GL_SHADER_STORAGE_BUFFER_BINDING binding point
The affected APIs are below:
getIntegeri_v getInteger64i_v BindBuffer BindBufferBase BindBufferRange
BUG=angleproject:1951
TEST=dEQP-GLES31.functional.state_query.integer.shader_storage_buffer_binding_*
dEQP-GLES31.functional.state_query.indexed.shader_storage_buffer_*
Change-Id: Ief7186b2ebe305f14e620c31841bc244f84429a5
Reviewed-on: https://chromium-review.googlesource.com/459093
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
fd7c3b52
|
2017-03-21T15:36:03
|
|
ES31: Add glGetProgramResourceName API
Add API entry and validation checks(GLES 3.1 section 7.3).
Add the first 2 interfaces(PROGRAM_INPUT and PROGRAM_OUTPUT) implementation.
BUG=angleproject:1920
Change-Id: Ide7d5ad40a611a091c3dffab47fd31da57b69f1d
Reviewed-on: https://chromium-review.googlesource.com/457523
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ec9232bd
|
2017-03-27T17:01:37
|
|
Store unmangled function names in the AST
This makes the code simpler across the board. There are a few cases
where mangled names still need to be generated in AST traversers, but
they are outweighed by much leaner output code for all function nodes.
BUG=angleproject:1490
TEST=angle_unittests, angle_end2end_tests
Change-Id: Id3638e0fca6019bbbe6fc5e1b7763870591da2d8
Reviewed-on: https://chromium-review.googlesource.com/461077
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
495bd776
|
2017-03-29T12:40:28
|
|
Update deqp31 test expectations
Remove the following deqp cases from deqp_gles31_test_expectations.txt
since they can pass now due to
https://chromium-review.googlesource.com/c/430199/4/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
BUG=angleproject:1442
TEST=dEQP-GLES31.functional.state_query.integer.max_compute_work_group_invocations_*
dEQP-GLES31.functional.state_query.integer.max_compute_uniform_blocks_*
dEQP-GLES31.functional.state_query.integer.max_compute_texture_image_units_*
dEQP-GLES31.functional.state_query.integer.max_compute_uniform_components_*
dEQP-GLES31.functional.state_query.integer.max_uniform_locations_*
dEQP-GLES31.functional.state_query.indexed.max_compute_work_group_count_*
dEQP-GLES31.functional.state_query.indexed.max_compute_work_group_size_*
Change-Id: I121588cdb5d5b67c5b1d76e8710b2f53f35ede15
Reviewed-on: https://chromium-review.googlesource.com/461732
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
fe48632f
|
2017-03-21T09:30:54
|
|
Prefer identifying functions by using symbol ids
The shader translator code is now structured in a way that ensures
that all function definition, function prototype and function call
nodes store the integer symbol id for the function. This is guaranteed
regardless of whether the function node is added while parsing or as a
result of an AST transformation. TIntermAggregate nodes, which include
function calls and constructors can now only be created by calling one
of the TIntermAggregate::Create*() functions to ensure they have all
the necessary properties.
This makes it possible to keep track of functions using integer ids
instead of their mangled name strings when generating the call graph
and when using TLValueTrackingTraverser.
This commit includes a few other small cleanups to the CallDAG class
as well.
BUG=angleproject:1490
TEST=angle_unittests, angle_end2end_tests
Change-Id: Idd1013506cbe4c3380e20d90524a9cd09b890259
Reviewed-on: https://chromium-review.googlesource.com/459603
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
76e6565e
|
2017-03-27T14:58:02
|
|
Validate clear attachment formats match color clear types.
TEST=conformance2/rendering/clear-func-buffer-type-match.html
BUG=angleproject:1954
Change-Id: Iefeb38041608f11781f87aadb8611737ba2ee96f
Reviewed-on: https://chromium-review.googlesource.com/461270
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
005a7016
|
2017-03-27T13:17:34
|
|
Adjust the FBO invalidate attachment enums for emulated default FBOs.
BUG=angleproject:1953
Change-Id: I7f325e3b7400e12077cdf9106a83a747a318a299
Reviewed-on: https://chromium-review.googlesource.com/461297
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9e1bf10b
|
2017-03-28T15:10:48
|
|
Strip null characters from the shader source when building translated source.
Some shaders had trailing null characters that caused the resulting
translated source string to not output correctly.
BUG=angleproject:1144
Change-Id: I7cd725ee54c9e934fd3cc511de9c2a3c34ac3eec
Reviewed-on: https://chromium-review.googlesource.com/461272
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8f77e5d3
|
2017-03-24T11:58:59
|
|
gpu_info_util: Implement GetSystemInfo on Windows
BUG=angleproject:1874
Change-Id: I97a02d2c8b1f7ecb530684464fc02f528d34de7c
Reviewed-on: https://chromium-review.googlesource.com/458965
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
2d62ab72
|
2017-03-23T16:54:40
|
|
Apply WebGL validation to glVertexAttribIPointer.
TEST=deqp/functional/gles3/shaderstatequery.html
BUG=angleproject:1523
BUG=chromium:668223
Change-Id: I24230144f8529d84cdbde3d5a8ad9178481550a9
Reviewed-on: https://chromium-review.googlesource.com/458680
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
80957d99
|
2017-02-20T21:25:59
|
|
ES31: Implement Vertex Attrib Binding entry points
This patch intends to implement all entry points related to Vertex
Attrib Binding.
(1) Add entry points and validation code on following APIs:
- VertexAttribFormat
- VertexAttribIFormat
- VertexAttribBinding
- BindVertexBuffer
- VertexBindingDivisor
(2) Add queries on following parameters:
- VERTEX_ATTRIB_BINDING
- VERTEX_ATTRIB_RELATIVE_OFFSET
- VERTEX_BINDING_DIVISOR
- VERTEX_BINDING_OFFSET
- VERTEX_BINDING_STRIDE
- VERTEX_BINDING_BUFFER
BUG=angleproject:1593
TEST=angle_end2end_tests
TEST=angle_unittests
TEST=dEQP-GLES31.functional.state_query.integer.max_vertex_attrib_relative_offset_*
TEST=dEQP-GLES31.functional.state_query.integer.max_vertex_attrib_bindings_*
TEST=dEQP-GLES31.functional.state_query.integer.max_vertex_attrib_stride_*
TEST=dEQP-GLES31.functional.state_query.vertex_attribute_binding.*
TEST=dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array.vertex_attrib_pointer
TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.vertex_attrib_format
TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.vertex_attrib_i_format
Change-Id: I4b477a82df6aad89b89b088580a06d66963e6666
Reviewed-on: https://chromium-review.googlesource.com/446124
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
484dd7b1
|
2017-03-07T16:39:22
|
|
ES31: Implement DrawElementsIndirect D3D part
The implementation of DrawElementsIndirect is similar with
DrawArraysIndirect except that it needs to apply IndexBuffer.
BUG=angleproject:1595
TEST=dEQP-GLES31.functional.draw_indirect.draw_elements_indirect*
dEQP-GLES31.functional.draw_indirect.instancing.*
dEQP-GLES31.functional.draw_indirect.random.*
Change-Id: I5d2c8a7485b18b724fdda6fd964013c941e45b4f
Reviewed-on: https://chromium-review.googlesource.com/455520
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
795e7573
|
2017-03-28T15:47:21
|
|
Revert "Roll vulkan-validation-layers. (2/2)"
This reverts commit 2feaa5e0ac6b779e13254c84b41de436f5d14765.
Reason for revert: Broke the Chrome Windows builders.
Build: https://build.chromium.org/p/chromium/builders/Win/builds/53432
Error: src\third_party\vulkan-validation-layers\src\include\vulkan\vk_layer.h(39): fatal error C1083: Cannot open include file: 'vk_layer_dispatch_table.h': No such file or directory
Original change's description:
> Roll vulkan-validation-layers. (2/2)
>
> https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f
>
> This CL re-enables Vulkan with the new build files.
>
> In particular, this roll contains a fix for a vs2017 signed/unsigned
> mismatch warning as error.
>
> BUG=chromium:683729
>
> Change-Id: Id38e10f97702cac5a51ee194c81972861f15db21
> Reviewed-on: https://chromium-review.googlesource.com/457278
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
>
TBR=geofflang@chromium.org,jmadill@chromium.org,bungeman@chromium.org,cwallez@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=chromium:683729
Change-Id: Ic60f22496fc57904132d574a2fb2c1ca4d875b3e
Reviewed-on: https://chromium-review.googlesource.com/461999
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
61afff14
|
2017-03-14T15:34:03
|
|
ES31: Add PROGRAM_SEPARABLE to ProgramParameter and GetProgram
BUG=angleproject:1939
TEST=angle_end2end_tests
Change-Id: I97ad11360f7c015947a2c0cc7d4a47f994726834
Reviewed-on: https://chromium-review.googlesource.com/454264
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
48fed633
|
2017-03-16T12:05:30
|
|
Set sampler uniform values from binding qualifiers
The usual set uniform call is used to set initial sampler uniform
values based on binding layout qualifiers. This is the simplest way to
ensure that the uniform values are set correctly in both internal data
structures of the Program class and on the different backends. This is
done as one of the last steps of program linking.
TEST=dEQP-GLES31.functional.uniform_binding.sampler*
BUG=angleproject:1442
Change-Id: I2f58c98e175f6a10a90042050f4fcbea77ad97ac
Reviewed-on: https://chromium-review.googlesource.com/456597
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fc72a073
|
2017-03-24T14:52:39
|
|
Update CHROMIUM_copy_texture entry points to the ES3 versions.
BUG=angleproject:1932
Change-Id: Ia45f8522320af1d747fbfb57468e8b881b033543
Reviewed-on: https://chromium-review.googlesource.com/459101
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ee218f27
|
2017-03-22T15:39:13
|
|
Re-land eglGetSyncValuesCHROMIUM extension.
This reverts commit 20c97cac2a15144b61ceec7404a9e6249c40f50a
and adds a few trivial changes to make it build with the current version
of ANGLE code.
Please see https://bugs.chromium.org/p/chromium/issues/detail?id=614147
for more details on how this extension will be used.
Original description:
This change adds implementation of eglGetSyncValuesCHROMIUM extension
on D3D11 with Direct Composition. This should work on Windows 8.1 and
above.
The implementation is based on IDXGISwapChain::GetFrameStatistics.
Extension documentation:
https://chromium.googlesource.com/chromium/src/gpu/+/master/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_get_sync_values.txt
BUG=angleproject:1402
Change-Id: I4b77899f31a4c4cf1fa7f20ab12de5a02ccf74d8
Reviewed-on: https://chromium-review.googlesource.com/459217
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2feaa5e0
|
2017-03-24T13:04:21
|
|
Roll vulkan-validation-layers. (2/2)
https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f
This CL re-enables Vulkan with the new build files.
In particular, this roll contains a fix for a vs2017 signed/unsigned
mismatch warning as error.
BUG=chromium:683729
Change-Id: Id38e10f97702cac5a51ee194c81972861f15db21
Reviewed-on: https://chromium-review.googlesource.com/457278
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
aa086d68
|
2017-03-23T16:47:21
|
|
Refactor glVertexAttribIPointer validation.
BUG=angleproject:1523
BUG=chromium:668223
Change-Id: I51eca98ad14d8be6f5009149ed6c0daecf569178
Reviewed-on: https://chromium-review.googlesource.com/458106
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
4063e209
|
2017-03-23T11:38:22
|
|
Roll vulkan-validation-layers. (1/2)
https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f
Disables Vulkan in ANGLE temporarily - a second CL will follow with
the updated build files once ANGLE is rolled into Chrome.
In particular, this roll contains a fix for a vs2017 signed/unsigned
mismatch warning as error.
BUG=chromium:683729
Change-Id: Ib23370d79f1359ab290f08e14a847eed75251660
Reviewed-on: https://chromium-review.googlesource.com/458531
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
15015f7f
|
2017-03-16T13:54:21
|
|
ES31: Add glGetProgramResourceIndex API
Add API entry and validation checks(GLES 3.1 section 7.3).
Add the first 2 interfaces(PROGRAM_INPUT and PROGRAM_OUTPUT) implementation.
BUG=angleproject:1920
Change-Id: Ib2dedded9fd79b315e9f38de7c27a5e4ec4c6066
Reviewed-on: https://chromium-review.googlesource.com/453085
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
f651c773
|
2017-02-21T15:03:51
|
|
Vulkan: Enable command queueing.
This adds the ability for rendering to happen asynchronously. If
objects in-use are deleted as they are being accessed, ownership
is transferred to the Renderer and they are deleted when not in
use. We determine they're ready for delete using a Fence object.
BUG=angleproject:1898
Change-Id: I4fcfd90ad0665d127bf01a10214a604f3407d9e4
Reviewed-on: https://chromium-review.googlesource.com/428353
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a5527071
|
2017-03-22T16:46:30
|
|
Add support for EXT_YUV_target
Add new sampler type "__samplerExternal2DY2YEXT"
to sample a YUV texture image and output color value
without any color conversion,
new additional type to specify color space standard formula and
built-in functions for yuv to rgb transformation.
Change-Id: I1780650fe84cd75191c1ca1e4118e89d585bfd92
Reviewed-on: https://chromium-review.googlesource.com/454697
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
95f6cedd
|
2017-03-13T17:40:31
|
|
RenderstateCache and Clear11 Optimizations
- Unify DepthStencilState and BlendState caches in RenderStateCache with those in Clear11. This
will increase cache hit rate and reduce memory usage.
- Apply DepthStencilState and BlendState only when required to reduce state sets.
BUG=angleproject:1632
Change-Id: I244e3ba189f82814638fa90e2617aa5441024d0f
Reviewed-on: https://chromium-review.googlesource.com/453888
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d90d388c
|
2017-03-21T10:49:54
|
|
Make sure the default framebuffer has enough draw buffer states.
Querying the draw buffer states of the default framebuffer would lead to
crashes because it only had one state. The spec says that all non-zero
attachments default to GL_NONE and makes no mention of special cased
errors for querying the default framebuffer.
Also fix the validation to check for extensions and ES version when
querying draw buffer state.
BUG=703508
Change-Id: I7db5443141c65a3f9c638f07ba90f78d76e4e7b4
Reviewed-on: https://chromium-review.googlesource.com/457524
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
86904b81
|
2017-03-21T09:30:59
|
|
ES31: Add workaround for illegal MAX_VERTEX_ATTRIB_STRIDE on Linux AMD
Query of MAX_VERTEX_ATTRIB_STRIDE on some Linux AMD OpenGL drivers
returns 0 even if the context is OpenGL 4.4 and 4.5, which is against
SPEC and will block the implementation of ES3.1 feature Vertex Attrib
Binding.
This patch adds the workaround for this bug by choosing an emulated
value (2048) as the value of MAX_VERTEX_ATTRIB_STRIDE on Linux AMD
OpenGL drivers.
BUG=angleproject:1936
TEST=angle_end2end_tests
Change-Id: I831bda6cb94b2489d09735622150d35aa1948274
Reviewed-on: https://chromium-review.googlesource.com/457254
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e466c551
|
2017-03-17T15:24:12
|
|
Preserve ImageIndex of texture attachments when committing.
When calling Framebuffer::commitWebGL1DepthStencilIfConsistent with
textures attached to depth or stencil, an invalid ImageIndex would be
provided and later cause crashes when trying to index image arrays with a
-1 mip level.
BUG=angleproject:1708
Change-Id: Iadd159ad740aa79561de823d8812c6b07454e5e5
Reviewed-on: https://chromium-review.googlesource.com/456840
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d7d526ad
|
2017-02-21T16:48:43
|
|
Allow enabling GL_EXT_texture_filter_anisotropic.
BUG=angleproject:1721
Change-Id: I7cbc734915cde7d09165a3fcfe9a6bc0d7149aff
Reviewed-on: https://chromium-review.googlesource.com/445959
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8aeeed6e
|
2017-03-15T18:09:26
|
|
D3D11: Work around compiler nested sampling bug.
We can potentially work around a bug in the HLSL compiler by
omitting the const qualifier from some sampling operations.
BUG=angleproject:1923
Change-Id: I8a5d119707721e9c19f06be4ad808f87bfcdbee5
Reviewed-on: https://chromium-review.googlesource.com/454938
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a5eb2941
|
2017-03-09T17:03:54
|
|
Remove unused/unnecessary stuff.
Change-Id: Ib409fee5422765cc4124a59a690a93c0fb2de8e7
Reviewed-on: https://chromium-review.googlesource.com/456123
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
e11bf7bd
|
2017-03-15T13:23:50
|
|
Lift uniform packing test suppressions.
These were to be lifted in "Fix non-square matrix uniform packing."
BUG=angleproject:1923
Change-Id: I6c5cc973f9dff31ffefdfda9fe640b97d28799ad
Reviewed-on: https://chromium-review.googlesource.com/455466
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cc2ed612
|
2017-03-14T15:59:00
|
|
Fix non-square matrix uniform packing.
This was broken in two places: the register count was using the non-
transposed matrix row count. The block layout encoder was also not
set to transpose matrices, which was causing incorrect packing info
to be calculated in link.
BUG=angleproject:1923
Change-Id: I89094aa116fad4bda15f018498f8637520f12bd4
Reviewed-on: https://chromium-review.googlesource.com/454876
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
36e120ef
|
2017-03-14T14:53:58
|
|
Refactor the staticUse checks for attribute and output
Remove these needless checks as GetActiveShaderVariables in Shader.cpp has
filtered them already.
BUG=angleproject:1920
Change-Id: Ife85614a8f636768dd585a827bca81e2f15009c8
Reviewed-on: https://chromium-review.googlesource.com/454129
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ded1b5a6
|
2017-03-09T18:58:48
|
|
WebGL Compat: make sure to test the correct error
In ForbidsClientSideElementArrayBuffer we test that WebGL Compatibility
returns a GL_INVALID_OPERATION but on NVIDIA Shield, the pointer had the
top bit set and caused a GL_INVALID_VALUE to be generated instead. Use a
intptr_t(1) for indices to test the correct error.
BUG=angleproject:1523
Change-Id: I1497694264befa14b2b6df167b4f20fdbb707983
Reviewed-on: https://chromium-review.googlesource.com/452547
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
ddb5eb56
|
2017-03-14T13:36:18
|
|
Fix build failure in UniformLinker.cpp on Linux
This patch adds the declaration of libANGLE/features.h in UniformLinker.cpp
to fix the build failure on Linux when you use gn to build ANGLE alone.
BUG=angleproject:1938
Change-Id: I19636df8f81b307e6d2e08fdac286cfb3f705eab
Reviewed-on: https://chromium-review.googlesource.com/454083
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fbe49a8f
|
2016-12-19T14:19:10
|
|
ES31: Implement DrawArraysIndirect D3D part
There are four buffer types for vertex attribute storage in D3D11:
DIRECT
STATIC
DYNAMIC
CURRENT_VALUE
When drawing, it will call applyVertexBuffer to bind the right type
buffers in D3D11.
DIRECT uses the gl buffer directly without any translation.
CURRENT_VALUE uses a single value for the attribute.
STATIC translates the whole vertex buffer once. So it doesn't need the
first, count and instance informations since it always translates the
whole buffer.
DYNAMIC translates the data every frame. To improve the performance,
in implementation, it only translates 'count' vertexes from 'first'
location in vertex buffer with one drawing for non-instanced vertices.
'first' and 'count' are got from draw parameter list. And for the
translated vertex buffer, when drawing, the first vertex location is 0.
From above analysis, we can see that if all attribute storages are
non-dynamic, we can directly use the indirect buffer to draw. But for
dynamic storages, we have to calculate the first, count, and instances
from indirect buffer and apply them to translate the dynamic type
buffers. Meanwhile, we have to set the first to 0 (see above
description)when drawing.
DrawArrysIndirect implementation is like below:
1. Check whether all vertex attributes are non-dynamic
2. If yes, applyVertexBuffer and DrawInstancedIndirect
3. If no, 1) calculate first, count, and instances from indirect buffer.
2) applyVertexBuffer with these parameters.
4) Use DrawInstanced instead of DrawInstancedIndirect.
BUG=angleproject:1595
TEST=dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect*
Change-Id: I36431f416443279d51de523b07ce60727914cbbf
Reviewed-on: https://chromium-review.googlesource.com/446690
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fe34780f
|
2017-03-13T17:07:08
|
|
RenderStateCache BlendState Hash Fix
Fix hash function for blendState cache
BUG=angleproject:1937
Change-Id: I0acd7dfcfb933b2b7ff0c1dc6854c7623ec57b3b
Reviewed-on: https://chromium-review.googlesource.com/453887
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e5cdca7e
|
2017-03-13T16:45:56
|
|
RenderStateCache memory usage
Reduce RenderStateCache cache sizes from 4k to 2k. Saves 64kb of memory.
Change-Id: I9e92bbdf095f1e66cf9b84ba81899a8af59d6d86
Reviewed-on: https://chromium-review.googlesource.com/453886
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c1f8d61a
|
2017-03-10T14:13:06
|
|
Disable VertexAttributeTestES31.MaxVertexAttribStride on Linux AMD GL
Due to AMD driver bug.
BUG=angleproject:1593
Change-Id: Ic1fee717ffb55c67d3c4d0a43848d73ed6794732
Reviewed-on: https://chromium-review.googlesource.com/452940
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
7a0b3044
|
2017-03-10T10:03:33
|
|
Reland "ES31: Add test on large strides"
In OpenGL 4.3 there is no limit on the maximum value of stride. This patch
choose an emulated value for OpenGL 4.3 to fix the fyi failure on Linux AMD.
BUG=angleproject:1593
Change-Id: I83cecc2ed1a3734dc8b8df3edb48ecc16039ba6e
Reviewed-on: https://chromium-review.googlesource.com/452746
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b78707c8
|
2017-03-09T15:03:11
|
|
Move default-block uniform linking to a separate file
The code is easier to understand when it's encapsulated better.
This change is pure refactoring with no functional changes.
BUG=angleproject:1442
TEST=angle_end2end_tests
Change-Id: I6128fd72c65ca7a87af596cda4866c74c2a66c48
Reviewed-on: https://chromium-review.googlesource.com/452502
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e14951e6
|
2017-03-09T18:55:16
|
|
Implement robust buffer initialization.
This uses the most simple implementation: on BufferData calls without
explicit data arguments, it will initialize the buffer data store to
zero. This could be improved by deferring the init until needed, and
skipping it if the buffer store is cleared through other API calls,
but it is not a regression from current Chromium implementation.
BUG=angleproject:1635
Change-Id: I2fb1594851c5050dc2578736c3f74761555da267
Reviewed-on: https://chromium-review.googlesource.com/450921
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0bb791ed
|
2017-03-09T23:44:40
|
|
Revert "ES31: Add test on large strides"
This is failing on Linux AMD: https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.gpu.fyi%2FLinux_Release__AMD_R7_240_%2F1729%2F%2B%2Frecipes%2Fsteps%2Fangle_end2end_tests%2F0%2Fstdout
../../third_party/angle/src/tests/gl_tests/VertexAttributeTest.cpp:684: Failure
Expected: (maxStride) >= (2048), actual: 0 vs 2048
This reverts commit 0ba963ef27d1d656986f2f4382391dd5da8c8104.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> ES31: Add test on large strides
>
> ES3.1 requires the implementation should define MAX_VERTEX_ATTRIB_STRIDE,
> which should be emulated when we use D3D11 backends.
>
> This patch adds tests to verify this value required in ES3.1 are
> supported to be used directly in glVertexAttribPointer for rendering.
>
> BUG=angleproject:1593
>
> TEST=angle_end2end_tests
>
> Change-Id: I1ac206e4f6c972b5748552177c787c0adcb66786
> Reviewed-on: https://chromium-review.googlesource.com/441308
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
>
TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,yunchao.he@intel.com,qiankun.miao@intel.com,jiawei.shao@intel.com,yang.gu@intel.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=angleproject:1593
Change-Id: I036da9d6d5633bcc055cc8cfbfde9a15ae67f59c
Reviewed-on: https://chromium-review.googlesource.com/452743
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6445ddf8
|
2017-03-08T19:00:32
|
|
end2end_tests: Adds more skips for new tests and testers
BUG=angleproject:1924
Change-Id: I3ca25545632c9884eb1a8dba5e8e402b14324f80
Reviewed-on: https://chromium-review.googlesource.com/451877
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
6ca2b65c
|
2017-02-19T18:05:10
|
|
Implement location layout qualifier for uniforms
This is a complete implementation of the uniform location layout
qualifier. Uniform location set in the shader is plumbed to shader
linking, which does several link-time checks for conflicts and
recursively applies the location to struct members.
Validate that location is consistent as specified in the table in
section 9.2.1 of the ESSL 3.10.4 spec. The location set in the shader
overrides the one set via the CHROMIUM_bind_uniform_location API.
Location conflicts must be checked even if the uniforms are not
statically used. Because of this unused uniforms are now recorded
during uniform linking. After linking checks are done, unused uniforms
are pruned from the program state.
Location is validated against the maximum number of uniform locations
at compile time as specified in section 4.4.3 of the ESSL 3.10.4 spec.
All dEQP uniform location tests don't yet pass due to unrelated bugs.
BUG=angleproject:1442
TEST=angle_end2end_tests, dEQP-GLES31.functional.uniform_location.*
Change-Id: I1f968e971f521fbc804b01e1a7c2b4d14f24d20f
Reviewed-on: https://chromium-review.googlesource.com/447942
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
0ba963ef
|
2017-02-14T22:03:09
|
|
ES31: Add test on large strides
ES3.1 requires the implementation should define MAX_VERTEX_ATTRIB_STRIDE,
which should be emulated when we use D3D11 backends.
This patch adds tests to verify this value required in ES3.1 are
supported to be used directly in glVertexAttribPointer for rendering.
BUG=angleproject:1593
TEST=angle_end2end_tests
Change-Id: I1ac206e4f6c972b5748552177c787c0adcb66786
Reviewed-on: https://chromium-review.googlesource.com/441308
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
fe9306a8
|
2017-02-01T17:41:05
|
|
WebGLCompatibility: Add test for "negative" offset in DrawElements
BUG=angleproject:1523
BUG=chromium:668223
Change-Id: I2d21c15b53fa204b3cb2b0be849cfe91ca63046b
Reviewed-on: https://chromium-review.googlesource.com/435884
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
e16a4519
|
2017-03-07T20:46:40
|
|
D3D11 FL9_3: Fix bug in R32F vertex format emulation.
We would allow direct storage when this format is emulated. Noticed
this when making a test which used a single float vertex format.
BUG=angleproject:1635
Change-Id: Ia2164b0f311b27f24b6aa7760eb9f9a3834c6044
Reviewed-on: https://chromium-review.googlesource.com/451578
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e08a1d36
|
2017-03-07T17:24:06
|
|
Plumb robust resource init extensions.
This also cleans up a few minor glitches in the extension texts,
and renames the EGL extension for consistency.
It incidentally fixes a bug in our EGL init where we were checking
the wrong client versions for KHR_create_context.
It also implements a new feature for tests which allow them to defer
Context creation until the test body. This allows tests to check for
EGL extension available before trying to create a context with certain
extensions.
BUG=angleproject:1635
Change-Id: I9311991332c357e36214082b16f2a4a57bfa8865
Reviewed-on: https://chromium-review.googlesource.com/450920
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
146e8a1c
|
2017-03-02T23:22:37
|
|
WebGL validation of constant color & alpha blend.
In WebGL, generate INVALID_OPERATION if constant color and constant
alpha are used together as source and destination blend functions.
BUG=angleproject:1817
Change-Id: I9b2d05ab5017c013bb89c13256efbd80198de91b
Reviewed-on: https://chromium-review.googlesource.com/448940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
d61396b4
|
2017-03-06T14:49:46
|
|
Reduce the number of iterations of SwizzleTest.
KHR_debug from the GL drivers was generating a lot of spam.
BUG=angleproject:1925
Change-Id: I89568ea2bec3afb629f86c25d9e80aad1dbe79f8
Reviewed-on: https://chromium-review.googlesource.com/450857
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c9da71ff
|
2017-03-06T16:28:54
|
|
Fix translating dynamic indexing of swizzle to HLSL
This was broken due to a simple omission in deep copying swizzle AST
nodes.
It was found that several if not most OpenGL drivers also have some
issue related to this, so the end2end test is suppressed on many
OpenGL platforms. Intel Windows driver seems to be behaving correctly.
BUG=angleproject:1921
TEST=angle_end2end_tests
Change-Id: Ieefcedc2f2e36c3d8b607c28e449b696b8ad6892
Reviewed-on: https://chromium-review.googlesource.com/449717
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
9f9b1d2d
|
2017-03-06T18:25:22
|
|
Make ScratchBuffer its own type.
This helper tool in Renderer11 can be useful in other back-ends,
or even in the front end.
BUG=angleproject:1635
Change-Id: I18ec19a891a9bdfa7b80dea1b8e308abf206906b
Reviewed-on: https://chromium-review.googlesource.com/450919
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ef964d48
|
2017-03-06T18:25:22
|
|
Buffer: Minor error macro cleanups.
Refactoring patch only.
BUG=angleproject:1635
Change-Id: I9b86fc77f8f62a0f67f9fc73debdc8fb5e379bcc
Reviewed-on: https://chromium-review.googlesource.com/450918
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
817232ef
|
2017-02-22T18:36:10
|
|
Validate invariance of built-in variables when linking
According to ESSL 1.00.17 paragraph 4.6.4
BUG=angleproject:1876
Change-Id: I61e142c31dce11eec28fe240a9bc9ce2c632daf6
Reviewed-on: https://chromium-review.googlesource.com/446870
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
010e4dbd
|
2017-03-03T14:22:06
|
|
Code refactoring for getters and setters.
The entry point should call into Context at first for getters and setters.
BUG=angleproject:1922
Change-Id: Ibc8f726298cf334a6dafd6402e39c4dcd7e6d333
Reviewed-on: https://chromium-review.googlesource.com/450028
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
390208b5
|
2017-02-28T18:03:06
|
|
Implements ETC lossy decode for ETC2 formats.
This is the 2nd payload of GL_ANGLE_lossy_etc_decode feature. In this change,
RGB8, SRGB8, RGB8A1, and SRGB8A1 formats in ETC2 family can be converted
to BC1.
BUG=angleproject:1285
Change-Id: I96fe2f07c62716a31d37f20a202b6cabbb4ebbd2
Reviewed-on: https://chromium-review.googlesource.com/447846
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
461d9a30
|
2017-01-04T16:37:26
|
|
ES31:Check framebuffer status for multisample and default params
This patch implements FRAMEBUFFER_INCOMPLETE_MULTISAMPLE checking for
checkFramebufferStatus, and also modify conditions of
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENTS when setting default
parameters to fbo.
BUG=angleproject:1594
TEST=angle_end2end_tests --gtest_filter=FramebufferTest_ES31*
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_fixed_state_tex*
Change-Id: I86954056d3a5d89dca517b267bd16e17b70e5652
Reviewed-on: https://chromium-review.googlesource.com/437991
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
09e7c0a4
|
2017-03-01T16:38:32
|
|
Avoid redundant INSERT_PROC_ADDRESS calls
PVS-Studio pointed out that seven GL functions were being initialized
twice. This isn't critical but is slightly inefficient.
R=jmadill@chromium.org
BUG=697659
Change-Id: I199bd06ae1136bc3b8efd519787d89f4447f326d
Reviewed-on: https://chromium-review.googlesource.com/448639
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
547cbd46
|
2017-02-27T11:54:00
|
|
Validate uniform binding at link time
GLSL ES Spec 3.10.4, section 4.4.5 has the rules for linking uniforms
with binding layout qualifiers. If a binding layout qualifier for a
uniform variable is specified in both vertex and fragment shaders, the
qualifiers must match.
BUG=angleproject:1893
TEST=dEQP-GLES31.functional.layout_binding.*binding_contradictory*
Change-Id: I0ae6a1a8967df818be8136510c22daee848b9da7
Reviewed-on: https://chromium-review.googlesource.com/447557
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|