diff options
| author | Stenzek <stenzek@gmail.com> | 2016-11-13 15:38:32 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2016-12-04 20:10:13 +1000 |
| commit | cd3481fbc7c82e8a1a44bff7239928a8faabbb42 (patch) | |
| tree | d380e1055ed4b66dc4b0ba6c1fac47006e09e5c2 /Source/Core/VideoBackends/Vulkan/ObjectCache.h | |
| parent | d1c89db8c809a89d5576dc9ea524629cfc4d29a6 (diff) | |
Vulkan: Differentiate between descriptor set layouts and bind points
This also moves the pipeline and descriptor set layouts used for texture
conversion (texel buffers) to ObjectCache, and shares a binding location
with the SSBO set.
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/ObjectCache.h')
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/ObjectCache.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/ObjectCache.h b/Source/Core/VideoBackends/Vulkan/ObjectCache.h index 26593d139d..76ed886ecd 100644 --- a/Source/Core/VideoBackends/Vulkan/ObjectCache.h +++ b/Source/Core/VideoBackends/Vulkan/ObjectCache.h @@ -70,17 +70,23 @@ public: // - Same as standard, plus a single SSBO accessible from PS // - Push Constant // - Same as standard, plus 128 bytes of push constants, accessible from all stages. + // - Texture Conversion + // - Same as push constant, plus a single texel buffer accessible from PS. // // All three pipeline layouts use the same descriptor set layouts, but the final descriptor set // (SSBO) is only required when using the BBox Enabled pipeline layout. // - VkDescriptorSetLayout GetDescriptorSetLayout(DESCRIPTOR_SET set) const + VkDescriptorSetLayout GetDescriptorSetLayout(DESCRIPTOR_SET_LAYOUT set) const { return m_descriptor_set_layouts[set]; } VkPipelineLayout GetStandardPipelineLayout() const { return m_standard_pipeline_layout; } VkPipelineLayout GetBBoxPipelineLayout() const { return m_bbox_pipeline_layout; } VkPipelineLayout GetPushConstantPipelineLayout() const { return m_push_constant_pipeline_layout; } + VkPipelineLayout GetTextureConversionPipelineLayout() const + { + return m_texture_conversion_pipeline_layout; + } // Shared utility shader resources VertexFormat* GetUtilityShaderVertexFormat() const { @@ -157,11 +163,12 @@ private: void DestroySharedShaders(); void DestroySamplers(); - std::array<VkDescriptorSetLayout, NUM_DESCRIPTOR_SETS> m_descriptor_set_layouts = {}; + std::array<VkDescriptorSetLayout, NUM_DESCRIPTOR_SET_LAYOUTS> m_descriptor_set_layouts = {}; VkPipelineLayout m_standard_pipeline_layout = VK_NULL_HANDLE; VkPipelineLayout m_bbox_pipeline_layout = VK_NULL_HANDLE; VkPipelineLayout m_push_constant_pipeline_layout = VK_NULL_HANDLE; + VkPipelineLayout m_texture_conversion_pipeline_layout = VK_NULL_HANDLE; std::unique_ptr<VertexFormat> m_utility_shader_vertex_format; std::unique_ptr<StreamBuffer> m_utility_shader_vertex_buffer; |
