mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-28 02:19:26 +01:00
[dxvk] Properly suspend render pass in various functions
Otherwise we'll flush clears for no reason at all.
This commit is contained in:
parent
c421560da9
commit
e14f7f4078
@ -1292,9 +1292,11 @@ namespace dxvk {
|
||||
if (imageView->info().mipCount <= 1)
|
||||
return;
|
||||
|
||||
this->spillRenderPass(false);
|
||||
this->spillRenderPass(true);
|
||||
this->invalidateState();
|
||||
|
||||
this->prepareImage(imageView->image(), imageView->imageSubresources());
|
||||
|
||||
// Make sure we can both render to and read from the image
|
||||
VkFormat viewFormat = imageView->info().format;
|
||||
|
||||
@ -4139,7 +4141,7 @@ namespace dxvk {
|
||||
attachmentIndex = -1;
|
||||
|
||||
if (attachmentIndex < 0) {
|
||||
this->spillRenderPass(false);
|
||||
this->spillRenderPass(true);
|
||||
|
||||
this->prepareImage(imageView->image(), imageView->imageSubresources());
|
||||
this->flushPendingAccesses(*imageView->image(), imageView->imageSubresources(), DxvkAccess::Write);
|
||||
@ -4243,7 +4245,7 @@ namespace dxvk {
|
||||
DxvkCmdBuffer cmdBuffer = DxvkCmdBuffer::InitBuffer;
|
||||
|
||||
if (!prepareOutOfOrderTransfer(imageView->image(), DxvkAccess::Write)) {
|
||||
spillRenderPass(false);
|
||||
spillRenderPass(true);
|
||||
invalidateState();
|
||||
|
||||
prepareImage(imageView->image(), imageView->imageSubresources());
|
||||
|
Loading…
x
Reference in New Issue
Block a user