GPUDevice: Add support for feedback loops

This commit is contained in:
Stenzek
2024-03-08 17:55:02 +10:00
parent cc5f9a12b1
commit 72ab669e70
23 changed files with 426 additions and 191 deletions

View File

@ -81,6 +81,7 @@ public:
MAX_VERTEX_ATTRIBUTES = 16,
MAX_VERTEX_BUFFERS = 8,
MAX_ATTACHMENTS = GPUDevice::MAX_RENDER_TARGETS + 1,
MAX_INPUT_ATTACHMENTS = 1,
MAX_DYNAMIC_STATE = 8
};
@ -144,6 +145,7 @@ public:
void SetDynamicRendering();
void AddDynamicRenderingColorAttachment(VkFormat format);
void SetDynamicRenderingDepthAttachment(VkFormat depth_format, VkFormat stencil_format);
void AddDynamicRenderingInputAttachment(u32 color_attachment_index);
private:
VkGraphicsPipelineCreateInfo m_ci;
@ -174,7 +176,9 @@ private:
VkPipelineRasterizationLineStateCreateInfoEXT m_line_rasterization_state;
VkPipelineRenderingCreateInfoKHR m_rendering;
VkRenderingAttachmentLocationInfoKHR m_rendering_input_attachment_locations;
std::array<VkFormat, MAX_ATTACHMENTS> m_rendering_color_formats;
std::array<u32, MAX_INPUT_ATTACHMENTS> m_rendering_input_attachment_indices;
};
class ComputePipelineBuilder