|
5cf7472d
|
2020-11-20T13:07:53
|
|
Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9
Multithreaded apps can use the following pattern:
glDrawElements()
glFenceSync()
glFlush()
glWaitSync()
This currently results in a vkQueueSubmit for every glFlush() to ensure
that the work has landed in the command queue in the correct order.
However, ANGLE can instead avoid the vkQueueSubmit during the glFlush()
in this situation by instead flushing the ContextVk's commands and
ending the render pass to ensure the commands are submitted in the
correct order to the renderer. This improves performance for Asphalt 9
by reducing frame times from 150-200msec to 35-55msec.
Specifically, ANGLE will call flushCommandsAndEndRenderPass() when
there is a sync object pending a flush or if the ContextVk is currently
shared.
Additionally, on all devices except Qualcomm, ANGLE can ignore all other
glFlush() calls entirely and return immediately. For Qualcomm devices,
ANGLE is still required to perform a full flush (resulting in a
vkQueueSubmit), since ignoring the glFlush() reduces the Manhattan 3.0
offscreen score by ~3%.
Bug: angleproject:5306
Bug: angleproject:5425
Change-Id: I9d747caf5bf306166be0fec630a78caf41208c27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552718
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4abf3788
|
2020-12-15T13:44:53
|
|
Tests: update WhatsApp trace
The WhatsApp trace was previously captured with the
GL_NV_shader_noperspective_interpolation extension enabled. This
re-capture was made with the extension disabled so the trace can
replayed on devices that don't support the extension.
Test: angle_perftests --gtest_filter="*whatsapp*"
Bug: b/174256233
Change-Id: I9dbf580ed5849b919a72944879be35193632e34a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593191
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8f9e17d5
|
2020-12-14T14:11:11
|
|
Add EXT_clip_cull_distance extension autogen code
Addition of shader autogen code for EXT_clip_cull_distance extension.
Bug: angleproject:5458
Change-Id: I299528957c0e747fd84987c420588c314f54aae0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2590989
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
46eaba7f
|
2020-12-12T10:31:26
|
|
Vulkan: Add support for internal cache hit and miss counts
Add a CacheStats class that provides cache hit and miss bookkeeping.
All internal caches make use of this class to keep track of its stats.
This provides a means to profile cache hit ratios a.k.a Vulkan object
reuse for any application.
Bug: angleproject:5447
Test: Manual verification with angle_end2end_tests
Change-Id: I44eeb0c2b9b291ec1cdd156fb2be4a5fe80d2848
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580111
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f32fbb51
|
2020-12-14T14:42:58
|
|
Add EXT_shader_framebuffer_fetch_non_coherent entry points
Addition of the entry points for
EXT_shader_framebuffer_fetch_non_coherent extension.
Bug: angleproject:5454
Change-Id: I2b8ba5141eed61a0c3ba58aeb2eec12a2071e7f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2590991
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9229b805
|
2020-12-14T14:10:28
|
|
Vulkan: Add the tests for EXT_clip_cull_distance
Before supporting EXT_clip_cull_distance extension,
some tests are added to validate the implementation
of EXT_clip_cull_distance extension. These tests are
implemented based on the tests for APPLE_clip_distance
Bug: angleproject:5458
Tests: angle_end2end_tests --gtest_filter=Clip*DistanceTest*
angle_unittests --gtest_filter=*Clip*Distance*
Change-Id: I018c72ae8f0aff616c9d2600e63246e9609cf3de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585986
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e8c5525c
|
2020-12-09T09:41:21
|
|
Vulkan: flushCommandsAndEndRenderPass during glFenceSync()
The description for glFenceSync states:
glFenceSync — create a new sync object and insert it into the GL
command stream
ANGLE needs to break the render pass and flush any prior commands to
ensure that the newly created Fence object lands with the correct
ordering. This will be done by calling
ContextVk::flushCommandsAndEndRenderPass() before creating the Vulkan
Event object.
Bug: angleproject:5306
Change-Id: I3a460bb559acf8eb4b3041065ec743938d44d823
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582199
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
cb8903b1
|
2020-12-08T01:08:00
|
|
Metal: Ignore OS's internal shader cache when testing.
Internal shader cache caused timeout in some dEQP tests.
Work-around: ignore the cache by hooking fopen function and return null
when the cache related files are accessed.
Bug: angleproject:5354
Change-Id: I12ca228540925e67454bf24ce1ba83d703882c87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580918
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
fd7733e9
|
2020-12-14T19:04:28
|
|
GeometryTest: Expand suppressions to AMD Intel OpenGL
TBR=syoussefi@chromium.org
Bug: angleproject:5463
Change-Id: I3bdd17b5f9fd413e8fcbe734c6cb6f2110364e30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2590185
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a62ee4d1
|
2020-12-11T14:28:42
|
|
Vulkan: Add test for Pixel bug with passthrough GLSL function
Passing in a sampler2D's values using texture2D through a
function generates unexpected results on a Pixel device
with the Vulkan backend.
1. SamplerPassthroughFailedLink - program fails to link.
2. SamplerPassthroughIncorrectColor - output color is incorrect.
These tests have no issues with SwiftShader ICD.
Tests: angle_end2end_tests --gtest_filter=*SamplerPassthrough*Vulkan*
Bug: angleproject:5457
Change-Id: I9c43062e98c7b3637bb8a2b00a957141da821f0a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586059
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d0f99d54
|
2020-12-03T11:06:56
|
|
Vulkan: Fix build issue in vulkan display/headless backend.
In Linux + Vulkan display/headless backend, angle tests such as
angle_unittests/angle_perftests/angle_white_box_perf_tests could
not be compiled successfully, fix build issues on vulkan
display/headless backend in angle tests.
1. Add EGL_NO_X11 flag into vulkan display/headless backend.
2. Disable angle_white_box_perf_tests on vulkan display/headless
backend.
Bug: angleproject:5260
Change-Id: I579aee8b0bfaa4c0d7fdf9a6df91c1b78ec4373e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585256
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
282fb409
|
2020-12-11T16:09:10
|
|
Fix link validation of I/O block members
Location and struct name matching for fields was missing as they only
apply to I/O blocks and not varyings of struct type.
Bug: angleproject:3580
Change-Id: I69083f39088458da72828b418be3068187a30fcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587456
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
56330564
|
2020-12-10T00:46:04
|
|
Vulkan: Support layered framebuffers
This feature is introduced by geometry shaders, where all the layers of
a texture can be attached to a framebuffer. The geometry shader would
use gl_Layer to decide which layer the primitive should be rendered to.
Bug: angleproject:3571
Change-Id: Ib2ae8e227b226295f9e2f62f6b230839070bc95c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582711
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
8326b26a
|
2020-12-11T13:59:40
|
|
Fix link validation with ambiguous instanceless interface blocks
The following interface blocks should fail link:
VS:
layout(binding=0) buffer BufferBlockNameA
{
mediump float variable;
};
FS:
layout(binding=1) buffer BufferBlockNameB
{
mediump float variable;
};
Because `variable` is ambiguous.
Bug: angleproject:3580
Change-Id: I29576a6f152780819af0e9fb63249dbee7d9f2fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d9318acc
|
2020-12-11T10:40:21
|
|
Roll VK-GL-CTS from 41331850eb21 to 54509765b18d (18 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/41331850eb21..54509765b18d
2020-12-10 boris.zanin@mobica.com Basic tests for VK_EXT_conservative_rasterization
2020-12-10 ari.suonpaa@siru.fi Add test for image copy special case
2020-12-10 mikko.tiusanen@siru.fi Add tests for GLES3 vector construction from other types
2020-12-10 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
2020-12-09 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
2020-12-09 ari.suonpaa@siru.fi Add drawing tests for Android hardware buffer based color buffer
2020-12-09 rgarcia@igalia.com Test data spilling and unspilling around RT shader calls
2020-12-09 dominik.witczak@amd.com Add new tests that verify IgnoreIntersection/TerminateRay corner cases.
2020-12-09 rgarcia@igalia.com Test maxPipelineRayRecursionDepth can be zero
2020-12-09 gleese@broadcom.com Enable YCbCr filtering tests for non-separable chroma
2020-12-07 slawomir.cygan@intel.com Fix clang 10.0 build of ray tracing control flow tests
2020-12-07 slawomir.cygan@intel.com Remove merge conflict markers from mandatory_features.txt
2020-12-07 jan.mroczkowski@mobica.com Vulkan Portability support
2020-12-07 piotr.byszewski@mobica.com Disable conflicting fragment shading rate features
2020-12-07 alexander.galazin@arm.com Update Vulkan headers
2020-12-07 tzlatinski@nvidia.com Select SPIR-V for the robustness' compute shaders
2020-12-07 rgarcia@igalia.com Fix buffer offsets in push descriptor tests
2020-12-07 rgarcia@igalia.com Destroy deferred ops before destroying devices
Bug: angleproject:5461
Change-Id: I86f70ea9b77c114ed9495215d83a6fee61adc76a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586995
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ec1ff8f5
|
2020-12-09T14:25:56
|
|
Add a scissored MSRTT test
Covers a bug Skia's implementation of unresolve uncovered. ANGLE's
implementation is slightly different (in that the unresolve pass is full
screen), so it's not affected by this bug.
Bug: angleproject:4836
Change-Id: Ibc8010b0b5ef6912a45fd5f2612fb8b619e4407e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582707
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f9f569e2
|
2020-12-09T11:37:10
|
|
Suppress test requiring VK_EXT_transform_feedback on Nvidia/win7
Bug: angleproject:5450
Bug: angleproject:5435
Change-Id: I1925a4f926d10c81e5c69cfc62fcb26da2cec81d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581940
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
8789457d
|
2020-12-09T00:21:08
|
|
Fix varying packing of I/O block fields
The sorting algorithm didn't keep the fields in order, which made them
receive arbitrary locations. The SPIR-V transformer assigns the
location on the whole block instead of individual members, which was
incorrect in this situation.
The SPIR-V transformer could have been modified to decorate each field
of the I/O block with a location. This change instead sorts the fields
in such a way that I/O block fields are allocated contiguously, which
allows the SPIR-V transformer to function unchanged.
Bug: angleproject:3580
Change-Id: I27df9e8122dd4207835bad448ffb8015692a1635
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581076
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
378653f8
|
2020-11-20T12:24:41
|
|
D3D: throw a perf warning for uniform block
We had translated an uniform block only containing a large array member
into StructuredBuffer instead of cbuffer on D3D backend for slow fxc
compile performance issue with dynamic uniform indexing.
This patch throw a warning if a uniform block containing a large array
member fails to hit the optimization.
Bug: angleproject:3682
Change-Id: I33459b559923f16a8dfb70c6f46ec52f68d96e06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552365
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
|
|
8b851562
|
2020-12-08T16:51:51
|
|
Don't output matrix qualifiers in I/O blocks
row_major and column_major only apply to uniform and buffer interface
blocks per GLSL ES 3.2 spec.
Bug: angleproject:3580
Change-Id: Iad0afeffc7ddb7bff2ebaec0ea0ec4eda26171a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580191
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
36f74334
|
2020-12-03T21:26:28
|
|
Vulkan: Fix query pause on framebuffer binding change
When a render pass is closed, render pass queries are paused. The code
that pauses queries however is conditioned to the render pass being
open. In ContextVk::syncState, when processing
gl::State::DIRTY_BIT_DRAW_FRAMEBUFFER_BINDING, `onRenderPassFinished()`
is called. Later on, when the render pass is actually finished, the
queries are not paused.
This change moves the logic to pause render pass queries to
onRenderPassFinished().
Bug: angleproject:5427
Change-Id: I3a87db2e4543ff698803ac5e154a370e85ac7985
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573581
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
54d95994
|
2020-12-09T09:36:00
|
|
Enable ComputeShaderTest/DrawDispatchDispatchDraw on Intel/Win/Vulkan
This patch enables ComputeShaderTest/DrawDispatchDispatchDraw on
Intel/Win/Vulkan after the upgrade of Chromium try bots.
Bug: angleproject:3871
Change-Id: I3e8d36020cbb01304a7b024d5b74923640402b4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580112
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f691b3b5
|
2020-12-02T13:11:54
|
|
Vulkan: Support PrimitivesGenerated query
This query uses the Vulkan transform feedback extension. In GL,
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN and GL_PRIMITIVES_GENERATED
queries can be independently begun/ended. However, Vulkan requires that
queries from pools of the same type can only be active one at a time.
This forbids the two GL queries from being handled by two VK queries
when they are simultaneously begun.
This change makes these queries share their QueryHelper objects. The
Vulkan transform feedback queries unconditionally retrieve both results
anyway, so this is just a matter of making sure the two GL queries are
merged as one when they are simultaneously used.
The change fixes a number of issues as collateral:
- TransformFeedbackPrimitivesWritten queries when !emulated were not
released
- Stashed queries were never released
- If no render pass is open when a query ends, then getResult(no_wait)
ended up waiting
Bug: angleproject:5404
Change-Id: I8ce13ea76ffd31b3152ded7c713c6466d0315504
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573580
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
aafcb504
|
2020-12-08T09:32:10
|
|
Vulkan: Add ensureSubmission to queueSubmitOneOff
Some callers of queueSubmitOneOff require that the command being queued
to have been sent to the GPU. The new ensureSubmission parameter
indicates that behavior and when running with threaded worker will wait
for the worker queue to empty before returning.
Bug: b/170312581
Change-Id: Ib620fb37f4b9b4431451ccbd10807c0dff1842af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579041
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
158089fd
|
2020-12-07T16:58:26
|
|
Fix location validation for I/O blocks
I/O blocks can specify location for each member of the block separately,
in arbitrary fashion. This change fixes up the code that validates
varying locations to take this into account.
Bug: angleproject:3580
Change-Id: If883347fc5db9f18722e41938d1b61fa64650d0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2578047
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bcdd4e58
|
2020-11-03T13:33:44
|
|
Vulkan: Fix validation errors with YUV
Had several validation errors with YUV ImageTests using Vulkan back-end.
This corrects those issues and tests now pass.
Initializing YUV AHardwareBuffers requires Android API 29. The CI bots
are not yet to Android 29 so this must be tested locally by compiling
with the appropriate api level in args.gn:
android32_ndk_api_level = 29
android64_ndk_api_level = 29
Test:
ImageTestES3.SourceYUVAHBTargetExternalRGBSampleInitData
Note: Some tests can run at api 26:
ImageTestES3.ClearYUVAHB
ImageTestES3.YUVValidation
Bug: angleproject:4852
Bug: b/172649538
Bug: b/175021871
Change-Id: I383d24faa9911f77a71bd9b764232ad519b54e9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530454
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4f315dcc
|
2020-12-08T00:52:06
|
|
Suppress flaky multithreading swiftshader test
Bug: angleproject:5439
Change-Id: I218a4459897a9d543269effeea4caf05174e1589
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2577984
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dea86294
|
2020-12-02T16:26:03
|
|
iOS build support
libGLESv2 builds with these changes on iOS, iOS Simulator, and
Mac Catalyst, using CGL or EAGL as appropriate. Tests will
require more work. Fixed several errors in the EAGL code which
hadn't been detected because the code wasn't built.
Bug: angleproject:4256
Bug: angleproject:5417
Change-Id: I29072d82607ef2500732c5cc00318fdab4a46b31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2570211
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
3a8be140
|
2018-08-08T15:44:09
|
|
Enable some tests on Intel Windows Vulkan
The tests IndexBufferOffsetTest.UInt16Index and StateChangeTest.
VertexBufferUpdatedAfterDraw can pass 26.20.100.8141 now.
Bug: angleproject:2663
Bug: angleproject:2664
Change-Id: I0324767f5c538879d865cf12304da4625d49bd81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1166598
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
463e0b19
|
2020-11-30T17:25:14
|
|
Tests: add WhatsApp trace
Test: angle_perftests --gtest_filter="*whatsapp*"
Bug: b/174256233
Change-Id: Ie6abb3beae8e184633005a325c5dce51f0afff40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574837
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Paul Thomson <paulthomson@google.com>
|
|
4accbe92
|
2020-12-04T12:27:01
|
|
Fix separable Geometry shaders.
Geometry shaders weren't being processed in some of the separable
shader logic. This CL fixes two cases: one in Program and one in
ProgramPipeline.
Bug: angleproject:5409
Change-Id: I19adc5c11a54814d28dd20574a5e038ca9dbd021
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574827
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2c90a90a
|
2020-12-04T12:39:50
|
|
Geometry Shaders: Don't require 'flat' for integer varyings.
The 3.2 spec and the dEQP tests are quite clear in only requiring
the 'flat' on fragment shader inputs. This restriction remains on
older shader versions.
Bug: angleproject:5409
Change-Id: Icc4b113b404280c2867a3e0bf6f77256a4316bff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574826
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a10d694e
|
2020-03-10T15:12:42
|
|
Remove StateChangeRenderTest suppression
The failed DepthRangeUpdates case can pass on 26.20.100.8141 now.
Bug: angleproject:2844
Change-Id: I1398ab6c4676c1a6bc8f9514b1559ac1e37ed086
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2096337
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
251ba5cb
|
2020-12-03T15:55:47
|
|
Vulkan: Fix transform feedback with in-render-pass clears
An in-render-pass clear now pauses transform feedback so it wouldn't
contribute to it. Since it's not possible to resume the transform
feedback in the same render pass (as it needs a memory barrier for its
counter buffer), the render pass is broken after the clear.
Bug: angleproject:5426
Change-Id: I1eaf8c153d076bd912a4a08c65960c12f00341ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573579
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7354c67b
|
2020-12-04T12:21:10
|
|
Vulkan: Support for geometry shader with max_vertices=0
This is simply done by specifying max_vertices=1.
Bug: angleproject:5411
Change-Id: I50318128cca0e96a8b7c7e5d01165b9ef46b4db8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574823
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
c859c0ac
|
2020-11-24T17:21:38
|
|
Batch replace std::unordered_map with angle::HashMap in src/
There are a few places that will remain std::unordered_map due to build
or run-time errors, which will need to be evaluated more closely to
determine if they should remain std::unordered_map or if there is
another Abseil data structure that would be more efficient while still
working correctly.
Bug: angleproject:4873
Change-Id: Ib04253e3ad6398e63f4cc2bfe12c0f9e57cb112b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558873
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b22b1502
|
2020-12-03T16:25:14
|
|
Vulkan: Fix transform feedback spanning multiple render passes
When the render pass breaks while transform feedback is active, the
subsequent render passes didn't restart transform feedback because of a
missing dirty bit.
Bug: angleproject:5426
Change-Id: Icee79cbdabbceab96973cea124240ac7ced82d55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572878
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b35a468a
|
2020-12-04T12:14:37
|
|
Vulkan: Support geometry/tessellation primitive topologies
Bug: angleproject:5406
Change-Id: Ifb7553e87164c204353e1ed94b8d64f5fb4b7206
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574822
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
173f1c94
|
2020-12-03T13:53:16
|
|
Translator: Collect gl_in as a varying.
This unifies the variable handling for IO blocks. Previously the
gl_in block we treated as an "in block" similar to an interface block.
Bug: angleproject:5423
Change-Id: Idf2db4c209055fa9ffca567dab39c89464eba156
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2571966
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8670d618
|
2020-12-02T14:18:27
|
|
Add support for GL_EXT_debug_label
Add support for labeling of GL objects for debug purposes.
Tests: DebugTest.ObjectLabelsEXT*
Bug: angleproject:5337
Change-Id: I792a27c69395ed62da70c3f619bef71776fba432
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568711
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
abe96578
|
2020-11-30T14:09:11
|
|
Vulkan: I/O blocks: Support unsized arrays
Geometry shader inputs have an extra array dimension, which can be
unsized as it can be derived from the primitive type. This change fixes
the grammar to support such arrays.
Additionally, it enables EXT_shader_io_blocks automatically with
EXT_geometry_shader and EXT_tessellation_shader per spec.
Bug: angleproject:3580
Change-Id: Ia7eb3e8be28c2eef2072dbe2a546fa34973104ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568242
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8797714c
|
2020-12-01T11:39:25
|
|
Vulkan: Support OES_shader_io_blocks
Enables OES/EXT_shader_io_blocks extensions in Vulkan backends.
With shader I/O blocks, the varyings can now be an array of struct (the
block itself) of struct (nested in the block).
This change is missing a number of features. In particular, if the
shader I/O block has a location decoration in the middle of the block,
that is not handled yet.
Based on changes from m.maiya@samsung.com and jmadill@chromium.org.
Bug: angleproject:3580
Tests: dEQP-GLES31.functional.shaders.linkage.es31.io_block.*
dEQP-GLES31.functional.separate_shader.validation.es31.io_blocks.*
dEQP-GLES31.functional.program_interface_query.program_input.*
dEQP-GLES31.functional.program_interface_query.program_output.*
Change-Id: I593840475d2365ff6c9ce7b2290f5ee462a30dfb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567645
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
06c39376
|
2020-11-27T12:45:33
|
|
Vulkan: Minimize gl_PerVertex members
As ANGLE doesn't redeclare gl_PerVertex, glslang always defines it with:
gl_Position
gl_PointSize
gl_ClipDistance
gl_CullDistance
The unused members here contribute to varying component limits. The
last two are unlikely to be used, and the second member is rarely used
as well.
This change keeps it simple and strips the trailing inactive members,
which for all intents and purposes accurately minimizes this struct.
Bug: angleproject:5405
Change-Id: I59c22af4988a3da7b1e428913d0ea13be9031cea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562754
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4301429b
|
2020-12-01T16:49:14
|
|
Skip MultithreadingTestES3 tests on Linux Intel Vulkan
MultithreadingTestES3.MultithreadFenceDraw
MultithreadingTestES3.MultithreadFenceTexImage
Fail with Mesa 20.0.8
Bug: angleproject:5418
Change-Id: Ie4254fe4a9c3f8b95fde30181065ddb31190fb99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568551
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9fe2d211
|
2020-12-01T13:24:33
|
|
Test Runner: Handle flaky failures.
When a test mark as flaky fails consistently we need to avoid marking
the test as flaky. We treat is as a deterministic failure. This means
we output "PASS" as the expected result instead of "PASS FAIL". That
change will produce the correct behaviour with the test scripts.
Also adds missing test runner output when we retry a flaky test.
Bug: chromium:1152515
Change-Id: I9e3cbaf04ea57a198717ee81505b5d63a9183410
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568231
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ccd0b7e1
|
2020-11-30T08:37:04
|
|
Add support for OES_framebuffer_object extension
Expose OES_framebuffer_object extension for GLES1 contexts.
Bug: angleproject:5401
Test: FramebufferObjectTest*
Change-Id: I63b504f580cdab4655b4bfbd3438bcd807b422ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561795
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3f564fc7
|
2020-11-23T13:59:17
|
|
EGL: Generate entry points.
This adds two final auto-generated files for the EGL and EXT extension
entry points. It adds a new data file that stores a mapping between
object types and entry points for associating labeled objects with
certain methods. When we generate errors we record the associated
object in the debug message output.
This places the remainder of the hand-written code in "stub" files.
Going forward the work for implementing new extension entry points
for EGL will be to update the registry XML files and then implement
the corresponding stub methods. Event logging, parameter packing,
and validation are all handled by the auto-generated code.
Bug: angleproject:2621
Change-Id: I28153432802c37b929ff2ea1e1a3e3ce9de91605
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562680
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
59aa1ef1
|
2020-11-27T15:08:26
|
|
Suppress TextureSampleShadingTest.Basic on Vulkan AMD
Fails on Windows and Linux.
Bug: angleproject:5412
Change-Id: I0a8a0d194c63a92ede0f10cd89eb3db703b93ea2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562756
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
fcb6b5a5
|
2020-11-25T22:16:15
|
|
Vulkan: Fix precision transformation for geometry shaders
When a varying precision mismatch is present between two stages, the
SPIR-V transformer transforms the following:
in precision1 type1 inVar;
out precision2 type2 outVar;
void main()
{
f(inVar);
outVar = g();
}
to:
in precision3 type1 inVarModified;
out precision4 type2 outVarModified;
precision1 type1 inVarTurnedPrivate;
precision2 type2 outVarTurnedPrivate;
void main()
{
// Input preamble
inVarTurnedPrivate = inVarModified;
f(inVarTurnedPrivate);
outVarTurnedPrivate = g();
// Output preamble
outVarModified = outVarTurnedPrivate;
}
This doesn't work for geometry shaders as they take the varying outputs
on EmitVertex() as opposed to return from main. This change simply
places the output preamble before every EmitVertex() instead of at the
end of the shader, if it's a geometry shader.
Bug: angleproject:5403
Change-Id: Ie395a3270c6903c54b49f64a26bc5297044cbaeb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561939
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ab9aae05
|
2020-11-26T12:00:11
|
|
Vulkan: Implement multisampled incomplete textures
Bug: angleproject:3588
Change-Id: I5b7d3151b34a77998b25dd4fa5761c92d74d8c81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562120
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f60823d3
|
2020-11-25T17:03:50
|
|
Vulkan: Experimentally enable geometry shaders
Partial support for GS was added by jaedon1.lee@samsung.com already.
This change enables the extension and adds suppressions for GLES3.1 dEQP
tests. Suppressions for KHR GLES3.2 will be updated separately as
currently GS shaders in "version 320" fail validation.
Bug: angleproject:3571
Change-Id: Ic6ed65554937fd0cce2d0f6ea0ac2eb7e6ed9f10
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561445
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4e913d34
|
2020-11-02T10:44:51
|
|
Vulkan: Work around Nvidia depth clamping bug
In GL ES, depth is always clamped to [0,1].
The same is true in Vulkan, but not for implementations affected by
Nvidia bug 3171019. This patch implements a workaround.
The workaround introduced test failures on Linux with Nvidia Quadro P400
and driver version 418.56, so it's only applied conditionally, and as a
result the test failure expectations are not removed completely.
Bug: angleproject:3970
Change-Id: I0d9f855d7f3df72fea4af9f9b134ae3177cf820d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514377
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5850c748
|
2020-11-20T22:14:27
|
|
Vulkan: Emulated RGB copies in compute
The copy between emulated RGB formats can take a number of paths:
- Sample from src (reinterpreted as UINT), output to dst
- Sample from src, output to temp buffer, copy to dst
- Copy src to temp buffer, output to dst
- Copy src to temp buffer, convert to another temp buffer, copy to dst
While directly sampling from src and outputting to dst is more
efficient, these are not always possible. The former may not have
SAMPLED_IMAGE usage bit for the reinterpreted UINT format, and the
latter may not have STORAGE_IMAGE usage at all.
This change takes the universal approach of using two temp buffers. The
ConvertVertex shader is used to transform between RGB and RGBA when
copying from the first temp buffer to the second.
Bug: angleproject:5278
Change-Id: I63d916cfdb4c389f5b817d89cd7348fdea703ce5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556467
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Schade <b.schade@samsung.com>
|
|
113b7e63
|
2020-11-24T17:16:25
|
|
Add a sample shading test to verify FS invocation per sample
A test is added that uses the RedGreenGradient shader, which doesn't
include gl_SampleID, gl_SamplePosition or the sample qualifier, but uses
GL_SAMPLE_SHADING to perform per-sample shading. The samples from the
resulting image are copied to a buffer in compute and verified.
Bug: angleproject:5395
Change-Id: I3567329e4d567d149e4548eb12222b8dd5255bba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2559266
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
|
|
bc82325e
|
2020-11-24T21:58:30
|
|
Fix RedGreenGradient to not output 0 for half the image
The shader directly used v_position.xy as output color, but for half of
the image x and y are negative and the respective channel became zero.
This change makes the shader use v_position.xy*0.5+0.5. Additionally,
the tests that use this shader are changed to mathematically derive the
pixel colors instead of using magic numbers.
Bug: angleproject:5395
Change-Id: Ic11c362c22ca725aa173faa5fd6033a02a4303fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2559265
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
23db7360
|
2020-11-17T12:22:01
|
|
Add test coverage of sampling YUV AHBs without API 29.
We can't initialize the data of a YUV AHB without Android API 29
but we can still add test coverage of sampling one without verifying
the results. This exposes some Vulkan validation errors.
Bug: angleproject:4852
Change-Id: I978cab84f325cededa2ac08f7c7cc083dbbb69b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2543298
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
105b43f9
|
2020-11-25T10:22:18
|
|
Skip Occlusion query tests on Metal.
Flaky on the bots.
Bug: angleproject:5400
Change-Id: Ibb6ef6e16f14ee45138b99f0f549d01017c84a4f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2560559
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
da1e4122
|
2020-11-24T14:36:49
|
|
D3D: Fix wrong visit mode
UniformBlockTranslatedToStructuredBufferTraverser needs InVisit
step when calling visitBinary.
Bug: angleproject:3682
Change-Id: I5c6cec1df52f94de24e1ea0ed13e4fe1e5674faf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557557
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
10b22c11
|
2020-11-24T15:28:05
|
|
Skip failing tests on Win AMD RX 5500 XT
BlitFramebufferANGLETest.BlitStencil
ClearTestES3.ClearMaxAttachments
RobustResourceInitTest.MaskedDepthClear
RobustResourceInitTestES3.InitializeMultisampledDepthRenderbufferAfterCopyTextureCHROMIUM
RobustResourceInitTestES3.MaskedDepthClearBuffer
RobustResourceInitTestES3.MultisampledDepthInitializedCorrectly
RobustResourceInitTestES3.TextureInit_IntRGB8
RobustResourceInitTestES3.TextureInit_UIntRGB8
VertexAttributeTest.DrawArraysWithShortBufferOffsetNotMultipleOf4
Bug: chromium:1004356, angleproject:5396, angleproject:5397
Bug: angleproject:5398, angleproject:5399
Change-Id: I5a6f16b38696b7cf3bb007363160d2ecbb06ac9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558932
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
cf336839
|
2020-11-20T00:27:59
|
|
Vulkan: Initial expectations for GLES32 KHR tests
Bug: angleproject:3647
Change-Id: I8eca26b01a0e2ec7b34ab39c448956f43b9f4511
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551840
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9041ca0c
|
2020-11-20T16:27:48
|
|
Limit testing of in-progress work to ANGLE's build of dEQP
A new feature is added, exposeNonConformantExtensionsAndVersions, which
is set by ANGLE's build of dEQP to allow exposing ES3.2 or extensions
that are not yet entirely conformant. This would allow ANGLE to expose
WIP extensions for regression testing without affecting partners that
test ANGLE with dEQP's standalone build.
Bug: angleproject:3647
Change-Id: Id1e6219f26b41d3f8cdc9763131b8052227761c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552926
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
35df41da
|
2020-11-23T21:34:13
|
|
Skip more tests on Linux AMD RX 5500 XT
Remove EGLFeatureControlTest suppression, which crashed due to calling
IsVulkan() without an initialized context.
angle_perftests:
MultisampledRenderToTextureBenchmark.Run/vulkan_multipass_ds
angle_white_box_tests:
VulkanPerformanceCounterTest.RenderToTextureDepthStencilRenderbufferShouldNotLoad
Bug: chromium:1004356, angleproject:5380, chromium:1097750
Change-Id: I38819374242b71fb57c54a9d0fb47b1547dda895
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556445
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
56663dbf
|
2020-11-19T21:21:19
|
|
EGL: Expose device query as a client extension.
This matches the extension spec. Previously we were exposing the ext
as a normal display extension. The extension should work without
needing a display.
Because the extension requires a non-null device for every display we
also add a MockDevice class to handle back-ends which don't implement
any attribute query extensions. By default the device query ext does
not expose any way to use devices so this works fine.
Bug: angleproject:5372
Change-Id: I474310a86aff6a83bd6f9a6b21c8a07c649f306d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551543
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c2a74cbb
|
2020-11-23T11:48:14
|
|
Vulkan: Re-enable the tests that was disabled due to specConst
The specialization constant crrev.com:/c/2514773 was hitting test
failures on pixel2 devices but not able to reproduce on pixel4. Now I
think the problem is likely attribute to QC driver bug
http://b/173636783. And we have disabled specialization constant code
path on older driver. This CL is to re-enable those tests that we
skipped in that CL so that they gets tested.
Bug: b/173636783
Change-Id: I3452abee26ebc6b8e81e68831fb2c698e464cf07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2555858
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
03ace87e
|
2020-11-23T08:32:39
|
|
Vulkan: Enable floating point end2end tests.
The upstream issue was marked fix so these tests should be passing.
Bug: angleproject:2898
Change-Id: Ib5db7d3e06d2925730dcf691cf02d92b10983b99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553790
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6f6504c9
|
2020-11-23T08:31:56
|
|
Suppress WebGL Mac end2end failures.
WebGLCompatibilityTest.R16FTextures/ES3_OpenGL
WebGLCompatibilityTest.RG16FTextures/ES3_OpenGL
WebGLCompatibilityTest.RGB16FTextures/ES3_OpenGL
WebGLCompatibilityTest.RGBA16FTextures/ES3_OpenGL
WebGLCompatibilityTest.RGBA32FTextures/ES3_OpenGL
Bug: angleproject:5357
Change-Id: I63a98fc1dc7316db0a5203e3bc814d8751c1bf58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553789
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a304f111
|
2020-11-22T18:47:39
|
|
Skip tests failing on Linux AMD RX 5500 XT
Crashes:
OpenGL:
MemoryObjectTest.MemoryObjectQueries
MemoryObjectTest.MemoryObjectShouldBeMemoryObject
MemoryObjectTest.ShouldFailValidationOnImportFdUnsupportedHandleType
UniformBufferTest.SizeOverMaxBlockSize
VulkanExternalImageTest.ShouldClearOpaqueFdWithSemaphores
VulkanExternalImageTest.ShouldDrawOpaqueFdWithSemaphores
VulkanExternalImageTest.WaitSemaphoresRetainsContentOpaqueFd
Vulkan:
MultisampledRenderToTextureTest.2DColorDepthMultisampleDrawTest
MultisampledRenderToTextureTest.DepthReadWriteToggleWithStartedRenderPass
MultisampledRenderToTextureES3Test.RenderbufferClearDrawCopyThenBlendWithDepthStencilSameProgram
MultisampledRenderToTextureES3Test.RenderbufferDepthStencilClearDrawCopyThenBlend
MultisampledRenderToTextureES3Test.RenderbufferDepthStencilDrawCopyClearThenBlend
MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndDepthStencilThenTwoColors
MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndDepthThenTwoColors
MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndStencilThenTwoColors
SimpleStateChangeTest.RebindTranslatedAttribute
Failures:
OpenGL:
GLSLTest_ES31.MixedRowAndColumnMajorMatrices_WriteArrayOfArray
GLSLTest_ES31.MixedRowAndColumnMajorMatrices_WriteSideEffect
PixmapTest.BindTexImage
ReadPixelsPBONVTest.Basic
SimpleStateChangeTestES31.InvalidateThenStorageWriteThenBlend
StateChangeTestES3.DrawPausedXfbThenNonXfbLines
Bug: angleproject:5379, angleproject:5380, angleproject:5381
Bug: angleproject:5382, angleproject:5383, angleproject:5384
Bug: angleproject:5385, angleproject:5386, angleproject:5387
Bug: angleproject:5388, chromium:1004356
Change-Id: I73c6ba193ef230f576c804e8880f326ac5eabe0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552940
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e51c9068
|
2020-11-10T20:57:07
|
|
Tests: Add Google Maps trace
TBR: jmadill@chromium.org,courtneygo@google.com
Test: angle_perftests --gtest_filter="*google_maps*"
Bug: b/172977194
Change-Id: I1e2a2ed7af95069d30fd4d0fede036555688e98b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530456
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
565f1b16
|
2020-11-18T14:49:52
|
|
Tests: Add LEGO Legacy trace
Requires GL_EXT_shadow_samplers which is not exposed by Qualcomm's
native driver on Pixel 4 XL.
Test: angle_perftests --gtest_filter="*lego_legacy*"
Bug: b/161716126
Bug: angleproject:5373
Bug: angleproject:5374
Change-Id: Ifff9c5e878b7fe9a3ade684ae5f8e57167f01a25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477441
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
ae5a2047
|
2020-11-20T16:31:32
|
|
Trace Tests: Screenshot within the render loop.
Previously we were using a separate mechanism to capture screen
shots. This would cause very long traces to replay the entire
trace before normal execution. The Maps trace used hundreds of
frames and this was timing out the test step.
Instead we can capture a screenshot after the first time we run
a trace. This will normally not interfere with performance work
because we don't usually capture screenshots and do performance
work at the same time.
Bug: b/172977194
Change-Id: I12cfe2d051d41f1e000a98ac8aef16eb153879c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552925
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c4ca12e3
|
2020-11-20T09:02:54
|
|
Vulkan: Support the single-sampled targets
Add support for gl_SampleMask for single-sampled targets.
When dealing with a single-sampled target, gl_SampleMask
is always be set to 0xFFFFFFFF. And when the target is
single-sampled, sample shading is disabled to enable
Bresenham line rasterization.
Bug: angleproject:3588
Tests: dEQP-GLES31.functional.shaders.sample_variables.
sample_mask.discard_half_per_pixel.*
sample_mask.discard_half_per_sample.*
sample_pos.correctness.*
sample_mask_in.bit*_per_two_samples.*
sample_mask.discard_half_per_two_samples.*
sample_mask.inverse_per_*
Change-Id: Ibb471261b8451ff01fab3dc43f2e965ae2999610
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477909
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
4e5a50b6
|
2020-11-13T22:56:59
|
|
Vulkan: Drop dependency to VK_EXT_shader_atomic_float
This VK extension exposes features that are not necessary for
GL_OES_shader_image_atomic. Instead, support for necessary features for
VK_FORMAT_R32_SFLOAT is used to determine support for this GL extension.
Bug: angleproject:5342
Change-Id: Ia504cba69ffe51cfd7da69df28f58563cb1f0744
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2536908
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
|
|
777749aa
|
2020-11-13T09:43:31
|
|
Vulkan: Fix image copies with renderbuffers
When doing an EXT_copy_image copy, renderbuffers
were being recreated due to a mismatch in sample
count values.
Bug: angleproject:3593
Test: dEQP-GLES31.functional.copy_image.*renderbuffer*
Change-Id: Ic6b85ea098ab6382b56520b1ca6b76ac25801b54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2538076
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
46107d3e
|
2020-11-18T22:03:22
|
|
Vulkan: Delay defining D/S content to endRenderPass
Take the following situation:
1. Start RP with D/S undefined: loadOp = DONT_CARE, storeOp = STORE
* At this point, onDepthStencilWrite calls image->onWrite, setting
depth/stencil contents defined.
2. At endRP, observe depth/stencil is not used: storeOp = DONT_CARE
3. Start another RP with D/S: loadOp = LOAD, storeOp = STORE
Because the call to image->onWrite was done at startRP, the contents of
the depth/stencil image is marked as defined, and the next render pass
is loading these data. This change moves image->onWrite to
endRenderPass, and only calls it if storeOp = STORE, taking advantage of
all the opportunistic optimizations that try to set storeOp to another
value.
Bug: angleproject:4836
Change-Id: I9858e5caa6b1f67f841a5c6356e66927356ef469
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2548319
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e0619360
|
2020-11-18T11:13:11
|
|
Skip tracking non-preprocessor tokens in disabled if-blocks
ESSL1 states that it is an error to have a non-preprocessor token
before an extension pragma but ANGLE would mark a non-preprocessor
token as seen even if it was in a disabled if-block.
Bug: b/161716126
Change-Id: I782224bee211bc7214a2d1d98d4829b4c94101bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547205
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
202304e7
|
2020-11-17T17:33:47
|
|
Trace Tests: Add renderer string logging.
This outputs the GL_RENDERER string in each test when using the
--verbose-logging command-line flag.
Bug: b/173518650
Change-Id: Id966294d50aaba0c8a1f3e010f76d5560e6f1288
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545403
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cc5f7989
|
2020-11-19T07:59:01
|
|
Vulkan: Support gl_SampleMask with non-const index
Add support for access to gl_SampleMask or gl_SampleMaskIn
with non-constant index. Replace gl_SampleMask with
ANGLESampleMask and reassign ANGLESampleMask
to gl_SampleMask in the end.
Bug: angleproject:3588
Tests: dEQP-GLES31.functional.shaders.sample_variables.sample_mask.
discard_half_per_pixel.*
discard_half_per_sample.*
Change-Id: Ie668c3ccf4d40352574db57f5e43b2f17ef6d8b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477908
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8a401051
|
2020-11-19T07:58:05
|
|
Vulkan: Support OES_sample_variables extension
Enable OES_sample_variables extension on Vulkan backend.
Add support for built-in variables, uniform state and constants
- gl_SampleId, gl_SamplePosition, gl_SampleMask,
gl_SampleMaskIn
- gl_NumSamples
- gl_MaxSamples
Bug: angleproject:3588
Tests: dEQP-GLES31.functional.shaders.sample_variables.*
KHR-GLES31.core.sample_variables.*
Change-Id: Idf37c7b4ccb0331dbda7acd6389ff4e1022ba959
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477907
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8d63a7fc
|
2020-11-17T15:15:44
|
|
Basic support for running deqp khr gles32 tests
Bug: angleproject:3647
Change-Id: Ia707ffcd41926662d1513f1a3bf49149b76f6b9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2544920
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8b76d37f
|
2020-11-17T17:33:47
|
|
Trace Tests: Run one step per frame.
Instead of trying to make one step take one sequence of frames,
one run step per frame always. This will scale better for traces
that are very long and cannot complete in the short times we use
on the bots.
Adds an explicit step round-up feature so that we can always run
chunks of full trace sequences when we are not running with a
fixed maximum number of steps.
Bug: b/172977194
Change-Id: I0f069a66a86d8c4a698ebffb66782d13843539a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545884
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
82e25682
|
2020-11-18T13:58:13
|
|
Skip one more test on Apple DTK (ARM)
Bug: angleproject:5360
Change-Id: I90651cfc9b60e21b1ea4c7f69350ddd9dce8ce8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547984
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8a58e38b
|
2020-11-18T15:25:25
|
|
Vulkan: Remove texture gather suppressions from khr deqp 3.1
Should have been removed when support for EXT_gpu_shader5 finished.
Bug: angleproject:3569
Change-Id: I0e66e75873b550c7ff37bd26dae4388384c351bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547219
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
b6ec24ab
|
2020-11-14T00:24:52
|
|
Vulkan: Support format reinterpretation in imageBuffers
This is done by creating multiple buffer views over the buffer based on
the format specified by the attached shaders.
Bug: angleproject:3573
Change-Id: I0372a988938050cc092d8a0959a59d1c893fc6f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2536909
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
f98f18f6
|
2020-11-17T18:42:35
|
|
Remove Nexus 6P expectations
Bot decommissioned in crrev.com/c/2541579
Bug: chromium:1148989, angleproject:5280, angleproject:3726
Bug: angleproject:2641, angleproject:3264, angleproject:2114
Bug: angleproject:3464, angleproject:4991, angleproject:1415
Bug: angleproject:2407, angleproject:1427, angleproject:4215
Bug: angleproject:1429, angleproject:5069, chromium:998503
Change-Id: I1b268fdbcf6465aef447e90e470c1a011c7b3747
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545892
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
61a117fa
|
2020-11-16T12:48:11
|
|
Vulkan: Fix aliasing format for non-layered image bindings
This was correctly handled for layered bindings by the change
anglebug.com/3885#c20. This change uses the same mechanism for
non-layered bindings.
Bug: angleproject:5347
Change-Id: Ida55b3589d0bdbe5d824c1614c9bf9f867a7f652
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2541182
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
738092ae
|
2020-11-18T07:58:53
|
|
Add auto generated code for GL_EXT_tessellation_shader
To support tessellation, code and auto generated code are added.
Entry points function, ShaderTypes, built in variables and constants,
builtin function barrier and patch keyword are added.
Bug: angleproject:3572
Change-Id: Ia5fe473e884466cb88cea7138e13377a1d7b4fa0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2538393
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2ffff6d0
|
2020-11-12T10:56:06
|
|
Vulkan: Support image buffers
This change does not support reinterpreted formats yet. Additionally,
despite lack of support for RGB32 formats, EXT_texture_buffer is exposed
by this extension. Those formats don't support the STORAGE_TEXEL_BUFFER
feature on any known hardware.
Bug: angleproject:3573
Change-Id: I85f45eb23f6a0aa533488bb98d9f226d59af4d76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534395
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7c66cdf8
|
2020-11-17T14:07:17
|
|
Default deqp to Vulkan on !Apple
To avoid having to specify --use-angle=vulkan every time. Particularly
useful for running deqp tests on Android through renderdoc as setting
more-than-one command line argument is impossible.
Bug: angleproject:3647
Change-Id: I5ed6ec8fc4febc7f0febe0922a121b26df5581f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2544906
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bacb8dfc
|
2020-11-17T11:31:49
|
|
Add TODOs for Apple DTK skips; update bug urls
Bug: angleproject:5360
Change-Id: Ibad5be256f08c893caebd6fa268668b966556d13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2544907
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f197ebac
|
2020-11-16T15:16:56
|
|
Vulkan: Add EXT_external_buffer support
Addition of buffer support for external memory
Also adds new end2end tests for these usecases
* SubData update
* map/unmap buffer
* dispatch compute with external buffer
Bug: angleproject:5073
Test: ExternalBufferTestES31.*Vulkan
Change-Id: Ib3cccaca77b76830effe49d3731782552e7424ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525105
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
12804827
|
2020-11-17T10:50:01
|
|
Disable more tests for Apple DTK (macOS ARM)
Some of these new failures are on ES3-on-Metal and probably cropped up
because they weren't running before.
Bug: chromium:1132295
Change-Id: I631c53f1e6cf1374b0f3af62c9713456c924c6a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545122
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
|
|
ed87c16a
|
2020-11-15T11:30:47
|
|
Vulkan: Add GL_EXT_separate_shader_objects support
All the functionality needed for this extension has already been
implemented as part of core GLES31. Hook into that along with
changes to validation layer to allow non-GLES31 contexts to call
into these APIs as long as the extension is exposed.
Bug: angleproject:3570
Test: ProgramPipelineTest.GenerateProgramPipelineObjectEXT*
Change-Id: I92a61a47517c5cb9573874b2add6a744c9edb755
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2539121
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
cc4ae6da
|
2020-11-16T08:38:54
|
|
Vulkan: Add EXT_separate_shader_objects entry points
Addition of the entry points for EXT_separate_shader_objects extension.
Bug: angleproject:3570
Change-Id: I95a1342bb3322b49997125a17367590183134c84
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2539120
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
8dd6a197
|
2020-11-17T10:22:19
|
|
Vulkan: 270 degree prerotation deqp expectations
Bug: angleproject:5044
Change-Id: I1c63ee77a38beab491256b983724956478b9d117
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2543293
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
946d527a
|
2020-11-16T15:42:10
|
|
GL: Support OES_shader_image_atomic
Bug: angleproject:5342
Change-Id: I4fc4133b1f5bba001112c0d06764146e449c3314
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2542310
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
86d7e4d8
|
2020-11-10T15:55:34
|
|
Vulkan: Support texture buffers
Texture buffers are placed in the same descriptor set with the rest of
the textures. However, the different code paths that handle textures
have special cases for texture buffers as they create a different
descriptor type (texel buffer instead of combined image sampler). Image
view serials are used to track the buffer view serials as well so the
texture descriptor cache can handle texture buffers as well.
This CL is missing storage texel buffer support.
Bug: angleproject:3573
Change-Id: Iff80ca22ff9b9957a0c9a3c7aaada1fa54b24ec8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532653
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b10a0dfc
|
2020-11-12T14:51:05
|
|
Fix flip info of colorBlit with pre-rotation.
Get wrong colorBlit results on android if there is
flip operation added by glBlitFramebuffer API.
Fix the implementation and add related end2end tests.
Bug: angleproject:5044
Change-Id: I797f8858b3943b5effe27261e954ca1405960ef0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534210
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c669bf52
|
2020-11-09T21:39:04
|
|
Vulkan: Optimize PBO copy from depth xor stencil src
If the buffer format of the PBO does not contain both depth and stencil,
it already has packed data ready for upload, so this change allows the
GPU path to be taken.
Bug: angleproject:5315
Bug: b/172354898
Change-Id: I424c15951594f49ffc140f9cde9e7c73486512b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2526947
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5b419533
|
2020-11-03T13:33:44
|
|
GL: Implement EXT_YUV_target
Add test coverage of YUV format sampling as RGB or directly as YUV and
rendering as YUV using layout(yuv).
Initializing YUV AHardwareBuffers requires Android API 29 so ANGLE must
be compiled with:
android32_ndk_api_level = 29
android64_ndk_api_level = 29
The following tests can still run with Android API 26 because they don't
need to initialize the buffer:
ImageTestES3.ClearYUVAHB
ImageTestES3.YUVValidation
Bug: angleproject:4852
Bug: b/172649538
Change-Id: I4fe9afb2a68fb827dc5a5732b213b5eb60d585ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2517562
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d3a14089
|
2020-11-16T14:49:41
|
|
Vulkan: prerotation deqp expectations
Bug: angleproject:5348
Bug: angleproject:5349
Bug: angleproject:5350
Change-Id: Ie25554833cc759fd7923133c470df57ba12b4118
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2542222
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|