aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Vulkan/DescriptorSetTemplateUpdater.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan/DescriptorSetTemplateUpdater.cs')
-rw-r--r--src/Ryujinx.Graphics.Vulkan/DescriptorSetTemplateUpdater.cs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/DescriptorSetTemplateUpdater.cs b/src/Ryujinx.Graphics.Vulkan/DescriptorSetTemplateUpdater.cs
index 1eb9dce7..88db7e76 100644
--- a/src/Ryujinx.Graphics.Vulkan/DescriptorSetTemplateUpdater.cs
+++ b/src/Ryujinx.Graphics.Vulkan/DescriptorSetTemplateUpdater.cs
@@ -52,11 +52,23 @@ namespace Ryujinx.Graphics.Vulkan
return new DescriptorSetTemplateWriter(new Span<byte>(_data.Pointer, template.Size));
}
+ public DescriptorSetTemplateWriter Begin(int maxSize)
+ {
+ EnsureSize(maxSize);
+
+ return new DescriptorSetTemplateWriter(new Span<byte>(_data.Pointer, maxSize));
+ }
+
public void Commit(VulkanRenderer gd, Device device, DescriptorSet set)
{
gd.Api.UpdateDescriptorSetWithTemplate(device, set, _activeTemplate.Template, _data.Pointer);
}
+ public void CommitPushDescriptor(VulkanRenderer gd, CommandBufferScoped cbs, DescriptorSetTemplate template, PipelineLayout layout)
+ {
+ gd.PushDescriptorApi.CmdPushDescriptorSetWithTemplate(cbs.CommandBuffer, template.Template, layout, 0, _data.Pointer);
+ }
+
public void Dispose()
{
_data?.Dispose();