mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-04-01 09:25:24 +02: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)
|
if (imageView->info().mipCount <= 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this->spillRenderPass(false);
|
this->spillRenderPass(true);
|
||||||
this->invalidateState();
|
this->invalidateState();
|
||||||
|
|
||||||
|
this->prepareImage(imageView->image(), imageView->imageSubresources());
|
||||||
|
|
||||||
// Make sure we can both render to and read from the image
|
// Make sure we can both render to and read from the image
|
||||||
VkFormat viewFormat = imageView->info().format;
|
VkFormat viewFormat = imageView->info().format;
|
||||||
|
|
||||||
@ -4139,7 +4141,7 @@ namespace dxvk {
|
|||||||
attachmentIndex = -1;
|
attachmentIndex = -1;
|
||||||
|
|
||||||
if (attachmentIndex < 0) {
|
if (attachmentIndex < 0) {
|
||||||
this->spillRenderPass(false);
|
this->spillRenderPass(true);
|
||||||
|
|
||||||
this->prepareImage(imageView->image(), imageView->imageSubresources());
|
this->prepareImage(imageView->image(), imageView->imageSubresources());
|
||||||
this->flushPendingAccesses(*imageView->image(), imageView->imageSubresources(), DxvkAccess::Write);
|
this->flushPendingAccesses(*imageView->image(), imageView->imageSubresources(), DxvkAccess::Write);
|
||||||
@ -4243,7 +4245,7 @@ namespace dxvk {
|
|||||||
DxvkCmdBuffer cmdBuffer = DxvkCmdBuffer::InitBuffer;
|
DxvkCmdBuffer cmdBuffer = DxvkCmdBuffer::InitBuffer;
|
||||||
|
|
||||||
if (!prepareOutOfOrderTransfer(imageView->image(), DxvkAccess::Write)) {
|
if (!prepareOutOfOrderTransfer(imageView->image(), DxvkAccess::Write)) {
|
||||||
spillRenderPass(false);
|
spillRenderPass(true);
|
||||||
invalidateState();
|
invalidateState();
|
||||||
|
|
||||||
prepareImage(imageView->image(), imageView->imageSubresources());
|
prepareImage(imageView->image(), imageView->imageSubresources());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user