|
185d9d08
|
2020-08-14T22:48:15
|
|
Re-land "Feedback Loop Redesign 2/3: Track bound FBOs in Texture."
Re-land fixes the crash when drawing with no bound Program executable.
Currently we track feedback loops by counting the times a Texture is
bound as a sampler or image in a particular context. This is a bit
tricky because Texture bindings change frequently. Relative to the
number of times we need to check for a feedback loop this causes excess
overhead.
Usually Framebuffers have a low number of Textures bound (in many cases
just 1). And Textures aren't usually bound to many different FBOs. So
instead of counting the number of times a Texture is bound as a sampler
or image we will track the Framebuffers that the Texture is bound to.
This CL adds a small vector class to gl::Texture which tracks all the
Framebufer Serials of its bound Framebuffers. We can use this set to
quickly check if there's any potential feedback loop between the a FBO
and this Texture.
We also update the feedback loop check to use this new method. We will
be able to remove the old counting method when we switch the Vulkan
feedback loop handling to use the new tracking in this CL.
Bug: angleproject:4500
Bug: angleproject:4959
Change-Id: If2bd25b08298a99f5e64b4055137f9154b0f0860
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365595
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a20f5b17
|
2020-08-18T11:26:50
|
|
Silence Control Flow Integrity (cfi) errors
The cfi bot is throwing 3 different errors with ANGLE when using
the Vulkan backend:
- ChoosePhysicalDevice causes a "function with wrong dynamic type"
error when using vkGetPhysicalDeviceProperties
- In volk.c, using vkGetInstanceProcAddr and vkGetDeviceProcAddr
also causes a "function with wrong dynamic type" error
- In vk_mem_alloc.h, included from vk_mem_alloc_wrapper.cpp,
GetAllocationCallbacks() causes a "unrelated cast" error
This cl silences all 3 cfi errors.
Bug: chromium:1116053
Change-Id: I864ec8d9e2acaec493f472e01b3987dcc641c58f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363209
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
f6fb6da8
|
2020-08-19T21:04:35
|
|
Revert "Feedback Loop Redesign 2/3: Track bound FBOs in Texture."
This reverts commit 699bcde0b729853f33474941a313f6d5c9e63faf.
Reason for revert: Breaking GLES2WebGLDecoderPassthroughTest.DrawArraysInstancedANGLEEnablement. Here is a sample build : https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20x64%20Release%20%28NVIDIA%29/4240
Original change's description:
> Feedback Loop Redesign 2/3: Track bound FBOs in Texture.
>
> Currently we track feedback loops by counting the times a Texture is
> bound as a sampler or image in a particular context. This is a bit
> tricky because Texture bindings change frequently. Relative to the
> number of times we need to check for a feedback loop this causes excess
> overhead.
>
> Usually Framebuffers have a low number of Textures bound (in many cases
> just 1). And Textures aren't usually bound to many different FBOs. So
> instead of counting the number of times a Texture is bound as a sampler
> or image we will track the Framebuffers that the Texture is bound to.
>
> This CL adds a small vector class to gl::Texture which tracks all the
> Framebufer Serials of its bound Framebuffers. We can use this set to
> quickly check if there's any potential feedback loop between the a FBO
> and this Texture.
>
> We also update the feedback loop check to use this new method. We will
> be able to remove the old counting method when we switch the Vulkan
> feedback loop handling to use the new tracking in this CL.
>
> Bug: angleproject:4500
> Bug: angleproject:4959
> Change-Id: I84a2f0ed8480d1da63d5879e0e56a8be4af4e735
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358850
> Reviewed-by: Tobin Ehlis <tobine@google.com>
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=tobine@google.com,courtneygo@google.com,jonahr@google.com,jmadill@chromium.org
Change-Id: Ica795036895652add37ac8ed319031f9d5a321ac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4500
Bug: angleproject:4959
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365077
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
|
|
b8c32424
|
2020-08-19T12:06:53
|
|
Fix language inclusivity for SurfaceMtl.mm
He->they
Bug: b/162834212
Change-Id: I8559120ad77006aaa839b70e00b4c8f12e9e8a44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364192
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
78d10017
|
2020-08-16T16:13:59
|
|
Vulkan: Enable VK_KHR_bind_memory2 extension
Don't assume support for VK_KHR_bind_memory2,
enable the extension, if supported, during device creation.
Also initialize all required extension functions for the
memory allocator.
Bug: angleproject:4966
Change-Id: I878939fb3324723675a2b7dec18ab453b2a9fc77
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359529
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
defeda29
|
2020-08-04T12:08:00
|
|
Metal: autogen for EXT_draw_buffers & ANGLE_framebuffer_blit
Bug: angleproject:2634
Change-Id: I8f8ee91fb673301b8bd97c359ee39c411e2bf8da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336124
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
add9b677
|
2020-08-17T15:50:20
|
|
Delete extra initialization in spirv shader.
Only webgl requires initialization of local variables,others don't.
Extra initialization in spirv shader may affect performance.
Bug: angleproject:4952
Change-Id: I004761779067748d43c1ea2630794491f1389492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359608
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
27a24f6d
|
2020-08-17T19:02:09
|
|
Vulkan: Check aggregate barrier feature instead of caching.
Bug: b/157508684
Change-Id: I6c98cb017d44c1279439d815e77f6ad1a32133e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360903
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ea1bda26
|
2020-08-17T14:21:26
|
|
Vulkan: Name image layouts.
Can be useful for debugging logging.
Bug: angleproject:4959
Change-Id: I4bdb72b4c07979fecc2af0ca2a2b2e7cdab36b9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360902
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d286daf1
|
2020-08-16T23:53:31
|
|
Vulkan: Track RP's read/write access for depth/stencil.
This generalizes the read tracking into read/write. Knowing the write
access can let us determine if we can switch a RenderPass to a read-
only mode. And switching to read-only will let us combine some
RenderPasses in Manhattan.
Bug: angleproject:4959
Change-Id: Ic97547e84fef4a2670437677000d4525006ef69f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358771
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
699bcde0
|
2020-08-14T22:48:15
|
|
Feedback Loop Redesign 2/3: Track bound FBOs in Texture.
Currently we track feedback loops by counting the times a Texture is
bound as a sampler or image in a particular context. This is a bit
tricky because Texture bindings change frequently. Relative to the
number of times we need to check for a feedback loop this causes excess
overhead.
Usually Framebuffers have a low number of Textures bound (in many cases
just 1). And Textures aren't usually bound to many different FBOs. So
instead of counting the number of times a Texture is bound as a sampler
or image we will track the Framebuffers that the Texture is bound to.
This CL adds a small vector class to gl::Texture which tracks all the
Framebufer Serials of its bound Framebuffers. We can use this set to
quickly check if there's any potential feedback loop between the a FBO
and this Texture.
We also update the feedback loop check to use this new method. We will
be able to remove the old counting method when we switch the Vulkan
feedback loop handling to use the new tracking in this CL.
Bug: angleproject:4500
Bug: angleproject:4959
Change-Id: I84a2f0ed8480d1da63d5879e0e56a8be4af4e735
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358850
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5b4f6e31
|
2020-08-15T23:03:34
|
|
Vulkan: Add overlay widget for RP buffer count.
Can help evaluate when scenes stress out the resource tracking in the
RenderPass command buffer.
Bug: angleproject:4950
Bug: angleproject:4965
Change-Id: I7da2ad0101a840c5441f2112db4bb61f564afcef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358521
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
d0b270e6
|
2020-08-14T21:55:17
|
|
Feedback Loop Redesign 1/3: Framebuffer Serials.
Currently we track feedback loops by counting the times a Texture is
bound as a sampler or image in a particular context. This is a bit
tricky because Texture bindings change frequently. Relative to the
number of times we need to check for a feedback loop this causes excess
overhead.
Usually Framebuffers have a low number of Textures bound (in many cases
just 1). And Textures aren't usually bound to many different FBOs. So
instead of counting the number of times a Texture is bound as a sampler
or image we will track the Framebuffers that the Texture is bound to.
Because FBOs are unique to a Context, a Texture could be bound to two
different FBOs with the same ID. In this CL we introduce a new Serial
for the FBO which is unique to an EGL Share Group. This way we can
ensure we don't make the wrong call when a Texture is referenced by a
Framebuffer. It also replaces the old FB serial which was again only
unique to a particular Context.
Bug: angleproject:4500
Bug: angleproject:4959
Change-Id: I0a9989d861a4132bd3b7ed85f699a4448ff37a4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358849
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
85919ef7
|
2020-08-08T18:23:47
|
|
Metal: autogen format caps from json
Bug: angleproject:4940
Bug: angleproject:2634
Change-Id: I1e107e856a50a7eaf685296dd7464af9ad5bcec4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2342522
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
594e0e14
|
2020-08-15T16:35:55
|
|
Vulkan: Add DS ReadOnly mode to Framebuffer/RP caches.
Allows ANGLE to create Framebuffers and RenderPasses with a read-
only depth/stencil layout. Also allows us to transition our Images
to this new DepthStencilReadOnly layout.
Internal code redesign. No functional change to our command stream.
Bug: angleproject:4959
Change-Id: I9b80063bdaec8f5d6c89037e0618c85e1c11b78d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2354280
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a13f1061
|
2020-08-14T23:37:21
|
|
Metal: Fix missing image view for texture from IOSurface.
Image view is used by glTexSubImage*, glCopySubImage* and
glCopySubTexture*.
This fixed some failed WebGL tests that make use of IOSurface.
Bug: angleproject:4846
Bug: angleproject:2634
Change-Id: Iebcf840fdc1be2794feab766957b5848a361a63c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2356107
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
57393152
|
2020-08-16T00:08:09
|
|
Auto-gen more Overlay code.
We add a new header where we auto-generate the Widget ID. We also use
a new X macro to generate per-widget arrays and tables.
Bug: angleproject:4965
Change-Id: Ic53e5d1c47d5712a63c98c481c15f550f1f99692
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358520
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
4cf01e3e
|
2020-08-18T14:29:03
|
|
Clean up Overlay code duplication.
Adds common helper functions for Running Graphs and Histograms.
Bug: angleproject:4965
Change-Id: I8c7295217c637e377b74b4a336eb151b8a7c9596
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358518
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
ee0a9a34
|
2020-08-13T15:39:49
|
|
Vulkan: Clean up ImageLayout enum.
Remove the redundant manual numbering. Also rename
AllGraphicsShadersReadWrite to AllGraphicsShadersWrite for consistency.
Refactoring change only.
Bug: angleproject:4959
Change-Id: I2e7ca00993f192897bbf88f4bdc3f1610bcb345f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2354279
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
26ae42cf
|
2020-08-09T00:11:18
|
|
Vulkan: Clean up handleDirtyTexturesImpl.
Adds a new bitset helper and changes a check to an ASSERT.
Refactoring change only.
Bug: angleproject:4959
Change-Id: I0de9f1b707c87cfb6fed8a110654783059e55c99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2345025
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
dceaabb1
|
2020-08-08T17:03:47
|
|
Vulkan: Clean up ImageHelper barrier functions.
We don't need to explicitly check if a barrier is required for write
barriers. Write barriers always require a barrier and read barriers
need the layout change check. We introduce a new enum encoding ReadOnly
vs Write layout types and call specialized write/read functions
instead. Also renames the helper APIs to be more consistent.
Refactoring change only.
Bug: angleproject:4959
Change-Id: I0ce39ceaca6be588327c381194a580dc6b11f036
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2344744
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
693d0e0b
|
2020-08-07T21:28:08
|
|
Vulkan: Minor cleanup to vk_helpers.
Moves some checks into helper functions. Refactor only.
Bug: angleproject:4959
Change-Id: I08053a96f99baff75eb3954ecbb77e83483eba0f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2343406
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d488568a
|
2020-08-17T10:16:45
|
|
Capture/Replay: Don't capture unused default uniforms in MEC
Test: MEC capture of COD:Mobile
Bug: b/164426913
Bug: angleproject:4048
Change-Id: I7f47c8828d57dfcc14bee5994d98c7df5f6a9a71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360046
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d63bca58
|
2020-08-06T17:37:18
|
|
Vulkan: Add test for RGB texture not break renderpass
This adds a test that will use an empty RGB texture. It should not break
renderpass.
Bug: b/162603208
Change-Id: I90f5aa2fafdbd70c654c9ad0675d6def32b58313
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2338828
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a9b199b0
|
2020-08-13T17:37:27
|
|
Capture/Replay: Add ability to override entry points
We don't support populating a texture from an EGLImage, but
this feature is in use by games. Instead, populate the texture
with null data. In the future, improve this by reading back the
data.
Test: Capture and play back first 1200 frames of COD.
Bug: b/164426913
Bug: angleproject:4048
Change-Id: Ic8c6bdf3c359c89e647c28b8c57b7218bdf05b15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2355705
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9ae6d7f2
|
2020-08-14T11:00:29
|
|
D3D: disable to translate uniform block to StructuredBuffer
Temporarily disables the feature that translate uniform block to
StructuredBuffer on D3D backend for a bug.
Adapted from a patch by xinghua.cao@intel.com
Bug: chromium:1112112
Change-Id: I3419a0eb8ae619e1fa532ffb29f56a9099f04618
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2357752
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2e5647c8
|
2020-08-14T11:21:14
|
|
Vulkan: Switch buffer barrier check.
ContextVk::onBufferRead can check for "usesBufferForWrite".
Bug: angleproject:4911
Change-Id: Id295c068fd9a4027c3127830c682d62d614718dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2355102
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
eb85c021
|
2020-08-05T15:07:15
|
|
Vulkan: Refactor Context CommandBuffer query.
getOutsideRenderPassCommandBuffer returns the command buffer directly
since it's now stateless and cannot throw an error. All the RenderPass
begin/end and flushing are done by the dependency functions (buffer/
image read/write).
Bug: angleproject:4911
Change-Id: I5e7806be9d0e1b5e358524bd485298d660fac942
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339544
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
d201ed8b
|
2020-08-02T16:29:35
|
|
Vulkan: Track used Images in RenderPass.
Adding a simple ImageSerial tracking map in our RenderPass allows us
to know when we do or do not need to close the RenderPass on a new
Image access. This simple tracking scheme improves Manhattan
performance by up to 25% on Android. The improved perf comes from
reducing our RenderPass count (23->18 RenderPasses in our capture
scene).
Adds a FastUnorderedSet class to manage the used RP Image serials.
Updates the Query helpers to explicitly flush the RP before inserting
queries.
Bug: angleproject:4911
Change-Id: I0c34fc8e307514ebdf3e81e08d8e5aedb70ebe8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334346
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3e57e349
|
2020-08-12T12:48:34
|
|
Vulkan: Query application name from the system
While populating VkApplicationInfo::pApplicationName
we are hardcoding the value to "ANGLE", instead query
the value from the sytem.
Bug: angleproject:4955
Change-Id: I222d5d1c0f497bf708389caa048d8b180c1bdecc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2352625
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5559351c
|
2020-08-11T14:23:32
|
|
Vulkan: Correctly determine mip level in resolveColorWithCommand()
FramebufferVk::resolveColorWithCommand() is currently using the wrong
mip level value by using the GL index value, rather than calculating the
VK value from (index value - the base level).
Bug: angleproject:4753
Test: FramebufferTest_ES31::MultisampleResolveIntoMipMapWithBlit()
Change-Id: I8ddaeb21c4957b46880f5ef5f6a78242c04b4dcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2349951
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
a7cbb3f0
|
2020-08-10T09:53:54
|
|
Capture/Replay: Allow starting capture at an unknown frame
This CL adds a new way to set the start frame of a capture.
It adds a new environment variable called ANGLE_CAPTURE_TRIGGER
that, when set, will be used instead of frame start and end.
By setting ANGLE_CAPTURE_TRIGGER to a non-zero value, ANGLE will
capture that many frames when the value changes. For example,
on Android, we can set it with:
adb shell setprop debug.angle.capture.trigger 20
When we reach the target content, set the value back to zero:
adb shell setprop debug.angle.capture.trigger 0
and ANGLE will start capturing 20 frames.
Currently only hooked up for Android, but should be possible to
support on other platforms.
Test: Capture application frames using trigger
Bug: angleproject:4949
Change-Id: I469ef5c48feb78c85b8cda2fefd5df59e495bbe2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2347858
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
|
|
6eb7756d
|
2020-08-07T17:41:39
|
|
Vulkan: tell ContextVk when swapchain is re-created
For an app that only draws to the swapchain, if the swapchain is
recreated with a different rotation (as done by the ANGLE perf tests
when switching from Angry Birds 2 to Candy Crush), ContextVk is not
informed, and so the new rotation is ignored. Use the
subject-observer pattern to set the appropriate dirty bits.
Test: run_angle_perftests --gtest_filter=TracePerfTest.Run/vulkan_angry*:*vulkan_candy* --verbose --local-output
Bug: angleproject:4910
Bug: b/163126746
Change-Id: Ib5303e9c4095db1b3e736911f483589e40a73d0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341768
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5e5b7537
|
2020-08-10T21:02:50
|
|
Vulkan: Optimize resource tracking in CommandBufferHelper.
Introduces a FastUnorderedMap class that uses FastVector. This type
uses static storage for up to a small fixed number of elements and
uses dynamic storage for anything larger.
Local testing shows this almost fully solves the regression from
using unordered_map. It's still slightly slower than using no
tracking (<5%).
Very degenerate cases which track dozens or more buffers will still
have significant overhead. For almost all applications that use only
a few buffers per RenderPass this will be very fast.
Test: angle_perftests, *vulkan_null_index_buffer_changed_ushort
Bug: angleproject:4950
Bug: angleproject:4429
Change-Id: I39edeaaa159124167f1ea23ad2e6eac5e9220d0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2348108
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9385eb35
|
2020-08-02T23:21:54
|
|
Metal: Generate default shaders to separate files.
Generate default shaders' OS specific versions to separate files to
avoid mtl_default_shaders_autogen.inc becoming too big.
Bug: angleproject:2634
Change-Id: Ie2a39971ec46c36ce13bf5cb72f998f2cbc0ab64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332145
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
f37f1dcb
|
2020-08-02T19:38:54
|
|
Metal: Init format table using Metal-Feature-Set-Tables.pdf
- Format table is now initialized using informations from
https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf.
Previously, it was setup using gl::GenerateMinimumTextureCaps().
- This CL also adds InitializeTextureDataFunction and LoadFunctionMap to
mtl::Format. They are needed to properly initialize/convert textures
with non-normalized formats.
- This CL is prerequisite for integer & floating point format supports.
- New test: DXT1CompressedTextureTest.DXT1Alpha (this test was added
in the past but was reverted for some reasons).
Bug: angleproject:2634
Change-Id: I5eaad812909a49c4c138d0f65fd21a6a199fcb22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332144
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
275a495d
|
2020-08-10T16:11:59
|
|
Vulkan: Remove TODO.
Bug: angleproject:3200
Change-Id: Iaa5fb596a29b5488e45dec5636266e24ab4d97b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2347118
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5921a040
|
2020-08-06T17:39:56
|
|
Vulkan: Refactor image dependency commands.
Uses commands similar to the Buffer APIs. Also updates docs.
Bug: angleproject:4911
Change-Id: I1f2ec9bdd1d725d4ec3d6601e63bcb0c045e2121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2342287
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
bbfbea9d
|
2020-08-10T10:55:58
|
|
Invalid calls' pointer params are no longer captured
Changes call capture methods generation so that invalid calls no
longer capture pointer params.
Bug: angleproject:4817
Change-Id: I2d83d4d3334da8ba34925f80aed2de859a10fae5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2346749
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f9de2e20
|
2020-08-04T11:53:05
|
|
Enable required extensions for Chromium to use the Metal backend.
This includes:
EGL_ANGLE_display_texture_share_group
EGL_ANGLE_display_semaphore_share_group
EGL_ANGLE_robust_resource_initialization
GL_EXT_debug_marker
Bug: angleproject:4847
Bug: angleproject:4930
Bug: angleproject:4929
Bug: chromium:1112800
Bug: angleproject:4946
Change-Id: Ibacb6badf9f784dae3ca42514142ef13ee7297b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332863
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2e2fcfb5
|
2020-08-05T14:43:24
|
|
Implement param capture for glGetUniform calls and extensions
Implement glGetUniform calls to fix crashes in UniformTest test group.
Tests: UniformTest test group
Bug: angleproject:4817
Change-Id: I132c61e053665b0642667aad51f1f3220d101d14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339542
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a0880831
|
2020-08-06T19:11:40
|
|
Metal: Implement CHROMIUM_copy_texture
Bug: angleproject:4930
Bug: angleproject:2634
Change-Id: I9fd958aa1dd872855be06a14bdbba4c6624dc934
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2340396
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
3d17084d
|
2020-08-06T17:53:36
|
|
Vulkan: Simpify check for started RenderPass + FB.
We can check the RenderPass CB helper directly instead of caching a
separate variable.
Bug: angleproject:4911
Change-Id: Ic953c101c64fd5142e2dedfd06e3fea287331fd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341761
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
48ba75ac
|
2020-08-06T15:26:53
|
|
Remove TextureCommand
TextureCommand::GenerateMipmap can be moved into gl::Command allowing us
to remove TextureCommand.
Bug: angleproject:4753
Test: CQ
Change-Id: Idc546df519e199ffd3a8b8e03b9868cd9152e9ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2338823
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
81370214
|
2020-07-29T12:54:02
|
|
Pass the Command when sync'ing dirty objects
A new enum is being created that contains command types, which are then
passed to each dirty object when they are synced. This allows the
syncState() methods to perform special handling for each command type.
This change is in preparation for optimizing resolving multisample
images with glBlit, since the render pass needs to be updated before
it's ended.
Bug: angleproject:4753
Change-Id: I77701f79418d35cff689e864c8a8b47b6fca0255
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327335
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9892e6a2
|
2020-08-05T11:38:27
|
|
Capture/Replay: Reduce SetupContext size further
Still seeing long link times for NBA2K20 trace. Breaking
up SetupContext into even smaller chunks helps.
Test: Compile and link NBA2K20 trace for Android
Bug: b/160014453
Bug: angleproject:4048
Change-Id: Ic8f6d7e8d1c35cbee986da670c0beeb4b77c4e7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339853
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a798819c
|
2020-08-05T11:38:10
|
|
Capture/Replay: Dedup shaders to reduce capture size
This CL will track whether a string has already been declared and
written in the output file. This cuts the shader string count in NBA2K20
trace by 85%, eliminating about 300K lines of code from setup.
Test: Compile and link NBA2K20 trace for Android
Bug: b/160014453
Bug: angleproject:4048
Change-Id: Id854b3314644c1e4aae41cd6bb4157f92e9b1945
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339852
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1dcb3eb2
|
2020-08-06T15:02:34
|
|
Vulkan: Don't expose MSRTT on Mac/SwiftShader
Frequently causes failures as such:
[...:ERROR:drawing_buffer.cc(854)] Initialization failed to allocate backbuffer.
[...:INFO:CONSOLE(197)] "Unable to initialize webgl context.", source: (197)
Bug: chromium:1112986
Bug: angleproject:4937
Change-Id: I5058f78434c0ac49345fe1167043f2dca759b1b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341350
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
3a3d419d
|
2020-08-04T09:06:01
|
|
Reference count context to fix ASAN issues
Running with ASAN there are several use after free issues because a
eglDestroyContext destroys the context right away even though it's in
use in other thread(s). Adding reference count to context so that it's
not destroyed until all users are done using it.
Bug: b/162609728
Change-Id: I00b24b53d760e38ff61dd9ce652a49b1f32f0cd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336447
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4973a38f
|
2020-08-05T14:27:46
|
|
Supress VVL error about multi-instance heaps.
VVL added a new error that ANGLE hits on AMD Windows due to the way
VMA allocates memory.
Supressing to allow VVL to roll forward while we investigate.
Bug: angleproject:4928
Change-Id: I4afeb3fcc2e9fed96ff8276898a8c96c77206d3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339539
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
23daea2f
|
2020-08-06T10:40:00
|
|
Vulkan: Rename CommandBuffer get method.
This method will no longer end the RenderPass in a following CL.
Renaming it in a split CL makes the review diff simple.
Bug: angleproject:4911
Change-Id: Id48257884dccb7c86f7de2cc9ca95e651fb68df7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2340788
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
135a5843
|
2020-08-02T23:03:44
|
|
Vulkan: Remove redundant vk prefixes in vk_helpers.
Cleanup/refactoring only.
Bug: angleproject:4911
Change-Id: I4fe06a86a6ecaafa16fd900b6f6229f09ab56a9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334092
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
e26c5e07
|
2020-08-02T16:04:17
|
|
Vulkan: Add Image serial.
This is owned by the ImageHelper. We'll use it in tracking used images
in RenderPasses.
Bug: angleproject:4911
Change-Id: Ic71cef2b16eefb86c73c9c5e1e38ee7cd6a60adb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332895
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f9dd2c15
|
2020-08-02T18:03:16
|
|
Vulkan: Accumulate Buffer barriers.
Uses an unordered_map in the CommandBufferHelper to track buffer
reads and writes. Buffer barriers are tracked specially in the
CommandBufferHelper class as a barrier we execute immediately when
we execute the commands into the primary. So when we run into an
incompatible buffer access we must start a new command buffer.
The rules for an incompatible access are:
- when we are reading a buffer, any prior write in the same command
buffer is incompatible.
- when we are writing a buffer, any prior read or write in the same
command buffer is incopatible.
Also adds a regression test using a new performance counter.
Bug: angleproject:4429
Change-Id: I393a4ed87314f955eb998940b877ba76ea15a7b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334091
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
18dd0c28
|
2020-08-02T17:50:48
|
|
Vulkan: Add command buffer performance counter.
Adds a counter for the secondary command buffers (non-RenderPass).
We'll use this in an upcoming test that validates that ANGLE only
issues a single barrier (CB) in some buffer read/write scenarios.
Also adds a PerfCounters struct.
Bug: angleproject:4429
Change-Id: Iaf75ca89da3d02753897cb4066e2c56db497417e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334090
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b3545b42
|
2020-07-29T16:50:53
|
|
Get storage buffers/images from ProgramExecutable
Update StateCache::updateActiveShaderStorageBufferIndices() and
StateCache::updateActiveImageUnitIndices to get the storage buffers and
image bindings from the ProgramExecutable, respectively. This requires
updating the ProgramPipeline's ProgramExecutable to build up its vector
of buffers/images from each Program's ProgramExecutable.
Bug: angleproject:4869
Test: VertexAttributeTestES31.UsePpoComputeShaderToUpdateVertexBuffer
Test: SimpleStateChangeTestES31.InvalidateThenStorageWriteThenBlendPpo
Change-Id: I68b7d23eedda910c3dcbf5f9c50b74b5e80134d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327701
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
50442fac
|
2020-08-05T14:15:12
|
|
Vulkan: Fix ImageHelper's move constructor
Bug: angleproject:4913
Change-Id: Ic78a26be4c2f3fa96ef77deffc239dbb7310065e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339543
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bedac4f0
|
2020-08-05T21:57:50
|
|
Move EXT_external_objects validation to validationESEXT.cpp
Bug: angleproject:4912
Bug: fuchsia:52759
Change-Id: I8883d65ecac763cf46d792cc69bce98dc53121d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2340174
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e8789a53
|
2020-07-29T12:01:49
|
|
Vulkan: Don't always end the render pass when updating the scissor
We don't always need to end the render pass when updating the scissor,
since it will be ended later when necessary.
This change is in preparation for optimizing resolving multisample
images with glBlit, since the render pass needs to be updated before
it's ended.
Bug: angleproject:4753
Test: CQ
Change-Id: Ie657587ca9f4461dcc03f0f9c251ac2c17398f5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327334
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
fc4bd898
|
2020-08-03T16:29:06
|
|
Vulkan: Support ANGLE_external_objects_flags
With this extension, it is possible to import Vulkan images into ANGLE
(similar to EXT_external_objects) while specifying the Vulkan create and
usage flags used to create that image. This can be used by the
application to drop usage flags it does not need to improve performance,
or add create flags as it requires.
Bug: angleproject:4912
Bug: fuchsia:52759
Change-Id: Ia568973b19670999dd0e69f6ac5548e8ef0c3eec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335020
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
|
|
e4e2a847
|
2020-08-03T14:09:49
|
|
Entry points for ANGLE_external_objects_flags
Bug: angleproject:4912
Bug: fuchsia:52759
Change-Id: If339f096a74cc87d16a6494562711d718a7738ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335019
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
25b0de6b
|
2020-08-01T13:45:11
|
|
Vulkan: Squash Texture+ImageView Serial and improve caching.
Previously we regenerated TextureSerial on Texture state changes such
as base/max level changes. This caused ANGLE to update descriptor sets
even though it was using the same image view handles. This change
instead uses an ImageViewSubresourceSerial which includes both a
serial for the ImageView and a 32-bit packed subresource range. The CL
speeds up NBA2k because ANGLE no longer writes new descriptors
for Texture max level changes. Local testing showed up to a 40% speedup.
Also adds a regression test with a counter for the number of descriptor
set writes in a frame.
This change will also be useful in upcoming changes that track Image
serials in the RenderPass.
Bug: angleproject:4911
Change-Id: I66249634aa56288079acf2c0eb8aa3391103533c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333396
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b9b5fa55
|
2020-08-02T00:17:20
|
|
Vulkan: Redo Sampler Serials.
Instead of refreshing sampler serials every time the SamplerVk or
TextureVk has a state change we can give a VkSampler a unique serial.
The serial is unique to this VkSampler and repeated state changes
will fetch the same Serial from the SamplerCache. This allows for
more cache hits.
We store the the new Serial together with the VkSampler in a
SamplerHelper class and store references to a SamplerHelper in
SamplerVk and TextureVk instead of the VkSampler directly.
In a follow-up change we will improve image view caching by also
improving how we store serials for ImageViews.
Bug: angleproject:4911
Change-Id: I9168c2700e383bca796cca925b38cfd30132d982
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333988
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
adc250c3
|
2020-07-31T21:11:05
|
|
Vulkan: Refactor ImageViewHelper serials.
Instead of storing a dictionary of serials to specific image views
we now store a single 32-bit serial combined with subresource info.
The serials combined with a subresource info (level/layer) gives a
unique identifier for each ImageView in the ImageViewHelper for the
descriptor set cache and the Framebuffer cache.
Also moves ImageView serial allocation to initialization and release.
This means we no longer need to use "getAssign" methods and instead
we use a few init methods to ensure the serials stay allocated.
Bug: angleproject:4911
Change-Id: Ia6af76ae16b3ff5d4a83974bde05cc704064b079
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333395
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
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>
|
|
709472c9
|
2020-08-03T15:43:12
|
|
Vulkan: Fix variable scope bug during vkCreateInstance
While enabling best practices layer the struct that
gets added to the pNext chain is a stack variable and
goes out of scope beyond the if-check. Move the
struct variables out of local scope to prevent access
violation errors during vkCreateInstance.
Bug: b/156661359
Change-Id: Ifa470ff1e51d454782695adcf40b4db2aa1608a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335747
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
11207393
|
2020-08-01T19:47:21
|
|
Vulkan: Add an overlay counter for descriptor writes.
Note: currently the trace test shows about 1000 descriptor
set writes per frame in NBA2k20.
Bug: angleproject:4911
Change-Id: Id50d05fe405249c80a38dbbe3c96e7bd8c66cbc4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333398
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
22e6fc03
|
2020-07-31T15:58:28
|
|
Vulkan: Move Resource Serial gen into Renderer.
Putting Serial allocation in the Renderer allows the Helper
classes to manage allocating its own Serial. The init functions for
ImageViewHelper only have access to a vk::Context/RendererVk, not a
ContextVk. This will be updated in a future CL.
Re-uses the Serial Type X-Macro to do more code generation.
Serial allocation now uses an atomic because of its now Renderer
shared location.
Bug: angleproject:4911
Change-Id: I2d5d3d0bbf613d5468de795a700f66164291bc79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332884
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
515b0775
|
2020-07-31T12:14:59
|
|
Metal: Enable EGL_KHR_surfaceless_context.
Surfaceless contexts are emulated in the frontend so this extension
can be enabled for the metal backend. It's needed to run Chrome
with ANGLE's metal backend.
Bug: angleproject:4847
Change-Id: I3a2f74fd5f2ac75a056c528c8b30ffbd41d73e46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
846cd169
|
2020-07-30T22:11:12
|
|
Add vertex array serialization capability
Serializes vertex arrays' states stored on CPU.
Adds vertex array serialization to serializeContext method so that
capture replay regresssion testing now compares the states of vertex
array objects too.
Bug: angleproject:4817
Change-Id: Ia2897c056adff9bd433765186240ab07f78db232
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331737
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4c7e3ee3
|
2020-08-03T12:26:05
|
|
Capture/Replay: Account for EGL_KHR_no_config_context
EGL_KHR_no_config_context allows creating a context with
EGL_NO_CONFIG. Add a null check when collecting config
attributes. This fixes trace capture of Angry Birds 2 by
allowing CaptureReplayTest to pass EGL_DONT_CARE
for the config parameters.
Bug: angleproject:4817
Change-Id: I982136ae2a7db4bd8d3f16f4accfe093e5610091
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333356
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
be6a1d87
|
2020-07-29T10:15:28
|
|
Add texture serialization capability
Serializes textures' states stored on CPU.
Gets textures' contents at every mipmap level from GPU then
serialize them.
Adds texture serialization to serializeContext method so that capture
replay regresssion testing now compares the states of texture too.
Bug: angleproject:4817
Change-Id: I87670fdc744f96d4ff244462dee1a065de44f9b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2325029
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
69ca1025
|
2020-07-31T02:08:09
|
|
Metal: Implement EGL_ANGLE_iosurface_client_buffer.
GL_R16UI format is not supported yet. It will be implemented once
integer textures are implemented in metal back-end.
Bug: angleproject:4847
Bug: angleproject:2634
Change-Id: I60a52c0ce327a524c74e80b18bb15978ac52065b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329091
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4f7f4387
|
2020-07-24T11:44:02
|
|
Add entry points for OES/EXT_texture_buffer
This extension is core in 3.2
Bug: angleproject:3573
Change-Id: If08736759da2fdc680cfa396d354dbfa97d1a60f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2317040
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4e1abc75
|
2020-07-24T10:38:40
|
|
Vulkan: Set depthStencil loadOp to DontCare when not used and stored
If depth stencil buffer is disabled during entire renderpass, and at the
end of renderpass we are not storing the data back to memory, then force
the loadOP to DontCare to avoid unnecessary depth stencil load or
clear.
Bug: b/162080462
Change-Id: I30905a6d45bec038de68e7f363ec699eb2be09ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2317726
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
91f54d83
|
2020-08-02T11:28:49
|
|
Capture/Replay: Use vector for resource maps.
unordered_map was showing up as a hotspot in replay profiling.
Bug: angleproject:4916
Change-Id: I840371313ab51faa088664b9840c7ef3f998fcad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334094
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
663075ac
|
2020-07-31T01:54:45
|
|
Metal: Fix Intel's LOD clamp and blit shader's filtering.
1. Setting max LOD clamp = FLT_MAX via setSamplerState caused mipmap
tests failure on Intel. It always picked wrong mipmap level during
texture sampling. Fix: Use value from SamplerState::getMaxLod()
instead.
2. Also set default linear filtering for blit shader's sampler.
Previously there was no sampler set for this shader. It caused black
fragments on Intel.
This CL is a prerequisite for enabling end2end tests on Intel & Metal.
Bug: angleproject:4133
Bug: angleproject:4915
Bug: angleproject:2634
Change-Id: I9e6b669712a294e09ab692a3c65f3956a799ef8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329089
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6c5ad2e9
|
2020-08-01T15:43:43
|
|
Vulkan: Remove ImageHelper::mSerial.
This serial is no longer used by any code.
Bug: angleproject:4911
Change-Id: Id82ef697b81b5738333f3280c58fd613615b6e09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
89ade79a
|
2020-07-31T16:04:09
|
|
Vulkan: Clean up ScopedDescriptorSetUpdates.
Matches style guide requirement for types before members. Also
moves the implementation of the class entirely into the cpp file.
Moves the method implementation in ContextVk so we can more easily
alter member variables.
Unrelated cleanup done while working on consolidating RenderPasses.
Bug: angleproject:4911
Change-Id: Ibe4273fc609b494840f1e86584bcee5bc31397d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331950
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
fba96e90
|
2020-07-30T10:04:59
|
|
Add shaders and programs serialization capability
Serializes shaders and programs' states stored on CPU.
Adds shaders and programs serialization to serializeContext method so
that capture replay regresssion testing now compares the states of
shaders and programs too.
Bug: angleproject:4817
Change-Id: I026762ffcd85c9cf209f17d02025730aa286bd2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329830
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
41442cce
|
2020-07-31T11:44:38
|
|
Autogenerated changes for GL_EXT_multisampled_render_to_texture2
Bug: angleproject:4836
Change-Id: I86143c6b21ecdbc666ce316b6e4a4b402257f01c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332957
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
d04a5593
|
2020-07-31T10:55:38
|
|
Vulkan: Add RenderPass count test.
Bug: angleproject:4911
Change-Id: I4c4e187b6b048118ce1231ae8924340ad382c43f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331741
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dae77893
|
2020-07-30T11:57:40
|
|
Vulkan: Avoid clearWithClearAttachment if RP command buffer is empty
If renderpass has started but no command has been issued, we should
chose to use loadOp to do clear instead of clearWithClearAttachment.
Bug: b/162521656
Change-Id: Ia681fc96442c7916b4b92c48e970d9ed239a28c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330225
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
9b1cab0d
|
2020-07-31T11:40:05
|
|
Fix validation of glFramebufferTexture2DMultisampleEXT
In preparation for GL_EXT_multisampled_render_to_texture2. This makes
the validation reuse what's there for glFramebufferTexture2D in addition
to what GL_EXT_multisampled_render_to_texture requires.
Additionally, it uses packed enums for texture target and id.
Bug: angleproject:4836
Change-Id: Ie778c84e1ff5a0cb6615257f2aff9e04395dd5aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332956
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
38e7f7a6
|
2020-07-30T14:35:50
|
|
Vulkan: Make CommandBufferHelper::empty() logic less obtuse
CommandBufferHelper::empty() logic is simplified and commented to make
it easier to read. Basically empty() means there is no work in the
CommandBufferHelper object. For RenderpassCommands, that is equivalent
to !started().
Bug: b/162521656
Change-Id: Ic9683b392835a677501cb81e5e8a025e031ebf93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330379
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
aca14d47
|
2020-07-29T13:52:28
|
|
Add renderbuffer serialization capability
Serializes renderbuffers' states stored on CPU.
Gets renderbuffers content from GPU then serialize them.
Adds renderbuffers serialization to serializeContext method so that
capture replay regresssion testing now compares the states of
renderbuffers too.
Bug: angleproject:4817
Change-Id: I537b11ee85decb14eea461ebbd62ce6ab0402f85
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327173
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cbd5bee8
|
2020-07-13T20:31:29
|
|
Disable shader's pre-rotation code on Metal & non-Android.
Pre-rotation code were added to transform gl_Position, gl_FragCoords,
gl_PointCoords, dFdX, dFdY in shader. However, it is only useful for
android's surface pre-rotation and completely un-needed in Metal
back-end.
This CL disables these pre-rotation code if the platform is not
android.
Bug: angleproject:4678
Change-Id: I89c42fcf24b49896f4ed9c2f9465da521beaf25f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2295000
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
19a1943b
|
2020-07-28T14:02:47
|
|
Allow GetSystemInfo to return false in CGL and EAGL backends.
This API is documented as returning false if information is
incomplete, but this should not cause a failure to initialize ANGLE's
Display. This change is a refinement of one made in WebKit's
downstream copy of ANGLE, likely in support of forthcoming Macs with
Apple Silicon, in https://bugs.webkit.org/show_bug.cgi?id=213479 .
Bug: angleproject:4902
Change-Id: I40a664a5db67b2aa37f15617b1cbcc3119793ee0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2324462
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
d7d79de3
|
2020-07-30T11:08:02
|
|
Update inaccurate error string.
Noticed when working on the traces.
Bug: angleproject:4845
Change-Id: I954851bc739e41ce84047eaf5e0dc4c8bcf57199
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329832
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
248d754a
|
2020-07-29T16:50:03
|
|
Capture/Replay: Limit string lengths in capture
MSVC can't handle string lengths longer than 16380 according to:
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2026
Example build failure without this CL:
https://logs.chromium.org/logs/angle/buildbucket/cr-buildbucket.appspot.com/8873410048312858000/+/steps/compile_with_ninja/0/stdout
Test: Compile NBA2K20 MEC with MSVC
Bug: b/160014453
Bug: angleproject:4048
Change-Id: Ie14d40e8c3eea35d08d4be32455b327a311f1bcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327702
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a9504808
|
2020-07-29T16:33:45
|
|
Vulkan: ATrace marker fix-ups
Fix a couple of mislabled atrace markers and add explicit markers
for inside/outside renderpass flushes.
Bug: b/156403378
Change-Id: I4045846e54ff54bc8fc3dd6ef47339f6f5eb8e87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327828
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
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>
|
|
d56ed7cf
|
2020-07-30T08:13:07
|
|
Support EGL_ANGLE_display_semaphore_share_group for DisplayNULL
Bug: angleproject:4877
Change-Id: I811ff57625a6bac749a50a1a53da48e62f5b8222
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329285
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
19aac801
|
2020-07-28T11:18:53
|
|
Vulkan: Remove unnecessary endRenderPass calls.
In both onImageRead and onImageWrite, there's a call to
endRenderPassAndGetCommandBuffer when necessary to record a command.
There was an extraneous call to endRenderPass in both functions for no
good reason.
Bug: angleproject:4882
Change-Id: I8f3b18dbb3cb9a8b92dedcc603eaf44b1e485986
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2323642
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1c1c6b4e
|
2020-07-29T13:17:16
|
|
Vulkan: Cache/re-use vkImageView's per max level
For applications that frequently switch a texture's max level, cache
and re-use "read view" vkImageViews per max-level.
Test: NBA 2K20
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_texture_mipmap_*_max_level_* --use-angle=vulkan
Bug: b/161993151
Change-Id: I9a6a81d5234196040bc6c264ec627a073ba73293
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321370
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4cf2501c
|
2020-07-27T13:19:27
|
|
Add extension EGL_ANGLE_display_semaphore_share_group
For sharing semaphores globally.
Bug: angleproject:4877
Change-Id: I472e0902fd04ca8350d74e6c0ae6925ee930ccf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2319370
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cc846039
|
2020-07-27T21:05:11
|
|
Capture/Replay: Fix GetTexImage on Luminance
GetTexImageANGLE and GetRenderbufferImageANGLE use ReadPixels to
pull texture data. Luminance is not a renderable format, so it is
not supported by ReadPixels. To support this, override Luminance
formats to their underlying internal format.
Test: angle_end2end_test --gtest_filter="*GetTexImage*"
Bug: b/160014453
Bug: angleproject:4058
Change-Id: Id19344c2e2c06386a871338833e35b7747cb966b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321740
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d019af80
|
2020-07-29T11:30:34
|
|
Capture/Replay: Fix missing header.
This was missing from a prior commit.
Bug: angleproject:4845
Change-Id: Iff2b0f300270df4c2e26265c5af81af8ae7e5e54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2325032
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|