зеркало из https://github.com/AvaloniaUI/angle.git
Vulkan: Fix spammy best practices message
A GPU WRITE->HOST barrier frequently issued when the GPU outputs to a host-visible buffer used the ALL_COMMANDS stage mask causing a best practices message. This message is suppressed in ANGLE, but shows up in RenderDoc and clutters the output. Bug: angleproject:5070 Change-Id: I59aa7f8c7b3bf2788a3f7ae0ab6abdb4d3cd175e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265606 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
This commit is contained in:
Родитель
f16d7b9cee
Коммит
79a5dc0af7
|
@ -5292,8 +5292,21 @@ angle::Result ContextVk::flushAndGetSerial(const vk::Semaphore *signalSemaphore,
|
|||
memoryBarrier.srcAccessMask = VK_ACCESS_MEMORY_WRITE_BIT;
|
||||
memoryBarrier.dstAccessMask = VK_ACCESS_HOST_READ_BIT | VK_ACCESS_HOST_WRITE_BIT;
|
||||
|
||||
const VkPipelineStageFlags supportedShaderStages =
|
||||
(VK_PIPELINE_STAGE_VERTEX_SHADER_BIT |
|
||||
VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT |
|
||||
VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT |
|
||||
VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT |
|
||||
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT) &
|
||||
mRenderer->getSupportedVulkanPipelineStageMask();
|
||||
const VkPipelineStageFlags bufferWriteStages =
|
||||
VK_PIPELINE_STAGE_TRANSFER_BIT | supportedShaderStages |
|
||||
(getFeatures().supportsTransformFeedbackExtension.enabled
|
||||
? VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
|
||||
: 0);
|
||||
|
||||
mOutsideRenderPassCommands->getCommandBuffer().memoryBarrier(
|
||||
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_HOST_BIT, &memoryBarrier);
|
||||
bufferWriteStages, VK_PIPELINE_STAGE_HOST_BIT, &memoryBarrier);
|
||||
mIsAnyHostVisibleBufferWritten = false;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче