|
572ee7b9
|
2020-04-26T13:58:22
|
|
Vulkan: Fix texture copy from texture3d to texture2d or cubemap
In vulkan spec, if srcImage or dstImage parameters are of
VkImageType VK_IMAGE_TYPE_3D, the baseArrayLayer and layerCount
members of the corresponding subresource must be 0 and 1.
Bug: angleproject:4553
Change-Id: Iabdc9708c86606c0d78c095c9d44827951264180
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2166863
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
20e631fe
|
2020-05-05T12:19:58
|
|
Update VMA integration again.
This time using a simpler integration and no template.
Bug: chromium:1074162
Change-Id: Ia770f2bf724ffb9b8120dbdbc707133fc61e16c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182173
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
17545eae
|
2020-05-08T11:59:21
|
|
Vulkan: Initialize mReserved in SamplerDesc::update.
The other initailization path SamplerDesc::reset updates sets this value.
Make sure it's initialized in all paths.
BUG= chromium:1079398
Change-Id: Ia39722ec905e75483acde0907e891e68badfa9ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2189913
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
25e21f9f
|
2020-05-07T16:57:37
|
|
Suppress HLSL warnings 3556 and 3571
These are both fairly common, and rarely actionable.
Bug: chromium:765576
Change-Id: Ib067fcbb1d4ffe7fcd47b69dbe5defac81430a70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2188952
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5b35c7f6
|
2020-05-07T13:40:55
|
|
Fix up screenshot saving for trace tests.
Now works when run in a sequence. Also saves RGB images to avoid
issues with the alpha being inconsistent and also flips images
vertically to fix the rendering.
Bug: angleproject:4615
Change-Id: I8d3b38c5d914e0ca2227320ac42a0e28acd12c4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2187971
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
234ea5b1
|
2020-05-05T14:44:30
|
|
Vulkan: Wrap barrier data into PipelineBarrier class
This is preparation CL without introducing any functional change. This
Cl wraps barrier data into its own class and put necessary data
structures in place. It still uses one vkCmdPipelineBarrier call.
Bug: b/155341891
Change-Id: If9c70d24873bd9b89e598acfba2eeee364f0b6c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185149
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dae210e6
|
2020-05-04T00:44:16
|
|
Fix validation errors & re-enable VulkanExternalImageTest clear tests
These tests previously encountered errors attempting to transfer images
from VK_QUEUE_FAMILY_EXTERNAL back to itself (this is not valid because
one of the queues families in a memory barrier must be the family of the
queue that executes the barrier). These invalid transfers were made
because our ownership tracking started all resources in the "externally
owned" state, with the expectation that the first operation on the
resource would be a call to glWaitSemaphoreEXT to acquire ownership.
It is far from clear that a call to glWaitSemaphoreEXT is always
required to gain ownership of a resource. The EXT_external_objects
extension inherits Vulkan's semantics, and what the Vulkan spec says is
that the first entity to access a resource implicitly assumes ownership
(see 11.7.1 "External Resource Sharing"). Binding a resource to memory
does not constitute an access to that resource, or affect its ownership.
Allocations should not be accesses, either; they happen at a lower level
and the entire discussion about determining initial ownership from first
access would serve no purpose if the mere allocation of the underlying
memory was sufficient to assume ownership.
This patch therefore adjusts the initial queue family ownership of
resources created in memory objects to be the ANGLE renderer's queue
family, just like a locally allocated image would be. Since this
ownership state may not be correct (an external API may have already
accessed the image, and assumed ownership) we must relax our assertions
to allow a call to glWaitSemaphoreEXT while in this state. For images,
this is only permitted while the layout is undefined.
An alternative would be to set the initial queue family to a sentinel
value that indicates that we don't know, but that would require checking
for this value before making any accesses, and only then asserting local
ownership. There's no real upside to this; the net effect of the first
access rule is that we must effectively assume ownership until proven
otherwise.
Besides appearing to be the spec's intent, this change simplifies some
usage scenarios because a queue submission is not required in the source
Vulkan instance in order to allocate resources that will be initially
accessed from GL. This seems especially important since there's no
mechanism to allocate an external memory object from inside GL.
The only downside is that the initial ambiguity in ownership prevents us
from diagnosing certain errors, but this limitation is temporary;
ownership becomes clear as soon as there is at least one access or at
least one synchronization operation affecting the resource.
Bug: angleproject:4229
Change-Id: Ibca2bfe373810c55352b1d849d07733d5fcfe5f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2178946
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d08f1d8d
|
2020-05-05T12:54:07
|
|
Perf tests: Add screenshot capture mode.
This adds a "--screenshot-dir" argument to capture screenshots.
If we're running with screenshot capture then the test will
early exit after the first capture. The screenshots use the same
naming pattern as the test name:
TracePerfTest.Run/vulkan_trex_200 -> angle_vulkan_trex_200.png
Note the screenshot dir is relative to the test binary directory,
not the CWD. Also adds a PNG saving utility function.
Bug: angleproject:4615
Change-Id: I1de8ae6a6e6892586bb0b743e7b9a842f90f98e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2184834
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e7d27705
|
2020-04-30T05:50:21
|
|
Fix corruption when changing the base level of a framebuffer texture attachment
In the D3D renderer, changing the base level may trigger re-allocation
of the texture storage, for example if the new base level has a
different aspect ratio. During the process, image contents in the
texture storage should be backed up properly. The D3D11 backend does
this if an image has been associated with the texture storage, but it
may happen such an association has never been established, and
corruption will be observed then.
The proposed patch mitigates the problem by introducing a new method
named findRenderTarget(), with which one can tell if a mip level has
been used as the render target. This works based on the fact that render
targets are cached in the texture storage object. Hence all mip levels
of interest can be found, without relying on the association between
images and texture storage.
Bug: angleproject:2291
Change-Id: Ic73af7b603be25c65760928f276bec16df003baf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2158830
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
101da757
|
2020-05-06T16:10:29
|
|
Capture/Replay: Update gfxbench traces
Incorporate fixes to get them running correctly on native.
TBR=cnorthrop@google.com,courtneygo@google.com,jmadill@chromium.org
Test: angle_perftests.exe --gtest_filter="*Trace*"
Bug: angleproject:4598
Change-Id: I44e9401f1554cc89749ac398ebe46440abd8eeff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2186171
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
712fea9a
|
2020-05-06T15:45:25
|
|
Sync state when calling getTexImage
ANGLE's mid-execution capture was failing after changes to
defer clears. There were still textures with pending updates
and dirty bits after SwapBuffers. This caused our calls to
Texture::getTexImage to assert.
This was due to a bug where getTexImage was not syncing state.
This change makes the function non-const so that it can update
state directly.
TBR=cnorthrop@google.com,courtneygo@google.com,jmadill@chromium.org
Test: Manhattan MEC
Bug: angleproject:4517
Change-Id: I717ad44cfc60ae0d4483721f1c91e47c5dda3939
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2186170
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a2ec926c
|
2020-01-02T19:07:38
|
|
Specify LUID in D3D11
Add an extension to provide the ability to specify the LUID of the
GPU adapter to use when using D3D11.
Corresponding chromium CL:
https://chromium-review.googlesource.com/c/chromium/src/+/2096778
Bug: chromium:792657
Change-Id: Iefebea221a4b7a20f150b445ae1adf375444726d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2096663
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
36c938e0
|
2020-03-31T12:42:16
|
|
GL: Ignore warnings about requested extensions not being present.
Some drivers emit warnings about enabled extensions not being present
dispite the 'enable' flag only being a request. Supress these warnings
to clean up the Chrome console.
Also request GL_EXT_gpu_shader5 in addition to GL_ARB_gpu_shader5 to
maximize reach.
BUG=chromium:1066212
Change-Id: If48cc60b8533f6ffedb727e845a4ca784d98c07c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2129111
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
12b6a82e
|
2020-04-03T18:31:22
|
|
No-Op draws when no active VS and/or FS is present
Re-land CL with WebGL fixes:
This required some extra pointer checking during validation to handle
the fact that a Program and/or ProgramExecutable may not be present when
attempting to draw. This isn't an error, just undefined behavior, which
we (eventually) treat as a no-op.
According to the OpenGL ES 3.1 spec:
7.3. PROGRAM OBJECTS
If there is no active program for the vertex or fragment shader
stages, the results of vertex and fragment shader execution will
respectively be undefined. However, this is not an error.
To handle this, if no VS or FS is present in the active Program/PPO,
we will no-op the draw command.
Bug: angleproject:3570
Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
Change-Id: I70d688bf344a78cf3b4fd66c995ae03ce4b9b807
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185156
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
e25af112
|
2020-05-06T13:35:08
|
|
Add spang to OWNERS for Fuchsia port
Bug: angleproject:1058521
Change-Id: Ice420d68d409eaa2db7b1d71245c43d1f54c9f7a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185192
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
7e5d7dc3
|
2020-05-06T12:56:41
|
|
Vulkan: Initialize all members of VmaVulkanFunctions.
VmaVulkanFunctions was passed to vmaCreateAllocator without initializing
all members. This leads to potential reads of uninitialized variables.
BUG=chromium:1078652
Change-Id: Id349c8fbb2dd3a5a2c64c6a017add3d6f97b78fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185191
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
562602a3
|
2020-05-05T12:32:56
|
|
Vulkan: Move CommandBufferHelper to vk_helpers.h
Pull CommandBufferHelper class out of ContextVk.h/cpp and move it
to vk_helpers.h/cpp. This is the natural place for it as it's a
helper class. Also, this class is planned to be the interface between
the main and worker threads so moving it to vk_helpers makes it easy
to share between Context and Renderer.
Bug: b/154030403
Change-Id: Ie5eeb864164a3787f800905ae885027834bd1a08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182177
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
bcd2c592
|
2020-05-06T15:49:41
|
|
Revert "Capture/Replay: Update traces to include Reset"
This reverts commit 968bb06d94369b782eacb9b7c6a3f1f2171b5f85.
Reason for revert: Broke angle_perftests on the P2 bots:
https://ci.chromium.org/p/chromium/builders/ci/Android%20FYI%2064%20Perf%20(Pixel%202)/30223
Original change's description:
> Capture/Replay: Update traces to include Reset
>
> Now that our traces can reset state back to how it started with MEC:
>
> * Update the code generation to include that call.
> * Update existing traces to include that call.
> * Add a capture of Temple Run.
>
> Test: angle_perftests.exe --gtest_filter="Trace*"
> Bug: b/152512564
> Bug: angleproject:3662
> Bug: angleproject:4599
> Change-Id: I4062271b75b5c6fc9122b301d1af443d79770edc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182911
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
TBR=cnorthrop@google.com,courtneygo@google.com,jmadill@chromium.org
Change-Id: Icea86c2fbfbabe4a1e7738954cecc176b5574a16
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/152512564, angleproject:3662, angleproject:4599
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2184705
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
968bb06d
|
2020-05-05T12:38:40
|
|
Capture/Replay: Update traces to include Reset
Now that our traces can reset state back to how it started with MEC:
* Update the code generation to include that call.
* Update existing traces to include that call.
* Add a capture of Temple Run.
Test: angle_perftests.exe --gtest_filter="Trace*"
Bug: b/152512564
Bug: angleproject:3662
Bug: angleproject:4599
Change-Id: I4062271b75b5c6fc9122b301d1af443d79770edc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182911
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
1ab55d96
|
2020-05-06T14:45:18
|
|
Revert "No-Op draws when no active VS and/or FS is present"
This reverts commit a4b506f79e3286ffcf3a5d68f20aa97a63edab8e.
Reason for revert: WebGL crash
https://bugs.chromium.org/p/angleproject/issues/detail?id=4616
Original change's description:
> No-Op draws when no active VS and/or FS is present
>
> According to the OpenGL ES 3.1 spec:
>
> 7.3. PROGRAM OBJECTS
> If there is no active program for the vertex or fragment shader
> stages, the results of vertex and fragment shader execution will
> respectively be undefined. However, this is not an error.
>
> To handle this, if no VS or FS is present in the active Program/PPO,
> we will no-op the draw command.
>
> Bug: angleproject:3570
> Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
> Change-Id: If19e9fbb1bc09fa0d490832079bb9f514eab6035
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2136386
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tim Van Patten <timvp@google.com>
TBR=timvp@google.com,jmadill@chromium.org,cclao@google.com
Change-Id: Ia24c4156ff7779b69c1f3f705f1a91cbb1c9684c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3570
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2184849
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
daed369c
|
2020-05-05T14:24:26
|
|
EGL: Add support for GL_EXT_EGL_image_array extension
Add support for creating 2D array EGLImages. 2D array
textures are core in GLES3.0. Enable the eglImageArray
bool that controls exposure of the extension for all
contexts >= GLES3.0
Bug: angleproject:4604
Tests: angle_end2end_tests --gtest_filter=ImageTest.*2DArray*
Change-Id: Iebc1ad184fe7209ca89d620290337438ac251c56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176109
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
930b2641
|
2020-03-23T14:47:03
|
|
Allow tests to run on native EGL.
Adds support for Linux and Android native EGL testing.
This can be useful for doing performance comparisons of ANGLE vs
a native GL driver. Only enabled for the trace perf tests due to
limitations in the test harness.
Bug: angleproject:4596
Change-Id: Iba6d3ccd7c1275cf095893fab824a0ea33dc3a79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2116254
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
a4b506f7
|
2020-04-03T18:31:22
|
|
No-Op draws when no active VS and/or FS is present
According to the OpenGL ES 3.1 spec:
7.3. PROGRAM OBJECTS
If there is no active program for the vertex or fragment shader
stages, the results of vertex and fragment shader execution will
respectively be undefined. However, this is not an error.
To handle this, if no VS or FS is present in the active Program/PPO,
we will no-op the draw command.
Bug: angleproject:3570
Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
Change-Id: If19e9fbb1bc09fa0d490832079bb9f514eab6035
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2136386
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
06ce17e0
|
2020-04-27T09:05:54
|
|
Capture/Replay: Reset buffers on replay loop
This CL adds infrastructure for tracking whether resources need to be
reset when looping back to the beginning of the frame sequence.
A new function is generated on the last frame: ResetContext*Replay().
It will contain calls to gen, delete, and restore contents of
resources. This CL only supports Buffer resets.
Bug: b/152512564
Bug: angleproject:3662
Bug: angleproject:4599
Change-Id: I46672dd70dcb997967e3cc0897308144f2582e21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168121
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c02cdff7
|
2020-05-05T19:52:17
|
|
Revert "Add -Wno-pointer-to-int-cast"
This reverts commit 226bba3c755ec8105c895c87450c1ebb0d8159e1.
Reason for revert: Should no longer be needed after
https://chromium-review.googlesource.com/c/angle/angle/+/2168617
Original change's description:
> Add -Wno-pointer-to-int-cast
>
> This is the last remaining instance of the warning across Chromium. It's
> fixed upstream but I can't seem to figure out how to successfully roll
> deqp. So suppressing it here for now.
>
> This can be removed once the deqp in Angle has
> https://github.com/KhronosGroup/VK-GL-CTS/pull/199.
>
> Change-Id: Ie954bb2a3d86ea0de644e2a78051531b396e88a8
> Bug: chromium:1054220
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165365
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,courtneygo@google.com,aeubanks@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:1054220, angleproject:4588
Change-Id: Ib26534cbb48df6d51af137babb95f3aeb6825043
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182891
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Nico Weber <thakis@chromium.org>
|
|
eba008ad
|
2020-05-05T10:46:21
|
|
Add end2end test for changing MAX_LEVEL with compressed texture
This is a follow-on to
https://chromium-review.googlesource.com/c/angle/angle/+/2180881.
This adds a comment explaining part of that solution, and an end2end
test that creates a compressed texture and then renders after
decreasing MAX_LEVEL and then again after increasing MAX_LEVEL.
Bug: b/155499736
Change-Id: I04bb0dc9ead2807f7121e4c6b95ffd3594d5dcc0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182174
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
a5829b2a
|
2020-04-27T15:41:37
|
|
deps: Roll VK-GL-CTS
* Moved xexml files to a library
* Added new waiver system to GN
* Added new KHR GLES 3.x tests to GN for nearest sampling edge cases
* Updated expectations for new tests
* Manual roll of glslang to bring in new dependencies.
Test: deqp
Bug: angleproject:4588
Change-Id: I7b9bcc28e9c9ba6abe4fa4873f732677ed3d276d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168617
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1e2109b9
|
2020-05-04T15:41:33
|
|
Vulkan: Merge Command Buffer Helpers
Merge the outside and inside renderPass command buffer helpers to
share the single CommandBufferHelper (CBH) class.
This commom class is still used for separate outside and inside
renderPass command buffer objects in the context. That's a bit
wasteful since some functions and members are only relevant to
one type of command buffer.
However, this is a foundational change that will provide the
immediate benefit of being able to use the CBH as the interface
for passing commands to a worker thread. It also provides the
long term benefit of starting the refactor to merge the outside
and inside renderPass command buffers into a single command buffer
object that can be used by the main thread to record all commands
whether inside or outside of a renderpass.
Bug: b/154030403
Change-Id: I83c63385fe9858bc05853c550d4fb2e13226d582
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2180850
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
e8e12881
|
2020-05-05T08:47:28
|
|
Roll Vulkan headers, update ANGLE to match
All the *_RANGE_SIZE enums were removed from vulkan_core.h
Fix up ANGLE references.
Bug: b/155750030
Change-Id: Idc4ee20d4a87f8cb3f46e105819af7257a7fea4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182577
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d657e1d7
|
2020-04-24T13:13:18
|
|
Vulkan: Defer framebuffer clears.
This works by storing the deferred clears in the ImageHelper's staging
buffers. We apply the deferred clears onto the RenderPass right before
we begin to draw. Storing the clears in the ImageHelper solves problems
where we clear GL Textures in a Framebuffer and then unbind the
Textures and sample from them. Or do other commands like CopyTexImage.
Note that because the staging buffer clears only handle full-image
clears we need to immediately apply some scissored clears where before
we would use the RP. This should be a pretty rare occurrence and it is
possible to optimize that in the future.
Reduces the RenderPass count in the Manhattan "frame 10" trace from max
22 to max 20. May improve perf slightly on Android or may have effects
too small to measure. Should not regress performance.
Bug: angleproject:4517
Change-Id: I02150d531022afb903f1058f070937ec6337bd88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2142711
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2ad30d7a
|
2020-05-04T16:14:22
|
|
Vulkan: honor compressed texture block width/height
When a texture's base or max mipmap level is changed, ANGLE creates a
new VkTexture (and potentially copies lots of data old->staging
buffer->new). However, ANGLE wasn't looking at the texture's format,
and for a compressed format ANGLE wasn't looking at/using the texture
format's compressed block width and height.
Bug: b/155499736
Change-Id: I11a12028aee998fa23d503c2c0db39fbb49ae6ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2180881
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
41f7bcce
|
2020-04-30T16:09:36
|
|
Vulkan: Add missing cache flush
DynamicBuffer are not cache coherent, thus requires flush. Also adds a
few assertion to ensure implementation matches expectation.
Bug: b/155432713
Change-Id: Iaf28786168a3bb5d746b43e030f882c4b6d005ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174269
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ca50ad42
|
2020-05-01T16:37:00
|
|
Vulkan: Update VMA integration.
This will allow ANGLE to share the same source location as
Chromium.
Bug: chromium:1074162
Change-Id: I3ea9820cc1fe9cd0bfec81d734168213e5c1bb0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176067
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
73bf99b7
|
2020-04-29T16:20:09
|
|
Fix clearing the program's validation-related cache too early
When attempting to link a new program, the program must be marked
as unlinked, but the validation-related caching should not be
cleared yet, since we can still use the previously linked program
if linking fails at this point.
Added an angle end2end test which fails without this fix and
passes with this fix.
Fixes the following WebGL 1.0.4 test with SwANGLE:
conformance/programs/program-test.html
Bug: angleproject:3557
Change-Id: Ib6722ba88803979e8f292c9b7b81f85cc0304662
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2173538
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
4271443d
|
2020-03-04T20:33:36
|
|
Fix VulkanExternalImageTest on SwiftShader
Check isSwiftShader() for whether to load swiftshader instead of the
default ICD.
The spec says we should query GL_DEVICE_UUID_EXT & co for this, but we
haven't implemented those queries yet.
Bug: angleproject:4092
Change-Id: Ifd74d6b6706f7b1fcbe5d82a33ecf70e631e26b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2088660
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
605af42e
|
2020-03-04T21:52:53
|
|
Vulkan: Move ICD overrides to a common place
We also need the bundled ICDs and selection logic for certain tests that
create a vulkan instance. If we don't, the tests will use default vulkan
even if ANGLE is using swiftshader-vulkan. Tests of driver specific
handle types (e..g opaque fd) will fail in this case.
Bug: angleproject:4092
Change-Id: Iff089c9341b8b533ee8634923d0177c5dbcd5cc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2088659
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
f623bd2e
|
2020-04-14T10:35:13
|
|
Tests: Add program pipeline object tests
This CL adds two program pipeline object (PPO) tests based on code
inspection during review. They are both disabled awaiting fixes.
* The first (DetachAndModifyShader) tests a bug that shaders aren't
detached immediately on call.
* The second (DifferentTextureTypes) tests PPOs with mismatched
texture types. They should not link if the programs use a texture in
non-matching ways.
Test: ProgramPipelineTest31.DetachAndModifyShader*
Test: ProgramPipelineTest31.DifferentTextureTypes*
Bug: b/151462886
Bug: b/151449648
Bug: angleproject:3570
Change-Id: Ief0937397d31c972bf5e3a8d56b02d2dbd5a604b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2146997
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
a48f3c38
|
2020-04-29T10:03:14
|
|
Implement setBinaryRetrievableHint
Remove the UNIMPLEMENTED() macro. Doing nothing is an acceptable
implementation at this time.
Test: Angry Birds 2
Bug: b/154930384
Change-Id: Ie46c084feb2015aa5fecdbbf2295d46e5087e3dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172711
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2071b5c3
|
2020-05-01T15:41:04
|
|
Expose EGL 1.5.
This is helpful for figuring out if we can support the DEBUG
property when initializing an EGL context. It also will be
necessary down the line for Android.
Bug: angleproject:4596
Bug: b/154921118
Bug: angleproject:4606
Change-Id: I01c2cbaa21495e3620b7858f2a309c9a884033ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176277
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
040e4f6f
|
2020-05-01T14:50:59
|
|
Vulkan: Minor command buffer refactor
Fix a couple minor nits with command buffer handling in ANGLE:
1. Make initialize() common CommandBufferHelper function
2. Reduce some common code when starting renderpass
Bug: b/154030403
Change-Id: Ie9cfcd7c053c8605b16bc2dee7f8d69418922492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2175106
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
10ee839c
|
2020-04-30T16:15:41
|
|
Vulkan: Improve viewport and scissor for pre-rotation
Handle all 4 rotations and non-full-screen viewports & scissors.
Test: Running NBA 2K20 while flipping phone left and right (90 & 270) + watching it in Visual Studio and with Android logcat INFO messages
Bug: b/150329969
Bug: angleproject:4431
Change-Id: Icd555dbc2419aac1413452c1b306d6227784dc27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174961
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1c3e322c
|
2020-05-01T12:22:20
|
|
Work around strange git cl format issue.
For some reason this line of code confused git cl format
in that it would generate different results depending on when
it was called:
"PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
ANGLE_EGL_StreamConsumerGLTextureExternalAttribsNV;"
I wasn't able to root cause the bug. Instead I worked around
it by changing the signatures for this file.
Bug: angleproject:4596
Change-Id: I4f18e03d27d378480b19831de51c4e85d815ca66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176157
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
|
|
c9e0edc2
|
2020-04-30T14:48:40
|
|
Handle 3D texture entire-mip initialization for FBO attachments
FramebufferAttachmentObject::initializeContents clears the entire mip
level for layered textures (not including cube map). This was done by
special casing 2D array and 2D multisample array textures but did not
work for 3D.
Generalize the logic to work for all layered texture types.
Handle clearing the entire 3D texture mip in Vulkan.
TEST=conformance2/misc/uninitialized-test-2.html
BUG=angleproject:4602
Change-Id: I35bb9fc3304f0553e8de68d205b0843845bf7549
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174264
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5b16123d
|
2020-05-01T08:26:28
|
|
Capture/Replay: Refactor default uniform handling for arrays
Instead of walking through uniform locations, walk through
the uniforms themselves and emit arrayed uniforms, which consume
multiple locations.
Test: MEC capture of Manhattan on Windows
Bug: angleproject:3662
Change-Id: Ifd25528721982847d4f0938f469a914a1cb908c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2175994
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
428e4415
|
2020-04-27T12:27:00
|
|
Vulkan: Migrate trace events and occlusion queries
Moved GPU trace event and occlusion query commands that were on the
primary command buffer to the SecondaryCommandBuffer (SCB). Putting
these commands on outside render pass SCB and flushing those commands
to primary on-demand as needed to maintain ordering of commands.
For resetQueryPool command used by occlusion query, allow the SCB
to queue up that command for inside RenderPass SCB. This avoids
ending a renderPass prematurely and allows all outstanding reset
commands to be executed before the beginRenderPass command since
the resets must occur outside of a renderPass.
This is groundwork to simplify the hand-off of SCBs from the main
thread to a worker thread. Long-term we'd like a single SCB that
can handle both inside and outside renderPass commands at the same
time to pass to the worker thread for processing into a primary CB.
Bug: b/154030403
Bug: angleproject:4603
Change-Id: Ic1023ae27a9b14435743549ea9933edf1c4b318b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168114
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
942796f6
|
2020-04-30T16:55:28
|
|
Capture/Replay: Use BindAttribLocation to force MEC compat.
In some cases we'd end up with attributes that are optimized
out by the GL driver. BindAttribLocation forces the programs
to use the same attribute indexing numbers so that the command
stream works mostly the same even if some attributes aren't
active in the shader.
Bug: angleproject:4598
Change-Id: I2d02dd38d29a1489706ae70bcc0b262b1c076942
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174266
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
e09f7a14
|
2020-04-30T17:43:12
|
|
Validation: Fix some function types.
These were slightly mismatching the header types. They seemed
to link fine despite producing some warnings in a tool.
Bug: angleproject:4598
Change-Id: I19cfe4d87eca409c82a7c8cf25fff6f8a4c83ca9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2175057
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
57d95828
|
2020-04-30T17:35:50
|
|
Revert "Add type for attribute locations."
This reverts commit 9349c14344b2d1fd6bc357063b602bc2626c140f
and commit d43b057435e6c9e3194dd20627681ffca0c0808e.
It's no longer needed after we bind attribute locations before link.
Original CL message:
This will allow the capture/replay tool to easily intercept and label
attribute locations for remapping.
There's some inconsistency in implementation in the GL desktop front-
end. This is a quick fix and the full implementation is left for when
we implement the full desktop GL API set.
Bug: angleproject:4598
Change-Id: Ic510159d4d1982eff41560503cabf983a1be0381
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174076
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
df31624e
|
2020-04-30T13:28:24
|
|
Vulkan: Reduce the onBufferRead/onBufferWrite API verbosity a bit
This adds helper functions to handle common use case for onBufferRead
and onBufferWrite to reduce the API verbosity a little bit. Also fix the
transform feedback bug that we are passing in wrong access/stage flags
when it is emulated by vertex shader.
Bug: b/155122200
Change-Id: Id2549ca00cad184a90c6230dc3665aaff44dda08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174265
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
67da0051
|
2020-04-30T17:53:58
|
|
Vulkan: Fix dbg util label bug
Courtney noted this bug from a review. Should begin label on pushGroup
instead of insert label.
Bug: b/154030403
Change-Id: I5f4da5762e1ef03fe27b414740e34d2064af86b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2171951
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
85ae836f
|
2020-03-30T16:03:47
|
|
GL: Implement EGL_EXT_image_dma_buf_import
Add support for the EGL_EXT_image_dma_buf_import on EGL implementations
that support it natively. This extensin is used on ozone to import
native compositing buffers.
This patch also adds new tokens in EGL_EXT_image_dma_buf_import_modifiers
which are used in eglCreateImageKHR.
BUG=angleproject:4529
Change-Id: I49bff831b591fb19fcdcec1145c7a61f5d8020c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2128190
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a56537a3
|
2020-04-29T11:14:03
|
|
Enable GL_BGRA_EXT for es backend
It's required on Chrome OS.
Based on spec EXT_texture_format_BGRA8888, this format is renderable.
Bug: angleproject:4594
Change-Id: Ibde0f0de18f4b8079a23f4b13123c6b5c8794a89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172638
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
d43b0574
|
2020-04-30T14:17:21
|
|
Capture/Replay: Fix tool after parameter change.
'index' became 'indexPacked' for attribute locations. It
also changed the type.
Bug: angleproject:4598
Change-Id: I6393e09dd1d5c1a7c5d0e2ca8a67e4f7bbb05411
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174263
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9349c143
|
2020-04-29T16:36:17
|
|
Add type for attribute locations.
This will allow the capture/replay tool to easily intercept and label
attribute locations for remapping.
There's some inconsistency in implementation in the GL desktop front-
end. This is a quick fix and the full implementation is left for when
we implement the full desktop GL API set.
Bug: angleproject:4598
Change-Id: Ibf11bcb8669d27265ea376494a2e3124825cf3be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2171933
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9cac3c58
|
2020-04-30T09:52:13
|
|
Capture/Replay: Disable default uniform updates for arrays
We aren't properly handling them, were already firing UNIMPLEMENTED,
but can't continue with the loop. Will follow up with real support.
Test: MEC capture of Manhattan on Windows
Bug: angleproject:3662
Change-Id: I7b77350b39971fda702eac8b19c6f29f36f78146
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2171759
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
f07d0072
|
2020-04-27T16:51:05
|
|
Vulkan: use fine grain stage for buffer barriers
We are using VK_PIPELINE_STAGE_ALL_COMMANDS_BIT for
mGlobalMemoryBarrierStages, which is used for both src and dst. This
will cause a full pipeline stall whenever a buffer object introduces a
barrier. This CL will let the caller pass in the specific stage it
will be used for, allowing us to track write and read stage dependencies
separately and request the corresponding barriers.
Bug: b/155122200
Change-Id: I8b8bd291a03b77d07cfbcbe7c3cda2d3771588b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2169014
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
95741743
|
2020-04-27T18:09:42
|
|
Validation fix for draw with primcount <= 0
A buffer size validation check was returning an invalid
operation error based on buffer size, even when primcount
is <= 0 (so the buffer isn't used).
Fixes the following WebGL 1.0.4 test with SwANGLE:
conformance/extensions/angle-instanced-arrays-out-of-bounds.html
Bug: b/154628007
Change-Id: Ibfe4eb57f17cd07100fb8dfbe8069e9ec7515160
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168546
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
5540a307
|
2020-04-29T11:57:24
|
|
GL loaders: Add 'ANGLE' symbol prefix.
This should prevent debuggers like RenderDoc from getting confused
about symbol names. It's also generally good practice to avoid
overloading names.
Change-Id: Ie9fd3f77f45479bdf6925dae3e03fb4ac85bdb8a
Bug: angleproject:4596
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2171684
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
78f2e4b8
|
2020-03-24T16:21:40
|
|
Add gles1 covegl test compile
Covegl test is hard to suit gtest, so just compile it without gtest
(angle_gles1_covegl_no_gtest), we can get the test result by exit code.
Bug: angleproject:2303
Change-Id: I67a930c91f23c02e72022329c712a0749e4a903c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2126587
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fa03eb9d
|
2020-02-05T15:25:52
|
|
Vulkan: Use DynamicBuffer for BufferVk
When there is glBufferData API call, if the current
VkBuffer is in use, we copy to a staging buffer to
be gpu copied later. Instead of doing this second copy,
write directly to a new buffer that will be used for
subsequent gpu operations.
BufferVk now has a DynamicBuffer to handle
the logic of acquiring a new/free buffer to be used.
Bug: angleproject:4380
Change-Id: I207f334013ae944090eb48c26c692a09e8815f74
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2040513
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
92b3a720
|
2020-04-27T15:52:56
|
|
Capture/Replay: Generate code integration.
This sources the trace list from a json file and uses that to make the
"glue" that works with each individual trace test.
Bug: angleproject:4590
Change-Id: I40808cbd0e00f9ed01f93c4cfbd678401db3fec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168539
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
45bb2b9c
|
2020-04-22T17:09:41
|
|
Vulkan: Add debug label commands to SecondaryCommandBuffer
Add begin/end/insert DebugUtilsLabel commands to SecondaryCommandBuffer.
Switch use of these commands to the outside renderpass command buffer
instead of directly in the primary command buffer.
This change should maintain the exact same sequence of commands but
avoids some direct use of the primary command buffer. This is
desirable for the threaded refactor where a worker thread will
process the SecondaryCommandBuffer into a primary and the main
thread will no longer use the primary command buffer directly.
Note that because the debug utils label has an arbitrarily long
string that we need to adjust the command allocation to allow for
the string size exceeding the default allocation size. In this case
we just make a single larger allocation to accommodate the command
with the large string.
Bug: b/154030403
Change-Id: Iab7832ffc3d38ce168da2d624bd5b5d5b33ec11b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2161955
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d93b9559
|
2020-04-16T16:16:27
|
|
Translate uniform block with large matrix array to StructuredBuffer
There is a slow compiling issue if translate a uniform block with
a large matrix array member to cbuffer, so translate the uniform
block to StructuredBuffer. But pack_matrix pragma directive is
invalid for matrix element of StructuredBuffer, so pack the matrix
into a structure firstly, and then specifies packing alignment for
the matrix in this structure, last the structure is used as
StructuredBuffer element.
Bug: angleproject:4206
Change-Id: I5a2a512e57b37dcdb88c3060d0d078b46f72eb5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154525
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
718ae508
|
2020-04-28T08:42:07
|
|
Vulkan: Always query EGL_WIDTH and EGL_HEIGHT
This fixes the failures of the dEQP EGL resize tests on Android.
Those tests don't actually resize the window (which would allow the
tests to pass), but do change internal Android Surface values that
vkGetPhysicalDeviceSurfaceCapabilitiesKHR queries. Therefore, by
freshly querying these values the test passes.
Bug: b/153329980
Change-Id: Ie966f221bfaa14988c1503c7f5503f0b21476bcb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165639
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
448b14bb
|
2020-04-27T13:46:08
|
|
Vulkan: Apply binding size in updateBuffersDescriptorSet.
Previously we would bind the full Vulkan buffer size in cases of
unsized arrays in storage buffers. This then would lead to problems
when binding a dynamic buffer that used sub-allocation or larger
internal sizes. Instead use the GL binding size or GL buffer size as
the size limits.
Bug: angleproject:4380
Change-Id: Ia579bfeae3b8d068813336cbd5e1babee9f4f345
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168020
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d9268889
|
2020-04-22T20:24:16
|
|
Take into account baseVertex for drawElementsImpl D3D11
Also add test for GL_DYNAMIC_DRAW and GL_STREAM_DRAW with vertex
color data updating before each draw call to make sure index range
is retrieved correctly.
Bug: angleproject:3402, angleproject:3911
Change-Id: I5f209292b6e316e4b50505a98b361eb8761a7d6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2162132
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
1398080c
|
2020-04-27T16:16:15
|
|
Capture/Replay: Simplify .gni integration.
Moves a lot of the code out of the gni file into tests/BUILD.gn. In
preparation for auto-generating the gni file as a simple array of trace
test names.
Bug: angleproject:4590
Change-Id: Iaa2b7872dc6e705d59108fa7532594bdc65d365a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168359
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4262ea04
|
2020-01-31T22:59:13
|
|
Vulkan: Add gles1 conformance support.
For Khnoros CTS1 support, ANGLE needs to add conformant and
rendererType for OpenGL ES1 version.
Bug: angleproject:4457
Change-Id: I58ac4672352d3d42e4b8403b80f86154b6a76edc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2160515
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fbc2f063
|
2020-04-24T13:00:11
|
|
Vulkan: Refactor AttachmentOpsArray.
Will allow for more flexibly setting ops when we defer clears.
Bug: angleproject:4517
Change-Id: I7d9116bc92e90eb41a1030fea242eadf1cc74562
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165629
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6193fd69
|
2020-03-07T21:19:05
|
|
OpenGL: Implement OES_draw_buffers_indexed
OpenGL state sync issues as few GL commands as possible to update the
blend state regardless of an application input.
Enhanced ClearTestES3.MaskedIndexedClearMultipleAttachments
regression test.
Disabled OES_draw_buffers_indexed on Windows/AMD/OpenGL.
Bug: angleproject:4394
Change-Id: I244ac2975678bc559634152cf4eb997d9dbe83d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2145874
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6e7d7296
|
2020-04-24T15:40:57
|
|
Fix clearing compressed textures with Vulkan backend
When making sure a texture's data is initialized in ANGLE, it
is illegal to attempt to clear it when using the Vulkan backend.
The Vulkan spec, regarding vkCmdClearColorImage, mentions that:
"image must not have a compressed or depth/stencil format"
The proper way of initializing the memory of a compressed image
in Vulkan is to do a buffer to image copy instead. This was added
to ImageHelper::stageRobustResourceClear() so that it may now
handle compressed textures properly.
Bug: angleproject:4092
Change-Id: I073ed0603d9e92e787b9be8992751dbc0c8978db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165636
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
d6c7bac9
|
2020-04-18T01:41:14
|
|
Add BlendStateExt helper structure
It provides compact storage and comparison operations for
per-drawbuffer blend states.
Added BitSetT::Zero() static constexpr.
Bug: angleproject:4394
Change-Id: I66d6275facb7b28022fc24ff9cc0d8c3c976c99d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154669
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
226bba3c
|
2020-04-24T09:57:10
|
|
Add -Wno-pointer-to-int-cast
This is the last remaining instance of the warning across Chromium. It's
fixed upstream but I can't seem to figure out how to successfully roll
deqp. So suppressing it here for now.
This can be removed once the deqp in Angle has
https://github.com/KhronosGroup/VK-GL-CTS/pull/199.
Change-Id: Ie954bb2a3d86ea0de644e2a78051531b396e88a8
Bug: chromium:1054220
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165365
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3cb9c4be
|
2020-03-13T13:56:47
|
|
Statically link vulkan-loader on Mac
Disable angle_shared_libvulkan on Mac since we are the only client.
Re-add codepaths to support this.
Bug: angleproject:4477
Change-Id: Ie128c83adaae741636541bbfd6105d160d874a8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2102954
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
0f2747e9
|
2020-04-24T13:10:14
|
|
Vulkan: Clean up ClipRectToScissor.
Refactoring change only. Split off to make the main CL for deferring
clears simpler.
Bug: angleproject:4517
Change-Id: I5728a7dcf09de8952d5810061d1d8b135b625339
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165630
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
35e389cc
|
2020-04-24T13:33:36
|
|
Vulkan: Remove unicode character from error string.
Will fix presubmit checks on Windows.
Bug: angleproject:4586
Change-Id: I36cec3e850c88a015f33d8a0bb7cc8f8c26402d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165628
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
21c5af31
|
2020-04-20T10:29:13
|
|
Vulkan:Migrate events and queries to secondary Cmd Buffer
Replace flushAndGetPrimaryCommandBuffer() function with
endRenderPassAndGetCommandBuffer() for events and queries. The end
result should be the same, but this allows a number of places that were
putting commands directly into the primary to put the commands into
ANGLE's custom SecondaryCommandBuffer (SCB) instead.
This also fixes a couple of minor bugs related to command buffer
ordering. flushAndBeginRenderPass() now flushes any outside
RenderPass (RP) commands first. Also, when insideRP commands are
flushed to the primary, set "mHasPrimaryCommands = true;"
Bug: b/153666475
Change-Id: I68413f25d27175afed0a20bc49f22f4c8d01e4fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2156932
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
5578fc84
|
2020-04-22T09:34:30
|
|
Vulkan: Disable EXT_texture_sRGB_R8
Due to a dEQP bug, EXT_texture_sRGB_R8 cannot be exposed before
EXT_texture_sRGB_decode is available. This change disables
EXT_texture_sRGB_R8 on the vulkan backend.
Bug: angleproject:3609
Test: dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.*
Change-Id: I261c80986484e489f6903eb54ac6865433050bfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2161985
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
23621826
|
2020-04-23T10:09:03
|
|
Vulkan: Manual Validation Layer Roll
Latest Vulkan validation layer roll is hitting new error so added
exception and rolling manually.
Bug: angleproject:4583
Change-Id: Id9f8be7d2e20156ad8397ee0ba7ea5fcc12f6d28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2163133
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
e20f36f4
|
2020-04-21T15:45:44
|
|
EGL: Implement EGL_ANDROID_native_fence_sync on vulkan
Check the following -
1. Vulkan ICD supports VK_KHR_external_fence_fd
2. ExternalFenceProperties and ExternalSemaphoreProperties
support Android FD.
eglCreateSync - if FD was provided import to VkFence,
else create VkFence with new FD and then
flush and submit VkFence on next vkQueueSubmit.
eglGetSyncAttrib - for status call vkGetFenceStatus.
eglDupNativeFenceFdANDROID - return FD from vkGetFenceFD call.
eglClientWaitSync - call vkWaitForFences.
eglWaitSync - dup FD, create VkSemaphore and import FD, then
flush() and add VkSemaphore to next vkQueueSubmit
as a waiting semaphore.
Extended end2end test suite with nativefence test cases.
Bug: angleproject:2517
Test: angle_end2end_tests --gtest_filter=EGLSyncTest.AndroidNativeFence_*
Change-Id: I8f6a6f4c3d71d83007f662b78377aa015a740035
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2026177
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
963759a3
|
2020-04-21T15:14:56
|
|
Vulkan: Mask out implementation dirty bit in sync.
This would needlessly create many redundant sampler objects.
Bug: angleproject:4517
Change-Id: Ib8ef28b9bcbbeec804c493fbe677cbee7d9a750d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159296
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
492ec932
|
2020-04-21T13:38:41
|
|
Vulkan: Track allocated sampler counts.
Helps to diagnose perf bugs where resources are over-allocated. Also
can be useful to evaluate caching strategies.
Bug: angleproject:4517
Change-Id: I48df5a09fbc394fa0b1712fa8cf28a179665e6e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159293
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
6fc0066a
|
2020-04-21T17:40:54
|
|
Vulkan: Add a sampler cache.
This uses a packed sampler description to re-use samplers for multliple
VkImages. The samplers will persist for the lifetime of RendererVk. In
the future we could look at doing cache eviction for large object
counts.
Reduces the active VkSampler cache in Manhattan from over 1200 to 9.
Also should reduce the number of VkSamplers used with Chrome.
Bug: angleproject:4491
Change-Id: Idca00e4ed8cb660a0865281544aaa57cf884bbdb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2160771
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4671bcf0
|
2020-04-21T18:12:46
|
|
Fix program interface queries for arrays and built-ins
Program interface queries for arrays should return an invalid index
value for indices with leading zeroes.
Program interface queries should return invalid locations for built-in
variables.
Bug: angleproject:3596
Test: KHR-GLES31.core.program_interface_query.*
Change-Id: I484ab6e21dbe0c8a984e135ac947c4583a3fbfa2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159646
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
913f4f42
|
2020-04-15T00:54:37
|
|
Vulkan: Support VS, FS, and CS in the same PPO
This CL adds support for a Program Pipeline Object to have a VS, FS,
and CS attached to the same PPO and then using that PPO for both draw
and dispatch calls.
Bug: angleproject:3570
Test: KHR-GLES31.core.compute_shader.sso*
Change-Id: I262cdbdfd442f6db5ba2b45d1308003102b237cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2150078
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
78dcba58
|
2020-04-21T15:20:13
|
|
Refactor SyncHelper with vk::Resource
Set SyncVk's SyncHelper to inherit from vk::Resource.
Bug: angleproject:2517
Change-Id: I499414d97e611d029abc12622f19436cbdb3e1f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2160126
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1fc354fa
|
2020-04-22T11:49:00
|
|
Re-land: "Vulkan: Forward RenderBuffer/Surface dirty messages."
Re-land fixes ASSERT on Android GLES.
Previously we were only forwarding Texture staging changes to the
Framebuffer for re-sync. We could miss out on clears that were staged
in Surfaces and Renderbuffer attachments. Complete the chain by making
the SurfaceVk and RenderbufferVk forward notifications from the
VkImage.
Bug: angleproject:4517
Change-Id: I91d31213b115a58546b574caa574eebbb098266c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159294
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0e1798d6
|
2020-04-20T11:25:32
|
|
Vulkan: PPO: Allocate uniform descriptor set if list is empty
When a Program is used to draw, the buffers to hold uniforms are
allocated as part of updateUniforms(), and then if a buffer is
allocated, a corresponding descriptor set is allocated for each shader
stage with uniforms. However, if that Program is later bound to a PPO,
the PPO's descriptor set list is cleared as part of creating the
pipeline layout. This means the uniform descriptor sets need to be
re-allocated but using the previously allocated buffers so the
'anyNewBufferAllocated' flag isn't enough - we also need to check if
the PPO's list of descriptor sets is empty.
Bug: angleproject:3570
Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
Change-Id: Id8df587b4f5552012590a29d120b6899bbdf677b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2156936
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
dadd1986
|
2020-04-21T01:50:00
|
|
Implement GL_APPLE_clip_distance
- Built-in variable gl_ClipDistance has been added to compiler.
- Desktop GL: gl_ClipDistance is supported since GL 3.0. Enable/Disable
each gl_ClipDistances[i] works out of the box via glEnable().
- Vulkan/Metal: Use uniform variable to control writing to each
gl_ClipDistance. One bit flag controls one element in the gl_ClipDistance
array. The writing to the disabled element in vertex shader will be
ignored, and turned into zero assignment instead.
- Direct3D/Mobile GL: Not implemented yet.
- Added ClipDistanceTest to gl_tests and compiler unittests.
- GL_APPLE_clip_distance is a subset of GL_EXT_clip_cull_distance, so
GL_EXT_clip_cull_distance could be implemented in future if needed.
Bug: angleproject:4452
Change-Id: I571ac8b56826989808a680226a04bec4cf59988e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2084324
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
927ea225
|
2020-04-21T19:42:18
|
|
Vulkan: add vulkan error code in the error message
If driver returns error code that we do not know, we simply output
"unknown vulkan error code". Instead we should at least include the
actual errorCode here so that people can search up to see what it is.
Also remove the double period at the end of string and added a few other
vulkan error strings.
Bug: b/154665382
Change-Id: Ic4138e90534b4e7d97520fe10ac1477d2930d9c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2160130
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b5992a55
|
2020-04-21T07:58:47
|
|
Add capture support for FenceSync
This allows us to capture Angry Birds 2 traces.
Bug: b/153652100
Change-Id: I99a47f9e41a84218b3bb3d9740df4bb7fc2a01fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2144763
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
b7d6949b
|
2020-04-17T13:36:14
|
|
Vulkan: Enable persistently mapped buffer objects
The VMA allocator has a handy feature where during memory
allocation we can request persistently mapped memory.
This saves IOCTL overhead for apps that update buffers
frequently.
Bug: angleproject:2162
Change-Id: I870d880033beec343efae6de06f1c5935de4c2c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2155131
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
fe60973b
|
2020-04-21T11:21:03
|
|
Vulkan: Allow commands to completely fill allocation
If the remaining allocation size for commands in the
SecondaryCommandBuffer class is equal to the command allocation
size and the follow-on header, then we can fill the allocation.
Previously we were conservative and if the size needed exactly
equals the size remaining, we would allocate a new block.
Bug: b/154030403
Change-Id: Ie31f0f5d33782d12adbaea9e3b02598a004d7643
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2158817
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
9dc322d7
|
2020-04-21T11:41:43
|
|
GL: Make sure primitive restart emulation is disabled below GL 3.1
If the GL driver version is below 3.1, we cannot set the primitive
restart fixed index (ES3 wont be supported anyway). Make sure the
feature is disabled.
Speculative fix for crbug.com/1073020
BUG=chromium:1073020
BUG=angleproject:3997
Change-Id: I67756b377aa951da2e70c26f7db978ede9010586
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159289
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
03c18fbd
|
2020-04-13T16:01:01
|
|
Vulkan: Skip load if depth/stencil value are undefined
EGL1.5 spec says depth/stencil data are undefined after swap. This CL
will track the depth/stencil data and mark it as undefined and skip the
load if it is undefined.
Bug: b/153885625
Change-Id: Ifb3d88d442da547fa78c1eae091cbae08a20d0ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2148179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
764d572b
|
2020-04-21T11:15:41
|
|
Vulkan: Refactor SecondaryCommandBuffers class
A strictly cosmetic change to move code into alphabetical order.
In working with SecondaryCommandBuffer commands in separate CLs,
it can be difficult/annoying to track which commands are already
in place as some of them are out-of-order. This change puts the
command enums, functions, and processing in alphabetical order
to simplify searching and adding new commands.
Bug: b/154030403
Change-Id: I6dba4cf48d6f27c056585ac633c694e083b1a263
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2158816
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
e5491253
|
2020-04-17T12:37:00
|
|
Don't redefine VMA_IMPLEMENTATION in build files and source
VMA_IMPLEMENTATION is defined in the build files, it doesn't need
to be redefined in vk_mem_alloc_wrapper.cpp.
BUG=angleproject:2162
Change-Id: Ie4eceedd2dd3051f8431c7c8c86403250e93f98b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154538
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
623d0443
|
2020-04-21T15:15:03
|
|
Revert "Vulkan: Forward RenderBuffer/Surface dirty messages."
This reverts commit 3fb33ade6ec8f286797bff5645304df580b1a963.
Reason for revert: Causing WebGL test failures on GLES/ANGLE/Android.
Bug: chromium:1072739
Original change's description:
> Vulkan: Forward RenderBuffer/Surface dirty messages.
>
> Previously we were only forwarding Texture staging changes to the
> Framebuffer for re-sync. We could miss out on clears that were staged
> in Surfaces and Renderbuffer attachments. Complete the chain by making
> the SurfaceVk and RenderbufferVk forward notifications from the
> VkImage.
>
> Bug: angleproject:4517
> Change-Id: I15f36c225517e915f656d0c2464a99631ef9f945
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2150699
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=cnorthrop@google.com,timvp@google.com,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:4517
Change-Id: I4fd4d79dc11da0ba86065d3a80975de4c791a2a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159288
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
293c36c0
|
2020-04-20T17:35:19
|
|
Vulkan: Manual validation roll
Manually roll validation layers to latest and ignore two more VUIDs that
are being flagged with latest layers.
Bug: angleproject:4578
Bug: angleproject:4579
Bug: angleproject:4580
Change-Id: I4fc46d9df3fa3be4be1f8b773eb2d63e6f4bbd92
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2158265
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
902b5587
|
2020-04-19T13:54:48
|
|
CGL/EAGL: Fix default FBO size on Retina displays
This was found while trying to fix
https://github.com/glfw/glfw/issues/1169
VulkanSurfaceMtl and metal/SurfaceMtl already handle contentsScale
correctly.
Change-Id: I234d7b0901dd7c075cf1e9d58466f52140ab1e2b
Bug: None
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154670
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|