|
bdedf146
|
2022-01-14T13:35:30
|
|
TextureVk: Implement getCompressedTexImage.
Extend ImageHelper::readPixels to support compressed formats.
Implement readPixelsForCompressedGetImage.
Add compression tests to GetImageTest.
Implement CaptureGetCompressedTexImageANGLE_pixels in
capture_gles_ext_params.
Test: angle_end2end_tests --gtest_filter="GetImageTest*.CompressedTexImage*"
Bug: angleproject:6177
Change-Id: I6e5b6d746b9c6cc9b885fa44f75a985660d8fb58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3452110
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
eeddb050
|
2022-01-27T11:36:10
|
|
Metal: Incorrect parenthization for assignment expressions
Fix for Webgl tests conformance/ogles/GL/build/build_017_to_024.html
Create intermediate values for assign-equals operations, as they
cause issues on expansion later.
Bug: angleproject:6489
Change-Id: I7fea162bd1f59c7c765868af739d6ddfc1c1747f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3421527
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
ed39d49a
|
2022-02-14T11:32:12
|
|
Metal: Fix Hang in WebGL CTS Occlusionquery_strict test
If a query was just in progress and then we switch contexts
a command buffer, which has already been enqueued, is not
committed. Later, other command buffers are enqueued and
committed and Metal hangs, waiting on the uncommitted but
previously enqueued command buffer.
The solution was to not enqueue a command buffer early
but instead, enqueue just before committing.
Bug: angleproject:6752
Change-Id: I62c07ca3d1ed98cc5b27c8c4af405fdedff922b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3461419
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
06edae72
|
2022-01-11T11:13:20
|
|
Vulkan: Allow duplicated block name in different shader interface
In OpenGL ES 3.2 Shading Language specification(4.3.9), A block name is
allowed to have different definitions in different shader interfaces
within the same shader.
Bug: angleproject:5557
Test: KHR-GLES32.core.tessellation_shader.single.max_patch_vertices
Change-Id: I49f149cfd8f6f063fc5045aa154cc401d3e38cfb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3429684
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
fd378ce5
|
2022-01-25T18:06:31
|
|
Rebind program on glUseProgramStages
Rebinding program causes all uniform resetting. And uniform resetting
is required not to use wrong uniform for changed program stages.
Bug: angleproject:6946
Change-Id: Ic969aa8fec2ff6e16f46b96a61c6d876bf37ff2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3416791
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3a72994e
|
2022-01-26T13:18:14
|
|
Vulkan: Add an end2end test
Add this test for re-producing http://anglebug.com/6926, currently it
has been skipped,once the bug is fixed,will re-open this test.
Bug: angleproject:6926
Change-Id: Idbd2b3b60bdbf2a4100e6f6c89353cbf09e5e36b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412970
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0a320d16
|
2022-02-09T13:36:18
|
|
GetImageTest: Enable on Vulkan SwiftShader.
Add SwiftShader ES2 and ES3 Vulkan targets to ANGLE_INSTANTIATE_TEST.
Bug: angleproject:6177
Change-Id: Idc964202d8b02f38118b69bbef7984bf4d22e61b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3452109
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
670a6e47
|
2022-02-09T09:18:33
|
|
Ignore invalid texture type error
When EGL_KHR_create_context_no_error is enabled, silent return when an
invalid texture type is passed in to glBindTexture and glTexParameteri.
Bug: angleproject:6995
Test: ContextNoErrorTest.InvalidTextureType*
Change-Id: I80034b18e7cb757bfa0e835f3aa15df7cd96775d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3447274
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
91f92540
|
2022-01-14T18:34:44
|
|
Metal: Fix multisample resolves.
1) Only use MTLLoadActionDontCare if store action was
MTLStoreActionDontCare, ignoring MTLStoreActionMultisampleResolve.
2) For color, depth and stencil attachments, if they have implicit
multisample textures, use MTLStoreActionStoreAndMultisampleResolve
rather than MTLStoreActionStore.
This addresses bugs when resolving a multisampled framebuffer and
copying it to a texture, and fixes these two Three.js demos:
https://threejs.org/examples/webgl_framebuffer_texture
https://threejs.org/examples/webgl_decals
Added CopyTextureTestES3.DrawThenCopyThenBlend modeled after new WebGL
2.0 conformance test in:
https://github.com/KhronosGroup/WebGL/pull/3379
Confirmed to catch the bug. On Intel Macs, the Metal debug layers and
load/store action validation must be enabled:
MTL_DEBUG_LAYER=1 \
MTL_DEBUG_LAYER_VALIDATE_LOAD_ACTIONS=1 \
MTL_DEBUG_LAYER_VALIDATE_STORE_ACTIONS=1 \
MTL_DEBUG_LAYER_VALIDATE_UNRETAINED_RESOURCES=4 \
angle_end2end_tests ...
Bug: angleproject:6972
Change-Id: I7bcb7c19e434e22e24b800fdce4c480d10b1fc40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3450033
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
82352237
|
2022-02-08T12:01:38
|
|
Vulkan: Fix incorrect DescriptorSet's bufferInfo in XFB emulation path
The mAlignmentOffsets are pre-calculated at TransformFeedbackVK::begin()
time but never gets updated when buffer changes after XFB begin call,
which causes us sending down incorrect bufferInfo to the descriptor set.
This CL removes mAlignmentOffsets and always calculate the aligned
offset when mBufferOffsets is needed.
This CL also modify the existing test to demonstrate the bug.
Test:
SimpleStateChangeTestES3.RespecifyBufferAfterBeginTransformFeedbackInDeletedPaddingBuffer
Bug: angleproject:6998
Change-Id: I11a9f114385d2e49ba9bdc2d820727c85c8244dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3448682
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
02ad19e3
|
2022-02-07T13:46:46
|
|
Vulkan: Fix vkCmdResolveImage offsets
glBlitFramebuffer takes identical regions for src and dst when
resolving. vkCmdResolveImage should use the clipped area instead of
using the actual offsets passed to this function.
Bug: chromium:1292537
Change-Id: I13b91a4e14bdb3fcbf8f01edb36d7fb4110429ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3444340
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f65e7c3c
|
2022-02-02T14:23:31
|
|
Vulkan: Take base level into account in image views
Similarly to how max level changes are handled, this change also handles
base level changes. In either case, the old views are retained and new
views are created for the [base, max] level range.
Test provided by m.maiya@samsung.com
Bug: angleproject:6967
Test: MipmapTestES31.UpdateBaseLevel/*
Change-Id: Iee8b2f035c1cc0fa916b987a91939b8ae65d27c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3441074
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@google.com>
|
|
2ab8f48f
|
2022-02-04T08:23:09
|
|
Allow glCopyTexImage2D from BGRX and RGBX to GL_LUMINANCE
glCopyTexImage2D was failing with GL_INVALID_OPERATION when copying from
GL_RGBX8_ANGLE buffer to GL_LUMINANCE texture, while it should be
supported.
Also updated validator to allow copying from RGBX & BGRX to GL_RED_EXT,
GL_RG_EXT.
Bug: chromium:1269826
Change-Id: I865dcdd46921730968995822d71ba34b39e49262
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3439129
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e56f0e29
|
2022-01-26T19:46:01
|
|
Vulkan: Check program fetch status when switching framebuffers
Before this patch, we only checked whether to update the framebuffer
fetch status when the program changes. We also need to check when
the framebuffer itself changes.
Test: FramebufferFetchES31.FramebufferMixedFetchTest
Bug: angleproject:6893
Change-Id: I92ff1f30dfb3f17aee362e5931fc4c94d18142ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3418842
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4a65040b
|
2022-01-30T14:00:48
|
|
Add new Vulkan uniform update test.
This covers a specific case with multiple programs and descriptor
set caching. It could get tripped up by more complicated patterns
in the trace tests.
Bug: angleproject:6776
Change-Id: Ic8e42e55e60ef0fc01f0386712d3457abeea94e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426884
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
812d5fff
|
2022-01-31T17:32:47
|
|
Metal: End the current render pass at glInvalidateFramebuffer.
Prior to this, glInvalidateFramebuffer calls were discarding the
effects of draw calls made afterward, in the same render pass.
Add StateChangeTestWebGL2.InvalidateThenDrawFBO reproducing the basic
problem reported, and document the variations attempted. Minimal code
was changed to fix this issue because other changes hypothesized as
necessary weren't testable.
Drive-by cleanup of FragDepthTest, after which StateChangeTestWebGL2
was patterned.
Bug: angleproject:6923
Change-Id: If79805dbf62fae76b7b9147940b5d9d301142baa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426828
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
7d7cca47
|
2022-01-17T18:00:25
|
|
Vulkan: Update default FBO when fetch in use
If the fetch mode of the default framebuffer changes, lazily create
and use a new set of framebuffers (one per swapchain image) that are
setup for fetch (i.e. have a matching renderpass).
Test: FramebufferFetchES31.DefaultFramebufferTest
Test: FramebufferFetchES31.DefaultFramebufferMixedProgramsTest
Bug: angleproject:6893
Change-Id: Iff2b73d7c34b9b8ca9429c3f24aa700c2746cc81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3401933
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
72529c19
|
2022-01-31T14:37:42
|
|
Vulkan: Fix a few framebuffer fetch bugs
A few fixes to framebuffer fetch:
- The built-in symbol for coherent and non-coherent are now the same for
gl_LastFragData, so extension check can choose one or the other.
- The temporary variable used in a transformation is renamed to not be
gl_LastFragData.
- inout usage is now validated correctly for shader type and version.
Bug: angleproject:6951
Bug: angleproject:6905
Bug: angleproject:6907
Change-Id: I9af341a3e8e01ed375a8230618184494813d3ece
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427577
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
33427a4b
|
2022-01-31T12:07:43
|
|
Vulkan: Fix vkCmdResolveImage extents
The source framebuffer's extents were accidentally used instead of the
blit area extents.
Bug: chromium:1288020
Change-Id: Ib723db50d9687fee0453d027141a94ea26d8a4b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427561
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
38fada35
|
2022-01-27T18:16:18
|
|
Vulkan: Add support for OES_primitive_bounding_box
Add OES version of the primitive bound box extension
Bug: angleproject:3576
Test: dEQP-GLES31.functional.primitive_bounding_box.*
Change-Id: Ie44d952992a68dfffd5c124dda8dd11069f0c1e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3425086
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
868c0739
|
2022-01-29T13:59:30
|
|
Vulkan: Fix image base/max level respecification case.
Bug: angleproject:6776
Change-Id: I3e7774c20bae6d7ad7b1775d46797104e2429b81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426208
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3c727e44
|
2022-01-31T22:18:22
|
|
Allow GL_RGBX8_ANGLE for texture copy destination
Updated IsValidCopyTextureDestinationInternalFormatEnum() to allow
GL_RGBX8_ANGLE.
Bug: chromium:1269826
Change-Id: I07533560d8f0d6f9d114e7c05927f670c6f96891
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426820
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
665ddccd
|
2021-12-09T23:06:39
|
|
Vulkan: Emulate dithering
Dithering in OpenGL is vaguely defined, to the extent that no dithering
is also a valid dithering algorithm. Dithering is enabled by default,
but emulating it has a non-negligible cost. Similarly to some other
GLES drivers, ANGLE enables dithering only on low-bit formats where
visual banding is particularly common; namely RGBA4444, RGBA5551 and
RGB565.
Dithering is emulated in the fragment shader and is controlled by a spec
constant. Every 2 bits of the spec constant correspond to one
attachment, with the value indicating:
- 00: No dithering
- 01: Dither for RGBA4444
- 10: Dither for RGBA5551
- 11: Dither for RGB565
The translator appends code to the shader that, based on the format
specified by the specialization constant, adds dithering to each color
attachment output. A 2x2 Bayer matrix is used for dithering, indexed by
gl_FragCoord.xy % 2.
Bug: angleproject:6755
Change-Id: Ib45da5938e299b6626bff921119d63e7357dd353
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3374261
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
471f1852
|
2022-01-31T11:22:49
|
|
D3D11: Fix underflow with computing small strides.
When an attribute stride was less than the size of a vertex
element, and the D3D11 back-end emulates this vertex format, our
vertex streaming logic could decide that an unsigned int underflow
means our element count in a buffer is not computable and return
zero.
Fix this bug by using signed integers in the element conversion.
Bug: angleproject:6958
Change-Id: Ibd9a3599d780e953d492db739c7443662c7e6b82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427559
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2ad5f350
|
2022-01-25T12:15:16
|
|
Vulkan: Fix texture array level redefinition
When a level of a texture is redefined, all staged updates to that level
should be removed, not the ones specific to the new layers. The bug
fixed was that if the texture was redefined to have its number of layers
changed, the staged higher-layer-count update to the image was not
removed.
Bug: chromium:1289383
Change-Id: I9b90025f78af80ab19a280f90b58510716da31d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413004
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
45237a04
|
2022-01-11T00:14:01
|
|
Metal: Fix undefined behavior of depth write
Writing to an unbound depth attachment is undefined behavior in Metal.
Fix this by emitting a function constant to guard depth buffer use
in fragment shaders.
Bug: angleproject:6865
Change-Id: Id7c10d0aeb349aacfe09c397bc292a71199ab50a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3380304
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
aadc6434
|
2022-01-24T18:28:19
|
|
Vulkan: Fix to correctly redefine gl_PerVertex in GS
Angle translator structures were inconsistent of data
lookup of gl_PerVertex data when it is user defined.
Bug: angleproject:5579
Test: KHR-GLES32.core.geometry_shader.api.getProgramiv3
Test: GLSLTest_ES31.PerVertex*
Change-Id: Ied9ea25ce86ade29261f4f75ce0b48af15061760
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2962352
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
b2d55742
|
2022-01-21T12:28:32
|
|
Program: Add generic uniform update methods.
This will make it easier to make central changes to all the update
methods. Otherwise we'd have to replicate changes in each separate
member.
Bug: angleproject:3570
Change-Id: Ia765720507642338d6e9777b7e38fb323800359b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3407734
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5f0badf4
|
2022-01-18T20:05:55
|
|
Vulkan: Prevent out of bounds read in divisor emulation path.
Split the replicated part of StreamVertexData out to
StreamVertexDataWithDivisor, there is only a partial argument
overlap between the two.
Bug: chromium:1285885
Change-Id: Ibf6ab3efc6b12b430b1d391c6ae61bd9668b4407
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3398816
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
540b2e46
|
2022-01-24T13:44:25
|
|
Fix MultithreadingTestES3.MultithreadFenceDraw skip on SwiftShader
Bug: angleproject:5418
Change-Id: I59ee80f3f5666c7d9551d33926ecdbb6942712ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413272
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a20cd8b7
|
2022-01-22T01:40:34
|
|
Fix initialization for ETC2 punchthrough alpha formats
* Zero-filled ETC2_A1 data must be treated as opaque black
* Removed init functions when emulation is not needed
* Fixed initialization for emulated ETC2_R8G8B8A1_SRGB_BLOCK
Bug: angleproject:6936
Bug: angleproject:6941
Change-Id: Ie5555bbaa6b1a2bcfd9c22cb9c17d1a96e72aa70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406761
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
ca3b28b4
|
2022-01-21T14:59:47
|
|
Metal: Fix compressed texture initialization and add DXT1 test
There was a divergence between WebKit and upstream ANGLE in
InitializeTextureContents' handling of compressed textures.
Align upstream ANGLE with WebKit, fix a problem with emulated
compressed texture formats like ETC2, and add a new test:
DXT1CompressedTextureTestWebGL2.InitializeTextureContents
Bug: chromium:1289428
Change-Id: Ieac6b99a4b19a34d0d87b7577882760ea395c605
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406746
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
31bb03fe
|
2022-01-19T10:06:49
|
|
Add more tests for program pipelines.
Bug: angleproject:3570
Change-Id: I2fa5ea6d90a15f4ec8ee41cde6921c30923974c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3402099
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b5360798
|
2022-01-14T12:45:14
|
|
Vulkan: Support fetching from default FBO
If GL_EXT_shader_framebuffer_fetch is enabled, specify framebuffer
attachments as having VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT.
Add new test FramebufferFetchES31.DefaultFramebufferTest which
exercises the behavior.
Also limit exposure of either framebuffer fetch extension to be
Android only due to swapchain images requiring INPUT_ATTACHMENT.
Test: FramebufferFetchES31.DefaultFramebufferTest
Bug: angleproject:6893
Change-Id: I227e36a9844e2301f0fe0602f4e4d905874b32e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3389791
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4572a176
|
2022-01-03T13:29:59
|
|
Add support for GL_MESA_framebuffer_flip_y 3/*
This is a third CL that adds tests that exercise
the extension in various use cases.
Bug: chromium:1231934
Change-Id: Iae3192cd0985150b6844a2855a9a048a54353655
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3365195
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
|
|
9b231f09
|
2022-01-18T04:49:08
|
|
Vulkan: Fix incorrect bit test when mipmapping
Fixed an issue where angle::Bit was used instead of
angle::BitMask when should selecting [0, x) to set bit
range (x, y] in an n-bit bitmask.
Bug: chromium:1287962
Change-Id: I053fbc836ef12b0dfd30305fd527de3fabfdf525
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3394468
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c4c73e82
|
2022-01-14T12:55:20
|
|
Fix RobustBufferAccessBehaviourTest.
Use "NoFixture" to enable the extension when available.
Bug: angleproject:6897
Change-Id: Ieb3383fbff4df664ad35dd034de3bdd7f8508ed6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388115
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
985db640
|
2022-01-13T09:59:08
|
|
Fix test harness config parsing in Compressed Tex tests.
These compressed texture formats tests were producing the
compressed format as the config name. This CL fixes the test names
so that the config is at the beginning, which is where the test
harness expects it.
e.g.: https://chromium-swarm.appspot.com/task?id=586b4c3bfbd32610
"Completed batch with config: SRGB8_ALPHA8_ASTC_5x5"
Prior name: <>.Test/SRGB8_ALPHA8_ASTC_5x5__ES2_Vulkan
New name: <>.Test/ES2_Vulkan__SRGB8_ALPHA8_ASTC_5x5
Also includes a fix for the AsyncQueue skip on TSAN, because now
AsyncQueue might not be the last part of the test name.
Bug: angleproject:6280
Change-Id: Ic4ce4571ba14cc3828c9a93938d49033bcda5d6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3387053
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f4b0a95f
|
2021-12-16T02:38:26
|
|
Metal: Implement EXT_shader_texture_lod
Added CubeMapTextureTest.SampleCoordinateTransformGrad_ES3
Bug: angleproject:6815
Bug: angleproject:6824
Bug: angleproject:3814
Bug: angleproject:6891
Change-Id: I9007bf8ba91309fb9b597e2d1bd33281ff59644a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343488
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
6a255833
|
2022-01-07T16:13:58
|
|
Metal: Fix transform feedback issue
The issue is if you issue 2 draw commands back to back,
Metal partially ignores the 2nd.
Bug: angleproject:6884
Change-Id: I702335ca06828bed1f553f1f5563ddc99f00bc99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373736
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
2ebdd23b
|
2021-12-28T10:37:49
|
|
Cleanup TextureCubeTestES3.CubeMapPixelUnpackBuffer
Clean up TextureCubeTestES3.CubeMapPixelUnpackBuffer by removing the
unused shader variable 'uLod'.
Bug: b/194140619
Test: TextureCubeTestES3.CubeMapPixelUnpackBuffer
Change-Id: I14776b34c5921fc4d4177bdaed205843b27b9e94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3359777
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
8589c456
|
2021-12-22T17:13:33
|
|
Vulkan: Remove mStagingBuffer from ImageHelper and ContextVk
This CL removes ImageHelper::mStagingBuffer and
ContextVk::mStagingBuffer and uses per shared group staging buffer pool
instead.
Bug: b/208323792
Change-Id: I46b5fd542697eb860def9c6d592dd147ad4dc973
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3354090
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
a61a7f59
|
2021-12-28T18:16:40
|
|
Vulkan: Use correct aspectMask
Update ImageHelper::stageSubresourceUpdateFromImage() to use the correct
aspectMask flags based on the image's format, rather than assuming only
color formats.
Additionally, only call ensureMutable() for sRGB textures that indicate
srgbDecode == GL_SKIP_DECODE_EXT.
Bug: angleproject:6852
Test: DepthStencilFormatsTest.DepthTextureRender
Change-Id: Iaf1f167612144f836c5574b0f561cc1b58c3cb6a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360090
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
fd014271
|
2021-12-16T20:44:42
|
|
Vulkan: Match chromaFilter to min/mag for YUV AHBs
From the VVL:
VUID-VkSamplerCreateInfo-minFilter VkCreateSampler:
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
specifies that the format can have different chroma, min, and mag
filters. However,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
is not supported for VkSamplerYcbcrConversionCreateInfo.format =
VK_FORMAT_UNDEFINED so chromaFilter needs to be equal to
minFilter/magFilter.
We don't know what the min/mag filters are when the AHB is imported, so
we need to update the YcbcrConversionDesc with the current min/mag
filter value before creating the VkSamplerYcbcrConversion when the
ImageView is created. Additionally, if the min/mag filters are updated
later, TextureVk::syncState() needs to recreate the ImageViews to ensure
the chromaFilter matches the new min/magFilters.
Test: atest android.media.cts.DecodeAccuracyTest#testGLViewDecodeAccuracy[0]
Test: ImageTestES3.SourceYUVAHBTargetExternalYUVSampleLinearFiltering
Bug: b/210526871
Change-Id: I95dbd9738f6e3fd0870e484518eee105e995f93a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3346394
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
beda2459
|
2021-12-09T14:24:08
|
|
Add support for GL_MESA_framebuffer_flip_y 2/*
This is a second CL that adds actual implementation
for GL_MESA_framebuffer_flip_y extension.
Also, some tests are added to verify the functionality.
Please note that bots do not support this extension yet,
and the tests were verified by running them locally.
Bug: chromium:1231934
Change-Id: Iea483aa13a298df6b5cf0b7b5ffb795a4666e3bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329603
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
|
|
c984dad5
|
2021-12-03T16:02:49
|
|
FrameCapture: Don't remove protection from shared pages.
Don't remove protection from pages that are shared when a
persistent coherent buffer storage is unmapped.
The shared page can still be relevant when the the other buffer is kept
and written to.
Add a PageSharingBuffers test that produces this behaviour.
Test: angle_end2end_tests --gtest_filter="BufferStorageTestES3.PageSharingBuffers/*"
Bug: angleproject:5857
Change-Id: I6927f25229d2dfe9f68ba9a993e9d3e994bc7ce0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3306623
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
cfc4db34
|
2021-11-04T16:54:15
|
|
Metal: Provoking vertex support for Metal DrawArrays
Add in provoking vertex rewrite support for
drawArrays command, enabling 6 dEQP tests.
GLES3/functional_rasterization_flatshading_line_loop
GLES3/functional_rasterization_flatshading_line_strip
GLES3/functional_rasterization_flatshading_lines
GLES3/functional_rasterization_flatshading_triangle_fan
GLES3/functional_rasterization_flatshading_triangle_strip
GLES3/functional_rasterization_flatshading_triangles
This patch adds a new shader to the Provoking
Vertex helper that generates draw commands for
all simple data types.
Fix bug in provoking vertex helper that caused
reused index buffers to suffer from allocation issues.
Also fix Provoking vertex for triangle fan generation
Bug: angleproject:5325
Change-Id: I7a1211dfcd99329868269ea0666eef1915d487b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3261635
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
aad7ddb2
|
2021-12-30T20:38:03
|
|
Skip VulkanPerformanceCounterTest.InvalidateDrawDisable
on Linux Vulkan AMD
Bug: angleproject:6857
Change-Id: I07484ae2253227d1abad8e554401b4e6da825cb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3359004
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a400e76d
|
2021-12-22T12:24:13
|
|
Vulkan: Don't expose MSRTT without VK_KHR_depth_stencil_resolve
Previously, ANGLE exposed the EXT_multisampled_render_to_texture
extension even if VK_KHR_depth_stencil_resolve was not available. This
was due to scarcity of drivers on the bots with support for this
extension and allowed partial testing.
This is no longer true. Additionally, this cleans up the expectations
because old and buggy drivers are now simultaneously filtered out.
Bug: angleproject:6845
Change-Id: I8c285a5fa5d9beeb98b48d8b056cdc8779cce6fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3353895
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6f1c39b5
|
2021-12-16T16:10:49
|
|
Vulkan: Restore color attachment mask-related blend states
When we end up resetting blend state such as when changing to a
depth-only FBO and back, we can end up adding attachment states. They
need to be updated with the current GL blend state.
Bug: b/210543392
Bug: angleproject:6828
Change-Id: I3419acb8081eb7d662576a75382bb8684cc0d29f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3346320
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
542f7d80
|
2021-12-22T19:36:27
|
|
Vulkan: Copy buffer data to correct cube map face
TextureVk::copyBufferDataToImage() was failing to set
region.imageSubresource.baseArrayLayer to the correct cube map face
value, causing every glTexSubImage2D()-type call using
GL_PIXEL_UNPACK_BUFFER to only copy to the
GL_TEXTURE_CUBE_MAP_POSITIVE_X face. In the case of PUBG Mobile, this
left all other faces with "random" data, resulting in corrupted
reflections on things like water, the airplane, etc.
Bug: b/194140619
Test: TextureCubeTestES3.CubeMapPixelUnpackBuffer
Change-Id: I93a9219ce098985f9f4b906f8fe2e05850fb8d43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3354091
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
cf8ac00a
|
2021-12-20T11:57:25
|
|
Vulkan: Fix MSRTT w.r.t stencil-only unresolve
The stencil bit was being silently masked out in a bitset in
FramebufferDesc that tracked whether the framebuffer requires any
unresolve. If only stencil needs unresolving, this mask was zero,
leading to an incorrect framebuffer getting pulled from the cache.
A follow up change will add an ASSERT in BitSetT to catch such errors
in the future.
This issue was only reproducible on SwiftShader and AMD as the only
implementers of VK_EXT_shader_stencil_export.
Bug: angleproject:6840
Bug: angleproject:6324
Change-Id: I4f055982ebd75f621ec1e34b0d60eaa497c27b17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3349979
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
624e3c3d
|
2021-12-17T15:30:54
|
|
Fix dangerous use of AutoObjCPtr after ownership identity change
Metal new* methods create objects with +1 retain count.
AutoObjCPtr is intended to adopt this reference.
Otherwise, like before this patch, the AutoObjCPtr holds
object with +2 count. Before this patch, some but not all
call sites donated the extra retain count to autoreleasepool
"out of band", and as such the code did not leak that much.
Bug: angleproject:6831
Change-Id: I72bcbc712f2cadbcbc6148c6aedfa7e151314518
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3347641
Reviewed-by: John Cunningham <johncunningham@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b9f2d9cc
|
2021-12-16T13:08:22
|
|
Use text expectations to skip a test
This instead of exiting the test in C++.
Bug: angleproject:6826
Change-Id: I1e91f38f0f581821178b3b54ba809e59570b440a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3345615
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
83679716
|
2021-12-14T19:02:48
|
|
Vulkan: Dirty vertex buffers if default attrib values changed
In the call_break_offline trace, attribute index 4 is disabled then
enabled before a draw. This redundant operation is currently not blocked
and makes it to the Vulkan backend, resulting in
handleDirtyGraphicsVertexBuffers. However, at the same time, we change
the default attrib value for index 3. Which makes
handleDirtyGraphicsVertexBuffers not redundant. We'll need to take into
account cases when other attribute indices are not dirty and yet the
default attrib value changes.
Bug: angleproject:6802
Change-Id: I4a3ec411aa42f73a209fd0f06976d7ef2d21e027
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331412
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
32e23bb9
|
2021-12-15T13:30:37
|
|
Expand WebGLCompressedTextureAvailabilityTest
Added assertions for OpenGL on macOS and a new
regression test for emulated ETC1.
Bug: chromium:1279908
Bug: chromium:1048244
Change-Id: I522a8db32dacad0bca0fba09aed1bcbafa7e3c80
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340934
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
9d49d843
|
2021-12-15T00:36:54
|
|
Add WebGLCompressedTextureAvailabilityTest
Acts as a regression test for https://crrev.com/c/3338624
Has been verified to catch the earlier error in the include guards.
Bug: angleproject:6809
Bug: chromium:1279908
Change-Id: I248aca46db26eea304044835ea35fc2400ed459d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3338748
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
5ee7dfbd
|
2021-12-14T12:55:39
|
|
BufferSubDataTest.SmallIndexBufferUpdateAfterDraw testSetUp fix
Failing on Linux FYI GPU TSAN Release, although already skipped.
Changing SetUp/TearDown to testSetup/testTearDown to avoid assert
failures before skipped.
Bug: angleproject:6810
Change-Id: Ibc746293fd0ad823e5b82c2d3db2862751b90f99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3339603
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
7b13a9ac
|
2021-12-09T18:37:59
|
|
Vulkan: Fix dynamic partial update buffer data issue.
add test case for dynamic update buffer data.
Signed-off-by: Hailin Zhang<hailinzhang@google.com>
Bug: b/207714894
Change-Id: I8c1e93d152847c3162c0e2dd49abe3d899c859a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3328869
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
|
|
32f572b7
|
2021-12-03T17:58:51
|
|
Support creating EGLImage from VkImage
Bug: chromium:1264439
Change-Id: I520182143e748f25b44d0725f3f171b7b33a85d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3311131
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
c56f29a2
|
2021-11-05T13:14:35
|
|
BufferDataTest: Add more coherent buffer storage tests.
Add UniformBufferMapped and VertexBufferMapped in BufferStorageTestES3.
Add a test that writes to a mapped coherent bufferstorage from multiple
threads.
Test: angle_end2end_tests --gtest_filter="BufferStorageTestES3.*"
Bug: angleproject:5857
Change-Id: I434c2462fb7217ab77667a6ec038f21835beb0b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275764
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
9df048ef
|
2021-11-09T11:31:36
|
|
BufferDataTest: Do not require GL_EXT_map_buffer_range.
For tests where glMapBufferRange and glUnmapBuffer is used, which is
part of core GLES 3.
Keep it as requirement for tests where glMapBufferOES and
glUnmapBufferOES is used.
This enabled these tests in the capture/replay test suit, as they are
not skipped anymore. GL_EXT_map_buffer_range and GL_OES_mapbuffer are
disabled during capture.
Test: angle_end2end_tests --gtest_filter="BufferStorageTestES3.*"
Bug: angleproject:5857
Change-Id: I4acdb428479f5d0dbd64670107d4c59a0b10df7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275763
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
5b858acf
|
2021-12-09T14:22:14
|
|
Vulkan: Fix the offset issue in multiDrawIndirect
* In MultiDrawElementsIndirect, it resets the index buffer
offset (mCurrentIndexBufferOffset) to 0.
* Added a unit test for MultiDrawElementsIndirect to
make sure that the index buffer offset is reset properly.
* Updated the test program in MultiDrawIndirectTest to
include a multi-colored mode.
* D3D11 and Metal tests regarding the following functions
are disabled so more test coverage can be added:
* glMultiDrawElementsIndirectEXT
* glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE
Bug: angleproject:6751
Change-Id: I81bb7b3aa9b6ad8a9283dd50728ec6250c3668ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3330737
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ea03bf47
|
2021-12-03T08:48:50
|
|
Vulkan: fix crash when clearing stencil
Previously, we cast the originally-32-bit mask to 8 bits, and then
crashed ourselves in the assert.
Also optimize away the stencil based on 8 bit explicitly in the
frontend.
Bug: chromium:1275858
Change-Id: I0b03a17e72f5a4540b5c4605353eb1fde898057d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315158
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
a1e066db
|
2021-12-10T12:26:01
|
|
Suppress Mac 12 failure
Suppresses a failure in
PointSpritesTest.PointSizeAboveMaxIsClamped on Metal with Mac 12.
Bug: angleproject:6800
Change-Id: Ib6646b31e7d0231e2cd1284301792216bd5c70d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
04110e4e
|
2021-12-01T14:06:03
|
|
Metal: Fix Intel backend fails with tall texture
Copied test from the WebGL conformance suite.
A 1x<MAX_TEXTURE_SIZE> texture fails on Intel in the Metal
backend.
This was fixed in WebKit so just applying that fix.
Bug: angleproject:6754
Change-Id: Id1cafb3b560f14630684d55b0e61cea4c7f33a6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3311941
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
55840e90
|
2021-12-03T15:24:00
|
|
Vulkan: Fix deferred flush vs UtilsVk
Take the following scenario:
1. Draw
2. Flush (this is deferred)
3. Get image view (this is retain()ed)
4. Pass view to a draw-based UtilsVk function
5. Flush
6. Delete image view
At step 4, UtilsVk may start a new render pass and use the image view
from step 3. Since the flush at step 2 is deferred, it will be
performed at this step, and so the serial of the image view is set to
the previous submission.
When step 4 uses this view, it doesn't retain it. Step 5 submits the
new command buffer using this image view.
At step 6, if the previous submission has finished, it will destroy the
view immediately even though it's in use by the new submission.
One solution could have been to make sure render pass closure
originating from UtilsVk doesn't incur a flush. However, due to the
current design where the render pass is immediately recorded in
RendererVk's primary command buffer, it's possible that an unrelated
context would perform the flush anyway.
This change makes sure instead that the render pass is closed before any
views are allocated/retained to be used by UtilsVk.
Bug: chromium:1272266
Change-Id: I5bdefb34e03c368511c4c174cf7965fda158d2b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315976
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4f42a4d3
|
2021-12-01T18:57:48
|
|
Add more support for GL_RGBX8_ANGLE
Update EquivalentBlitInternalFormat(), ValidReadPixelsFormatEnum(), and
ValidReadPixelsFormatType() to support GL_RGBX8_ANGLE.
Also update ANGLE_rgbx_internal_format.txt to indicate the new support
in glBlitFramebuffer() and glReadPixels() for GL_RGBX8_ANGLE.
Bug: angleproject:6690
Test: BlitFramebufferTestES31.BlitMultisampledRGBX8ToRGB8
Test: WebGL2CompatibilityTest.ReadPixelsRgbx8AngleUnsignedByte
Change-Id: I75b6d5cb46eebbc904b86cc8e6bd18aca5403684
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3312367
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
f64f9546
|
2021-12-07T20:17:32
|
|
Reland "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
This reverts commit 10e5f34d1439f0bcd5b30bea5bfbf6bdaafd4935.
Reason for revert: exonerated from flaky crash suspect
Original change's description:
> Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
>
> This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059.
>
> Reason for revert: suspect causing flaky crashes
>
> Bug: angleproject:6763
>
> Original change's description:
> > Decouple gl_BaseVertex/gl_BaseInstance uniforms
> >
> > These are builtin uniforms removed in
> > https://github.com/KhronosGroup/WebGL/pull/3278
> >
> > Decouple them from the original ANGLE_base_vertex_base_instance
> > extension.
> >
> > Make a new ANGLE_base_vertex_base_instance_shader_builtin
> > extension for these builtin uniforms.
> >
> > Bug: angleproject:3402
> > Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
> > Commit-Queue: Shrek Shao <shrekshao@google.com>
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
>
> Bug: angleproject:3402
> Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Shrek Shao <shrekshao@google.com>
Bug: angleproject:6763
Bug: angleproject:3402
Change-Id: Ie436dc5d55364e464897d407a53b793941cd5d0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3321703
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
006c11d9
|
2021-11-20T22:12:20
|
|
Vulkan: Fix xfb query ASSERT on end
It's possible for the xfb query to have never been issued, as it's
deferred until a draw call with xfb active is encountered, which may
never happen.
Bug: chromium:1209285
Change-Id: I893f9f9a06e4b9f2f9da9406affab0be3598fcb4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3294701
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6d3435fd
|
2021-12-01T17:08:01
|
|
Validate SamplerFormat
We weren't validating sampler formats in ProgramExecutable validation.
Bug: chromium:1273661
Change-Id: Ida0c67c0c7169ea3f47ceb2d433bee17012a7e5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3312717
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
929c8ed4
|
2021-12-01T18:16:14
|
|
Vulkan: remove staged updates on storage set
Previously we would allow staged updates to bigger versions of a texture
to go through even if the texture was redefined via glTexStorage*.
Bug: chromium:1262080
Change-Id: I9d861fed68d4a1fdcd0777b97caf729cc74c595e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3312718
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
10e5f34d
|
2021-12-04T00:10:21
|
|
Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059.
Reason for revert: suspect causing flaky crashes
Bug: angleproject:6763
Original change's description:
> Decouple gl_BaseVertex/gl_BaseInstance uniforms
>
> These are builtin uniforms removed in
> https://github.com/KhronosGroup/WebGL/pull/3278
>
> Decouple them from the original ANGLE_base_vertex_base_instance
> extension.
>
> Make a new ANGLE_base_vertex_base_instance_shader_builtin
> extension for these builtin uniforms.
>
> Bug: angleproject:3402
> Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
> Commit-Queue: Shrek Shao <shrekshao@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Bug: angleproject:3402
Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
d0287552
|
2021-11-15T08:51:41
|
|
Reland "Vulkan: Implement GL_EXT_multi_draw_indirect"
This is a reland of 79f9d163b4227115a3e60e027ec4d7dbe0495f64
* Added drawcount > 1 as a condition to fall back to
MultiDraw*IndirectGeneral().
* Expanded the tests to include cases with disabled support
for multiDrawIndirect.
Original change's description:
> Vulkan: Implement GL_EXT_multi_draw_indirect
>
> * Optimized the implementations of multiDrawArraysIndirect()
> and multiDrawElementsIndirect() for Vulkan
> * Added helper functions to support drawArraysIndirect() and
> drawElementsIndirect() as special cases of multiDraw*Indirect
> functions.
> * Added the flag to enable the multiDrawIndirect feature
> (drawCount > 1). The generic implementation is used if the
> flag is disabled.
>
> Bug: angleproject:6439
> Change-Id: Ibc653d93d355657f828de9c33da22428629e450f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276044
> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:6439
Change-Id: I96c015855fabc8abbb87320a5ca71a8d92d61954
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3313412
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
1047af38
|
2021-12-02T14:30:42
|
|
Fix changing attached renderbuffer from MSRTT to non-MSRTT
FramebufferAttachment::mRenderToTextureSamples was never updated if the
renderbuffer storage was changed after attaching to framebuffer.
Bug: chromium:1272068
Change-Id: Ib0cfde53c3453c0df4b0aea32ab0a246aa2ade7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3313414
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
36bf1ebe
|
2021-11-17T13:31:17
|
|
Decouple gl_BaseVertex/gl_BaseInstance uniforms
These are builtin uniforms removed in
https://github.com/KhronosGroup/WebGL/pull/3278
Decouple them from the original ANGLE_base_vertex_base_instance
extension.
Make a new ANGLE_base_vertex_base_instance_shader_builtin
extension for these builtin uniforms.
Bug: angleproject:3402
Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
2d41e0f7
|
2021-11-30T16:14:03
|
|
Rework compressed texture pixel unpack state handling.
Compressed images do not use the pixel unpack parameters. Instead of
handling this in Context, move this to formatutils, where it's already
handled for the 2D case. Also, update the test to generate an ASAN error
if not ignored for the 2D case.
Bug: chromium:1267496
Change-Id: Ib93bae00a2b0b75eafd74c267f737da225afd993
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3308825
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8f6f5a4b
|
2021-11-30T23:48:30
|
|
Vulkan: Fix image respecify's usage tracking
When respecifying an image due to mip level count changes, the previous
image is staged as an update to the new image. The resource usage info
was not being transferred to the image being staged as an update,
causing it to be prematurely deleted.
Test based on one authored by sugoi@google.com.
Bug: chromium:1270658
Bug: angleproject:4835
Change-Id: I215c65ba700d7be608d0910d3cb37fcfdf297a2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3308921
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f84dc44f
|
2021-11-30T12:22:21
|
|
Add a test for changing an XFB buffer after Begin.
Bug: chromium:1274316
Change-Id: I4ba240ff4cc383b157a64a0c92e8ce8ab2d8061e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3309101
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
45028d29
|
2021-11-30T10:37:06
|
|
D3D11: Fix OOB access in vertex conversion code.
This could happen when using certain combinations of stride and
offset. Fix the issue by using checked math.
Bug: chromium:1274499
Change-Id: Idba3beedad10b0c0cac2dcbecba8e420c5baa6da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3309035
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
65720272
|
2021-11-26T17:42:16
|
|
Add end2end gl test for *_ANGLE_vulkan_image extensions
Bug: chromium:1264439,angleproject:6741
Change-Id: I12d332995138a020ba514fba34024c3e666b8e6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3304396
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ef65edf2
|
2021-11-22T14:23:35
|
|
Add extension: ANGLE_rgbx_internal_format
Add the extension ANGLE_rgbx_internal_format, which exposes the ANGLE
internal format GL_RGBX8_ANGLE. The format GL_RGBX8_ANGLE enables
emulating RGB8 formats with RGBA8 within ANGLE.
This also renames the format GL_RGBX8_ANGLEX to GL_RGBX8_ANGLE, since
it's being exposed.
Bug: angleproject:6690
Test: Texture2DTestES3.TextureRGBXImplicitAlpha1
Change-Id: I5548a3578a14e2f2a4006bbf59983b01f694b7f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3296625
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
870f458f
|
2021-11-22T14:30:52
|
|
Ignore the pixel unpack state for compressed textures.
From OpenGL ES 3 spec: All pixel storage modes are ignored when decoding
a compressed texture image
This was causing a bad access when calling compressedTexImage3D
with GL_UNPACK_IMAGE_HEIGHT greater than the image height.
Bug: chromium:1267496
Change-Id: I9b1f4c645548af64f2695fd23262225a1ad07cd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3296622
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a0924015
|
2021-11-22T19:44:05
|
|
Metal:Fix GLSLTest_ES3.GLVertexIDIntegerTextureDrawElements Metal
The test was failing if the "first" argument to glDrawElements
was odd. When odd the offset was not a multiple of 2 bytes
and the code was going down a different path than when the
offset was event.
The fix for that just removes a check for alignment to 4 bytes.
Checking with UNSIGNED_BYTE indices though and it still
failed. That was because it was encoding the index conversion
path on one command buffer and the provoking index prep
on another and so they were happening out of order.
Putting both on the same command buffer fixes that.
Bug: angleproject:6688
Change-Id: I89b68ba965d073e0fa70b6d5b444dc743b5e34a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3296631
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
17bf6e98
|
2021-11-11T20:53:31
|
|
Implement GL_EXT_multi_draw_indirect
* Added the validation functions for multiDrawArraysIndirect()
and multiDrawElementsIndirect() according to the specs.
* Added generic implementation for the two functions that can
be called by back-ends.
* Added unit tests for the multiDrawIndirect functions.
* Added flags for back-ends so they can enable the extension.
* Minor cleanup in MultiDrawTest.cpp
Bug: angleproject:6439
Change-Id: I4e5f1cab05c6de330aef82d115492dcc9d2fad44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276043
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4ae30a63
|
2021-11-22T16:25:11
|
|
Vulkan: Don't attempt to convert vertices in empty buffers
Bug: chromium:1271671
Change-Id: I869f30fd9c8a52c07263bb7a72978a31f2aceb9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3297026
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5859bb10
|
2021-11-19T13:25:38
|
|
Make D3D11 non instanced draw path explict
To make sure instanceCount == 0 is no-op according to OpenGL ES
3.2 spec section 10.5.
Before the fix the behavior on linux (gl) and win (d3d) are
inconsistent.
Bug: angleproject:3402
Change-Id: I70ec215d8b65c1591b4c816f76c92e88e9f0dc61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3293749
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
9de37b58
|
2021-11-20T21:45:02
|
|
Vulkan: Fix draw with emulated xfb without xfb active
When transform feedback is not active, make sure the code that captures
xfb is not generated, even though it's guarded against with an if. This
is because no buffer is bound to the capture buffer, and by avoiding
generation of code that references that buffer, SwiftShader will not
attempt to access the missing descriptor set.
Currently, the actual declaration of the buffer is left in the SPIR-V,
which seems to be benign. If that causes issues in the future, the
SPIR-V transformer can be modified to remove that variable as well.
Bug: chromium:1209285
Change-Id: I83da8d1dea5390ecacc681f8ada9f586932deaa4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3294661
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
de5e8577
|
2021-11-19T15:05:12
|
|
MultithreadingTest: Initialize an atomic bool.
This variable was getting garbage data in UBSAN. Fix it by setting
an initial value of false.
Bug: angleproject:5795
Change-Id: I0a40bea427d7c02c8a12616c472c8d9ce70cb937
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3293822
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
edc2cfe5
|
2021-11-19T14:57:16
|
|
Fix signed integer overflow in angle_end2end_tests.
The test math was causing an signed overflow in the most extreme
case.
Test: GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays/ES3_Vulkan_SwiftShader
Bug: angleproject:5795
Change-Id: Id6b845577cb6ce585ec67251dcb6111d5773012f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3289942
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d87d10cd
|
2021-11-12T11:02:01
|
|
Fix ASAN issue with GLVertexIDIntegerTextureDrawElements
Was
GLint clearData[] = {42};
glClearBufferiv(GL_COLOR, 0, clearData);
Now
GLint clearData[4] = {42};
glClearBufferiv(GL_COLOR, 0, clearData);
Bug: angleproject:6688
Change-Id: Ia8fa0c7d406626046a32e613fda3a165a06941b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3278489
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b2cf52e6
|
2021-11-10T14:49:09
|
|
Bug fix in unpack buffer validation
For an implementation that supports GL_EXT_buffer_storage extension
it is valid to read or write from a buffer that is partially or fully
mapped if it was allocated by a call to glBufferStorageEXT with the
GL_MAP_PERSISTENT_BIT_EXT included in <flags>
Bug: angleproject:5056
Bug: angleproject:6689
Test: BufferStorageTestES3.TexImage2DPixelUnpackBufferMappedPersistently
Change-Id: Ia4b6967aab02bbfb101d5253b9c83d314bc92f5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3278482
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
6fe13477
|
2021-11-11T00:47:14
|
|
Vulkan: Add external's pNext to ANGLE_external_objects_flags
ANGLE was chaining VkImageFormatListCreateInfoKHR to
VkImageCreateInfo::pNext to support sRGB extensions. For external
images, it was unknown whether that was valid because there was no way
to know if external used an identical chain of pNexts. This was causing
a discrepancy between images created by Chrome and those created by
ANGLE as part of an import.
This change updates ANGLE_external_objects_flags to take in the pNext
chain external has used to create the image so ANGLE could create the
image identically.
Bug: chromium:1266094
Change-Id: I479b9e7ff39d437425dc91c79834880749766f99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274177
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c6d86da2
|
2021-11-11T15:30:41
|
|
Add test for gl_VertexID and DrawElements
This fails on the WebGL CTS conformance2/rendering/vertex-id.html.
Repoing here to make it easier to debug/find/fix.
Bug: angleproject:6688
Change-Id: I0a4bafc5700c77e0b6c44b067167fc4a60e63c22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276708
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
558981c1
|
2021-11-10T23:13:03
|
|
Vulkan: Make write-after-invalidate checks more precise
Previously, the size of the command buffer was used as indication for
whether the render pass attachments might have been modified after
glInvalidateFramebuffer. In that case, the invalidate was undone. This
is made more precise by making sure only vkCmdClearAttachments and
vkCmdDraw* calls are counted for this purpose.
For example, inserting event markers after glInvalidateFramebuffer now
retains the invalidation.
Note that this can be even further optimized by tracking real writes to
attachments. For example, currently a draw call with depth test
disabled still undoes the invalidation of the depth buffer, but it
shouldn't.
Bug: angleproject:5079
Change-Id: I6257b4116a73213884b919bc7f3c86ff39b6aeed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274176
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
96b587b0
|
2021-11-10T15:10:09
|
|
Vulkan: Fix rendering to RGB external images
Based on the provided usage flags, the texture's image access mode is
updated to be renderable.
Bug: chromium:1266094
Change-Id: I5d092a2786fc12537ef0ad1f224137cc1fd8f864
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270980
Reviewed-by: Craig Stout <cstout@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
133cf4be
|
2021-11-10T15:16:07
|
|
Fix out-of-bounds read in MemoryBarrierTestBase.
This second read was in transformFeedbackBitBufferWriteThenCapture.
Bug: angleproject:6646
Change-Id: I67134e5a7a9a610c11266c51bdc1ced6ef018b8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270981
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5a5996aa
|
2021-11-09T21:42:43
|
|
Vulkan: Handle missing decorations in SPIR-V precision fixer
Bug: angleproject:6674
Change-Id: Ibfc72f14b9eeb17d7c70cf6d2384d970b2e66650
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3271551
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f045fe07
|
2021-11-04T10:44:20
|
|
Fix MSRTT unsized texture formats querying supported samples.
The texture format information in gl::Context is sized formats only.
When MSRTT textures are used, they would query the potentially unsized
format for maximum supported samples. This would return 0 and cause an
incomplete framebuffer when the sample count missmatched with other
attachments.
Bug: chromium:1238327
Change-Id: I06514b1b9badefa81bba3b7ad9ba5db932b4c12b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260555
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
91d36473
|
2021-11-08T16:27:20
|
|
Fix invalidation of GL_FRAMEBUFFER invalidating READ FBO
Per spec, GL_FRAMEBUFFER means GL_DRAW_FRAMEBUFFER for
glInvalidateFramebuffer.
Bug: chromium:1267424
Change-Id: I8c9ab61ecdbd4ccee4262dc8559b2feb02b4837c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266176
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|