|
2207a0a2
|
2025-09-04T17:32:12
|
|
Remove multisampledRenderToTextureEXT from D3D
Partial implemented was never completed, nor utilized for XR
scenarios.
CL removes the implementation
Bug: chromium:443111620
Bug: angleproject:433462527
Bug: angleproject:42261786
Bug: angleproject:42263509
Bug: angleproject:42263677
Change-Id: If95581d5f9b0e43be96ef6913fe73f547e0b5501
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6915970
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
25390156
|
2025-08-21T00:13:19
|
|
Suppress unsafe buffers on a file-by-file basis in src/ [1 of N]
In this CL, we suppress many files but stop short of actually
enabling the warning by not removing the line from the
unsafe_buffers_paths.txt file. That will happen in a follow-on
CL, along with resolving any stragglers missed here.
This is mostly a manual change so as to familiarize myself with
the kinds of issues faced by the Angle codebase when applying buffer
safety warnings.
-- Re-generate affected hashes.
-- Clang-format applied to all changed files.
-- Add a few missing .reserve() calls to vectors as noticed.
-- Fix some mismatches between file names and header comments.
-- Be more consistent with header comment format (blank lines and
trailing //-only lines when a filename comment adjoins license
boilerplate).
Bug: b/436880895
Change-Id: I3bde5cc2059acbe8345057289214f1a26f1c34aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6869022
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
03676f3f
|
2025-07-22T15:34:18
|
|
Tests: Add MixedMultisampleSingleSampledDraw test
Test: angle_trace_tests --gtest_filter=MultisampledRenderToTextureES3Test.MixedMultisampleSingleSampledDraw
Bug: angleproject:433462527
Change-Id: I87b56452bd5ad1d7841341ddd7af9479fe966f6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6773431
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
65159c4e
|
2025-06-05T15:05:46
|
|
Update pipeline desc when sample count changes
* If the sample count changes when calling
glFramebufferTexture2DMultisampleEXT, we need to update pipeline desc
to ensure it is the same as the API requires.
* Add a new end2end test to verify.
Bug: angleproject:422611722
Change-Id: I7de7d3d17513cf03f5e24baa2db83633a229b4b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6623419
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eec873ed
|
2025-03-28T00:00:00
|
|
Fix FramebufferTexture2DMultisampleEXT validation
Generate an error when the samples value is negative.
Bug: angleproject:406922380
Change-Id: I508f3ddf82e30291fdcc3086ab19ebfa4f84947c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6421716
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
15b1fb37
|
2024-12-29T00:38:43
|
|
Fix mixing multisampled renderbuffers and textures
When querying a renderbuffer's render-to-texture sample count, the
number of samples was returned. This made it look like the renderbuffer
attachment is MSRTT even if it was really multisampled. When mixed with
a multisampled texture (where this mistake wasn't made), the framebuffer
completeness code marked the framebuffer incomplete because it looked
like one attachment is MSRTT and the other is not.
Test credit zephyrxiao@tencent.com
Bug: angleproject:382393146
Change-Id: I9fe516d6a92033512646414f88a9848aa1e1edc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6138979
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c75bd915
|
2024-12-10T23:01:44
|
|
Vulkan: Remove asyncCommandQueue
It's been years and it never showed an advantage. In the meantime,
performance without this feature seems close to native drivers (i.e. the
feature has lost its appeal) and it's frequently a source of
complication and bugs.
Bug: angleproject:42262955
Bug: angleproject:42265241
Bug: angleproject:42265934
Bug: angleproject:42265368
Bug: angleproject:42265738
Bug: angleproject:42266015
Bug: angleproject:377503738
Bug: angleproject:42265678
Bug: angleproject:173004081
Change-Id: Id8d7588fdbc397c28c1dd18aafa1f64cbe77806f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084760
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
65fcf9c4
|
2024-10-26T10:53:18
|
|
Vulkan: Remove redundant dependent feature checks
Since [1], when a feature is overriden, the dependent features
automatically take the override into account. Tests no longer need to
account for dependent features, neither does the logic in the code.
[1]:https://chromium-review.googlesource.com/c/angle/angle/+/4749524
Bug: angleproject:42266725
Change-Id: I5440aba4a89cffbe710e26ad7de4cfee783e9bdf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5967414
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
1a191b1d
|
2024-08-16T17:31:38
|
|
Metal: add an option to emulate DontCare loadOp with randomized Clear.
This is useful for testing undefined initial values caused by DontCare
MTLLoadAction on non-tiled GPUs.
Bug: angleproject:42261786
Change-Id: Id5c4a9ee8510a8a9143bdd67e276bfcf2bd7eaa5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5791386
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
a89ca6c8
|
2024-07-30T17:14:50
|
|
Metal: Fully implement unresolve step for MSRTT.
This CL also uses memoryless for implicit MS textures in
EXT_multisampled_render_to_texture render passes.
Bug: angleproject:42261786
Change-Id: Ic20450574c4c670d05ca846587ced05488012270
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5746181
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1bfe5c57
|
2024-07-30T15:58:47
|
|
Metal: partially implement EXT_multisampled_render_to_texture.
Implement by implicitly attaching a multisampled texture to the render
pass. The content will be preserved across render passes by
loading/storing to the implicit multisampled texture.
However this won't work if the single sampled texture is used in
multiple render passes with different
glFramebufferTexture2DMultisampleEXT's sample counts. For that to work
we need to implement unresolve step to load the resolve texture's texels
into the implicit multisampled texture. That will be implemented in a
separate CL.
Bug: angleproject:42261786
Change-Id: I12be75af17ce5b98266946846417d0a43fcba455
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5746180
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
1db80b88
|
2024-07-10T12:47:42
|
|
Reland "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]"
This is a reland of commit c379ff48043a47e444c388c45270db40d3172d50
Original change's description:
> Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
>
> Bug: angleproject:42267038
> Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:42267038
Change-Id: I083e6963b5421386695e49a9872edbb2016c9763
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691342
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7d461b21
|
2024-07-10T14:11:53
|
|
Revert "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]"
This reverts commit c379ff48043a47e444c388c45270db40d3172d50.
Reason for revert: Regresses CPU perf and memory when _not_ using DR
Original change's description:
> Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
>
> Bug: angleproject:42267038
> Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:42267038
Change-Id: I3865f0d86813f0eeb9085a92875a33bd449b907f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691337
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c379ff48
|
2024-06-10T22:01:57
|
|
Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
Bug: angleproject:42267038
Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d193d51b
|
2024-06-17T22:46:08
|
|
Replace issue ids post migration to new issue tracker
This change replaces anglebug.com/NNNN links.
Bug: None
Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
06f1b72f
|
2024-06-03T08:59:46
|
|
Vulkan: Bugfix in MSRTT emulation
Transient multisampled images should have no mips. Enforce this
requirement when MSRTT is being emulated
Bug: angleproject:4836
Tests: MultisampledRenderToTexture*MultipleLevelsMultisample*
Change-Id: I6df21bbb49a4c45aa3ee321f7d49b81f55352562
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5601347
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9620d4d3
|
2024-05-23T16:12:52
|
|
Vulkan: Emit SPIR-V 1.4 where available
In preparation for optimizations possible for SPIR-V 1.4. This change
makes ANGLE output SPIR-V 1.4 if supported, and SPIR-V 1.3 otherwise.
It handles the following differences between the two versions:
- OpEntryPoint in SPIR-V 1.4 includes all global variables, as opposed
to SPIR-V 1.3 where only the Input and Output variables are listed
- Storage buffers use a dedicated storage class in SPIR-V 1.4
Bug: angleproject:342316794
Change-Id: I157ed46449ff2d0f14d284b883b4ddc1b4b46fd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5565224
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4af8dafb
|
2024-03-10T20:14:18
|
|
Vulkan: Enable MSRTT emulation tests on swiftshader
Bug: b/309355117
Change-Id: I2d842bc52f9b6af340025654111dfd3f8e9c58a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5359654
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
103c1b53
|
2024-03-29T14:37:23
|
|
Vulkan: Drop MSRTT emulation dependency on independentResolveNone
Usage of VK_RESOLVE_MODE_NONE was removed in [1], but dependency to this
property was accidentally added in [2].
[1]: https://chromium-review.googlesource.com/c/angle/angle/+/2743666
[2]: https://chromium-review.googlesource.com/c/angle/angle/+/3353895.
Bug: angleproject:4836
Change-Id: I25028b5d343686edd794acdac3714c4a6cb5fa17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5407073
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
64cfbb68
|
2024-04-02T13:22:09
|
|
GL: Fix MultisampledRenderToTexture tests and expectations
Some MSRTT tests were failing on the GL backend due to exact GL_EQUAL
depth tests, others were marked as skipped on all of Android due to old
device issues.
Update the Android expectations for these tests.
Bug: angleproject:8642
Change-Id: I2aad2637773967102a6172fd0a8ae2cb58a420ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5413775
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@google.com>
|
|
46672014
|
2024-03-07T09:55:38
|
|
Vulkan: Add test for midRenderPass clear for MSRTT
This adds a test that demonstrate the bug with mid render pass clear of
depth buffer with multisample render to texture emulation code path.
This bug was seen in lord_of_heros.
Bug: b/309355117
Change-Id: I0217baf77f74372b8d24e3321b9a0b727a6690ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5353371
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
508eb865
|
2023-06-19T11:54:06
|
|
Vulkan: avoid crash on AMD drivers with MSRTT emulation
If you have a multisampled color+depth framebuffer and discard depth
before the end of the render pass, ANGLE skips assigning
pDepthStencilResolveAttachment. Doing so is fine on most vendors, but on
AMD drivers, the application will crash in the user mode driver when
calling vkCreateRenderPass2KHR.
Simply not adding the depth/stencil resolve structure to the PNext chain
avoids the crash and allows the application to function normally.
Bug: angleproject:8217
Change-Id: I0dc14c03d2b999e280a4d363e0296fd10812540c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4627280
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b0e9bbd7
|
2023-05-31T14:23:40
|
|
Vulkan: Split features for dynamic state
When a driver bug with dynamic state is encountered, it is hard to debug
which dynamic state exactly is causing an issue, due to the current
granularity of disabling all entire state from an extension. With this
change, every dynamic state gets its own ANGLE feature, and can be
toggled as necessary.
Disabling the supportsExtendedDynamicState* features implicitly
disables all dependent features.
Bug: b/285124778
Bug: b/275210062
Bug: fuchsia:107106
Bug: angleproject:5906
Change-Id: Ic291279872df2d0eb58618ff364ab118bdcc4a9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4577553
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
13195f8a
|
2022-10-05T11:17:35
|
|
Vulkan: Fix missing input attachment usage on MSRTT
When combined with advanced blend (or framebuffer fetch for that
matter), MSRTT attachments could be used as input attachments. This
change fixes the missing usage bit.
Bug: angleproject:7739
Change-Id: I2190e4a6e534e120357dd68189fb9de07b6c54fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3936444
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ba3b4515
|
2022-09-15T01:06:51
|
|
Vulkan: Implement GL_ANGLE_logic_op
Enabled if the logicOp device feature is available. According to
gpuinfo, it's pretty much universal except for ARM.
Bug: angleproject:7654
Change-Id: I4808b519fdd6273b2f8c1bb17f59517eb65bfe8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3898317
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
54da2952
|
2022-07-25T16:00:47
|
|
Remove suppressions added due to VK_ATTACHMENT_UNUSED bug
This was affecting old Qualcomm-based phones only.
Bug: angleproject:3423
Change-Id: Id18c95f8df562d572177035a8cb88327d9f2d200
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3785292
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
8e63c6e8
|
2022-07-25T15:10:11
|
|
Remove suppressions for tests which pass with Intel Mesa 20.0.8
Bug: angleproject:3616, angleproject:3614, angleproject:2782
Change-Id: I220d71593270164f77bda92f533608e431c6c9b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780159
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
89e38b57
|
2022-06-22T15:04:08
|
|
Refactor to use ANGLETest vs ANGLETestWithParam
Bug: angleproject:6747
Change-Id: I72ad52d0268eae0e1a401f12f3e94cc5efa402f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3719002
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
7c83a363
|
2022-05-16T22:22:44
|
|
Vulkan: Dynamic state for rasterizer discard enable
Interaction with primitives generated query are tested by those tests
added in
https://chromium-review.googlesource.com/c/angle/angle/+/2976181
Bug: angleproject:5906
Change-Id: I0ab9f54995504be770a93bf13337a5ffe20bf7eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3651582
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
66dcca5e
|
2022-05-12T11:14:27
|
|
Vulkan: Dynamic state for depth test/write/op
Bug: angleproject:5906
Change-Id: Ie48a0780406c6dbbdd47639f2e185dc854879140
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3646429
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
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>
|
|
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>
|
|
212f4592
|
2021-09-22T12:02:47
|
|
Enable direct-to-metal backend by default
We are switching over to Apple's direct-to-metal backend instead
of generating SPIRV in the metal backend. This CL enables the
direct-to-metal generation by default, but the SPIRV backend is
still accessible by overriding the feature directMetalGeneration.
This CL comes with a change in test expectations to catch new
failures and clean up newly passing tests.
Bug: angleproject:6080
Change-Id: I4b10ad93c641b88857079a08fb45d3dc575d71f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3175664
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
9ddaa686
|
2021-07-16T14:57:13
|
|
Call getNearestSamples() in Framebuffer::setAttachment()
The app jp.garud.ssimulator uses the same sample count of '2' for both
glRenderbufferStorageMultisampleEXT() and
glFramebufferTexture2DMultisampleEXT(). However, when
glRenderbufferStorageMultisampleEXT() is called,
Renderbuffer::setStorageMultisample() calls
TextureCaps::getNearestSamples() which rounds up the sample count from
'2' to '4'. Later, when the app tries to draw with the framebuffer,
an error is generated by ANGLE:
Framebuffer is incomplete: Attachments have different sample counts.
The fix is to also call TextureCaps::getNearestSamples() in
Framebuffer::setAttachment() to make sure the sample count passed
into glFramebufferTexture2DMultisampleEXT() is also rounded up to
match the renderbuffer.
Bug: angleproject:6183
Test: MultisampledRenderToTextureTest.FramebufferCompletenessSmallSampleCount
Change-Id: I58be9986077257f4767f2e528c2f87e496d9d774
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036254
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
d33a2222
|
2021-04-26T16:56:15
|
|
Upstream Apple's direct-to-Metal backend: compile libANGLE.
This change is meant to merge the metal backend changes from Apple's
direct-to-Metal backend. Taken from Kyle Piddington's CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2857366/
The goal of this CL is to merge the metal backend code in a state
that compiles, but not to switch the Metal backend over to using
the direct-to-metal backend yet.
Bug: angleproject:5505
Bug: angleproject:6127
Change-Id: If6783e06e0086b3a1dd25c6f53caca5cfc96cb86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950067
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
f410e81a
|
2021-04-20T14:26:54
|
|
GL: Implement multisampled_render_to_texture
Bug: angleproject:2894, angleproject:5988
Change-Id: I17b55f0655d32d9f41cb55a0467b93a00fba751b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2841084
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a6b16d29
|
2021-03-02T19:04:57
|
|
Suppress UNINSTANTIATED_PARAMETERIZED_TEST failures on Ozone
We only support ES2 on Ozone, so tests that depend on ES3 or ES31
support are not instantiated there.
Bug: chromium:1183147
Change-Id: Id58bcd9b44a5b9a70b5ae8115e27c44f5dc81226
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2726550
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
c7ae5d28
|
2021-02-17T15:57:37
|
|
Suppress ClearThenMaskedClearFramebufferTest on Linux AMD VK
The test has been failing on that configuration since it was introduced.
TBR=syoussefi@chromium.org
Bug: angleproject:5655
Change-Id: If852bcd574fa0cd4018220b7d6749b95a717a7c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698117
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
e8c0aa81
|
2021-01-26T23:40:36
|
|
Vulkan: Clean up transform feedback extension pause/resume
1. The xfb counter buffer barrier issued was wrong, following a typo in
the spec. This barrier is now correctly issued using the usual
barrier APIs.
2. A mechanism was added to automatically pause/resume transform
feedback when a program pipeline needs to be rebound. This is
incorrect as it misses the xfb counter buffer barrier. The render
pass is broken instead if transform feedback is active/unpaused and
the program pipeline is changed.
3. The transform feedback counter buffers are now disposed of when
transform feedback is ended. This avoids an unnecessary barrier that
this change would have otherwise incurred (and hence render pass
break) in Manhattan which repurposes the same transform feedback
object.
Bug: angleproject:5528
Change-Id: I1ffe8b4b8975645ba43afd70e9cdbb0765529da5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2651647
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
30622479
|
2021-02-16T12:33:40
|
|
Vulkan: Fix crash with deferred clears and MSRTT
The following scenario was mishandled:
- MSRTT draw with an unresolve operation (i.e. has two subpasses)
- Deferred clear
- Flush deferred clear with MSRTT framebuffer not needing unresolve
(i.e. has one subpass)
Bug: chromium:1178693
Change-Id: If3548e99897d698d61dfafbe9f86193723d06e5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697648
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ec1ff8f5
|
2020-12-09T14:25:56
|
|
Add a scissored MSRTT test
Covers a bug Skia's implementation of unresolve uncovered. ANGLE's
implementation is slightly different (in that the unresolve pass is full
screen), so it's not affected by this bug.
Bug: angleproject:4836
Change-Id: Ibc8010b0b5ef6912a45fd5f2612fb8b619e4407e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582707
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a304f111
|
2020-11-22T18:47:39
|
|
Skip tests failing on Linux AMD RX 5500 XT
Crashes:
OpenGL:
MemoryObjectTest.MemoryObjectQueries
MemoryObjectTest.MemoryObjectShouldBeMemoryObject
MemoryObjectTest.ShouldFailValidationOnImportFdUnsupportedHandleType
UniformBufferTest.SizeOverMaxBlockSize
VulkanExternalImageTest.ShouldClearOpaqueFdWithSemaphores
VulkanExternalImageTest.ShouldDrawOpaqueFdWithSemaphores
VulkanExternalImageTest.WaitSemaphoresRetainsContentOpaqueFd
Vulkan:
MultisampledRenderToTextureTest.2DColorDepthMultisampleDrawTest
MultisampledRenderToTextureTest.DepthReadWriteToggleWithStartedRenderPass
MultisampledRenderToTextureES3Test.RenderbufferClearDrawCopyThenBlendWithDepthStencilSameProgram
MultisampledRenderToTextureES3Test.RenderbufferDepthStencilClearDrawCopyThenBlend
MultisampledRenderToTextureES3Test.RenderbufferDepthStencilDrawCopyClearThenBlend
MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndDepthStencilThenTwoColors
MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndDepthThenTwoColors
MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndStencilThenTwoColors
SimpleStateChangeTest.RebindTranslatedAttribute
Failures:
OpenGL:
GLSLTest_ES31.MixedRowAndColumnMajorMatrices_WriteArrayOfArray
GLSLTest_ES31.MixedRowAndColumnMajorMatrices_WriteSideEffect
PixmapTest.BindTexImage
ReadPixelsPBONVTest.Basic
SimpleStateChangeTestES31.InvalidateThenStorageWriteThenBlend
StateChangeTestES3.DrawPausedXfbThenNonXfbLines
Bug: angleproject:5379, angleproject:5380, angleproject:5381
Bug: angleproject:5382, angleproject:5383, angleproject:5384
Bug: angleproject:5385, angleproject:5386, angleproject:5387
Bug: angleproject:5388, chromium:1004356
Change-Id: I73c6ba193ef230f576c804e8880f326ac5eabe0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552940
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e4acbac6
|
2020-11-12T15:57:52
|
|
Revert "Suppress RenderbufferBlitFramebufferTest"
This reverts commit 4a74427ee30e0e0c9eaf0ddb1eb7dc7a6171d5a4.
Reason for revert:
Need to suppress VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter entirely:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2311
Original change's description:
> Suppress RenderbufferBlitFramebufferTest
>
> The test
> MultisampledRenderToTextureES3Test::RenderbufferBlitFramebufferTest() is
> generating VVL errors with the latest VVL roll:
> VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter
>
> Suppressing the test rather than the VVL error, so the VVL can still
> catch any new cases of this error while the test is investigated.
>
> Bug: angleproject:5331
> Test: MultisampledRenderToTextureES3Test.RenderbufferBlitFramebufferTest
> Change-Id: I473ee57fe16c1f5cf325004912ef2bc5b9ced0d7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532658
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org
Change-Id: I70a869453c4a42106204e3d9a1b63e59d649b483
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:5331
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535072
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
e5030b5b
|
2020-11-12T15:56:56
|
|
Revert "Suppress Additional MultisampledRenderToTextureES3Test"
This reverts commit 3c3edc3b761e3ac6543827d41b97f7e0861ac75e.
Reason for revert:
Need to suppress VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter entirely:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2311
Original change's description:
> Suppress Additional MultisampledRenderToTextureES3Test
>
> The following tests are generating the VVL error
> VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter
>
> MultisampledRenderToTextureES3Test
> - BlitFramebufferTest()
> - RenderbufferUnresolveColorAndDepthThenTwoColors()
> - RenderbufferUnresolveColorAndStencilThenTwoColors()
>
> Suppressing them for now.
>
> Bug: angleproject:5331
> Change-Id: Ia97def4a798677e0b5f663ba7679de61c673b0c8
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532710
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Commit-Queue: Tim Van Patten <timvp@google.com>
TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org
Change-Id: I7a941acbf94cc9e4dab662aa32a236c09a7d021d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:5331
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535071
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3c3edc3b
|
2020-11-11T11:49:56
|
|
Suppress Additional MultisampledRenderToTextureES3Test
The following tests are generating the VVL error
VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter
MultisampledRenderToTextureES3Test
- BlitFramebufferTest()
- RenderbufferUnresolveColorAndDepthThenTwoColors()
- RenderbufferUnresolveColorAndStencilThenTwoColors()
Suppressing them for now.
Bug: angleproject:5331
Change-Id: Ia97def4a798677e0b5f663ba7679de61c673b0c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532710
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
4a74427e
|
2020-11-11T09:28:14
|
|
Suppress RenderbufferBlitFramebufferTest
The test
MultisampledRenderToTextureES3Test::RenderbufferBlitFramebufferTest() is
generating VVL errors with the latest VVL roll:
VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter
Suppressing the test rather than the VVL error, so the VVL can still
catch any new cases of this error while the test is investigated.
Bug: angleproject:5331
Test: MultisampledRenderToTextureES3Test.RenderbufferBlitFramebufferTest
Change-Id: I473ee57fe16c1f5cf325004912ef2bc5b9ced0d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532658
Commit-Queue: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2f3d18f2
|
2020-10-01T05:58:44
|
|
Vulkan: Fix unresolve disagreement between FB and RP
FramebufferVk::updateRenderPass reset the render pass description, but
not the framebuffer description. This caused a disagreement between the
two regarding which attachments need to be unresolved. Later,
FramebufferVk::startNewRenderPass could miscalculate whether a new
framebuffer needs to be generated based on changes in unresolve
attachments.
For example:
- say in the first render pass color needs to be unresolved. Both RP
and FB desc would remember this (each being keys for their respective
caches).
- A following operation triggers syncState such that FB desc changes
(for example rebind of attachment), which cleared RP desc but not FB
desc's unresolve attachment state.
- If the next render pass does not require an unresolve (for example due
to a clear or invalidate), then the framebuffer is not recreated
because according to RP desc at the start and end of
FramebufferVk::startNewRenderPass there has been no change in
unresolve mask.
* At start there's no unresolve because of syncState clearing it.
* At end there's no unresolve because there's no need for unresolve.
- In the end, the framebuffer used for the first render pass would be
used for the second render pass as well. Note that:
* The first render pass included an unresolve, i.e. two subpasses.
* The second render pass requires one subpass according to its RP
desc.
It's quite easy to accidentally have the framebuffer correctly recreated
(based on the reset RP desc) before FramebufferVk::startNewRenderPass.
Note that since syncState has called updateRenderPass, FB desc has
necessarily changed, and mFramebuffer is nullptr, so any call to
FramebufferVk::getFramebuffer would recreate the framebuffer.
Both clear and invalidate call FramebufferVk::getFramebuffer.
The issue is reproducible in situations where clear/invalidate has been
called before the framebuffer is modified, and then draw is issued after
the modification. An ASSERT is added to catch discrepencies between RP
desc and FB desc to catch bugs even when the issue doesn't manifest
itself as a VVL error.
Bug: angleproject:4836
Change-Id: I8a0d116402a6c298377d03e0908baa942019ccd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2442379
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
01641c7a
|
2020-09-30T15:25:28
|
|
Vulkan: Fix UtilsVk clear in non-zero subpass
Mid-render-pass clears (through UtilsVk) run on the current subpass,
which in the presence of multisampled-render-to-texture unresolve
would be subpass 1. The graphics pipeline for that draw call should
set the correct subpass index.
Bug: angleproject:4836
Change-Id: Iba4a03ea96a63b0f5d09c27e5283ff8a8b534e05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441509
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a8872e6d
|
2020-10-01T15:54:25
|
|
Skip MSRTT tests on Nvidia/Windows7
These bots don't have VK_EXT_depth_stencil_resolve.
Bug: chromium:1134286
Change-Id: I4cc5a627996139bf03dc3cc334435d08876a0a8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2443584
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
91a03bd4
|
2020-08-03T23:24:31
|
|
Vulkan: Fix render-to-texture simultaneously bound to two FBOs
If a texture is simultaneously attached to two FBOs, one where it's a
normal texture and another where it's multisampled-render-to-texture,
different render targets must be created for it.
If a texture is simultaneously attached to two FBOs, both as
multisampled-render-to-texture but with different sample counts, two
implicit multisampled images need to be created as well as different
render targets.
Bug: angleproject:4913
Change-Id: I584ba327e4cb2099ef62f86f5d88719dc156ce13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335810
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f776eb9c
|
2020-08-01T23:45:24
|
|
Vulkan: EXT_multisampled_render_to_texture2 support
The previous change that implemented EXT_multisampled_render_to_texture
already provisioned this extension in the Vulkan backend. This change
implements the front-end for this extension and enables it in the Vulkan
backend.
Bug: angleproject:4836
Change-Id: I7080260972e61727c5716051c236f635668cb67b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330510
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
47207e42
|
2020-08-01T23:43:43
|
|
Vulkan: Fix blit/resolve of mixed-samples framebuffers
A framebuffer could contain a mixture of multisampled and
multisampled-render-to-texture attachments. When used as the source of
a glBlitFramebuffer operation, the former requires a resolve while the
latter is a blit. This change fixes this use-case.
Bug: angleproject:4836
Change-Id: I1d39bf25f54df9f8b68304058596a2d1c975f9ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333987
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dcc56215
|
2020-07-19T01:12:09
|
|
Vulkan: Implement GL_EXT_multisampled_render_to_texture
This change allows the use of resolve attachments in the Vulkan backend.
GL_EXT_multisampled_render_to_texture is implemented using this feature.
The infrastructure for specifying resolve attachments is designed with
eventual support for GL_EXT_multisampled_render_to_texture2 in mind as
well as optimizations to glBlitFramebuffer() and multisampled
backbuffers.
Proper support for glRenderbufferStorageMultisampledEXT is still missing
from this change. All tests use this for the depth/stencil attachment
and don't read back the data. Currently, the depth/stencil attachment
is created as a normal multisampled image.
Bug: angleproject:4836
Change-Id: I110a7f63312ae61a657b6094adf7d97c92bd5843
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2304170
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
2d0e5b55
|
2019-08-27T13:49:07
|
|
GL_EXT_multisampled_render_to_texture extension. Part 2.
For textures that use this extension, a multisampled texture is
implicitly created for the texture.
Upon write or read, the multisampled texture is either return
to be drawn to or resolved and returned as a single sampled texture.
This is the functionality change with end2end tests.
Bug: angleproject:980428
Change-Id: I5776875a132fed7a3f4f00fb02f9e8e250684630
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773717
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|