aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan')
-rw-r--r--src/Ryujinx.Graphics.Vulkan/ImageArray.cs2
-rw-r--r--src/Ryujinx.Graphics.Vulkan/ResourceArray.cs11
-rw-r--r--src/Ryujinx.Graphics.Vulkan/TextureArray.cs2
3 files changed, 11 insertions, 4 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/ImageArray.cs b/src/Ryujinx.Graphics.Vulkan/ImageArray.cs
index e42750d3..467b0111 100644
--- a/src/Ryujinx.Graphics.Vulkan/ImageArray.cs
+++ b/src/Ryujinx.Graphics.Vulkan/ImageArray.cs
@@ -95,7 +95,7 @@ namespace Ryujinx.Graphics.Vulkan
{
_cachedCommandBufferIndex = -1;
_storages = null;
- SetDirty(_gd);
+ SetDirty(_gd, isImage: true);
}
public void QueueWriteToReadBarriers(CommandBufferScoped cbs, PipelineStageFlags stageFlags)
diff --git a/src/Ryujinx.Graphics.Vulkan/ResourceArray.cs b/src/Ryujinx.Graphics.Vulkan/ResourceArray.cs
index 0880a10f..f96b4a84 100644
--- a/src/Ryujinx.Graphics.Vulkan/ResourceArray.cs
+++ b/src/Ryujinx.Graphics.Vulkan/ResourceArray.cs
@@ -14,13 +14,20 @@ namespace Ryujinx.Graphics.Vulkan
private int _bindCount;
- protected void SetDirty(VulkanRenderer gd)
+ protected void SetDirty(VulkanRenderer gd, bool isImage)
{
ReleaseDescriptorSet();
if (_bindCount != 0)
{
- gd.PipelineInternal.ForceTextureDirty();
+ if (isImage)
+ {
+ gd.PipelineInternal.ForceImageDirty();
+ }
+ else
+ {
+ gd.PipelineInternal.ForceTextureDirty();
+ }
}
}
diff --git a/src/Ryujinx.Graphics.Vulkan/TextureArray.cs b/src/Ryujinx.Graphics.Vulkan/TextureArray.cs
index 31c408d6..99238b1f 100644
--- a/src/Ryujinx.Graphics.Vulkan/TextureArray.cs
+++ b/src/Ryujinx.Graphics.Vulkan/TextureArray.cs
@@ -104,7 +104,7 @@ namespace Ryujinx.Graphics.Vulkan
{
_cachedCommandBufferIndex = -1;
_storages = null;
- SetDirty(_gd);
+ SetDirty(_gd, isImage: false);
}
public void QueueWriteToReadBarriers(CommandBufferScoped cbs, PipelineStageFlags stageFlags)