|
6136cbcb
|
2020-09-23T21:31:05
|
|
Metal: Implement transform feedback
- XFB is currently emulated by writing to storage buffers.
- Metal doesn't allow vertex shader to both write to storage buffers and
to stage output (i.e clip position). So if GL_RASTERIZER_DISCARD is
NOT enabled, the draw with XFB enabled will have 2 passes:
+ First pass: vertex shader writes to XFB buffers + not write to stage
output + disable rasterizer.
+ Second pass: vertex shader writes to stage output (i.e.
[[position]]) + enable rasterizer. If GL_RASTERIZER_DISCARD is
enabled, the second pass is omitted.
+ This effectively executes the same vertex shader twice. TODO:
possible improvement is writing vertex outputs to buffer in first
pass then re-use that buffer as input for second pass which has a
passthrough vertex shader.
- If GL_RASTERIZER_DISCARD is enabled, and XFB is enabled:
+ Only first pass above will be executed, and the render pass will use
an empty 1x1 texture attachment since rasterization is not needed.
- If GL_RASTERIZER_DISCARD is enabled, but XFB is NOT enabled:
+ we still enable Metal rasterizer.
+ but vertex shader must emulate the discard by writing gl_Position =
(-3, -3, -3, 1). This effectively moves the vertex out of clip
space's visible area.
+ This is because GLSL still allows vertex shader to write to stage
output when rasterizer is disabled. However, Metal doesn't allow
that. In Metal, if rasterizer is disabled, then vertex shader must
not write to stage output.
- See src/libANGLE/renderer/metal/doc/TransformFeedback.md for more
details.
Bug: angleproject:2634
Change-Id: I6c700e031052560326b7f660ee7597202d38e6aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408594
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
11d94d86
|
2020-09-23T15:16:19
|
|
Integrate Skia Gold with restricted trace tests.
The implementation is based heavily on the Chromium Skia Gold
Python classes in //build/skia_gold_common .
Results will be visible here: https://angle-gold.skia.org/
Currently results are not visible until this CL lands.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I7a5d64fe35583ad7ea6360804a0f6b72cd9f6d8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f8e5b97e
|
2020-09-28T23:31:41
|
|
Additional perf test cleanup & functionality.
Adds several new command line arguments and documents all args in the
README. Changes the trace tests to output milliseconds.
Bug: b/169600938
Change-Id: Ie8c7840a6a8958951992c806979dde6dc7d8a709
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438194
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
43163491
|
2020-09-22T11:45:06
|
|
Vulkan: Unresolve depth/stencil MSRTT attachments
Using the same shader that unresolves color, this change allows
depth/stencil to be unresolved as well.
In turn, this allows the depth and stencil loadOp/storeOp of the
implicit multisampled image associated with a
multisampled-render-to-texture renderbuffer to be set to DONT_CARE.
Stencil unresolve depends on VK_EXT_shader_stencil_export. In the
absence of this extension, the stencil aspect is not unresolved and must
continue to use loadOp=LOAD and storeOp=STORE. This is not ideal, but
the expected use-case of depth/stencil MSRTT renderbuffers is that they
get invalidated, so that load and store wouldn't happen in practice.
Bug: angleproject:4836
Change-Id: I9939d1e15e10fa8ed285acdd6fe6edb42c59054f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427049
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
74ed9b65
|
2020-09-16T16:50:31
|
|
Support EXT_color_buffer_half_float on WebGL 2.0 contexts
EXT_color_buffer_half_float was recently updated to be valid for
WebGL 2 contexts because iOS can't support EXT_color_buffer_float.
Bug: angleproject:5038
Change-Id: Ib0d35c6b26a6cd215ff6725e92c47d1efd64e048
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2415187
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
6e36029d
|
2020-09-28T21:57:08
|
|
Disable Mock ICD perf tests on Android.
Bug: angleproject:5084
Change-Id: Iafff2adbd8bfc2844c43ca31329f3f8be1250631
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438193
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2663e601
|
2020-09-24T18:28:31
|
|
Vulkan: Dynamically grow descriptor pool sizes
Initial testing using benchmarks shows that the majority of the
descriptor pools allocate fewer than 32 descriptor sets worth of
descriptors. This CL reduces the initial size of each pool from 128 to
32 to reduce memory consumption.
Additionally, when a pool is exhausted and a new one is created, the
size of the pool doubles each time, up to a max of 512 descriptor sets
worth of descriptors. This allows us to aggressively increase the size
of the pools that appear to be very hot and decrease the total number of
pools created.
Bug: angleproject:5067
Test: CQ
Change-Id: I190059cf04134902d6251d475dd908c1cbb82b58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430193
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
19e9df68
|
2020-09-23T23:37:17
|
|
Re-land "Add a small unit test that dumps system info."
Re-land fixes the GL APIs accidentally leaking into the test.
We can use this in the trace gold tests to identify system properties.
The test uses Vulkan info collection when available and dumps out the
known GPU info as JSON.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I1481fee14ed8c573f10164d74ec27701e1ad80ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433090
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
88dd1a59
|
2020-09-26T18:21:19
|
|
Revert "Add a small unit test that dumps system info."
This reverts commit 52ee81cfdc13d3f44c1b5db041b14f236c57188c.
Reason for revert: Causes build failure on Android (https://ci.chromium.org/b/8868097753228061152), and is blocking ANGLE roll (crrev.com/c/2433419)
Original change's description:
> Add a small unit test that dumps system info.
>
> We can use this in the trace gold tests to identify system properties.
> The test uses Vulkan info collection when available and dumps out the
> known GPU info as JSON.
>
> Bug: angleproject:4090
> Bug: b/168049670
> Change-Id: Ib8d2244d82b650b94818da30adab180b471af556
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427872
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
TBR=cnorthrop@google.com,jmadill@chromium.org
Change-Id: I2b87c323c896be67aa9fbee2cad980927d551d7f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4090
Bug: b/168049670
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433089
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d2d9e682
|
2020-09-15T16:06:42
|
|
Vulkan: Use DepthStencilReadOnly when it is read only.
We are tracking depth and stencil read or write during the renderpass.
We can use that to switch to DepthStencilReadOnly layout if both depth
and stencil are not writing. This allows drivers to optimize out the
storeOp for the renderpass.
Bug: b/168953278
Change-Id: Id82e06b4bae1ae8c83d880bb5e58accfa61f8191
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2411336
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
52ee81cf
|
2020-09-23T23:37:17
|
|
Add a small unit test that dumps system info.
We can use this in the trace gold tests to identify system properties.
The test uses Vulkan info collection when available and dumps out the
known GPU info as JSON.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: Ib8d2244d82b650b94818da30adab180b471af556
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427872
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
32ed3e71
|
2020-09-21T23:42:34
|
|
Vulkan: Make UtilsVk not contribute to occlusion queries
UtilsVk implements some functionality with draw calls. Of these draw
calls, clear was accidentally contributing to occlusion query results.
Additionally, the copyImage utility creates its own framebuffer and thus
directly creates a render pass, bypassing ContextVk::startRenderPass.
This change also fixes bugs where occlusion query handling assumed
mRenderPassCommandBuffer to be valid and correspond to the started
render pass command buffer, which is not true for the copyImage render
pass.
Bug: angleproject:5042
Change-Id: I19cdbb8fbeabf139791b314a6da265ac5cfd68e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423209
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
353b7bdd
|
2020-09-25T16:56:29
|
|
Skip BootAnimationTest.DefaultBootAnimation on Win NVIDIA Vulkan
Flaky fails and leads to hangs on GTX 1660 with 456.38 driver.
Bug: angleproject:5085
Change-Id: Id95b1784e484694b96ba9fc7ce084b30951c260a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432625
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
001c7e8c
|
2020-09-21T13:25:46
|
|
Vulkan: Link PPO during draw validation
From the OpenGL ES 3.1 spec:
11.1.3.11 Validation
It is not always possible to determine at link time if a program object
can execute successfully, given that LinkProgram can not know the state
of the remainder of the pipeline. Therefore validation is done when the
first rendering command which triggers shader invocations is issued, to
determine if the set of active program objects can be executed.
For draws, this CL moves the PPO link operation to ValidateDrawStates()
to generate PPO link failures within ANGLE's validation layer, so we
fail any rendering commands during command validation.
For dispatch, PPOs are linked during Context::prepareForDispatch(),
where the PPO is converted from draw to compute, since that conversion
requires a re-link. This re-link shouldn't fail due to errors that would
have been caught during validation, since the compute shader must have
successfully linked before it can be included in the PPO in the first
place. We don't re-link when converting back to draw, since it's
possible there are validation errors (which we want to catch during
validation of the next rendering command).
Bug: angleproject:5064
Test: dEQP.GLES31/functional_separate_shader_validation_es31_*
Test: ContextNoErrorTest31.DrawWithPPO
Test: ProgramPipelineTest31.VerifyPpoLinkErrorSignalledCorrectly
Change-Id: Ibb249e893c007a83cc6b813f848a660bfa34ecb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422375
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
a2d8bbb5
|
2020-09-18T18:18:34
|
|
Vulkan: Add GL_EXT_buffer_storage extension support
Addition of support for immutable storage to buffer objects.
Also adds new end2end tests for these usecases
* Basic BufferStorage
* SubData update
* map/unmap buffer
Bug: angleproject:5056
Tests: angle_end2end_tests --gtest_filter=BufferStorageTestES3*Vulkan
Change-Id: Iba74b372ad033711927b63c6a04cec0eeb4db699
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419952
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
68dcea7b
|
2020-09-25T10:52:32
|
|
Suppress flaky Multithread Android end2end_test.
MultithreadingTest.MultiContextDrawWithSwapBuffers/ES3_OpenGLES_NoVirtual
Bug: angleproject:5099
Change-Id: Ide1376702c95103cf988f05ffe0d61e1166f3beb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432064
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1677cf14
|
2020-09-13T20:14:59
|
|
Metal: Implement Uniform buffers
Uniform buffer is implemented in two forms:
- If number of ubo used in shader program is low, each buffer will use
one discrete Metal buffer slot.
- If number of ubo used is large, they will be embedded into one Metal
argument buffer. Argument buffer is similar to Vulkan descriptor set.
This is due to limit of number of Metal's discrete buffer slots which
is only 31 and over half of them are already used by vertex
attributes, default uniforms, driver uniforms, etc. The downside is
that whenever a buffer binding is changed, the argument buffer must be
updated also.
Added empty TransformFeedbackMtl implementation to enable ES3 context
creation on Metal.
Bug: angleproject:2634
Change-Id: I69325696fac735cb45ab88ab55468c0991abc317
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408593
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
962e3473
|
2020-09-25T00:22:27
|
|
Fix return code of restricted trace tests.
The prior script was incorrectly comparing a boolean result with a
number and producing the opposite result: True would be reported as a
failure, and False would be reported as success.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I47ec684a57c455c6a833232d0a49774b265f7b39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430667
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
69da0b92
|
2020-09-13T20:00:19
|
|
Metal: Use shared memory for small dynamic buffers.
- If BufferMtl is static or large size, don't use shadow copy. Use one
MTLBuffer and map directly on it.
- If BufferMtl is dynamic and small size, use shadow copy and buffer
pool of 10 MTLBuffer (s). The MTLBuffer is allocated in shared memory
in this case (PCI-E memory for example). MTLBuffer in shared memory
region doesn't need to sync content between CPU and GPU.
- When copyBuffer, if BufferMtl is being used by GPU use blit command to
do the copy on GPU side.
- Also implemented GL_MAP_UNSYNCHRONIZED_BIT.
Bug: angleproject:2634
Change-Id: I7a5aab309d24c76106a7087358ee5883ee05d250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408592
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d59bccb5
|
2020-09-23T10:20:35
|
|
Vulkan: updateRenderPassDesc may lose color attachment data
FramebufferVk::updateRenderPassDesc() is resetting entire
mRenderPassDesc, which may lose color unresolve attachments. This CL
makes sure that when we toggle depth stencil buffer's read/write access,
we do not reset the whole mRenderPassDesc. Instead we only update the
depth stencil attachment's access.
Bug: b/168953278
Change-Id: Ia9df2d8ac81ebf2da8a360ba1293faf6c14b2738
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2426468
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7bd8bd9f
|
2020-09-24T17:11:56
|
|
Skip PBO test on TSAN.
Texture2DTest.TexStorageWithPBO/ES2_OpenGL is flaky.
Bug: b/168744561
Bug: angleproject:5097
Change-Id: Ide9b5a7d22e86c6eccd83ebc3bce6797b90150a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430163
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
54dbd5e7
|
2020-09-23T16:10:12
|
|
Vulkan: Add mutex around queueSubmit related data
There are several queueSubmit related members of RendererVk that can be
accessed from multiple threads. Adding mutex around thoses accesses
resolves race condition flagged by TSAN.
Add stress test for QueueSerial handling
Add test to catch race issue in garbage collection found by TSAN.
Test:
angle_end2end_tests MultithreadingTest.MultiContextDrawWithSwapBuffers
angle_end2end_tests MultithreadingTest.MultiContextCreateAndDeleteResources
Bug: b/168744561
Change-Id: I238cce9052476710778a3b35f8531891d90ddd6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2415402
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7a0faa82
|
2020-09-24T20:15:26
|
|
Revert "Pass #pragma optimize setting down to compilation."
This reverts commit 499173de1c91932ba272269cab6918bf7e8d7c11.
Reason for revert: Causes unexpected HLSL compiler errors in some
cases. See bug.
Bug: angleproject:5094
Original change's description:
> Pass #pragma optimize setting down to compilation.
>
> This will allow us to disable optimizations in the back-end. This can
> be useful both for developers and for ANGLE to disable very slow
> shader compilation on D3D11.
>
> Also apply this pragma to VerifyMaxVertexUniformVectorsWithSamplers.
> Reduces compilation time by half in local testing.
>
> Bug: angleproject:5076
> Change-Id: I64ad576e11b9cee5b41f8af0d3621570304d65c2
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2420749
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:5076
Change-Id: I733e788fe8e9421ae0af662c0eb51af1ed79dde3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2429517
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a76b6836
|
2020-09-17T22:40:42
|
|
Vulkan: Support MSRTT depth/stencil resolve
VK_KHR_depth_stencil_resolve is used by this change to resolve
depth/stencil multisampled-render-to-texture renderbuffers.
This extension is not widely supported yet. If it's not present, the
depth/stencil resolve operation is silently ignored and the renderbuffer
acts as a normal multisampled one. This is not correct, but our primary
user (Chrome), and most applications don't care for the resolved
depth/stencil data. In fact, it's recommended for the depth/stencil
attachment to be invalidated after rendering.
Exposing EXT_multisampled_render_to_texture even in the absence of
depth/stencil resolve allows the majority of the applications to still
take advantage of MSRTT color attachments.
Bug: angleproject:4836
Change-Id: I6ba4187344a0c9330d2c77bdc5e2c6fc5483c299
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2417645
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b6c17996
|
2020-09-23T13:37:48
|
|
Auto-generate restricted trace .gitignore.
I'm going to add a non-ignored subdirectory so it behooves us to fix
our blanket suppression. This will also allow users to clean up stale
trace files.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I5b0879eb3eebf3b352bb78e3b927203f9483c89f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2426885
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
cd83b608
|
2020-09-18T14:54:54
|
|
Use ImageHelper staging buffers for copyImageDataToBuffer
Revert change from using context staging buffers for
copyImageDataToBuffer. There are scenarios where the
staging buffer will become invalid before flushing
the staged update. Added a test for this case.
Bug: angleproject:5092
Test: angle_end2end_tests --gtest_filter=*ETC1CompressedImageDraws*
Change-Id: I41c457fda919938600c20336f65836952d73748a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425250
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
6c394220
|
2020-09-09T18:55:48
|
|
Vulkan: Fix bug in compressed texel block computation
When performing a staged update to compressed images,
ensure that the bufferRowLength and bufferImageHeight
is a multiple of the compressed texel block
Bug: angleproject:5017
Test: angle_end2end_test --gtest_filter=*ETC1CompressedImageNPOT*
Change-Id: I54327ec610d1050465d112c7eff385d19dc0c390
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2393754
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
6b4962e8
|
2020-09-22T16:37:16
|
|
Allow GL_UNSIGNED_BYTE as a type for glColorPointer
Previously glColorPointer would reject GL_UNSIGNED_BYTE.
This should be allowed in both the gles 1 and 1.1 specifications.
See page 6 of the gles 1 specification and page 20 of the gles 1.1
specification.
This change allows doodle jump to work on angle on both the gl
and vulkan backend
Bug: angleproject:4308
Tests: angle_end2end_tests
--gtest_filter=VertexPointerTest.AssignRetrieveColorUnsignedByte*
Change-Id: I35f41b28d94cb34bc36256420b57793691b78cff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2424465
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2a09e891
|
2020-09-22T09:32:32
|
|
Isolated script args in restricted trace tests.
This will allow us to pass CQ since CQ requires isolated script output
args. We can also update this logic later to fail CQ if the golden
image check fails.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I81c5571e8742e641ebd8c9cbd8e1c89f583c725c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423212
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f0b0e3e8
|
2020-09-22T19:35:58
|
|
Suppress two more compute shader tests.
Failing due to test ordering on Linux. Likely a driver bug
that's already fixed in ToT Mesa.
ComputeShaderTest.DispatchDrawDrawDispatch/ES3_1_OpenGL
ComputeShaderTest.DrawDispatchDrawPreserve/ES3_1_OpenGL
Bug: angleproject:5072
Change-Id: I857ef3c7ba5d97f7c619ebe37aec1b5e188a2ffd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2424682
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ee7ae7ab
|
2020-09-22T19:36:57
|
|
Skip another slow test on Win/Intel/D3D11.
GLSLTest.VerifyMaxVertexUniformVectors/ES2_D3D11
Bug: angleproject:5076
Change-Id: I178ec224ca6b93f3290de6fb7e5cc3a4f348ba12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425323
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
15617b4b
|
2020-09-21T11:16:49
|
|
Vulkan: Add a alpha to coverage test
Early fragment test optimization has to be disabled if alpha to coverage
is enabled. This test that the intersection between alpha to coverage
test and early fragment test optimization.
Bug: angleproject:5082
Change-Id: I628efc2fae7c998467e1daff4167f16fe0c28142
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422899
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9ff58ddd
|
2020-08-26T01:08:00
|
|
Metal: Support array of matrices varying.
MSL doesn't support array of matrices as varying variable.
This CL converts array of matrices varying to array of vectors.
This fixes WebGL test:
conformance/glsl/misc/shader-varying-packing-restrictions.html
Bug: angleproject:4846
Bug: angleproject:2634
Change-Id: I3cfc638dc01092ddf1add7df02c131d1a5c8ba1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2392172
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
499173de
|
2020-09-20T10:42:56
|
|
Pass #pragma optimize setting down to compilation.
This will allow us to disable optimizations in the back-end. This can
be useful both for developers and for ANGLE to disable very slow
shader compilation on D3D11.
Also apply this pragma to VerifyMaxVertexUniformVectorsWithSamplers.
Reduces compilation time by half in local testing.
Bug: angleproject:5076
Change-Id: I64ad576e11b9cee5b41f8af0d3621570304d65c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2420749
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
eed069b3
|
2020-09-22T08:55:32
|
|
Give restricted gold tests executable bit.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: Ie3a46d4689e40958460c1f26a228645d84b3305c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423211
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
867358b7
|
2020-09-21T23:40:57
|
|
Test Runner: Improve sharding validation.
The prior check was incorrectly flagging index=0/count=2 as
invalid. It also missed a few cases like a shard count of 0.
Bug: angleproject:3162
Change-Id: Ida4c0f454ece15e4304d024d205475acf0f135e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423207
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
566821cb
|
2020-09-21T23:57:13
|
|
Suppress 3 more Intel/GL/Compute shader fails.
Happen when run in different orders. This time with a test variation
with 2 shards instead of 4.
ComputeShaderTest.DrawTexture1DispatchTexture2/ES3_1_OpenGL
ComputeShaderTest.UniformBuffer/ES3_1_OpenGL
ComputeShaderTest.BindImageTextureWithMixTextureTypes/ES3_1_OpenGL
Bug: angleproject:5072
Change-Id: Iddec2b795dc380e29a0124195491fcf6ec0520bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423208
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f39e0f01
|
2020-09-07T23:07:37
|
|
Vulkan: Use subpass to unresolve render-to-texture attachments
GL_EXT_multisampled_render_to_texture allows singlesampled textures to
be used with multisampled framebuffers in such a way that the final
resolve operation is automatically done. In Vulkan terminology, the
render-to-texture GL attachment is used as a Vulkan subpass resolve
attachment with an implicit (ideally-)lazy-memory multisampled image as
the color attachment.
This extension expects that if the texture is drawn to after the
automatic resolve, the implicit multisampled image would take its
fragment colors from the singlesampled image. In other words, the
opposite of a resolve operation should be automatically performed at the
start of the render pass. This change refers to this operation as
"unresolve".
The goal of this extension is to allow tiling GPUs to always keep
multisampled data on tile memory and only ever load/store singlesampled
data. The latter is achieved by using a subpass resolve attachment and
setting storeOp of the multisampled color attachment to DONT_CARE. This
change achieves the former by using an initial subpass that uses the
resolve attachment as input attachment, draws into the multisampled
color attachment and sets loadOp of said attachment to DONT_CARE.
Bug: angleproject:4881
Change-Id: I99f410530365963567c77a7d62fc9db1500e5e3e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2397206
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5ec560fb
|
2020-09-17T17:18:25
|
|
Add restricted trace golden image script test.
The script reads the list of tests from the restricted traces JSON and
runs angle_perftests once for each test. Running the tests in a batch
seems unstable on some platfroms so running each test separately works
around that limitation. It does not yet interact with Skia Gold. The
Gold integration will come later once this basic skeleton is running
on the bots.
Also updates the perf tests to exit more quickly with --one-frame-only.
This will speed up the screenshots.
Example run with trigger.py:
https://chromium-swarm.appspot.com/task?id=4ecb985330a33910
Bug: angleproject:4090
Bug: b/168049670
Test: tested with trigger.py
Change-Id: I52820dfba2acfbc5d638673c37297877e8476adb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2417641
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8f7970cb
|
2020-09-21T18:25:21
|
|
Trace/Replay: Reset replay after taking a screenshot.
This was causing a replay state tracking error that could fail some
traces. For example, Mobile Legends.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: Ia4c2db795bb861fba77c9c35217ab22c2004c492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422686
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a7e03ed7
|
2020-09-21T14:56:00
|
|
Vulkan: Further refine invalidate for depth/stencil
Bug: angleproject:5079
Change-Id: Idc732b1e6729b2776d66c63c3ae2bd94e11bdbb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422684
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
edc0d2ee
|
2020-09-15T16:02:05
|
|
Vulkan: Disallow loadOp=LOAD for MSRTT depth/stencil textures
EXT_multisampled_render_buffer2 specifies that depth/stencil textures
are expected to be in a perpetual state of invalidated, except during
rendering. This change makes sure that they never use loadOp=LOAD.
Additionally fixes a bug where clears applied to MSRTT depth/stencil
textures didn't take effect because they were applied to the
multisampled image (since the resolved image was not given to the render
target).
Bug: angleproject:4836
Bug: angleproject:5063
Change-Id: I4506f4de415dca6c222111a1ae62017d2fb1e2b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2412848
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
bdecaf33
|
2020-08-04T20:16:27
|
|
Metal: Implement PBO.
Bug: angleproject:2634
Change-Id: I77f085227298bf46361825d1886e04830dc9987a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336558
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e56ccc49
|
2020-09-21T14:38:39
|
|
Skip Texture2DTest.TexStorageWithPBO on Win NVIDIA GL
Fails on 456.38 driver.
Bug: angleproject:5081
Change-Id: Ic92f4a9911d97209fd7240f5ba93ee6f81dd3ace
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422083
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
5d7de5fd
|
2020-09-20T13:09:07
|
|
Test Runner: Fix default config grouping.
Running "angle_unittests" with --bot-mode would produce noisy
test groupings for each permutation of parameterized tests. Fix
this by only splitting configs that begin with "ES". e.g. ES2_Vulkan,
ES3_OpenGL, etc.
Bug: angleproject:3162
Change-Id: I0b0ebe1c9cef9cbbce0489a2bc3f62761d43a1c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419046
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
763e8b81
|
2020-09-20T21:59:23
|
|
Test Runner: Add more timeout logging.
Will help diagnose a timeout failure on Windows Intel.
Also reduce the significant digits in time output.
Bug: angleproject:3162
Change-Id: I6d6a852f572875f613dec8e4ab6e798dfde0ca9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2420331
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
dd0a9ec9
|
2020-09-20T12:50:21
|
|
Test Runner: Allow empty sharding parameters.
The prior check was incorrectly validating a shard index of zero
and a shard count of one as inconsistent.
Bug: angleproject:3162
Change-Id: I63184c16e82f08080b275672a43e6dacf291560d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419045
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
a87964cd
|
2020-09-20T21:59:23
|
|
Suppress Linux GL Compute Tests on Intel.
ComputeShaderTest.AtomicFunctionsInNonInitializerSingleAssignment/ES3_1_OpenGL
ComputeShaderTest.AtomicFunctionsInitializerWithUnsigned/ES3_1_OpenGL
ComputeShaderTest.AtomicFunctionsNoReturnValue/ES3_1_OpenGL
ComputeShaderTest.AtomicFunctionsReturnWithMultipleTypes/ES3_1_OpenGL
ComputeShaderTest.AtomicFunctionsReturnWithUnsigned/ES3_1_OpenGL
ComputeShaderTest.DispatchDraw/ES3_1_OpenGL
ComputeShaderTest.DrawDispatchDispatchDraw/ES3_1_OpenGL
ComputeShaderTest.LoadImageThenStore/ES3_1_OpenGL
ComputeShaderTest.NonArraySharedVariable/ES3_1_OpenGL
ComputeShaderTest.NonStructArrayAsSharedVariable/ES3_1_OpenGL
ComputeShaderTest.StoreImageThenLoad/ES3_1_OpenGL
ComputeShaderTest.StructArrayAsSharedVariable/ES3_1_OpenGL
ComputeShaderTest.UniformDirty/ES3_1_OpenGL
ComputeShaderTest.groupMemoryBarrierAndBarrierTest/ES3_1_OpenGL
GLSLTest_ES31.ArraysOfArraysImage/ES3_1_OpenGL
GLSLTest_ES31.MixOfAllResources/ES3_1_OpenGL
LinkAndRelinkTestES31.RelinkProgramSucceedsFromRenderingToCompute/ES3_1_OpenGL
Bug: angleproject:5072
Change-Id: I506c931d7e8714e0393fb5a7b9671b2fc74caeee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2420332
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
9f70b6b2
|
2020-09-20T13:28:37
|
|
Disable slow max uniform count test on D3D11/Intel.
Bug: angleproject:5076
Change-Id: I21fc0504513e092003e19fb845d6759eba0a3866
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2420750
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
48588bd1
|
2020-09-18T17:33:55
|
|
Vulkan: Add GL_EXT_buffer_storage extension entry points
Addition of just the entry points for GL_EXT_buffer_storage extension.
Bug: angleproject:5056
Change-Id: I7a3d7c151f004f89fd945d5d06dbe7afcd491578
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419951
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
76e90947
|
2020-09-19T10:48:55
|
|
Test Runner: Really reuse displays with --bot-mode.
The prior design didn't pass the correct flag to the subprocess.
Instead add a new --reuse-displays flag that forces display reuse
on in ANGLE tests. Pass the new flag to the child processes when
running with --bot-mode.
Bug: angleproject:3162
Change-Id: I5f62125d83d339b5e8b2506b4ca4656976f7398e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419638
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3f20c713
|
2020-09-19T11:29:56
|
|
Test Runner: Fix "--bot-mode" error level return value.
Previously the runner was returning "1" on success and "0" on failure.
Swap this so that it correctly returns "0" on success and "1" on fail.
This only affected "--bot-mode" which isn't yet enabled.
Bug: angleproject:3162
Change-Id: I1ee942223272d24eff137279d5a0638d3a65694e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419639
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
93f58c15
|
2020-09-19T09:58:23
|
|
Vulkan: Allow no validation layers in ExternalImageTest.
Similarly to common test init, these specific tests init the Vulkan
resources with validation layers when they might not be available.
Fix this by checking for the appropriate define.
Bug: b/168744561
Change-Id: I93dd3bac839297ced07cb2c4cbbcf64db2e65a1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419041
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d6806d73
|
2020-09-18T17:56:48
|
|
Test Runner: Fix sharding and --bot-mode.
We were using the incorrect test list to set up initial test
expectations. Fix this by using the already generated test set
in the test suite.
Test: angle_unittests with --bot-mode, sharding, and filter
Bug: angleproject:3162
Change-Id: Id108943494130410caab404faad25115792e794d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419596
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
357caadb
|
2020-09-16T21:44:56
|
|
Vulkan: Optimize Attribute Change Perf (2/5)
This patch series optimizes programs that use the pattern:
for (;;) {
glVertexAttribPointer(...)
glDraw(...)
}
Change 2: Micro-optimize XFB resume CPU overhead.
We don't need to set resume on every new command buffer. We only need
to set the dirty bit when we have an unexpected pause.
In total the patch series reduces test iteration time by 25%.
Test: DrawCallPerfBenchmark.Run/vulkan_attrib_change
Bug: angleproject:5045
Bug: b/168493024
Change-Id: I8f6c68ff0513be4f405276e395d80bc1a185a061
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2409174
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e8d01272
|
2020-09-18T10:34:06
|
|
Vulkan: Additional "invalidate" white-box tests
These are additional tests that were written when trying to refactor
mContentDefined and move it from RenderTargetVk to ImageHelper for
depth/stencil attachments. We still want to land the tests.
Bug: b/167275320
Change-Id: I12f6bf8cece6499e4474a8f114b177626c1aa4d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419117
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
512059a9
|
2020-09-16T21:33:32
|
|
Tests: Allow tests to function without VVLs.
This is necessary to run angle_end2end_tests with sanitizers. We
don't currently support building the VVL in sanitized configs.
Bug: b/168744561
Change-Id: If16a25ac5786f5f5aeb8ae50d9f7fa22c6c87995
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2415513
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bda2205d
|
2020-09-17T14:37:25
|
|
Traces: Move up from tests/perf_tests/ to tests/.
The trace tests aren't strictly for performance. Since we'll be using
them for correctenss testing as well it makes sense to move them out
of the perf_tests/ folder.
Also renames RestrictedTraceTests.md to README.md so it'll load
automatically in gitiles.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I8be9f1d831489a9abf534d049a93441687850142
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2416913
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
37457d08
|
2020-09-15T14:38:53
|
|
Vulkan: Support MSRTT color renderbuffers
Color renderbuffers are similar to multisampled-render-to-texture
textures, but much simpler. The same mechanism is used to implement
them.
Bug: angleproject:4836
Change-Id: I298529c9fd1b03e78b1e37cdbe595e66166ee130
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2412847
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
c99c22bb
|
2020-09-15T16:53:26
|
|
EGL: Add support for EGL_ANDROID_create_native_client_buffer
This EGL extension will add support for creating EGLClientBuffer
backed by an Android window buffer (struct ANativeWindowBuffer)
which can be later used to create an EGLImage.
Bug: angleproject:5018
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceNativeClientBufferTarget*
Change-Id: If78ed7b80ad09629b8c5f5b5a0eb07a548e82e6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404320
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
83c7e1ae
|
2020-09-17T16:42:19
|
|
Fix the regression of color blit.
Move the offset aligning code to stencilBlitResolveNoShaderExport
to avoid affecting color blit.
Test: dEQP-GLES3.functional.fbo.blit.default_framebuffer.*_linear_*
Bug: angleproject:5044
Change-Id: Ic2ebef94091853146424d567b0035161611ba32d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2416008
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0a8a3ea2
|
2020-09-14T11:12:43
|
|
Vulkan: Skip nested pow test on NVIDIA, Windows
Suspect possible NVIDIA driver issue as unable to repro on some NVIDIA,
Windows, NVIDIA configurations.
Test:
angle_end2end_tests --gtest_filter=GLSLTest.NestedPowStatements/ES3_Vulkan
Bug: chromium:1127866
Change-Id: Ic6a95915af72aab086753a0e0199ac1dee8bfb62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2410560
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f12e4123
|
2020-08-25T12:01:12
|
|
Vulkan: Match descriptor pool sizes to descriptor set layouts
When a descriptor pool is created, a list of descriptor types and counts
are given to vkCreateDescriptorPool(). Later, when allocating a
descriptor set from the pool, we pass along a descriptor set layout to
vkAllocateDescriptorSets() which is used to determine how many of each
type of descriptor (i.e. binding) to allocate from the pool.
In order for our "free descriptor set" counts to be accurate for each
pool, the descriptor pools need to be created with descriptor counts
that match the descriptor set layout binding counts.
This change fixes a bug where the descriptor set layouts were created
with more bindings than the descriptor pool sizes, causing the "free
descriptor set" count to be inaccurate, leading to allocating too many
descriptor sets from a pool.
Bug: angleproject:3570
Test: VulkanDescriptorSetTest
Change-Id: I660bf02d29a1291391fb15f39e6479bf348d0f83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2391114
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
58463573
|
2020-09-16T19:30:56
|
|
Test Runner: Fix dirty thread teardown.
When the standalone tests shut down they would not wait for
the watchdog thread to exit cleanly. Fix this by setting a
flag that shuts down the watchdog and attempting to wait.
This was detected by running angle_end2end_tests with TSAN.
Bug: angleproject:3162
Bug: b/168744561
Change-Id: I765ce7a21c3be11703619470a81adb1882b009e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2415175
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
a2d670c5
|
2020-08-15T21:13:33
|
|
Run trace tests against Vulkan Mock ICD.
Required an upstream fix:
https://github.com/KhronosGroup/Vulkan-Tools/pull/437
Also a workaround filed as an issue:
https://github.com/KhronosGroup/Vulkan-Tools/issues/445
Bug: angleproject:4950
Change-Id: I21333464d2a8e52d5d85d35654f0e6372f9650db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358517
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
07c03b6d
|
2020-09-11T14:43:37
|
|
Validate GLSL attribute location range
The location index of a vertex shader input's layout qualifier must be
less than GL_MAX_VERTEX_ATTRIBS to link successfully. We can check for
this during shader compilation to not rely on other layers to handle
pathological cases.
While strictly speaking only 'active' attributes are considered during
shader linking, this is merely intended to allow for 'uber' shaders to
declare more inputs than GL_MAX_VERTEX_ATTRIBS but only use a subset of
them. There is no known reasonable use case for a manually specified
location to exceed the valid range.
Note that according to http://opengl.gpuinfo.org, the highest
GL_MAX_VERTEX_ATTRIBS value at the time of writing is 32. Also,
D3D12_VS_INPUT_REGISTER_COUNT = 32. Hence the unit test's value of 1000
should be sufficiently future proof.
Also address the case where the uniform location might be close to
INT_MAX and not be detected as out-of-range due to numeric overflow.
Bug: chromium:1110800
Change-Id: I9985c8eab3bb8a2a59b8f985e8f5b6884756383c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405368
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Nicolas Capens <capn@chromium.org>
|
|
23cff4e1
|
2020-09-16T13:41:49
|
|
Test Runner: Handle GTest sharding args.
These were messing up the test runner when used in combination
with the test runner's specific args.
Make it an error if the arguments are used together.
Bug: angleproject:3162
Change-Id: I6fa1c0fb346a8c376ca455f7f4bf0492cfc0198a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2414931
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
99b71417
|
2020-09-16T11:41:24
|
|
Vulkan: Disable BlitStencilWithFlip test on Win
These tests fail on the Windows NVIDIA bots
Bug: angleproject:5044
Bug: chromium:1128064
Change-Id: Idad4cc33d8e49b0b468b8e560b44f9a9c6a2f37f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2414932
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
ed01473e
|
2020-09-12T13:01:05
|
|
Vulkan: Fix blendEnable-02023 VU
Enable BlendIntegerTest
Add DrawBuffersTest.BlendWithGaps test
Add BlendPackedTest
Bug: angleproject:4548
Bug: angleproject:4571
Bug: angleproject:4583
Change-Id: I139183099b26f0fe1ac9e43f96d18b8ccb134a2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2407772
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4d3a0f60
|
2020-09-11T12:36:05
|
|
GN: Componentize D3D format tables.
These tables are used by both the GL and D3D11 back-ends. Also moves
them to renderer_utils to be in a shared place.
Bug: angleproject:3943
Change-Id: I1f5d79842396a87e795547fa03c6855d6f9c5e9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405805
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
377e7487
|
2020-08-27T17:11:35
|
|
Vulkan: Support array of array image type
Implement supporting the array of array of image
type in uniform. Add a new end2end test for it.
Bug: angleproject:3881
Change-Id: Idd757ae1d0ed34d585ae1ca5e0b6577459a0acb7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2379335
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
39185acc
|
2020-09-12T13:47:16
|
|
Test Runner: Re-use displays when using "bot mode".
This will allow us to speed up test execution by using multiple
processes on non-Windows platforms. Because of the process isolation
of "bot mode" we don't run into display re-use bugs like we do when
running in a single process.
Bug: angleproject:3162
Change-Id: I25370d4a07236e34f87e1c1efef8684f9891ecf8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2407835
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c03c4490
|
2020-08-28T11:03:20
|
|
Vulkan: Defer glFlush issued in middle of renderpass to endRenderpass
Manhattan is calling glFlush in middle of a renderpass. This CL defers
the flush that issued in the middle of renderpass to the end of
renderpass.
Bug: b/166475273
Change-Id: I6baa3898d5efc456e2205c44e13c64f3d79d1464
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381942
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7fc325cc
|
2020-09-12T13:48:38
|
|
Test Runner: Print total test execution time.
Also has a few other tweaks to test spin-up.
Bug: angleproject:3162
Change-Id: I8753f1afedbcc5c4b5ae257965ce68dc4a02ae06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2407836
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
e4e2a016
|
2020-09-01T11:23:09
|
|
Vulkan: Use color mask to handle draw buffer disabled case
When draw buffers set to GL_NONE, instead of remove the attachment from
renderpass which breaks renderpass, we force vulkan's per buffer color
mask to false while keep the disabled draw buffer attached. This CL also
always create FrameBuffer with all color attachments regardless it is
enabled or not.
Bug: b/167301719
Change-Id: Ice9fca9aacf774a47d13b749f822b222cc050174
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2389007
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ba7f8913
|
2020-09-12T23:23:01
|
|
Samples: Enable Debug callback.
This moves the debug callback code into a common location. For ease of
access it's in shader_utils since that file has access to the GL API.
Bug: angleproject:5040
Change-Id: Iab9de47c2d520a5618ea6825852f8afa63565c8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408715
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
b3c7d39a
|
2020-09-03T15:51:02
|
|
Align the sample position in blitResolveStencil compute shader
The input coordinates of blitResolveStencil compute shader start
from 0,we need to align the sample position to start from 0 if x/y
is flipped.
Test: dEQP-GLES3.functional.fbo.invalidate.*.unbind_blit_msaa_*
Bug: b/159995959
Change-Id: If0c9f5b7cacddbe1a2d7062469a757a63bcc1378
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2392162
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ed518d15
|
2020-09-11T12:47:52
|
|
EGL: Refcount external AHB when backing an image
When an image is backed by an external source like an AHB
we need to refcount the buffer appropriately to prevent
deletion of the buffer while in use.
Bug: angleproject:5018
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceAHBTarget2DEarlyDelete*
Change-Id: Ib6318fc3dc442460d1a2bdd6d75a4458895667bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2406615
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2879eb55
|
2020-09-12T09:04:16
|
|
TestRunner: Fix missing "=" on swarming args.
These were missing from debe4683095450940883164ca6.
Also fixes a misnamed "perf" parameter.
Bug: angleproject:3162
Change-Id: Iad4c4d8d35cc8a08d0e30d50dd9bbf159a4a7ab9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2407833
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6830eb60
|
2020-09-11T12:37:31
|
|
EGL: Fix a bug in ImageTest
During cleanup, we were incorrectly calling
glDeleteRenderbuffers on a texture object.
Also update comments to correctly reflect intent.
Bug: angleproject:5018
Change-Id: I28eaf6a23056f3b09eebb7331620e6a27cb14302
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2406614
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
bca88739
|
2020-08-16T11:32:40
|
|
Add a perf test that cycles through many VBOs.
Stresses the RenderPass buffer tracking in the Vulkan back-end.
Bug: angleproject:4950
Change-Id: I33d38d8703d0e333d0092195d34228d90f1af52a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358522
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ae09e889
|
2020-09-10T17:00:13
|
|
Fix mismatch issue with precision qualifiers.
GLSL allows varyings passed from one stage to another to not match in
precision (e.g. float & half-float). Vulkan doesn't allow that so adjust
those mismatches to use the higher precision.
To fix we keep track of the precision of varyings and in the Vulkan
backend if we see they are different patch up the SPIR-V to make them
match.
Bug: angleproject:3078
Change-Id: I385d31e082da46ccdd4817b6612f5f9d9cbce17c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2337755
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
90a9cf96
|
2020-09-11T02:40:34
|
|
Expand is_linux to is_linux || is_chromeos.
Currently is_linux is set to true on Chrome OS build,
but it is planned to set to false. This CL is the preparation
to keep the current behavior.
Bug: chromium:1110266
Test: Built locally. Tryjob.
Change-Id: I4124dfb251d68a519fed3e08555d1aa5a694c77c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404500
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a3bf9092
|
2020-09-09T12:16:54
|
|
Suppress AtomicCounterBufferRangeRead failure on Nexus6P
TBR=syoussefi@chromium.org
Bug: angleproject:3726
Change-Id: I8e4eb420ef43ee50b7e4df563148ed296f260adb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2401545
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
41c93c55
|
2020-09-01T11:34:32
|
|
Vulkan: Bug fix in atomic counter buffer count calculation
When binding a new atomic counter buffer to a slot it is
necessary to take into account the previous binding of that
slot. This rectifies a bug introduced in f7b607c63c
Bug: angleproject:3566
Test: angle_unittests.exe --gtest_filter=AtomicCounterBufferTest31.AtomicCounterBuffer*
Change-Id: If78954d27c3345e8620294a84e839058d7dd7b9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2388431
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f184cb61
|
2020-09-06T22:29:29
|
|
Add perf test for multisampled render to texture
Bug: angleproject:4881
Change-Id: I4733e2868a3e056ec61463fec88d17aaa564234f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2394955
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
50704dc3
|
2020-08-04T12:08:00
|
|
Metal: Implement EXT_occlusion_query_boolean.
- Metal's occlusion(called visibility) query operates per render pass.
Implementation details are in
src/libANGLE/renderer/metal/doc/OcclusionQueries.md.
- New tests:
- OcclusionQueriesTest.ClearNotCounted.
- OcclusionQueriesTest.MultiQueries (failure on OpenGL/D3D11
back-end).
Bug: angleproject:2634
Change-Id: Idd1327b5472d0e8c2b69307a7f04a1da4a847a40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336121
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
4a41204d
|
2020-09-02T05:04:33
|
|
Vulkan: Improve invalidate for depth/stencil
Improve state tracking when the depth and/or stencil attachments are
invalidated. Since no draw-time tracking is done, we use the number
of command-buffer commands to determine when an attachment is drawn
to. That allows all cases to be handled for store ops. Still need to
handle mContentDefined at endRP time (we have the data, just not the
plumbing).
Test: angle_white_box_tests --gtest_filter=VulkanPerformanceCounterTest.*Invalidate*/*
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkan
Bug: b/167276207
Change-Id: Iae10857dbb4d43b934c51ad7e400b71ae0db4f55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378670
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
cba9bbbe
|
2020-09-02T09:55:31
|
|
Vulkan: Fix resolve-with-subpass retaining resolve attachment
The temporary resolve attachment used to optimize blit was not removed
from the framebuffer and render pass descriptions, resulting in
subsequent draws to be resolved again.
Bug: b/159903491
Change-Id: I9a9c90d25cb07ba9a25999f808b164f9085387d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2390441
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b2944fcf
|
2020-09-02T11:10:00
|
|
Vulkan: Don't break the RP on masked/scissored clears
Bug: b/166809097
Change-Id: Iedd10a6528808e859c5693a2d30c98aca1a1159c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2390862
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d701eae2
|
2020-09-02T12:23:21
|
|
Vulkan: Fix resolve with different formats
vkCmdResolveImage and subpass resolve attachments cannot be used if the
source and destination formats aren't identical per Vulkan spec:
vkCmdResolveImage:
> srcImage and dstImage must have been created with the same image
> format
VkSubpassDescription:
> each resolve attachment that is not VK_ATTACHMENT_UNUSED must have the
> same VkFormat as its corresponding color attachment
Bug: chromium:1123524
Change-Id: Iaf7182dbcad0420483ac2c23d0acf8c109688565
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2390781
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
543a3962
|
2020-09-02T09:40:10
|
|
Vulkan: Fix resolve-with-subpass with non-zero read attachment
The draw framebuffer's color index was used to get the read buffer of
the source framebuffer.
Bug: b/159903491
Change-Id: I7a1626e6732367c14d46f1e1be4057998fdbf011
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2390440
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fdb7874d
|
2020-08-26T22:04:19
|
|
Gracefully fail end2end tests if no window support
EGL_WINDOW_BIT is now specifically requested for tests that open a
window (those that aren't WithNoFixture). This makes sure pbuffer-only
configs are not selected for the window.
Additionally, a few WithNoFixture tests are made more robust in the
presence of no-window configs.
In the context of crbug.com/1034840, this means that a subset of end2end
tests would be able to run in a remote desktop environment. Tested on
Linux/X11 by turning a subset of configs PBUFFER-only.
Bug: chromium:1034840
Change-Id: I09fd149d43d3b865856fe6b9491c5f333f4a2efc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378922
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6eeb3d8b
|
2020-08-07T16:09:53
|
|
Support DXT textures with non-block sized mip levels.
The block size requirement for each mip level meant that all
DXT textures had to be POT sized. Relax these restrictions for
non-zero mip levels to allow NPOT DXT textures.
Increase the size of the D3D11 staging textures to the nearest
block size to make sure allocation succeeds.
Bug: angleproject:4841
Change-Id: I42fa295a0965241d77f81e57b17454091fda9376
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380237
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7e815c77
|
2020-07-08T13:43:40
|
|
Implement EXT_shadow_samplers
Bug: angleproject:4863,b/161716126
Change-Id: I6beb45d91f59a851787c9f40b40266fb985198d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2288330
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
|
|
c0dda021
|
2020-08-26T11:20:06
|
|
Vulkan: release the ImageHelper's staging buffer after flush
For mutable textures, right now glTexImage call and some of other cases,
we are still using the ImageHelper's staging buffer. This will release
the staging buffer after flush to reduce memory footprint.
Bug: b/164511310
Change-Id: Ie1e52865a1c3a8f235c88331c4bb83c50d3f04da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378179
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
a1d5ebbf
|
2020-08-31T17:29:49
|
|
Suppress flaky failure on Win Intel OpenGL
TBR=syoussefi@chromium.org
Bug: angleproject:5003
Change-Id: I4bc2c963d69ba529d62e01c21080540e54b46796
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385497
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
2f291c0b
|
2020-07-31T10:50:31
|
|
Vulkan: Re-enable fixed dEQP tests
The script that loads the entry point loaded
glRenderbufferStorageMultisampleEXT from
GL_EXT_multisampled_render_to_texture wrong. This is fixed in
https://github.com/KhronosGroup/VK-GL-CTS/pull/221.
Bug: angleproject:4836
Change-Id: I843b359b12a042f08a63ba6723cf31bdb8509661
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331740
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a0d048a4
|
2020-08-27T12:03:02
|
|
Vulkan: Fool-proof usage of GL and VK level indices
Using boxed types, this change allows the compiler to catch errors when
a level index in one space (e.g. GL) is mistakenly used in another space
(e.g. VK).
This change uncovered a number of bugs due to such mistakes which are
fixed.
Mistakes are still possible when the index is explicitly extracted, for
example to be given to a Vulkan command, or when it's created, for
example when retrieved from gl::ImageIndex::getLevelIndex. Future work
can include using gl::LevelIndex in gl::ImageIndex directly to alleviate
the latter at least.
Bug: angleproject:4880
Change-Id: I6427c68c3bc096f771402f51c8554d8171758aa9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380232
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
f71283c9
|
2020-08-25T23:35:06
|
|
Fix EGLContextCompatibilityTest.
The check for "IsPlatformAvailable" was inverted. We were incorrectly
trying only to create a context on invalid configs.
Bug: angleproject:4449
Change-Id: I03fbdc7794a338a55b9dc64521915a8be247bf35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376045
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|