|
585e3555
|
2020-05-14T10:49:48
|
|
Vulkan: Remove GL_BGRX8_ANGLEX from configurations
It doesn't need to expose an emulated RGB format any
longer. Skip ClearTestRGB.DefaultFramebufferRGB test
if GPUs don't support RGB format back buffer.
Bug: angleproject:4631
Change-Id: Ifa2d2ed6f863dcb698f7eea3e752a8cd5d5e0ced
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2198888
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6c4af0c3
|
2020-05-20T14:54:39
|
|
Tests: Add a common framebuffer config for perf tests
As we add traces tests, some were recorded expecting depth as an
attachment to framebuffer 0. This causes errors when they
unconditionally query info about depth attachments. Since perf tests
have never requested a config before (they are all DONT_CARE for each
componenent), go ahead and set one shared by all.
Test: angle_perftests
Bug: b/157158456
Change-Id: I83ef1a58f246bfbc98c3bc7e024aca01560107f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210966
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
29fedbac
|
2020-05-20T09:52:15
|
|
Vulkan: Create a pre-rotation test for 400x300 windows
This test reproduces the cause of the failures with the
following dEQP tests:
dEQP.GLES31/functional_texture_multisample_samples_*_sample_position
This CL also fixes a problem with the previous test, and puts
the common rendering/ReadPixels code in a common method.
Bug: b/156395519
Change-Id: Id38476b6caf6f25c52f7504187fb500a39109438
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207550
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
cf8422c2
|
2020-05-19T10:14:02
|
|
Vulkan: Acquire a new BufferHelper from the pool based on a threshold
We acquire a new BufferHelper from the pool when the app updates the
data of the entire buffer. In scenarios where the app updates say, 60%
of the buffer it would still be benificial to acquire a new buffer and
copy over the remaining 40% of data from the old buffer to the new one.
This reduces the transfer workload from 60% to 40% of buffer size.
Currently the threshold is set to 50% of buffer size.
Bug: angleproject:4380
Change-Id: I12576c585230e771d4c1a4352fab93dd3db2ecef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204655
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
78ef4133
|
2020-05-15T23:24:18
|
|
Fix invalid enums for OES_draw_buffers_indexed
Make sure the new enums are invalid before the extension is enabled.
Add a angle_end2end_test for that.
Bug: angleproject:4394, chromium:1058744
Change-Id: Ib88f6159294dab2eb7d3662b96c44424ab132782
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2205179
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
4f343f3e
|
2020-05-13T14:11:51
|
|
Reland "Add support for GL_CHROMIUM_texture_filtering"
This is a reland of 38780ae3921d2570316119a881adfb9520e7e296 modulo the
changes to disable VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT, as
this was causing problems. With this landed, the extension will not work
on SwiftShader until we find a way to allow this extension through the
validation layers.
Bug: b/146423360
Bug: b/154620295
Change-Id: Ie09fc507c01a47be3bb227bc78771660170ba5d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2199639
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cdfc69c7
|
2020-05-02T21:54:42
|
|
Add ClearTestES3.TextureArrayRGB8
Bug: angleproject:4608
Change-Id: I0bb483e346f3fc605f4b31f74457b1bbaacbf86f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172092
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d34ab323
|
2020-05-04T10:48:48
|
|
Vulkan: Save linked ProgramExecutable data
PPOs need to support drawing with Programs that failed their last
linkProgram() if they had previously successfully linked. This requires
saving the ProgramExecutable when linkProgram() succeeds, and not
overwriting it with subsequent linkProgram() calls unil the next
successful one.
To achieve this, the new member ProgramState::mLinkedExecutable will
point to the last successfully linked ProgramExecutable and
ProgramState::mExecutable will point to a new ProgramExecutable when the
next linkProgram() is attempted. If the link fails, the newly allocated
ProgramExecutable will be delete()'ed and mExecutable will point to the
previous 'good' ProgramExecutable still being tracked by
mLinkedExecutable. If it succeeds, the old mLinkedExecutable will be
delete()'ed and mLinkedExecutable will be updated to point to the ne
one.
Bug: angleproject:4514
Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
Change-Id: I0677602a6d652a055404667ec9e9305fed5b4177
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181450
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
99db3471
|
2020-05-13T18:50:51
|
|
Unset the ActiveTextureCache entry if the program does not reference it
When changing uniforms of a program, State::onActiveTextureChange is
called to update the ActiveTextureCache. If the sampler uniform type
changes to TextureType::InvalidEnum, the entry in ActiveTextureCache was
not cleared. This causes stale entries in ActiveTextureCache because the
cache no longer matches what textures are bound and the cache does not
add references to the textures in it.
BUG=chromium:1078375
BUG=chromium:1072406
BUG=chromium:1078866
Change-Id: If9719dcd4fc865b2301db450eb8115e7cfe46c4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2199654
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8f6d1af9
|
2020-03-19T14:35:48
|
|
Vulkan: Implement EXT_texture_format_sRGB_override
Implemented support for EXT_texture_format_sRGB_override
This is done by creating new imageviews for textures with sRGB
overridden that reinterpret the format to its sRGB counterpart.
As preparation for this, textures that use this feature are
reallocated with VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT. This will
have a performance cost for textures that use this feature, but
should have no performance cost for regular textures, since they
will not have this bit set.
Bug: angleproject:4561
Test: angle_end2end_tests --gtest_filter=SRGBTextureTest.*Vulkan*
Change-Id: Iba25f1f2b0a7227959c1cb4ba6e3ca8311c20d06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152145
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
e8d71eb3
|
2020-05-12T14:40:44
|
|
Vulkan: Fix ANGLE_ENABLE_VULKAN_VALIDATION_LAYERS_BY_DEFAULT
Unfortunately this was broken by 605af42e1 ("Vulkan: Move ICD overrides
to a common place").
This adds an unconditional dependency on the layers to tests. Tests
don't respect angle_enable_vulkan_validation_layers, so we need to ship
the layers irrespective of that setting.
Bug: angleproject:4634
Change-Id: Ided291ea645a72e6c3bdb960e55d15013aa20a3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197279
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
08e0df62
|
2020-05-08T19:32:05
|
|
Vulkan: Create a test to debug Android pre-rotation
This test has been helpful because of its simple, very-predictable
color pattern. The red component corresponds to the x-axis, and green
to the y-axis. Red and green values will increment by 1, from 0 to
255/0xFF, as it goes further away from the lower-left corner.
Bug: angleproject:4436
Bug: angleproject:4431
Bug: b/150329975
Bug: b/150329969
Change-Id: I76ac866d36036257810f77adf9b4e28bcdcc28d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185747
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ce925b4c
|
2020-05-12T11:52:42
|
|
Perf: Add Temple Run trace
Test: angle_perftests --gtest_filter="*Trace*"
Bug: b/152512564
Bug: angleproject:4048
Change-Id: Ifca698a9c294e77bf90900781c1495ef6b559d63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197285
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
3a909841
|
2020-05-12T14:19:06
|
|
Perf: Add Reset call to trace tests
The traces are already updated to contain the Reset calls, now
actually call them from TracePerfTests.
Test: angle_perftests --gtest_filter="*Trace*"
Bug: b/152512564
Bug: angleproject:4599
Change-Id: I18b6726bc98b96f132c3245c51420cbfed1b84d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197284
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
544a80ef
|
2020-05-12T11:46:15
|
|
Perf: Detect context used by trace
Capturing supports multiple contexts, which are hard coded into
the function and file names. On desktop, they've typically been
"1", but on Android we've seen context "2" or "3".
This CL adds the ability to detect the context number used by the
trace, and programmatically adds it to generated files.
Test: angle_perftests --gtest_filter="*Trace*"
Bug: b/152512564
Bug: angleproject:4036
Change-Id: I64616b93a704446b08cb614b2a74ab1932ef1f40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197283
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9a78f6cf
|
2020-05-12T01:25:09
|
|
Add a test for mandatory Fuchsia handle types
FEMU isn't reporting zircon events correctly in
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, which causes the
tests to be skipped. There's no test that can catch this problem, so add
one.
Bug: angleproject:4625
Change-Id: I0733e84eccb630569230c360fb900a1f04bf0f9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195690
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f0efc9c4
|
2020-05-12T00:22:07
|
|
Apply compression algorithm to VulkanExternalImageTest
These tests have opaque fd and zircon handle variants that only differ
in the handle operations. Turn the test into a template that runs twice
with an opaque fd and fuchsia template argument.
Bug: angleproject:3289
Change-Id: Ibb3baaa8eef239e3747a0e74ce17396637c8bcd9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195686
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6067c7d8
|
2020-05-12T18:18:47
|
|
Reland "Vulkan: Add semaphores test to VulkanExternalImageTest"
This is a reland of 69e46942563b30be8a79512252e92fcf00c1a522
Original change's description:
> Vulkan: Add semaphores test to VulkanExternalImageTest
>
> Add a more substantial test that uses semaphores to
> VulkanExternalImageTest.
>
> It's still just a clear in GL, which exposed a bug that a staged clear
> wasn't be flushed by a call to glSignalSemaphoreEXT.
>
> Bug: angleproject:3289
> Change-Id: Id938eaf2c8c20cb0ae9fb948fbfcf3448980b577
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195684
> Commit-Queue: Michael Spang <spang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:3289
Change-Id: Idce1e8944b72445c92be9ad08d8c5869ca0b7df2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197735
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
3b82fdcf
|
2020-05-12T23:44:07
|
|
Revert "Add support for GL_CHROMIUM_texture_filtering"
This reverts commit 38780ae3921d2570316119a881adfb9520e7e296.
Reason for revert:
Breaks SWANGLE-VK:
05-12 23:42:28.612 22836 22861 D libEGL : dlopen_ext from APK (libEGL_angle.so) success at 0x79f4485a10
05-12 23:42:28.617 22836 22861 D libEGL : dlopen_ext from APK (libGLESv1_CM_angle.so) success at 0x79f4485eb0
05-12 23:42:28.619 22836 22861 D libEGL : dlopen_ext from APK (libGLESv2_angle.so) success at 0x79f4485c60
05-12 23:42:28.624 14223 14223 D StatusBar: disable<e i a s b h r c s > disable2<q i n >
05-12 23:42:28.633 14014 14057 V DisplayPowerController: Brightness [0.19986142] reason changing to: 'automatic', previous reason: 'automatic [ dim ]'.
05-12 23:42:28.635 22836 22861 D vulkan : searching for layers in '/data/app/~~0AfWfBsFEO78tqKlnanevg==/org.khronos.gl_cts-NOs3SGclHqlbcqe-08gHrw==/lib/arm64'
05-12 23:42:28.635 22836 22861 D vulkan : searching for layers in '/data/app/~~0AfWfBsFEO78tqKlnanevg==/org.khronos.gl_cts-NOs3SGclHqlbcqe-08gHrw==/base.apk!/lib/arm64-v8a'
05-12 23:42:28.632 22836 22836 W .khronos.gl_cts: type=1400 audit(0.0:218): avc: denied { ptrace } for scontext=u:r:zygote:s0 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=process permissive=0 b/77925912 app=org.khronos.gl_cts
05-12 23:42:28.636 14014 14034 I EventSequenceValidator: Transition from ACTIVITY_LAUNCHED to ACTIVITY_FINISHED
05-12 23:42:28.637 22836 22861 F SwiftShader: external/swiftshader/src/Vulkan/libVulkan.cpp:425 vkCreateInstance TRACE_ASSERT: pCreateInfo->pNext sType = 1000247000
--------- beginning of crash
05-12 23:42:28.637 22836 22861 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 22861 (.khronos.gl_cts), pid 22836 (.khronos.gl_cts)
Original change's description:
> Add support for GL_CHROMIUM_texture_filtering
>
> Chromium enables a custom extension, GL_CHROMIUM_texture_filtering, when
> using SwiftShaderGL, to enable high precision filtering. This change
> makes it so ANGLE also handles this same extension when using the
> SwiftShaderVK backend, by enabling the new
> VK_GOOGLE_sampler_filtering_precision custom extension.
>
> Bug: b/146423360
> Bug: b/154620295
> Change-Id: I69cafc1ccf5970a3d220ac7e13ec3c8fdd4a9643
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185822
> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,jmadill@chromium.org,amaiorano@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: b/146423360, b/154620295
Change-Id: I803d7a7baac81cf178b59c4bf2789346ec1d3f87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197168
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
c4734bf6
|
2020-05-12T22:15:02
|
|
Revert "Vulkan: Add semaphores test to VulkanExternalImageTest"
This reverts commit 69e46942563b30be8a79512252e92fcf00c1a522.
Reason for revert: Broke the build due to VulkanExternalHelper API change
Original change's description:
> Vulkan: Add semaphores test to VulkanExternalImageTest
>
> Add a more substantial test that uses semaphores to
> VulkanExternalImageTest.
>
> It's still just a clear in GL, which exposed a bug that a staged clear
> wasn't be flushed by a call to glSignalSemaphoreEXT.
>
> Bug: angleproject:3289
> Change-Id: Id938eaf2c8c20cb0ae9fb948fbfcf3448980b577
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195684
> Commit-Queue: Michael Spang <spang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org
Change-Id: I50b2af80cd0214bd3c317eb5ba211ddc66803d74
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3289
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197193
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
69e46942
|
2020-05-12T01:46:50
|
|
Vulkan: Add semaphores test to VulkanExternalImageTest
Add a more substantial test that uses semaphores to
VulkanExternalImageTest.
It's still just a clear in GL, which exposed a bug that a staged clear
wasn't be flushed by a call to glSignalSemaphoreEXT.
Bug: angleproject:3289
Change-Id: Id938eaf2c8c20cb0ae9fb948fbfcf3448980b577
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195684
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7c6a30c2
|
2020-05-11T18:47:12
|
|
Enable validation layers in VulkanExternalHelper
If validation layers are requested by default, also enabled them in
VulkanExternalHelper.
Bug: angleproject:3289
Change-Id: Ic75089d38992be3b4745ce0309bf4ce6b8a702b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195683
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
c6aef6dd
|
2020-05-02T20:24:56
|
|
Skip indexed clears on disabled draw buffers
Fixes ClearTestES3.ClearDisabledNonZeroAttachmentNoAssert
Also fixed an assert in RenderTargetCache::updateColorRenderTarget
Bug: angleproject:4607
Change-Id: Ic527eabacd424786736876136590b8409c9b49d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172091
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
39ce0f67
|
2020-05-08T20:27:03
|
|
Skip swiftshader tests based on active GPU
Currently Swiftshader tests are skipped only if a swiftshader device is
requested. We should also skip swiftshader tests if the default GPU on
the system is swiftshader, as is the case in certain emulated systems.
Bug: angleproject:4626
Change-Id: I3ee83c43d35eb4f94b516e80689b241d53bbfb62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2192090
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d654234e
|
2020-05-10T19:35:05
|
|
Vulkan: Use dedicated allocations in VulkanExternalHelper
This removes the coverage of non-dedicated allocations, but we've never
supported that properly anyway (we require that the offset passed to
glTexStorageMem2DEXT be zero).
Bug: angleproject:4627
Change-Id: I14b0f39e5e13c3aafc4549dc59b6e3ac4ec6ad8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2192500
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
93ec0ca5
|
2020-05-06T11:57:42
|
|
Capture/Replay: Regenerate glue if captures change.
This ensures if we re-capture with different parameters that
we regenerate traces. It uses the sha1 so that it can be run
correctly from an open-source checkout.
Bug: angleproject:4590
Change-Id: I01a2eef037924c5acaaf124308315364e6f1d723
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185157
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
823b1bff
|
2020-05-07T16:06:26
|
|
Trace/Replay: Always use Linux-style line endings.
This makes the traces consistent no matter which platform they are
captured on. Will make it easier to use hashing with our code generator
script.
Bug: angleproject:4590
Change-Id: I7134b824c5cfefe4f2c21d8f9e21d80c2e8af57b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2188953
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
fa507296
|
2020-05-08T12:10:13
|
|
Update trace capture workflow doc.
Makes a lot common between Linux and Windows using git bash.
Bug: angleproject:4620
Change-Id: I68cf8ac0fb43bc9c21d07ae3abecf5ca0358261c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2189814
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
38780ae3
|
2020-05-06T16:05:02
|
|
Add support for GL_CHROMIUM_texture_filtering
Chromium enables a custom extension, GL_CHROMIUM_texture_filtering, when
using SwiftShaderGL, to enable high precision filtering. This change
makes it so ANGLE also handles this same extension when using the
SwiftShaderVK backend, by enabling the new
VK_GOOGLE_sampler_filtering_precision custom extension.
Bug: b/146423360
Bug: b/154620295
Change-Id: I69cafc1ccf5970a3d220ac7e13ec3c8fdd4a9643
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185822
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
572ee7b9
|
2020-04-26T13:58:22
|
|
Vulkan: Fix texture copy from texture3d to texture2d or cubemap
In vulkan spec, if srcImage or dstImage parameters are of
VkImageType VK_IMAGE_TYPE_3D, the baseArrayLayer and layerCount
members of the corresponding subresource must be 0 and 1.
Bug: angleproject:4553
Change-Id: Iabdc9708c86606c0d78c095c9d44827951264180
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2166863
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5b35c7f6
|
2020-05-07T13:40:55
|
|
Fix up screenshot saving for trace tests.
Now works when run in a sequence. Also saves RGB images to avoid
issues with the alpha being inconsistent and also flips images
vertically to fix the rendering.
Bug: angleproject:4615
Change-Id: I8d3b38c5d914e0ca2227320ac42a0e28acd12c4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2187971
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
dae210e6
|
2020-05-04T00:44:16
|
|
Fix validation errors & re-enable VulkanExternalImageTest clear tests
These tests previously encountered errors attempting to transfer images
from VK_QUEUE_FAMILY_EXTERNAL back to itself (this is not valid because
one of the queues families in a memory barrier must be the family of the
queue that executes the barrier). These invalid transfers were made
because our ownership tracking started all resources in the "externally
owned" state, with the expectation that the first operation on the
resource would be a call to glWaitSemaphoreEXT to acquire ownership.
It is far from clear that a call to glWaitSemaphoreEXT is always
required to gain ownership of a resource. The EXT_external_objects
extension inherits Vulkan's semantics, and what the Vulkan spec says is
that the first entity to access a resource implicitly assumes ownership
(see 11.7.1 "External Resource Sharing"). Binding a resource to memory
does not constitute an access to that resource, or affect its ownership.
Allocations should not be accesses, either; they happen at a lower level
and the entire discussion about determining initial ownership from first
access would serve no purpose if the mere allocation of the underlying
memory was sufficient to assume ownership.
This patch therefore adjusts the initial queue family ownership of
resources created in memory objects to be the ANGLE renderer's queue
family, just like a locally allocated image would be. Since this
ownership state may not be correct (an external API may have already
accessed the image, and assumed ownership) we must relax our assertions
to allow a call to glWaitSemaphoreEXT while in this state. For images,
this is only permitted while the layout is undefined.
An alternative would be to set the initial queue family to a sentinel
value that indicates that we don't know, but that would require checking
for this value before making any accesses, and only then asserting local
ownership. There's no real upside to this; the net effect of the first
access rule is that we must effectively assume ownership until proven
otherwise.
Besides appearing to be the spec's intent, this change simplifies some
usage scenarios because a queue submission is not required in the source
Vulkan instance in order to allocate resources that will be initially
accessed from GL. This seems especially important since there's no
mechanism to allocate an external memory object from inside GL.
The only downside is that the initial ambiguity in ownership prevents us
from diagnosing certain errors, but this limitation is temporary;
ownership becomes clear as soon as there is at least one access or at
least one synchronization operation affecting the resource.
Bug: angleproject:4229
Change-Id: Ibca2bfe373810c55352b1d849d07733d5fcfe5f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2178946
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d08f1d8d
|
2020-05-05T12:54:07
|
|
Perf tests: Add screenshot capture mode.
This adds a "--screenshot-dir" argument to capture screenshots.
If we're running with screenshot capture then the test will
early exit after the first capture. The screenshots use the same
naming pattern as the test name:
TracePerfTest.Run/vulkan_trex_200 -> angle_vulkan_trex_200.png
Note the screenshot dir is relative to the test binary directory,
not the CWD. Also adds a PNG saving utility function.
Bug: angleproject:4615
Change-Id: I1de8ae6a6e6892586bb0b743e7b9a842f90f98e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2184834
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e7d27705
|
2020-04-30T05:50:21
|
|
Fix corruption when changing the base level of a framebuffer texture attachment
In the D3D renderer, changing the base level may trigger re-allocation
of the texture storage, for example if the new base level has a
different aspect ratio. During the process, image contents in the
texture storage should be backed up properly. The D3D11 backend does
this if an image has been associated with the texture storage, but it
may happen such an association has never been established, and
corruption will be observed then.
The proposed patch mitigates the problem by introducing a new method
named findRenderTarget(), with which one can tell if a mip level has
been used as the render target. This works based on the fact that render
targets are cached in the texture storage object. Hence all mip levels
of interest can be found, without relying on the association between
images and texture storage.
Bug: angleproject:2291
Change-Id: Ic73af7b603be25c65760928f276bec16df003baf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2158830
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
101da757
|
2020-05-06T16:10:29
|
|
Capture/Replay: Update gfxbench traces
Incorporate fixes to get them running correctly on native.
TBR=cnorthrop@google.com,courtneygo@google.com,jmadill@chromium.org
Test: angle_perftests.exe --gtest_filter="*Trace*"
Bug: angleproject:4598
Change-Id: I44e9401f1554cc89749ac398ebe46440abd8eeff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2186171
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a2ec926c
|
2020-01-02T19:07:38
|
|
Specify LUID in D3D11
Add an extension to provide the ability to specify the LUID of the
GPU adapter to use when using D3D11.
Corresponding chromium CL:
https://chromium-review.googlesource.com/c/chromium/src/+/2096778
Bug: chromium:792657
Change-Id: Iefebea221a4b7a20f150b445ae1adf375444726d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2096663
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
12b6a82e
|
2020-04-03T18:31:22
|
|
No-Op draws when no active VS and/or FS is present
Re-land CL with WebGL fixes:
This required some extra pointer checking during validation to handle
the fact that a Program and/or ProgramExecutable may not be present when
attempting to draw. This isn't an error, just undefined behavior, which
we (eventually) treat as a no-op.
According to the OpenGL ES 3.1 spec:
7.3. PROGRAM OBJECTS
If there is no active program for the vertex or fragment shader
stages, the results of vertex and fragment shader execution will
respectively be undefined. However, this is not an error.
To handle this, if no VS or FS is present in the active Program/PPO,
we will no-op the draw command.
Bug: angleproject:3570
Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
Change-Id: I70d688bf344a78cf3b4fd66c995ae03ce4b9b807
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185156
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
bcd2c592
|
2020-05-06T15:49:41
|
|
Revert "Capture/Replay: Update traces to include Reset"
This reverts commit 968bb06d94369b782eacb9b7c6a3f1f2171b5f85.
Reason for revert: Broke angle_perftests on the P2 bots:
https://ci.chromium.org/p/chromium/builders/ci/Android%20FYI%2064%20Perf%20(Pixel%202)/30223
Original change's description:
> Capture/Replay: Update traces to include Reset
>
> Now that our traces can reset state back to how it started with MEC:
>
> * Update the code generation to include that call.
> * Update existing traces to include that call.
> * Add a capture of Temple Run.
>
> Test: angle_perftests.exe --gtest_filter="Trace*"
> Bug: b/152512564
> Bug: angleproject:3662
> Bug: angleproject:4599
> Change-Id: I4062271b75b5c6fc9122b301d1af443d79770edc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182911
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
TBR=cnorthrop@google.com,courtneygo@google.com,jmadill@chromium.org
Change-Id: Icea86c2fbfbabe4a1e7738954cecc176b5574a16
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/152512564, angleproject:3662, angleproject:4599
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2184705
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
968bb06d
|
2020-05-05T12:38:40
|
|
Capture/Replay: Update traces to include Reset
Now that our traces can reset state back to how it started with MEC:
* Update the code generation to include that call.
* Update existing traces to include that call.
* Add a capture of Temple Run.
Test: angle_perftests.exe --gtest_filter="Trace*"
Bug: b/152512564
Bug: angleproject:3662
Bug: angleproject:4599
Change-Id: I4062271b75b5c6fc9122b301d1af443d79770edc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182911
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
1ab55d96
|
2020-05-06T14:45:18
|
|
Revert "No-Op draws when no active VS and/or FS is present"
This reverts commit a4b506f79e3286ffcf3a5d68f20aa97a63edab8e.
Reason for revert: WebGL crash
https://bugs.chromium.org/p/angleproject/issues/detail?id=4616
Original change's description:
> No-Op draws when no active VS and/or FS is present
>
> According to the OpenGL ES 3.1 spec:
>
> 7.3. PROGRAM OBJECTS
> If there is no active program for the vertex or fragment shader
> stages, the results of vertex and fragment shader execution will
> respectively be undefined. However, this is not an error.
>
> To handle this, if no VS or FS is present in the active Program/PPO,
> we will no-op the draw command.
>
> Bug: angleproject:3570
> Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
> Change-Id: If19e9fbb1bc09fa0d490832079bb9f514eab6035
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2136386
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tim Van Patten <timvp@google.com>
TBR=timvp@google.com,jmadill@chromium.org,cclao@google.com
Change-Id: Ia24c4156ff7779b69c1f3f705f1a91cbb1c9684c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3570
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2184849
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
daed369c
|
2020-05-05T14:24:26
|
|
EGL: Add support for GL_EXT_EGL_image_array extension
Add support for creating 2D array EGLImages. 2D array
textures are core in GLES3.0. Enable the eglImageArray
bool that controls exposure of the extension for all
contexts >= GLES3.0
Bug: angleproject:4604
Tests: angle_end2end_tests --gtest_filter=ImageTest.*2DArray*
Change-Id: Iebc1ad184fe7209ca89d620290337438ac251c56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176109
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
930b2641
|
2020-03-23T14:47:03
|
|
Allow tests to run on native EGL.
Adds support for Linux and Android native EGL testing.
This can be useful for doing performance comparisons of ANGLE vs
a native GL driver. Only enabled for the trace perf tests due to
limitations in the test harness.
Bug: angleproject:4596
Change-Id: Iba6d3ccd7c1275cf095893fab824a0ea33dc3a79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2116254
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
a4b506f7
|
2020-04-03T18:31:22
|
|
No-Op draws when no active VS and/or FS is present
According to the OpenGL ES 3.1 spec:
7.3. PROGRAM OBJECTS
If there is no active program for the vertex or fragment shader
stages, the results of vertex and fragment shader execution will
respectively be undefined. However, this is not an error.
To handle this, if no VS or FS is present in the active Program/PPO,
we will no-op the draw command.
Bug: angleproject:3570
Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
Change-Id: If19e9fbb1bc09fa0d490832079bb9f514eab6035
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2136386
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
c02cdff7
|
2020-05-05T19:52:17
|
|
Revert "Add -Wno-pointer-to-int-cast"
This reverts commit 226bba3c755ec8105c895c87450c1ebb0d8159e1.
Reason for revert: Should no longer be needed after
https://chromium-review.googlesource.com/c/angle/angle/+/2168617
Original change's description:
> Add -Wno-pointer-to-int-cast
>
> This is the last remaining instance of the warning across Chromium. It's
> fixed upstream but I can't seem to figure out how to successfully roll
> deqp. So suppressing it here for now.
>
> This can be removed once the deqp in Angle has
> https://github.com/KhronosGroup/VK-GL-CTS/pull/199.
>
> Change-Id: Ie954bb2a3d86ea0de644e2a78051531b396e88a8
> Bug: chromium:1054220
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165365
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,courtneygo@google.com,aeubanks@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:1054220, angleproject:4588
Change-Id: Ib26534cbb48df6d51af137babb95f3aeb6825043
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182891
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Nico Weber <thakis@chromium.org>
|
|
eba008ad
|
2020-05-05T10:46:21
|
|
Add end2end test for changing MAX_LEVEL with compressed texture
This is a follow-on to
https://chromium-review.googlesource.com/c/angle/angle/+/2180881.
This adds a comment explaining part of that solution, and an end2end
test that creates a compressed texture and then renders after
decreasing MAX_LEVEL and then again after increasing MAX_LEVEL.
Bug: b/155499736
Change-Id: I04bb0dc9ead2807f7121e4c6b95ffd3594d5dcc0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182174
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
a5829b2a
|
2020-04-27T15:41:37
|
|
deps: Roll VK-GL-CTS
* Moved xexml files to a library
* Added new waiver system to GN
* Added new KHR GLES 3.x tests to GN for nearest sampling edge cases
* Updated expectations for new tests
* Manual roll of glslang to bring in new dependencies.
Test: deqp
Bug: angleproject:4588
Change-Id: I7b9bcc28e9c9ba6abe4fa4873f732677ed3d276d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168617
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e8e12881
|
2020-05-05T08:47:28
|
|
Roll Vulkan headers, update ANGLE to match
All the *_RANGE_SIZE enums were removed from vulkan_core.h
Fix up ANGLE references.
Bug: b/155750030
Change-Id: Idc4ee20d4a87f8cb3f46e105819af7257a7fea4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182577
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d657e1d7
|
2020-04-24T13:13:18
|
|
Vulkan: Defer framebuffer clears.
This works by storing the deferred clears in the ImageHelper's staging
buffers. We apply the deferred clears onto the RenderPass right before
we begin to draw. Storing the clears in the ImageHelper solves problems
where we clear GL Textures in a Framebuffer and then unbind the
Textures and sample from them. Or do other commands like CopyTexImage.
Note that because the staging buffer clears only handle full-image
clears we need to immediately apply some scissored clears where before
we would use the RP. This should be a pretty rare occurrence and it is
possible to optimize that in the future.
Reduces the RenderPass count in the Manhattan "frame 10" trace from max
22 to max 20. May improve perf slightly on Android or may have effects
too small to measure. Should not regress performance.
Bug: angleproject:4517
Change-Id: I02150d531022afb903f1058f070937ec6337bd88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2142711
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
73bf99b7
|
2020-04-29T16:20:09
|
|
Fix clearing the program's validation-related cache too early
When attempting to link a new program, the program must be marked
as unlinked, but the validation-related caching should not be
cleared yet, since we can still use the previously linked program
if linking fails at this point.
Added an angle end2end test which fails without this fix and
passes with this fix.
Fixes the following WebGL 1.0.4 test with SwANGLE:
conformance/programs/program-test.html
Bug: angleproject:3557
Change-Id: Ib6722ba88803979e8f292c9b7b81f85cc0304662
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2173538
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
4271443d
|
2020-03-04T20:33:36
|
|
Fix VulkanExternalImageTest on SwiftShader
Check isSwiftShader() for whether to load swiftshader instead of the
default ICD.
The spec says we should query GL_DEVICE_UUID_EXT & co for this, but we
haven't implemented those queries yet.
Bug: angleproject:4092
Change-Id: Ifd74d6b6706f7b1fcbe5d82a33ecf70e631e26b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2088660
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
f623bd2e
|
2020-04-14T10:35:13
|
|
Tests: Add program pipeline object tests
This CL adds two program pipeline object (PPO) tests based on code
inspection during review. They are both disabled awaiting fixes.
* The first (DetachAndModifyShader) tests a bug that shaders aren't
detached immediately on call.
* The second (DifferentTextureTypes) tests PPOs with mismatched
texture types. They should not link if the programs use a texture in
non-matching ways.
Test: ProgramPipelineTest31.DetachAndModifyShader*
Test: ProgramPipelineTest31.DifferentTextureTypes*
Bug: b/151462886
Bug: b/151449648
Bug: angleproject:3570
Change-Id: Ief0937397d31c972bf5e3a8d56b02d2dbd5a604b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2146997
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
2071b5c3
|
2020-05-01T15:41:04
|
|
Expose EGL 1.5.
This is helpful for figuring out if we can support the DEBUG
property when initializing an EGL context. It also will be
necessary down the line for Android.
Bug: angleproject:4596
Bug: b/154921118
Bug: angleproject:4606
Change-Id: I01c2cbaa21495e3620b7858f2a309c9a884033ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176277
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
78f2e4b8
|
2020-03-24T16:21:40
|
|
Add gles1 covegl test compile
Covegl test is hard to suit gtest, so just compile it without gtest
(angle_gles1_covegl_no_gtest), we can get the test result by exit code.
Bug: angleproject:2303
Change-Id: I67a930c91f23c02e72022329c712a0749e4a903c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2126587
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
92b3a720
|
2020-04-27T15:52:56
|
|
Capture/Replay: Generate code integration.
This sources the trace list from a json file and uses that to make the
"glue" that works with each individual trace test.
Bug: angleproject:4590
Change-Id: I40808cbd0e00f9ed01f93c4cfbd678401db3fec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168539
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d93b9559
|
2020-04-16T16:16:27
|
|
Translate uniform block with large matrix array to StructuredBuffer
There is a slow compiling issue if translate a uniform block with
a large matrix array member to cbuffer, so translate the uniform
block to StructuredBuffer. But pack_matrix pragma directive is
invalid for matrix element of StructuredBuffer, so pack the matrix
into a structure firstly, and then specifies packing alignment for
the matrix in this structure, last the structure is used as
StructuredBuffer element.
Bug: angleproject:4206
Change-Id: I5a2a512e57b37dcdb88c3060d0d078b46f72eb5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154525
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
718ae508
|
2020-04-28T08:42:07
|
|
Vulkan: Always query EGL_WIDTH and EGL_HEIGHT
This fixes the failures of the dEQP EGL resize tests on Android.
Those tests don't actually resize the window (which would allow the
tests to pass), but do change internal Android Surface values that
vkGetPhysicalDeviceSurfaceCapabilitiesKHR queries. Therefore, by
freshly querying these values the test passes.
Bug: b/153329980
Change-Id: Ie966f221bfaa14988c1503c7f5503f0b21476bcb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165639
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
448b14bb
|
2020-04-27T13:46:08
|
|
Vulkan: Apply binding size in updateBuffersDescriptorSet.
Previously we would bind the full Vulkan buffer size in cases of
unsized arrays in storage buffers. This then would lead to problems
when binding a dynamic buffer that used sub-allocation or larger
internal sizes. Instead use the GL binding size or GL buffer size as
the size limits.
Bug: angleproject:4380
Change-Id: Ia579bfeae3b8d068813336cbd5e1babee9f4f345
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168020
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d9268889
|
2020-04-22T20:24:16
|
|
Take into account baseVertex for drawElementsImpl D3D11
Also add test for GL_DYNAMIC_DRAW and GL_STREAM_DRAW with vertex
color data updating before each draw call to make sure index range
is retrieved correctly.
Bug: angleproject:3402, angleproject:3911
Change-Id: I5f209292b6e316e4b50505a98b361eb8761a7d6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2162132
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
1398080c
|
2020-04-27T16:16:15
|
|
Capture/Replay: Simplify .gni integration.
Moves a lot of the code out of the gni file into tests/BUILD.gn. In
preparation for auto-generating the gni file as a simple array of trace
test names.
Bug: angleproject:4590
Change-Id: Iaa2b7872dc6e705d59108fa7532594bdc65d365a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168359
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6193fd69
|
2020-03-07T21:19:05
|
|
OpenGL: Implement OES_draw_buffers_indexed
OpenGL state sync issues as few GL commands as possible to update the
blend state regardless of an application input.
Enhanced ClearTestES3.MaskedIndexedClearMultipleAttachments
regression test.
Disabled OES_draw_buffers_indexed on Windows/AMD/OpenGL.
Bug: angleproject:4394
Change-Id: I244ac2975678bc559634152cf4eb997d9dbe83d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2145874
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6e7d7296
|
2020-04-24T15:40:57
|
|
Fix clearing compressed textures with Vulkan backend
When making sure a texture's data is initialized in ANGLE, it
is illegal to attempt to clear it when using the Vulkan backend.
The Vulkan spec, regarding vkCmdClearColorImage, mentions that:
"image must not have a compressed or depth/stencil format"
The proper way of initializing the memory of a compressed image
in Vulkan is to do a buffer to image copy instead. This was added
to ImageHelper::stageRobustResourceClear() so that it may now
handle compressed textures properly.
Bug: angleproject:4092
Change-Id: I073ed0603d9e92e787b9be8992751dbc0c8978db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165636
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
d6c7bac9
|
2020-04-18T01:41:14
|
|
Add BlendStateExt helper structure
It provides compact storage and comparison operations for
per-drawbuffer blend states.
Added BitSetT::Zero() static constexpr.
Bug: angleproject:4394
Change-Id: I66d6275facb7b28022fc24ff9cc0d8c3c976c99d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154669
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
226bba3c
|
2020-04-24T09:57:10
|
|
Add -Wno-pointer-to-int-cast
This is the last remaining instance of the warning across Chromium. It's
fixed upstream but I can't seem to figure out how to successfully roll
deqp. So suppressing it here for now.
This can be removed once the deqp in Angle has
https://github.com/KhronosGroup/VK-GL-CTS/pull/199.
Change-Id: Ie954bb2a3d86ea0de644e2a78051531b396e88a8
Bug: chromium:1054220
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165365
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3cb9c4be
|
2020-03-13T13:56:47
|
|
Statically link vulkan-loader on Mac
Disable angle_shared_libvulkan on Mac since we are the only client.
Re-add codepaths to support this.
Bug: angleproject:4477
Change-Id: Ie128c83adaae741636541bbfd6105d160d874a8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2102954
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
5578fc84
|
2020-04-22T09:34:30
|
|
Vulkan: Disable EXT_texture_sRGB_R8
Due to a dEQP bug, EXT_texture_sRGB_R8 cannot be exposed before
EXT_texture_sRGB_decode is available. This change disables
EXT_texture_sRGB_R8 on the vulkan backend.
Bug: angleproject:3609
Test: dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.*
Change-Id: I261c80986484e489f6903eb54ac6865433050bfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2161985
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
e20f36f4
|
2020-04-21T15:45:44
|
|
EGL: Implement EGL_ANDROID_native_fence_sync on vulkan
Check the following -
1. Vulkan ICD supports VK_KHR_external_fence_fd
2. ExternalFenceProperties and ExternalSemaphoreProperties
support Android FD.
eglCreateSync - if FD was provided import to VkFence,
else create VkFence with new FD and then
flush and submit VkFence on next vkQueueSubmit.
eglGetSyncAttrib - for status call vkGetFenceStatus.
eglDupNativeFenceFdANDROID - return FD from vkGetFenceFD call.
eglClientWaitSync - call vkWaitForFences.
eglWaitSync - dup FD, create VkSemaphore and import FD, then
flush() and add VkSemaphore to next vkQueueSubmit
as a waiting semaphore.
Extended end2end test suite with nativefence test cases.
Bug: angleproject:2517
Test: angle_end2end_tests --gtest_filter=EGLSyncTest.AndroidNativeFence_*
Change-Id: I8f6a6f4c3d71d83007f662b78377aa015a740035
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2026177
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4671bcf0
|
2020-04-21T18:12:46
|
|
Fix program interface queries for arrays and built-ins
Program interface queries for arrays should return an invalid index
value for indices with leading zeroes.
Program interface queries should return invalid locations for built-in
variables.
Bug: angleproject:3596
Test: KHR-GLES31.core.program_interface_query.*
Change-Id: I484ab6e21dbe0c8a984e135ac947c4583a3fbfa2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159646
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
913f4f42
|
2020-04-15T00:54:37
|
|
Vulkan: Support VS, FS, and CS in the same PPO
This CL adds support for a Program Pipeline Object to have a VS, FS,
and CS attached to the same PPO and then using that PPO for both draw
and dispatch calls.
Bug: angleproject:3570
Test: KHR-GLES31.core.compute_shader.sso*
Change-Id: I262cdbdfd442f6db5ba2b45d1308003102b237cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2150078
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
dadd1986
|
2020-04-21T01:50:00
|
|
Implement GL_APPLE_clip_distance
- Built-in variable gl_ClipDistance has been added to compiler.
- Desktop GL: gl_ClipDistance is supported since GL 3.0. Enable/Disable
each gl_ClipDistances[i] works out of the box via glEnable().
- Vulkan/Metal: Use uniform variable to control writing to each
gl_ClipDistance. One bit flag controls one element in the gl_ClipDistance
array. The writing to the disabled element in vertex shader will be
ignored, and turned into zero assignment instead.
- Direct3D/Mobile GL: Not implemented yet.
- Added ClipDistanceTest to gl_tests and compiler unittests.
- GL_APPLE_clip_distance is a subset of GL_EXT_clip_cull_distance, so
GL_EXT_clip_cull_distance could be implemented in future if needed.
Bug: angleproject:4452
Change-Id: I571ac8b56826989808a680226a04bec4cf59988e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2084324
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b5992a55
|
2020-04-21T07:58:47
|
|
Add capture support for FenceSync
This allows us to capture Angry Birds 2 traces.
Bug: b/153652100
Change-Id: I99a47f9e41a84218b3bb3d9740df4bb7fc2a01fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2144763
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
a5e46552
|
2020-04-20T09:33:21
|
|
Vulkan: glDrawElements used old offset into index buffer
When the vertex array binding is changed, the value of
ContextVk::mLastIndexBufferOffset must be reset so that an
old/cached offset (from a previous draw call) is not used for a
new draw call.
This addresses rendering artifacts and Vulkan validation errors
seen with running NBA 2K20 on Android (or the ANGLE trace on
Windows).
Bug: b/153682968
Bug: angleproject:4575
Bug: angleproject:4576
Change-Id: I69089964b8d278c7fc8610ab003548864a215dab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152850
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
33b58ebb
|
2019-11-25T16:31:43
|
|
Vulkan: Give unsized arrays at least 1 entry
The function ShaderVariable::getNestedArraySize needs to return at least
1 entry for unsized arrays to ensure the shader buffer sizes are
reported correctly.
This also allows ANGLE to treat unsized arrays of structs and basic
types the same way, allowing for the special treatment of unsized arrays
in TraverseStructArrayVariable() to be removed.
Bug: angleproject:3596
Test: dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_data_size.*
Change-Id: I3b2a3a68c25e0913b79e989d7c719b34ce9b75fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934952
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2d5da029
|
2020-04-15T17:15:37
|
|
Minor angle_end2end_tests cleanups.
Minor refactoring and call consolidation. Was done while working on
deferring clears in the Vulkan back-end.
Bug: angleproject:4517
Change-Id: I60d80d4f9646c990c4cb8bbc349fc0051389bf02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2151171
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
f93cc8bd
|
2020-04-16T10:29:16
|
|
Vulkan: Skip failing BlendIntegerTest tests
Several BlendIntegerTest tests are failing due to an update to the
Vulkan Validation Layers that are now checking if formats support
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT and generating an error
if not while pipeline.pColorBlendState.pAttachments[0].blendEnable
is VK_TRUE.
Bug: angleproject:4571
Test: BlendIntegerTest*
Change-Id: Ibbfe415af3d6d6a879a502adb6541a5bfe8cd13a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152947
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
1478ec3c
|
2020-03-18T09:42:37
|
|
Add gles1 primtest tests
Bug: angleproject:2303
Change-Id: Idece2eb2fb291799c9aae811ce63dafdd9333887
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2143029
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d26fb99e
|
2020-04-10T16:04:26
|
|
Add DrawBaseVertexVariants Tests
This tests different DrawElements*BaseVertex draw calls
from different extensions including OES_draw_elements_base_vertex,
EXT_draw_elements_base_vertex, and ANGLE_base_vertex_base_instance,
with various combinations of base vertex, base index values.
Bug: angleproject:4536
Change-Id: I3cd256522684c6040199d7704aac8575237dbd96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2146292
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
83678e51
|
2020-04-14T08:47:29
|
|
Tests: Update dEQP KHR GLES 3.1 expectations
Last fix for this test group was merged here:
https://github.com/KhronosGroup/glslang/pull/2175
Test: KHR-GLES31.core.shader_bitfield_operation.*
Bug: angleproject:4402
Bug: b:153165560
Change-Id: Icfd8fcc0b4ef293870bff6fdc0852e85784bb16e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2148960
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
cf2c8e60
|
2020-04-09T18:52:29
|
|
EGL: Relax test skip conditions for a few colorspace ImageTests
Relax test skip conditions for the following colorspace
ImageTests -
- SourceRenderbufferTargetTexture_Colorspace
- SourceRenderbufferTargetTextureExternal_Colorspace
- SourceRenderbufferTargetTextureExternalESSL3_Colorspace
For these tests, it is sufficient to check for support of
EGL_EXT_image_gl_colorspace extension
Bug: angleproject:3756
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceRenderbufferTargetTexture*_Colorspace*
Change-Id: I123fb14fc79e8f949a903b7586a0badf54297cfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2144549
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
c68dfaf3
|
2020-04-01T16:36:25
|
|
Avoid GPU-GPU copy for StructuredBuffer
If uniform block is translated to StructureBuffer on D3D backend,
must do a GPU-GPU copy when updating uniform buffer. If buffer's
latest usage is StructuredBuffer, directly upload to structured
buffer.
Bug: angleproject:3682
Change-Id: I7303866d08705a43238732e5f5ae4858f0a33d63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2131871
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
405f8e7b
|
2020-02-24T17:38:10
|
|
Vulkan: Support Program Pipeline Objects
Add support for PPOs to the Vulkan back end.
Bug: angleproject:3570
Change-Id: I5403456929847c185467b008d810f31ecfcb60cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2072652
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
c12c1f57
|
2020-04-03T01:33:54
|
|
D3D11: Skip setting BlendState for integer attachments
Some D3D11 drivers may produce unexpected results when blending is
apllied to integer attachments.
Minor cleanup: early exit for nullptr attachments.
New BlendIntegerTest in angle_end2end.
Bug: angleproject:4548, angleproject:4547, angleproject:4525, angleproject:4394
Change-Id: I236ac6db1f8dcaca54e9bc1b0803e1775fd75632
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2134448
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
dac5cc3b
|
2020-04-08T18:26:46
|
|
EGL: Add support for EGL_EXT_image_gl_colorspace extension
Add support for creating images with custom colorspace.
Bug: angleproject:3756
Tests: angle_end2end_tests --gtest_filter=ImageTest*
Change-Id: I9c332c012541c094728d9d9bde7add4189084a33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2104088
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
2caf7ffd
|
2020-03-23T12:12:42
|
|
Address a TODO for instance uniform block
This patch resolves one TODO that Support to translate instance uniform
block containing only a large array member to Structured buffer on D3D
backend when necessary.
Bug: angleproject:4205
Change-Id: If2cd6cf633080820ea33e52269d7d86cd587c9ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2114912
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a156df23
|
2020-03-20T08:12:34
|
|
Vulkan: add support for EXT_texture_sRGB_R8
Added support for EXT_texture_sRGB_R8. The GL_SR8_EXT format
will be available if the VK ICD supports VK_FORMAT_R8_SRGB.
This does not add support for emulation of this format.
Bug: angleproject:4503
Bug: angleproject:3609
Test: dEQP-GLES3.functional.texture.*.srgb_r8_*
Change-Id: Ifaec92ac1a8561881f54ddb7fdf0975112711736
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135853
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
2a0c3596
|
2020-03-31T15:36:45
|
|
Vulkan: Clean up robust and emulated image clears.
This change consolidates image clears in multiple places into a single
site in ImageHelper initialization. It adds support for appending clear
image commands as well as prepend (the default). We prepend clears
because image initialization happens after data upload.
The Vulkan robust clear path now works like the other back-ends. The
change flushed out a bug where partially uninitialized CopyTexImage was
not correctly initializing a texture before triggering a full resource
clear. Texture::copyImage now uses a workaround where we first init the
image before clearing it. After the init we upload the new data.
We'll use the appending clears path when implementing deferred clears.
Bug: angleproject:4517
Change-Id: If9212f3b8cdd0fc8b7e729d364530801a644e164
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2130627
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
c9c4e4ed
|
2020-04-02T10:29:52
|
|
Track rendering feedback loops by-context.
This fixes an issue where feedback loops detection would trigger false
positives based on texture use in multiple contexts.
1) there are two contexts, C1 and C2, sharing resources
2) in C1, there is a texture T bound to GL_TEXTURE_2D, and a program in
use that will sample C1
3) in C2, a framebuffer is created and T is bound to it
This fix indexes each set of active bindings in an object by ContextID.
We can potentially redo this solution in the future if this proves to
have too much tracking overhead.
Includes a test writen by Ken Russell.
Bug: angleproject:4517
Change-Id: I67012e68947c42d863dca193972576c82d5f3712
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2134406
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
96c26c68
|
2020-04-03T07:52:52
|
|
Add support for NV_shader_noperspective_interpolation
Added support for GL_NV_shader_noperspective_interpolation on
the Vulkan and Desktop OpenGL backends
Bug: angleproject:4388
Test: angle_end2end_tests --gtest_filter=ShaderInterpTest.NoPerspective/*
Change-Id: I12473830c0ea8b4fffeae9c4a8ec92d979c8e18c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2107234
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
dd00f16b
|
2020-04-02T14:04:44
|
|
Vulkan: Fix FBO cache when updating disabled attachments.
Fix this by consistently checking if the attachment is enabled when we
update the serials.
Also includes a regression test and more ASSERTs.
Bug: angleproject:4540
Change-Id: I154d23cad71f1674d893390f923f45c643a58925
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2134409
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
dd29370c
|
2020-04-01T10:42:47
|
|
Include the fragment output locations in the program cache key.
If the user rebinds the output locations and relinks a program, the
wrong program may be loaded from the cache.
TEST=gl_tests: TranslatorVariants/EXTBlendFuncExtended*
BUG=angleproject:4535
Change-Id: If9a9c2ad935ea4d01c3fe4313810d221e9c9ce38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2131252
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
1e81dd4a
|
2020-04-01T17:46:58
|
|
Suppress failures after Win Intel driver upgrade.
Bug: angleproject:4533
Change-Id: I482c4caa79fb5fdc9cd4a068f7e7e05890121fa2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2130227
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
745e0712
|
2020-03-21T17:46:05
|
|
Vulkan: Enable CPU only buffers for PBOs
Add support for a CPU only buffer for PBOs that serve as
the destination for all host operations like MapBuffer*.
This removes the latency caused by waiting for the in-flight
GPU commands to be complete before handing over the buffer
to the app.
This change removes a ~6ms wait/sleep on the first call to
MapBuffer* in each frame of Manhattan
Bug: angleproject:4339
Tests: angle_end2end_tests --gtest_filter=BufferDataTest*Vulkan
Change-Id: I52016b160af8a670cc30f01c05e48f699521310f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2116874
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
afd2cfa6
|
2020-03-19T17:39:23
|
|
Add gles1 covgl tests
CovglTest have additional error check in TEST ProbeError(Call* functions,
use a tricky method here, alias all ProbeError to ProbeErrorANGLE. add
"#define ProbeEror ProbeErrorANGLE" to all covgl source code besides shell.c
Currently for win/mac platform block on $gles1_conform_root/platform/platform.h
conflict with $angle_root/include/platform/Platform.h
Bug: angleproject:2303
Change-Id: I96679968bf539d6ae3bdfc3aa89150381679cbb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2117950
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7d8c2f2e
|
2020-03-26T22:44:15
|
|
Hide SwiftShader OS Window in dEQP and end2end tests
This prevents a race between starting Xvfb on test bots
and X11 calls in X11Window::setVisible(),
which used to cause flaky hangs on Linux SwANGLE bots.
Unfortunately, in order to hide SwiftShader OS window,
it must be a separate window from other backends,
so it is no longer possible to have a single window for all backends,
even if we don't reuse EGL Display.
The only platform that still uses a single OS Window is Android,
since there is only one system window per test application.
In addition, all the tests that make OS Window visible explicitly,
no longer do this for SwiftShader device.
Bug: angleproject:4434
Change-Id: I1a067c22bfeee9288046b9d9566740731c0d627c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2125945
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d2c33b53
|
2020-03-31T20:04:12
|
|
Skip SwANGLE GLES31 tests which flakily crash with Win 32-bit Subzero
Bug: angleproject:4482
Change-Id: Ic5ff9a390b004029b1581f5726ab64d85c4ab074
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2131388
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
dbb23ec3
|
2020-03-30T14:24:53
|
|
Vulkan: Remove swiftshader mipmap3d test skip
Bug: angleproject:3983
Change-Id: I9c487cc7db5d5e22a6cff00b40e4081498ab771f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2128207
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
05fa1a99
|
2020-03-30T22:02:16
|
|
Skip test flaky on SwANGLE bots
dEQP.EGL/functional_sharing_gles2_multithread_random_egl_server_sync_shaders_compile_9
EGLSurfaceTest.ResizeWindow
AttributeLayoutMemoryIndexed.Test
Bug: angleproject:4495, angleproject:4453, angleproject:4502
Change-Id: Iad5097412372acc8ac36c742445763451c8122ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2129181
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b83b0f5e
|
2020-01-31T15:09:17
|
|
Add support for NV_read_depth, NV_read_stencil and NV_depth_buffer_float2 extensions
This cl adds the ability for the ReadPixels function to read other
attachments than the color attachment. Checks were added for both
depth and stencil attachments.
A new test was added (DepthStencilFormatsTest.DepthStencilReadback)
to test this new functionality. As the name mentions, it's used to
test reading from the depth and stencil attachments using ReadPixels.
Bug: angleproject:4295
Change-Id: I6fe9be11f05d6055a5883b4315f870e7c0ac41ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031702
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
74e816bf
|
2020-03-26T17:40:25
|
|
Vulkan: Expose extension for ETC1 usage with subimage updates
This CL implements the GL_EXT_compressed_ETC1_RGB8_sub_texture
extension, which was added to relax restrictions on using
ETC1_RGB8_OES for subimage updates.
Test: Temple Run on Android
Bug: b:152512564
Change-Id: I78cfd7dfd54fab36dee59a93b3ec3bfce17e73e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2123232
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
abaa3573
|
2020-02-20T10:23:02
|
|
Vulkan: Only calculate variable locations once
Variable locations and descriptor set/binding values are calculated
multiple times:
- Compiling GLSL->SPIR-V
- Creating the Vulkan pipeline layout
- Updating descriptor sets
These values should instead be calculated once and reused throughout
since they won't change without recompiling the shader program.
Bug: angleproject:3570
Change-Id: I5d8767b3b2e2f741aade7fec9991eea53ee2eb98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067101
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b19000f3
|
2020-03-27T19:47:08
|
|
Skip KHR-GLES31.core.shader_image_load_store.advanced-allMips-* tests
Were previosly FAIL, but crash on Windows SwANGLE.
Bug: angleproject:4414
Change-Id: Iefe1625f7ad3eec8ba091ec3543e8cb699c62c65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2125370
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|