1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-02 13:29:14 +01:00

[dxvk] Unbind graphics pipeline when spilling render pass

Otherwise we may in some very rare cases continue using an incorrect
pipeline in subsequent render passes if the same shaders are used for
drawing.
This commit is contained in:
Philip Rebohle 2018-11-19 01:35:41 +01:00
parent 85f0fe729c
commit 5aad615aef
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -1242,7 +1242,6 @@ namespace dxvk {
return;
this->spillRenderPass();
this->unbindGraphicsPipeline();
m_barriers.recordCommands(m_cmd);
@ -1951,7 +1950,6 @@ namespace dxvk {
VkImageSubresourceLayers srcSubresource,
VkOffset3D srcOffset,
VkExtent3D extent) {
this->unbindGraphicsPipeline();
m_barriers.recordCommands(m_cmd);
auto srcSubresourceRange = vk::makeSubresourceRange(srcSubresource);
@ -2225,7 +2223,6 @@ namespace dxvk {
const Rc<DxvkImage>& srcImage,
const VkImageSubresourceLayers& srcSubresources,
VkFormat format) {
this->unbindGraphicsPipeline();
m_barriers.recordCommands(m_cmd);
// Create image views covering the requested subresourcs
@ -2361,6 +2358,7 @@ namespace dxvk {
m_queries.endQueries(m_cmd, VK_QUERY_TYPE_PIPELINE_STATISTICS);
this->renderPassUnbindFramebuffer();
this->unbindGraphicsPipeline();
m_flags.clr(DxvkContextFlag::GpDirtyXfbCounters);
}