|
f6c937f8
|
2019-04-02T17:04:08
|
|
Vulkan: fix masked stencil clear
Previously, masked stencil clear was done by clearing every stencil bit
to the ClearValue & Mask. The correct behavior as implemented in this
change is to clear only the bits that are set in Mask. This can only be
done through a draw call, with ClearValue as the stencil reference, and
Mask as the stencil write mask.
Note: this change relies on the depthClamp Vulkan feature which is not
available on ARM.
Bug: angleproject:3241
Change-Id: I0a181c32f881ee813f144e7bdd6f42c8ea6f1966
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548442
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
5f388c24
|
2019-03-14T09:54:23
|
|
Vulkan: dEQP-EGL.functional.image.modify.*
Determine the destination internalFormat correctly.
dEQP-EGL.functional.image.modify.renderbuffer_rgb565_tex_subimage_rgb8
dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgb565_tex_subimage_rgb8
dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgba8_tex_subimage_rgba5_a1
dEQP-EGL.functional.image.modify.tex_rgba8_tex_subimage_rgba4
dEQP-EGL.functional.image.modify.tex_rgba5_a1_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgba5_a1_tex_subimage_rgba4
dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba5_a1
dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba5_a1
dEQP-EGL.functional.image.modify.renderbuffer_rgb5_a1_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.renderbuffer_rgb5_a1_tex_subimage_rgba4
Bug: angleproject:3170
Change-Id: Ic9870390b2d4a0dcbe561efd3fb1597faadb7d79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524404
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
750935f4
|
2019-04-02T11:27:19
|
|
Ignore flaky dEQP failures on Windows
More flaky failures that were being hidden by test retries. Might take a
few more patches in order to disable test retries.
Bug: angleproject:3271
Bug: angleproject:1729
Change-Id: I97eb02d6e93892a04db8b09992f32c4c20dbd49b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1549314
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
3b14b786
|
2019-03-28T12:12:24
|
|
Ignore flaky failures from ANGLE's dEQP deps on Win/Linux/Mac.
Flaky failures were being hidden by test retries. Should be ignored so
we can disable test retries.
Bug: angleproject:3271
Change-Id: I17708f96e2299b9828f5f979f68187b3cd99ecb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542259
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
345cb856
|
2019-03-28T10:04:24
|
|
Vulkan:Clamp stencil ref value
We were casting stencil ref value instead of clamping it as the spec
requires. Fixing that which allows a number of new dEQP tests to pass.
Bug: angleproject:3244
Bug: angleproject:3245
Bug: angleproject:3247
Bug: angleproject:3248
Change-Id: I59242d59982b990e82395f5a1e77b9a54254dc2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541751
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
5a604a5f
|
2019-03-27T14:22:50
|
|
Ensure framebuffer is up-to-date before drawing
The dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d*
test was failing because a TexSubImage call modifying the framebuffer
wasn't being applied before a subsequent DrawElements call and thus
getting an incorrect result.
Bug: angleproject:3249
Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_fbo_render_texsubimage_between_render_tex2d_rgb --use-angle=vulkan
Change-Id: I90f791957e6536c5c62fb731d52cd486ab5c05c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542361
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2e5afde1
|
2019-03-28T09:39:49
|
|
Add suppressions for Mac dEQP [Part 3].
Bug: angleproject:3317
Change-Id: Ie60ad9670d19d0eae9926bcf14f65fc2e84215d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542602
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
208af3eb
|
2019-03-19T09:15:55
|
|
Update TexImage2D Parameter Checking
Update the parameter checking performed within ValidateTexImage2D() to
pass the following tests:
dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_format
dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_internalformat
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_invalid_type
Bug: angleproject:3250
Bug: angleproject:3251
Test: angle_deqp_gles2_tests --use-angle=vulkan
Change-Id: I4d9be4fe0a9b377e61e3132db262750e6285464b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534519
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
74ba10f2
|
2019-03-27T15:50:24
|
|
Add suppressions for Mac dEQP [Part 2].
Bug: angleproject:3317
Change-Id: I0c335c6af5d183a8ef7fa4154b6dc897cad0b8ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541721
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
25034108
|
2019-03-27T13:07:45
|
|
Add suppressions for Mac dEQP. [Part 1]
Since we can't test these failures on the CQ this CL likely won't hit
all the necessary suppressions. Will follow up with a second CL.
Bug: angleproject:3317
Change-Id: I241c139459d7cc7ab3c17d61a9837cdd3ab6c9a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542017
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
c240abe4
|
2019-03-27T11:49:19
|
|
D3D11: Broaden suppression for atomic counter tests.
These seem to be flaky and failing on all D3D11 devices.
https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20dEQP%20Release%20%28NVIDIA%29/25142
https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20dEQP%20Release%20%28NVIDIA%29/25098
https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20dEQP%20Release%20%28NVIDIA%29/25092
Bug: angleproject:1729
Change-Id: I4ae344ec3d950a6e647649a4ecf3ecafaca2de4f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541666
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
518c679d
|
2019-03-25T16:25:10
|
|
Clean up test_expectations to merge with angle style/convention.
Can rename/clean up the library to move from chrome style to angle
style. Can also start pulling out chrome-specific definitions. More work
to be done when moving gpu_info to use Angle's SystemInfo.
Bug: angleproject:2677
Change-Id: I75fd4446aa4be85fba590cd00cd3a213a0b3752e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538677
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
72cc2eaa
|
2019-03-26T12:41:36
|
|
Suppress dEQP-GLES31.functional.atomic_counter.* on Win7 NVIDIA D3D11
The intent is actually to suppress on 64-bit,
but test expectations don't have this capability.
Since the only Win7 NVIDIA dEQP bot is x64, and that's the only x64 bot,
this works.
Bug: angleproject:1729, chromium:943312
Change-Id: Ib985bc9ff62333deaa4a943c3f3093de51159005
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538314
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ee7ffd9e
|
2018-12-13T14:07:52
|
|
ES31: Enabling skipped deqp atomic counter tests on D3D11
Enabling deqp tests previously skipped due to lack of atomic counters. Fixing
bug found in translator found by new tests.
* Switching atomicCounterDecrement from pre to post decrement
* Added 4 byte alignment check to atomic_uint offset
* Added workaround for NVIDIA D3D bug
* Added globallycoherent to atomic counters
Bug: angleproject:1729
Change-Id: If62ea003826fbe2df0834b905ff3ad7b76328399
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480867
Commit-Queue: Enrico Galli <enrico.galli@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
0449a902
|
2019-03-22T16:03:54
|
|
Move gpu_test_expectations from third_party into ANGLE.
1. Copy the code from src/tests/third_party/gpu_test_expectations to
src/test/test_expectations, rename .cc files to .cpp. Put these in a new
static library and update dEQP to link against it in src/tests/BUILD.gn.
2. Merge the code in angle_config.h into the rest of the expectations parser,
this code was added so that the rest of the parser would compile in ANGLE's
tree with minimal modification.
Still need to follow up with the third step to close the issue.
Bug: angleproject:2677
Change-Id: Icf09b4eeed83a6d09b1964ad2adcfa85cabb4b63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1536312
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4ae2c12f
|
2019-03-23T18:07:26
|
|
Use Khronos master lists for dEQP tests.
There are an number of valid tests that are excluded from the Android
test lists. Likely some older and low spec devices weren't passing
these tests and for historical reasons they were omitted from the
Android CTS. ANGLE however needs to pass these tests to be conformant
and up until now we weren't testing them on our bots.
The EGL tests still use the same Android version of the test list. It
seems the Khronos version just lists wildcards. ANGLE needs an explicit
test list.
Bug: angleproject:3242
Change-Id: Ie0aa2aa94689be0a40e7cc39e05f0042c3f03f5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520986
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e41882aa
|
2019-03-13T13:04:54
|
|
dEQP-EGL.functional.choose_config.* now passing
Bug: angleproject:3172
Change-Id: I4ce55a71db204acdd73a4f9db0c5480b31e0b3ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521317
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b8cff9e9
|
2019-02-18T16:15:53
|
|
ES31: Add MAX_COMPUTE_SHARED_MEMORY_SIZE
Bug: angleproject:2682
Change-Id: If9100bee246dfb99fca3f0470742a337a126c9a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1476951
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
9dc8eafe
|
2019-02-11T11:04:54
|
|
Vulkan: ES3 dEQP suppressions
This re-enables Vulkan ES3 context creation and adds the necessary dEQP
suppressions.
Bug: angleproject:2950
Change-Id: Ic24a9fb4f867f3bce08f101e056f208abf84bb5e
Reviewed-on: https://chromium-review.googlesource.com/c/1483311
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b9039bf7
|
2019-02-12T15:30:48
|
|
Vulkan: fix numerous formats missing support
Vulkan _SRGB formats have a suffix of _UNORM_SRGB in the corresponding
angle name.
Vulkan A2B10G10R10_*_PACK32 formats have angle names in the form
R10G10B10A2_*.
A16 and A32 formats are emulated similar to A8.
Some formats that are not in the front-end are removed.
Bug: angleproject:2364, angleproject:2405
Change-Id: I00718f450a374912d57d3c00ea167ce486e10aa0
Reviewed-on: https://chromium-review.googlesource.com/c/1468042
Reviewed-by: Jamie Madill <jmadill@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
08573730
|
2019-02-20T19:59:22
|
|
Enable vertex_arrays tests on Android.
These appear to be passing now.
Bug: angleproject:1484
Change-Id: I0a52f73c87aeea2e0fba360063109b74aa6aa365
Reviewed-on: https://chromium-review.googlesource.com/c/1479904
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
|
|
568a3425
|
2019-02-20T19:58:41
|
|
Enable texture.mipmap tests on Android.
These appear to be passing on the bots.
Bug: angleproject:1489
Change-Id: I1d672187f9bfe72189291309b90049fd128b1392
Reviewed-on: https://chromium-review.googlesource.com/c/1479903
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
|
|
6cdb01f4
|
2019-02-20T19:54:24
|
|
Update fbo.completeness expectations on Android.
The depth_stencil_unsigned_int_24_8 tests are passing now.
The srgb8 failures are tracked in http://anglebug.com/1028.
Bug: angleproject:1487
Change-Id: Id85fc00acfd1b59d4b7bfdd00596f2c18a583e5c
Reviewed-on: https://chromium-review.googlesource.com/c/1479902
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
|
|
1ceb9c8e
|
2019-02-20T19:50:57
|
|
Enable clipping.triangle_vertex test on Android.
Seems to be fixed with newer compilers.
Bug: angleproject:1485
Change-Id: I2954548d8f5370b57302c40fc40b6458f79fd7ed
Reviewed-on: https://chromium-review.googlesource.com/c/1479901
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
|
|
2ac98885
|
2019-02-20T18:49:57
|
|
Enable fbo.completeness.attachment_combinations on Android.
These tests are all passing with "unsupported".
Bug: angleproject:1486
Change-Id: I532000b4934ed66fd61f39312013a6da8f3dd86f
Reviewed-on: https://chromium-review.googlesource.com/c/1479897
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
|
|
ffd39978
|
2019-02-20T10:45:24
|
|
test: Replace _TEST_CASE_ with _TEST_SUITE_.
Googletest is (at last) converging with industry-standard terminology
[1]. We previously called test suites "test cases", which was rather
confusing for folks coming from any other testing framework.
Chrome now has a googletest version that supports _TEST_SUITE_ macros
instead of _TEST_CASE_, so this CL cleans up some of the outdated usage.
[1] https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature
Bug: chromium:925652
Change-Id: Ia0deec0bc4216ef1adabc33985a7cbda89682608
Reviewed-on: https://chromium-review.googlesource.com/c/1477418
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
|
|
6a492c27
|
2019-02-18T13:45:02
|
|
Update ES31 dEQP test expectation
More SSBO related deqp cases pass due to the implementation of atomic
counter.
Bug: angleproject:1951
Change-Id: I1a6ed6001b9b2d06e74aab105d1a7852abbb9902
Reviewed-on: https://chromium-review.googlesource.com/c/1476950
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
fe59f6b5
|
2019-01-16T09:34:30
|
|
Vulkan: Implement EGL Images for 2D and Renderbuffer sources.
No support for non-zero mipmaps as sources yet.
Suppress dEQP tests due to apparent driver bugs with scissored clears on depth
or stencil attachments.
BUG=angleproject:2668
Change-Id: Idaa5e70ce9b0c91232fbb989cbf4de1b9134aafb
Reviewed-on: https://chromium-review.googlesource.com/c/1415010
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ab5acbd5
|
2019-01-23T13:58:09
|
|
Vulkan: implement swapchain resizing
Vulkan allows a swapchain to be created based off of an older swapchain
that's still presenting, to support seamless window resizing. The old
swapchain will remain alive (though no image can be acquired from it)
and automatically cleaned once no image is being presented from it.
The retired swapchain can be destroyed once all operations on its images
are completed. We store the old swapchain next to the serial of
submission that's used for CPU throttling and defer the destroy call
until after `finishToSerial` for that serial is called.
Bug: angleproject:2942
Change-Id: Ic62a5a57b712ffa2b087f5fecde0dc8942194075
Reviewed-on: https://chromium-review.googlesource.com/c/1435634
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
fa7ca18f
|
2019-01-15T11:20:58
|
|
Vulkan: Enable dEQP point limit raster test.
This requires enabling a workaround in the ANGLE shader translator to
clamp the point size.
Bug: angleproject:2599
Change-Id: I3171bdca5dd2e5af965e94ee2a955f46f8d706da
Reviewed-on: https://chromium-review.googlesource.com/c/1412235
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
915d4068
|
2019-01-28T18:15:43
|
|
Roll dEQP (January/February 2019).
Includes some new GLES tests added by kainino@.
Bug: angleproject:3112
Change-Id: I0d81c8263eab3473dec49bb0cf3bca73cd38c6fb
Reviewed-on: https://chromium-review.googlesource.com/c/1441051
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5313c8a8
|
2019-01-14T17:02:52
|
|
Implement EGL_KHR_fence_sync and EGL_KHR_wait_sync
EGL_KHR_fence_sync introduces the EGLSync object and associated
create/destroy/clientWait functions. EGL_KHR_wait_sync adds the
serverWait function on top of that.
Bug: angleproject:2466
Change-Id: Iebb239a85c4471ea18b3c3a8a83b793af555e31d
Reviewed-on: https://chromium-review.googlesource.com/c/1412261
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a5d2d55d
|
2019-01-16T13:21:05
|
|
Remove expected SSBO failures on Windows NVIDIA
These failures no longer occur in version 411.95,
the version that the drivers in testbots are currently
being updated to.
Bug: angleproject:2272
Change-Id: I826ab973ed6fe1a08372c8139676d2f7a328d47b
Reviewed-on: https://chromium-review.googlesource.com/c/1411546
Reviewed-by: Joonatan Saarhelo FI <jsaarhelo@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7098cff5
|
2019-01-15T18:33:42
|
|
Make BUILD.gn targets into templates.
This allows us to "globally" add and remove certain configs as long as
we use the new templates. This simplifies the logic of adding configs
for stuff like extra warnings and default include dirs. As well it
simplifies removing certain common unwanted configs.
Generally simplifies the logic in BUILD.gn. Will allow for easily
suppressing the clang-plugins config instead of using a global setting
in .gn. Then we can enable the additional warnings config-by-config.
Also fixes some warnings that turned up after we enabled the extra
warnings config in our tests. Also moves the dEQP tests main to be
consistent with the other test main files.
Bug: angleproject:3069
Change-Id: I5a8166cd0f5a7926822c171fcaf473fc86b3ffc1
Reviewed-on: https://chromium-review.googlesource.com/c/1409871
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
c2ee2ccb
|
2019-01-11T10:39:15
|
|
Vulkan: Don't support EGL_SWAP_BEHAVIOR_PRESERVED_BIT
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#no_draw
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#post_clear
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#post_render
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_clear
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_clear_post_clear
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_clear_post_render
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_render
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_render_post_clear
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_render_post_render
Bug: angleproject:3051 angleproject:2716
Change-Id: I3607f45cd2f447fb0a95f91ffd9aa93000dfa18c
Reviewed-on: https://chromium-review.googlesource.com/c/1407248
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
ad398ee8
|
2019-01-03T13:01:08
|
|
Free OSWindow and EGLWindow through helpers.
This cleans up any potential problems with allocating and freeing
resources in different shared objects or DLLs. Previously we were
using a dynamically linked allocation function and then calling
the standard delete function.
Also adds a base class helper for EGLWindow. Will base the WGL
Window class on this.
Needed for running ANGLE tests against native drivers.
Bug: angleproject:2995
Change-Id: Ic92b447649ebb32c547605c20086c07a601842f0
Reviewed-on: https://chromium-review.googlesource.com/c/1393443
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ba319ba3
|
2018-12-29T10:29:33
|
|
Re-land "Load entry points dynamically in tests and samples."
Fixes the Android/ChromeOS/Fuchsia builds by using consistent EGL
headers.
This CL adds a dynamic loader generator based on XML files. It also
refactors the entry point generation script to move the XML parsing
into a helper class.
Additionally this includes a new GLES 1.0 base header. The new
header allows for function pointer types and hiding prototypes.
All tests and samples now load ANGLE dynamically. In the future this
will be extended to load entry points from the driver directly when
possible. This will allow us to perform more accurate A/B testing.
The new build configuration leads to some tests having more warnings
applied. The CL includes fixes for the new warnings.
Bug: angleproject:2995
Change-Id: I5a8772f41a0f89570b3736b785f44b7de1539b57
Reviewed-on: https://chromium-review.googlesource.com/c/1392382
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9f088621
|
2018-12-29T20:46:15
|
|
Revert "Load entry points dynamically in tests and samples."
This reverts commit 03923558a7103827ffec6a4d2a1453ed91f01c6f.
Reason for revert: fails compilation on Android, ChromeOS and Fuchsia during roll https://chromium-review.googlesource.com/c/chromium/src/+/1392624
Original change's description:
> Load entry points dynamically in tests and samples.
>
> This CL adds a dynamic loader generator based on XML files. It also
> refactors the entry point generation script to move the XML parsing
> into a helper class.
>
> Additionally this includes a new GLES 1.0 base header. The new
> header allows for function pointer types and hiding prototypes.
>
> All tests and samples now load ANGLE dynamically. In the future this
> will be extended to load entry points from the driver directly when
> possible. This will allow us to perform more accurate A/B testing.
>
> The new build configuration leads to some tests having more warnings
> applied. The CL includes fixes for the new warnings.
>
> Bug: angleproject:2995
> Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
> Reviewed-on: https://chromium-review.googlesource.com/c/1359516
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
Change-Id: I902bec2d733c2b879be29c02ab52a0b7d4eaa077
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2995
Reviewed-on: https://chromium-review.googlesource.com/c/1392381
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
03923558
|
2018-12-29T10:29:33
|
|
Load entry points dynamically in tests and samples.
This CL adds a dynamic loader generator based on XML files. It also
refactors the entry point generation script to move the XML parsing
into a helper class.
Additionally this includes a new GLES 1.0 base header. The new
header allows for function pointer types and hiding prototypes.
All tests and samples now load ANGLE dynamically. In the future this
will be extended to load entry points from the driver directly when
possible. This will allow us to perform more accurate A/B testing.
The new build configuration leads to some tests having more warnings
applied. The CL includes fixes for the new warnings.
Bug: angleproject:2995
Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
Reviewed-on: https://chromium-review.googlesource.com/c/1359516
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b980c563
|
2018-11-27T11:34:27
|
|
Reformat all cpp and h files.
This applies git cl format --full to all ANGLE sources.
Bug: angleproject:2986
Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f
Reviewed-on: https://chromium-review.googlesource.com/c/1351367
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
15992bef
|
2018-11-22T09:35:49
|
|
Update deqp31 test expectations
Below deqp cases already pass:
dEQP-GLES31.functional.layout_binding.ubo.*
dEQP-GLES31.functional.shaders.builtin_functions.*compute*
BUG=angleproject:1951, angleproject:2759, angleproject:2619
Change-Id: I5541840462b792e83b4745c50e3c3d2c94db7745
Reviewed-on: https://chromium-review.googlesource.com/c/1347750
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
8a0fb48a
|
2018-11-19T11:53:36
|
|
Vulkan: Suppress functional.shaders.invariance.* on NV.
Bug: angleproject:2976
Change-Id: If38669ca13297b17d55c03c977f4028cb03f6f34
Reviewed-on: https://chromium-review.googlesource.com/c/1342421
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ccad5e33
|
2018-11-14T11:01:16
|
|
GL: Work around driver returning negative GL_MAX_SERVER_WAIT_TIMEOUT
GL_MAX_SERVER_WAIT_TIMEOUT is only allowed to be positive, ensure that with
a std::max.
BUG=angleproject:2961
Change-Id: I8dd66df24d35c8ae81038d6d9cd0bad0d51f1a80
Reviewed-on: https://chromium-review.googlesource.com/c/1335889
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d1a55e39
|
2018-11-13T17:00:25
|
|
Expand dEQP-GLES3 suppressions.
These were missing a few suppressions for prior bugs. Going to run this
config on the CQ.
Bug: chromium:822310
Change-Id: I758d8823ff8b1ab347212426d73c6dad1bb6de39
Reviewed-on: https://chromium-review.googlesource.com/c/1334431
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
29843628
|
2018-11-01T17:26:51
|
|
Fix failing dEQP EGL tests.
dEQP-EGL.functional.query_surface.simple.pbuffer#rgb888_depth_stencil
dEQP-EGL.functional.query_surface.simple.pbuffer#rgb888_depth_stencil
dEQP-EGL.functional.query_surface.simple.pbuffer#rgb888_depth_no_stencil
dEQP-EGL.functional.query_surface.simple.pbuffer#rgb888_no_depth_no_stencil
dEQP-EGL.functional.query_surface.simple.pbuffer#rgb565_depth_stencil
dEQP-EGL.functional.query_surface.simple.pbuffer#rgb565_depth_no_stencil
dEQP-EGL.functional.query_surface.simple.pbuffer#rgb565_no_depth_no_stencil
dEQP-EGL.functional.query_surface.simple.pbuffer#rgba8888_no_depth_no_stencil
dEQP-EGL.functional.query_surface.simple.pbuffer#rgba8888_depth_no_stencil
dEQP-EGL.functional.query_surface.simple.pbuffer#rgba8888_depth_stencil
dEQP-EGL.functional.negative_api#choose_config
dEQP-EGL.functional.negative_api#swap_interval
Bug: angleproject:2546
Change-Id: Ie80e3ee3c65f330d2030b4d7da59cb964e4ea0a5
Reviewed-on: https://chromium-review.googlesource.com/c/1313233
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
743899de
|
2018-10-19T13:53:28
|
|
ES31: Implement MAX_SHADER_STORAGE_BLOCK_SIZE
Bug: angleproject:1951
Change-Id: I6353e6ed10a8b441bfbebc10fa6a07cde1cae7d8
Reviewed-on: https://chromium-review.googlesource.com/c/1317377
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
905ee082
|
2018-10-26T16:16:34
|
|
Vulkan: Fix cleanup race condition on Context destroy
In Context::onDestroy(), e7b3fe21866454bd3ea983acede162d34ae03dd8 had
moved surface deletion first which down the line caused
RendererVk::finish() to be called.
bf7b95db6b6f039f6c8797f1f4b930d46a761828 however made surface deletion
unnecessary, which means finish was never called.
This commit adds an explicit finish in Context::onDestroy(). In truth,
the wait is only necessary until all command buffers submitted for this
particular context have finished. This optimization is deferred to a
possible future work.
Bug: angleproject:2811
Change-Id: I56e6c88d3b4a6ec73f70d80d7775a0c85be651ea
Reviewed-on: https://chromium-review.googlesource.com/c/1302838
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
25843dd6
|
2018-10-16T17:30:48
|
|
Align memory access in Copy32FixedTo32FVertexData
Bug: angleproject:2895
Change-Id: Idfe379e34c4f165b91babcb1990df28fa151d807
Reviewed-on: https://chromium-review.googlesource.com/c/1286373
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a8a25d17
|
2018-10-16T15:06:08
|
|
Vulkan: Update Android expectations.
Bug: angleproject:2606
Bug: angleproject:2609
Bug: angleproject:2895
Change-Id: Iab71cfff2317d7283db69c3f8c82db8d94f7cafc
Reviewed-on: https://chromium-review.googlesource.com/c/1283854
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a1ac3fe8
|
2018-10-10T12:29:31
|
|
ES31: Support textureGather[Offset] on int/uint formats on D3D11
This patch implements the translation of textureGather[Offset] on
integer and unsigned integer format textures on D3D11.
According to MSDN, Gather[Red|Green|Blue|Alpha] can be used on integer
and unsigned integer format textures with float texture coordinates:
https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-gather
Currently the dEQP tests on TextureGather[Offset] on cube map textures
in integer or unsigned formats still cannot pass. This issue is under
investigation.
Bug: angleproject:2826
Test: dEQP-GLES31.functional.texture.gather.basic.2d.*
dEQP-GLES31.functional.texture.gather.basic.2d_array.*
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.*
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.*
Change-Id: If049dc395fb17cd34dec902630e3a1154e5d4806
Reviewed-on: https://chromium-review.googlesource.com/c/1271926
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
32099370
|
2018-10-08T15:42:23
|
|
ES31: Enable dEQP cases on texture gathering on swizzled 2d array textures
The following dEQP cases can pass with
https://chromium-review.googlesource.com/c/1207216:
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle.*
Bug: angleproject:2826
Test: dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle.*
Change-Id: Iaf6c4ca5abff1a7ae97d47a0d323bead38a7d8c1
Reviewed-on: https://chromium-review.googlesource.com/c/1267659
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
|
|
19b51d29
|
2018-09-19T15:14:45
|
|
ES31: Support textureGather[Offset] on shadow samplers
This patch implements translating textureGather[Offset] into HLSL
when the sampler is a shadow sampler. The related HLSL function
should be GatherCmp().
According to the definition of textureGatherOffset():
([ESSL 3.1] Chapter 8.9.3 Page 138)
- gvec4 textureGatherOffset(gsampler2D sampler, vec2 P,
ivec2 offset, [,int comp])
- vec4 textureGatherOffset(sampler2DShadow sampler, vec2 P,
float refZ, ivec2 offset)
We need to add parameter "refZ" before "offset" when the sampler
is a shadow sampler.
Bug: angleproject:2826
Test: dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.*
dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.*
dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.*
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.*
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.*
Change-Id: I9a7d095dd3cfa41aaefd14d012ed1f309abfc6d5
Reviewed-on: https://chromium-review.googlesource.com/c/1244081
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
450bf36f
|
2018-10-05T12:44:37
|
|
Workaround Adreno driver not supporting unsized EXT_texture_rg formats
Bug: angleproject:2567
Change-Id: Ia7dfa54f7201866b9d7c0ce5d9cccae06c785542
Reviewed-on: https://chromium-review.googlesource.com/c/1265500
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Yuly Novikov <ynovikov@google.com>
|
|
c3bef3e7
|
2018-10-03T07:35:09
|
|
Allow 'defined' in define in non-WebGL.
This is needed to pass dEQP conformance. Several of the harder dEQP
tests around this behaviour are excluded from the mustpass list. This
is presumably because the behaviours weren't implemented portably.
Nevertheless we need to support conformant behaviour for GLES 2.0
Contexts for the most simple uses.
This also leaves the error behaviour intact for WebGL specs.
Bug: angleproject:1335
Change-Id: Ia80b4f71475efa928488ee6c2ee35c566d4602d4
Reviewed-on: https://chromium-review.googlesource.com/c/1242013
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cf8ad760
|
2018-09-21T09:11:35
|
|
ES31: Support translating textureGatherOffset into HLSL
This patch implements the translation from GLSL texture function
textureGatherOffset into HLSL by using the optional "offset"
parameter of Texture2D.Gather[Red|Green|Blue|Alpha].
This patch also defines the implementation-dependent limit
MIN_PROGRAM_TEXTURE_GATHER_OFFSET and MAX_PROGRAM_TEXTURE_GATHER_OFFSET
on D3D11. According to MSDN, the valid range of "offset" used in
Gather should be [-32, 31].
https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/gather4-po--sm5---asm-
This patch also refactors OutputTextureGatherFunctionBody() so that
some redundant code can be removed.
BUG=angleproject:2826
TEST=dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.*
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.*
(without texture_swizzle)
Change-Id: Id0f411257b64c8a97428f16b1a86950ec6d36e2f
Reviewed-on: https://chromium-review.googlesource.com/1237303
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
|
|
299bdfe7
|
2018-09-25T11:44:19
|
|
Vulkan: Update AMD suppressions.
Bug: angleproject:2463
Bug: angleproject:2847
Bug: angleproject:2848
Change-Id: I4036363c517dbe293566bb9d51a2470685d41ac2
Reviewed-on: https://chromium-review.googlesource.com/1240108
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b36a4816
|
2018-09-25T10:15:11
|
|
Vulkan: Add OpenGL line segment rasterization.
Line rasterization rules are implemented using a shader patch. The
patch does a small test and discards pixels that are outside of the
OpenGL line region.
The feature is disabled on Android until we can determine the root
cause of the test failures.
Bug: angleproject:2598
Change-Id: Ic76c5e40fa3ceff7643e735e66f5a9050240c80b
Reviewed-on: https://chromium-review.googlesource.com/1120153
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a977acc8
|
2018-09-19T12:46:05
|
|
ES31: Support translating textureGather into HLSL - Part I
This patch is the first one in the series of supporting GLSL texture
function textureGather/textureGatherOffset on D3D11.
According to ESSL 3.1 SPEC (Chapter 8.9.3, Page 130), the definition
of textureGather on sampler2D is:
gvec4 textureGather (gsampler2D sampler, vec2 P[, int comp])
The parameter "comp" is optional, and if it is specified, the value
of "comp" must be a constant integer expression with a value of 0, 1,
2, or 3, identifying the x, y, z, or w postswizzled component of the
four-component vector lookup result for each texel, respectively. If
comp is not specified, it is treated as 0.
According to the definition above, textureGather is equivalent to
Texture2D.Gather[Red|Green|Blue|Alpha] in HLSL, where we can use a
switch-case expression to choose the right HLSL texture function.
The features listed here will be implemented in the following patches:
1. Support textureGatherOffset
2. Support textureGather[Offset] on isamplers and usamplers
3. Support textureGather[Offset] on textures when swizzle is on
4. Support textureGather[Offset] on shadow samplers
BUG=angleproject:2826
TEST=dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.*
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.*
(without texture_swizzle)
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.*
(without texture_swizzle)
Change-Id: Iff2ed4f8b65dad613cb0bafdfd19f8f0528e832c
Reviewed-on: https://chromium-review.googlesource.com/1232980
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
f0d258c3
|
2018-09-11T09:37:48
|
|
Vulkan: Emulate eglSwapBuffersWithDamage with full swap
Android expects to use eglSwapBuffersWithDamage so implement that
for Vulkan backend.
BUG=angleproject:2464
Change-Id: I8d599e70e6c8fee92b530d472dc97e3996630458
Reviewed-on: https://chromium-review.googlesource.com/1220066
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0226041b
|
2018-09-12T18:10:25
|
|
Disable some deqp depth stencil on Android vulkan.
These are suspected of causing an out-of-memory failure.
BUG=angleproject:2655,angleproject:2549
Change-Id: I92bb4290c79ae8d7b572034666ec181c50c2a587
Reviewed-on: https://chromium-review.googlesource.com/1222370
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
6c6be2ce
|
2018-09-10T14:23:57
|
|
Vulkan: add S8_UINT texture fallbacks.
Add two fallbacks for S8_UINT. Enable tests.
BUG=angleproject:2655
Change-Id: If7df23745a8de8a01d86ab6efa3bca67b5227d76
Reviewed-on: https://chromium-review.googlesource.com/1217282
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
a735ee2f
|
2018-05-18T13:29:09
|
|
ES31: Support shader storage block in D3D11 compiler - Part1
This patch is the first step to implement a basic skeleton to translate
shader storage block to HLSL RWByteAddressBuffer.
In GLSL each shader storage block is just one structured block and in API side
it corresponds to a buffer range where stores the whole structure.
RWStructuredBuffer is an array-like object and can have many structured
elements. The structured element doesn't support unsized array and also have
a small limitation on the element size. So we choose RWByteAddressBuffer as
the counterpart of shader storage block in HLSL.
Due to RWByteAddressBuffer does not support using an index to reference a
specific location, we must use Load and Store to process the read/write
operation of a buffer variable. Moreover, in the compiler tree, since we
can't use variable name to get the resource value in RWByteAddressBuffer,
we have to calculate the offset of buffer variable in a shader storage block,
then call the corresponding wrapper function to get the right value.
In this patch, we only process below situations:
assign_to_ssbo := ssbo_access_chain = expr_no_ssbo;
assign_from_ssbo := lvalue_no_ssbo = ssbo_access_chain;
The translation is like below:
// GLSL
#version 310 es
layout(local_size_x=8) in;
layout(std140, binding = 0) buffer blockA {
float f[8];
} instanceA;
layout(std140, binding = 1) buffer blockB {
float f[8];
};
void main()
{
float data = instanceA.f[gl_LocalInvocationIndex];
f[gl_LocalInvocationIndex] = data;
}
// HLSL
RWByteAddressBuffer _instanceA: register(u0);
RWByteAddressBuffer _blockB: register(u1);
float float_Load(RWByteAddressBuffer buffer, uint loc)
{
float result = asfloat(buffer.Load(loc));
return result;
}
void float_Store(RWByteAddressBuffer buffer, uint loc, float value)
{
buffer.Store(loc, asuint(value));
}
void gl_main()
{
float _data = float_Load(_instanceA, 0 + 16 * gl_LocalInvocationIndex);
float_Store(_blockB, 0 + 16 * gl_LocalInvocationIndex, _data);
}
We will do below things in the following patches:
1. Modify the intermediate tree to flatten all ssbo usages to:
assign_to_ssbo := ssbo_access_chain = expr_no_ssbo;
assign_from_ssbo := lvalue_no_ssbo = ssbo_access_chain;
e.g.
intanceA.a +=1;
->tmp = intanceA.a;
intanceA.a = tmp + 1;
while(++instanceA.a < 16) {
}
->
int PreIncrement(out int a)
{
a += 1;
return a;
}
tmp = instanceA.a;
while(PreIncrement(tmp) < 16) {
instanceA.a = tmp
}
2. Add offset calculation for structure and array of arrays.
TODOs have been marked in the corresponding places in this patch.
3. Improve helper functions so that they can process all possible types.
TODOs have been marked in the corresponding places in this patch.
4. Process the swizzle situation.
TODOs have been marked in the corresponding places in this patch.
A possible method is to extend current helper functions like below:
*_Load(RWByteAddressBuffer buffer, uint loc, bool isSwizzle, uint4 swizzleOffset)
Bug: angleproject:1951
Test: angle_end2end_tests
Change-Id: I68ae68d5bb77d0d5627c8272627a7f689b8dc38b
Reviewed-on: https://chromium-review.googlesource.com/848215
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
1cee0421
|
2018-09-09T17:00:21
|
|
Suppress ...shaders.builtin_variable.fragcoord_w.
Suppress dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_w on
Android Vulkan.
BUG=angleproject:2808
Change-Id: Ib2dcb83bef97352e6a169c0531e2316217d9149e
Reviewed-on: https://chromium-review.googlesource.com/1215382
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
dff32a0d
|
2018-08-28T14:35:50
|
|
Support multisample arrays in shader programs
The added tests check that using textureSize() and texelFetch() on
textures with a fixed point format return expected results. texelFetch
is also covered for integer format textures.
dEQP GLES 3.1 tests also cover a variety of multisampled array texture
formats.
BUG=angleproject:2775
TEST=angle_end2end_tests, angle_deqp_gles31_tests
Change-Id: I99b422e24b39e3563ed72f0fb85c9c1907df807d
Reviewed-on: https://chromium-review.googlesource.com/1196521
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
73d15ba4
|
2018-08-31T17:19:13
|
|
Vulkan: Enable a dEQP point raster test.
This passes on the bots. It fails on 5x but passes on Pixel 2.
Bug: angleproject:2599
Change-Id: Ib71dcaf6adff104d7f70d1d6fe800e78c6778e66
Reviewed-on: https://chromium-review.googlesource.com/1199725
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
30b5d84c
|
2018-08-31T17:19:12
|
|
Vulkan: Fix line width caps.
We would need to enable the wide lines feature to support non-unit line
widths. For now just disable the caps.
Bug: angleproject:2598
Bug: angleproject:2706
Change-Id: I0dd228fc2c357bdd9442c3d841be769987a53f72
Reviewed-on: https://chromium-review.googlesource.com/1127303
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
70a4ef10
|
2018-08-30T15:55:41
|
|
Vulkan: Fix depth range scaling.
We were using a formula that didn't work for some of the clipping
tests.
Bug: angleproject:2601
Change-Id: I60d965c2701656ad590c3b250c2cc777fb432421
Reviewed-on: https://chromium-review.googlesource.com/1194919
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
064458a8
|
2018-08-30T14:02:02
|
|
Remove separate ANGLE_texture_multisample_array
We can just expose OES_texture_storage_multisample_2d_array instead.
The compiler was already changed to accept
OES_texture_storage_multisample_2d_array, and now the change is made
also at the API level.
Out-of-bounds access guarantees provided by ANGLE were the only big
difference between the ANGLE spec and the OES spec, so it's simpler
to just expose the native extension. Safe out-of-bounds accesses can
be guaranteed without having them in the extension spec.
This also adds missing texStorage3DMultisample entry point to the proc
table, which will enable running dEQP tests.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: Idf376ee877a3374a33de177df023f0531ec8f01d
Reviewed-on: https://chromium-review.googlesource.com/1196722
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
1bf963b6
|
2018-07-19T14:56:37
|
|
Clean up PlatformMethods attribute enum
Centralize definition of EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX
in Platform.h.
Bug: angleproject:2528
Change-Id: Id2b022c4ea08d2e98cbd6c3b248b58d096c20dfb
Reviewed-on: https://chromium-review.googlesource.com/1144265
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c14ab2a7
|
2018-08-24T13:57:55
|
|
Fix dEQP_GLES3.functional.negative_api.shader.program_binary
The frontend was not taking into account the fact that some drivers do
not support program binaries. The fix is that now
glGetProgramiv(GL_PROGRAM_BINARY_LENGTH)
returns 0 under such circumstances.
Bug: angleproject:2780
Change-Id: I4ea2cda6bb4612e69dbd7e00b3d43b97ee3b3c3d
Reviewed-on: https://chromium-review.googlesource.com/1188768
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dc248f71
|
2018-08-24T10:12:27
|
|
Re-enable dEQP_GLES3.functional.negative_api.texture.bindtexture
The test no longer fails on any platform
Bug=angleproject:2779
Change-Id: I1b184b41be23a25fb01a54587eda88fac470b7de
Reviewed-on: https://chromium-review.googlesource.com/1188604
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a4e40b72
|
2018-08-21T17:19:40
|
|
Revert "Expect pass on pointcoord test on Pixel 2"
This reverts commit d710fee3861a6afcd01a993090cb70a535b2f73f.
Reason for revert: pointcoord test still failing on Pixel 2 bot
Original change's description:
> Expect pass on pointcoord test on Pixel 2
>
> Just ran this locally and it passed so re-enabling.
>
> Bug: angleproject:2727
> Change-Id: I10368664dc68f360474dda8534e1fd28875ff4e8
> Reviewed-on: https://chromium-review.googlesource.com/1183528
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>
TBR=ynovikov@chromium.org,jmadill@chromium.org,tobine@google.com
Change-Id: If7a3e5dfb12c7b392ae91c477ad9fd9169912f90
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2727
Reviewed-on: https://chromium-review.googlesource.com/1183503
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d710fee3
|
2018-08-21T08:29:33
|
|
Expect pass on pointcoord test on Pixel 2
Just ran this locally and it passed so re-enabling.
Bug: angleproject:2727
Change-Id: I10368664dc68f360474dda8534e1fd28875ff4e8
Reviewed-on: https://chromium-review.googlesource.com/1183528
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
d731ff82
|
2018-08-13T18:18:51
|
|
Vulkan: support depth offset.
Update pipeline description with depth offset state. Enable test.
BUG=angleproject:2353
Change-Id: Ib087bbff8e145b0e6e862eb6616a4943a989a7b2
Reviewed-on: https://chromium-review.googlesource.com/1173447
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
67c388e6
|
2018-07-19T19:16:11
|
|
Vulkan: support GL_FIXED vertex data.
Override fixed to float, generate code, enable tests.
BUG=angleproject:2405
Change-Id: Ic3e9a31eaf22372023b94081b0f4a83770dcabbe
Reviewed-on: https://chromium-review.googlesource.com/1144455
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e452382a
|
2018-07-19T16:10:53
|
|
Vulkan: convert/align vertex data from buffers
When we get a buffer with vertex data in an unsupported format or
alignment, correct that as we copy it to a DynamicBuffer, then use
the copy. Enable tests.
BUG=angleproject:2405
Change-Id: I2132abea4d936f6b53d9209be7f99a0e2d8de219
Reviewed-on: https://chromium-review.googlesource.com/1141277
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
dbd16127
|
2018-07-19T11:30:21
|
|
EGL: Implement EGL Image extensions.
BUG=angleproject:2507
Change-Id: Ica33166e9e23e933977c3ab034d4f5a8cada9fb1
Reviewed-on: https://chromium-review.googlesource.com/1143454
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6a5d98c4
|
2018-05-04T15:42:20
|
|
ES31: Implement Vertex Attrib Binding on D3D11
This patch implements Vertex Attrib Binding on D3D11 and enables all
the test cases related to Vertex Attrib Binding on D3D11 back-ends.
On D3D11 back-ends the information in both GL vertex attributes and
bindings should be updated together. When a binding is dirty, we need
to find out and update all the attributes that are using this binding.
To speed up this process, this patch adds a map from each binding to
all the attrib indexes that are using this binding. This map may be
updated when VertexAttribBinding is implicitly or explicitly called.
With this map we can easily get all the attributes that should be
updated with the current dirty binding.
This patch also removes some unused variables in VertexArray11.cpp.
BUG=angleproject:2700
TEST=dEQP-GLES31.functional.vertex_attribute_binding.*
angle_end2end_tests
Change-Id: I9a28ec357fd3aba835812cecc410cfa4e3734f0c
Reviewed-on: https://chromium-review.googlesource.com/1048980
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c16f518e
|
2018-07-18T10:40:03
|
|
Vulkan: Disable the depth/stencil states when there are no depth/stencil buffers
We sometimes emulate depth-only or stencil-only buffers with depth-stencil
buffers. Disable depth-stencil states that allow reading or writing to these
buffers that should not exist.
BUG=angleproject:2739
Change-Id: I4f54800404f340eb53f04176e208f19a83a2899c
Reviewed-on: https://chromium-review.googlesource.com/1141932
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
38971fd1
|
2018-06-28T15:19:18
|
|
Vulkan: Support multiple depth stencil formats for backbuffers.
Since the backbuffer's depth stencil is always emualted, it can support any
depth stencil format.
BUG=angleproject:2692
Change-Id: I29df62bb322c1ac4e9fcd54e4cbc4c219cf12e83
Reviewed-on: https://chromium-review.googlesource.com/1119075
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5a4c932a
|
2018-07-16T11:01:58
|
|
Vulkan: Implement "default" vertex attributes.
Rendering from disabled attributes is implemented using small dynamic
buffers. The buffers use a stride of zero so the same vertex data is
pulled for every index.
This fixes all the disable attribute tests in dEQP.
Bug: angleproject:2444
Change-Id: I04fe139076da3e3ff723bed8eb17e333b4cb0ddf
Reviewed-on: https://chromium-review.googlesource.com/1136664
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
419acc8f
|
2018-06-24T19:57:31
|
|
Vulkan: Convert streamed vertex data as needed.
Add two members to vk::Format:
- vertex data copy function
- flag indicating if the function converts or not
Use the function when streaming vertex data so it gets converted if needed.
Add fallbacks for integer formats. These formats will now work everywhere,
as long as they are in client memory, not a buffer object.
Adjust test expectations accordingly.
BUG=angleproject:2405
Change-Id: I677221219d933c35740633a0ab7694293e218177
Reviewed-on: https://chromium-review.googlesource.com/1084328
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
76c1d14b
|
2018-07-14T11:33:39
|
|
D3D11: Lift dEQP-GLES3 uniform_api test expectations.
Unclear if these tests are still failing.
Bug: angleproject:1098
Change-Id: If64a0a046d2b21b67f67aba1efb92d33a30b96c3
Reviewed-on: https://chromium-review.googlesource.com/1137390
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ecbaf666
|
2018-07-13T15:00:38
|
|
dEQP: Fix non-GTest error logging.
Using the non-GTest dEQP targets led to crashes when deferencing a
nullptr error logging method. Fix this by skipping platform init if
there is a nullptr logError function.
Bug: angleproject:2552
Change-Id: I161e35b49f7e9a7592cec968e3540a2e8b625f94
Reviewed-on: https://chromium-review.googlesource.com/1136663
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
e835609c
|
2018-07-12T12:36:47
|
|
Vulkan: Implement gl_DepthRange support using driver uniform
Bug: angleproject:2592
Change-Id: Iec3d111df4d8e5cef205c8afb177f0514ffac5c8
Reviewed-on: https://chromium-review.googlesource.com/1135448
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
523c5e31
|
2018-07-12T16:39:30
|
|
Vulkan: Suppress PointCoord test on Android.
This started failing with the driver uniform rework:
Vulkan: Add driver uniforms for point coords flipping
https://chromium-review.googlesource.com/1133584
Suppress until we can investigate.
Bug: angleproject:2727
Change-Id: Id1d1fe713ac058a0bb45230ba9e292f012755bcc
Reviewed-on: https://chromium-review.googlesource.com/1135729
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
84c11c53
|
2018-07-11T10:12:39
|
|
Vulkan: Implement sampler structs as function args.
Bug: angleproject:2494
Change-Id: Ia8e374846427b7140ab2565ae5b9b18409a76d96
Reviewed-on: https://chromium-review.googlesource.com/1117323
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
a2f043d8
|
2018-07-10T17:21:20
|
|
dEQP: Implement platform error handling.
Also downgrades several Vulkan UNIMPLEMENTED() to WARN().
Also downgrades a couple D3D-specific errors to warnings.
Also downgrades an undefined behaviour integer clear error to warning.
Also includes suppressions for failing D3D11 ES 3.1 SSBO tests.
Also includes suppressions for failing Android GLES format tests.
Also includes suppressions for failing Android Vulkan buffer tests.
Bug: angleproject:2552
Bug: angleproject:2567
Bug: angleproject:1951
Bug: angleproject:2405
Change-Id: Ie619085021d42012cd578b669f7ff4252ca41a58
Reviewed-on: https://chromium-review.googlesource.com/1062791
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
cb8a921b
|
2018-06-28T12:30:36
|
|
Vulkan: Support RGB/BGR backbuffers emulated on RGBA/BGRA.
BUG=angleproject:2692
BUG=angleproject:2523
BUG=angleproject:2715
BUG=angleproject:2716
Change-Id: I538b385f8b66fb97e176953b0fc4a6299849c005
Reviewed-on: https://chromium-review.googlesource.com/1118713
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
7e585118
|
2018-07-04T15:49:02
|
|
Vulkan: Implement eglWaitClient using a finish.
In the future this can be implemented with a flush.
BUG=angleproject:2707
Change-Id: I1dd4eae9551f7797865e6e17e6caa77f6ec5a9b2
Reviewed-on: https://chromium-review.googlesource.com/1126457
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
072c3519
|
2018-07-04T15:50:12
|
|
Fix missing return when validation fails in eglWaitNative.
BUG=angleproject:2707
Change-Id: Ibd70437e3a40a9a63b78ac9a4546c97611a97ba5
Reviewed-on: https://chromium-review.googlesource.com/1126458
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
62edcce8
|
2018-07-04T12:43:39
|
|
Vulkan: Initialize the max pbuffer size members of Config.
Pass the VkPhysicalDeviceProperties to GenerateDefaultConfig to initialize the
pbuffer size limitations in a platform independent way.
BUG=angleproject:2622
Change-Id: Id99bc505a1965cc037c5dcd65af031c1c655d424
Reviewed-on: https://chromium-review.googlesource.com/1126406
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
a72ebeba
|
2018-06-28T11:16:58
|
|
Vulkan: Fix issue in DynamicBuffer
- We weren't keeping track of mSize correctly, causing some very
specific index buffer bindings to fail. The size returned when allocating
the buffer can be a bit different than the size requested, and that extra
space between mSize and the allocated size was not meant to be used,
causing errors in the validation layers.
Bug: angleproject:2580
Change-Id: I47eb7b8de6f4f657de14385b77ba6a459add599b
Reviewed-on: https://chromium-review.googlesource.com/1118607
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
6ef24d78
|
2018-06-29T16:03:34
|
|
Update dEQP EGL expectations for Vulkan on Linux.
Bug: angleproject:2635
Change-Id: I74641edc405aa158a2acc0ac619343bf316454bd
Reviewed-on: https://chromium-review.googlesource.com/1121076
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
f3062c3e
|
2018-06-28T13:33:15
|
|
Update dEQP EGL expectations for Vulkan on Windows.
BUG=angleproject:2635
Change-Id: If2a4893c4099dc4a1b699ba4e4e3ca2c0f946af8
Reviewed-on: https://chromium-review.googlesource.com/1118906
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a0adaf98
|
2018-06-27T15:49:35
|
|
Vulkan: Work around unused sampler validation.
Work around glslang's improved validation by using a valid but very
high layout binding. This should be more robust.
Tests already passing:
dEQP-GLES2.functional.state_query.shader.uniform_value_sampler
Bug: angleproject:2691
Bug: angleproject:2612
Bug: angleproject:2600
Change-Id: Ie78ae89f76cc0a42806724b622d7f201241bd041
Reviewed-on: https://chromium-review.googlesource.com/1117477
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a26de250
|
2018-06-28T07:24:38
|
|
Vulkan: Enable dEQP a passing test in buffer.write
Bug: angleproject:2580
Change-Id: I74ab2dec41400781c7236e08f008e2240386c80e
Reviewed-on: https://chromium-review.googlesource.com/1117911
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
2f6f1df4
|
2018-06-28T07:17:46
|
|
Vulkan: Enable the remaining dEQP fbo.render tests
They were already passing, just forgot to enable them it seems.
Bug: angleproject:2597
Change-Id: I10c478f825d2efa7f4b680cd106b213056688319
Reviewed-on: https://chromium-review.googlesource.com/1118014
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
dcb6e927
|
2018-06-27T13:18:32
|
|
Add initial supressions for dEQP EGL tests on Vulkan.
BUG=angleproject:2635
Change-Id: I1e8f3c5c82d01d2b484cd49bd5924776f85d89e2
Reviewed-on: https://chromium-review.googlesource.com/1117261
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0bb02368
|
2018-05-27T20:35:11
|
|
Vulkan: add SCALED vertex formats to table.
Add SCALED formats, which correspond to non-normalized integers, to Vulkan
format table. Adjust test expectations accordingly. For now these new
formats only work when the native Vulkan supports them.
BUG=angleproject:2405
Change-Id: Ia6fdcbec61774536e6396cf713e46f28f49585c1
Reviewed-on: https://chromium-review.googlesource.com/1110710
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|