update parallel rdp

This commit is contained in:
Logan McNaughton
2022-07-03 09:28:24 -06:00
parent e6ebcd840f
commit abfe7e2d30
13 changed files with 244 additions and 101 deletions
@@ -168,7 +168,7 @@ using CommandBufferSaveStateFlags = uint32_t;
struct CommandBufferSavedState
{
CommandBufferSaveStateFlags flags = 0;
CommandBufferSaveStateFlags flags;
ResourceBindings bindings;
VkViewport viewport;
VkRect2D scissor;
@@ -675,10 +675,10 @@ public:
void end_debug_channel();
void extract_pipeline_state(DeferredPipelineCompile &compile) const;
static VkPipeline build_graphics_pipeline(Device *device, const DeferredPipelineCompile &compile,
bool synchronous = true);
static VkPipeline build_compute_pipeline(Device *device, const DeferredPipelineCompile &compile,
bool synchronous = true);
static Pipeline build_graphics_pipeline(Device *device, const DeferredPipelineCompile &compile,
bool synchronous = true);
static Pipeline build_compute_pipeline(Device *device, const DeferredPipelineCompile &compile,
bool synchronous = true);
bool flush_pipeline_state_without_blocking();
@@ -701,7 +701,7 @@ private:
VkDescriptorSet bindless_sets[VULKAN_NUM_DESCRIPTOR_SETS] = {};
VkDescriptorSet allocated_sets[VULKAN_NUM_DESCRIPTOR_SETS] = {};
VkPipeline current_pipeline = VK_NULL_HANDLE;
Pipeline current_pipeline = {};
VkPipelineLayout current_pipeline_layout = VK_NULL_HANDLE;
PipelineLayout *current_layout = nullptr;
VkSubpassContents current_contents = VK_SUBPASS_CONTENTS_INLINE;
@@ -771,6 +771,8 @@ private:
Vulkan::BufferHandle debug_channel_buffer;
DebugChannelInterface *debug_channel_interface = nullptr;
void bind_pipeline(VkPipelineBindPoint bind_point, VkPipeline pipeline, uint32_t active_dynamic_state);
static void update_hash_graphics_pipeline(DeferredPipelineCompile &compile, uint32_t &active_vbos);
static void update_hash_compute_pipeline(DeferredPipelineCompile &compile);
};