vkd3d: Add local root signature objects to RTPSO.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
Hans-Kristian Arntzen 2021-08-24 16:19:01 +02:00
parent 6802d9e5a3
commit 393ef6261b
2 changed files with 19 additions and 0 deletions

View File

@ -123,6 +123,16 @@ static void d3d12_state_object_cleanup(struct d3d12_state_object *object)
vkd3d_free(object->collections);
VK_CALL(vkDestroyPipeline(object->device->vk_device, object->pipeline, NULL));
VK_CALL(vkDestroyPipelineLayout(object->device->vk_device,
object->local_static_sampler.pipeline_layout, NULL));
VK_CALL(vkDestroyDescriptorSetLayout(object->device->vk_device,
object->local_static_sampler.set_layout, NULL));
if (object->local_static_sampler.desc_set)
{
vkd3d_sampler_state_free_descriptor_set(&object->device->sampler_state, object->device,
object->local_static_sampler.desc_set, object->local_static_sampler.desc_pool);
}
}
static ULONG d3d12_state_object_release(struct d3d12_state_object *state_object)

View File

@ -2999,6 +2999,15 @@ struct d3d12_state_object
VkPipeline pipeline;
struct
{
VkDescriptorSetLayout set_layout;
VkPipelineLayout pipeline_layout;
VkDescriptorSet desc_set;
VkDescriptorPool desc_pool;
uint32_t set_index;
} local_static_sampler;
UINT64 pipeline_stack_size;
struct d3d12_state_object_stack_info stack;