diff options
author | Samuel Pitoiset <[email protected]> | 2019-05-30 11:52:56 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2019-06-07 13:10:55 +0200 |
commit | 2dd8dfd9137ac561aac3c453c1c7ad6683bd17b4 (patch) | |
tree | 37c7a9c8a0ffc1ba7053f41d44e5365ce0e0ee46 /src/amd/vulkan | |
parent | d78990c1742e084cde2e5b25d063810ef00fda80 (diff) |
radv: allow to set dynamic sample locations to the depth decompress pass
If VK_EXT_sample_locations is used, the driver might need to emit
the sample locations specified during layout transitions.
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-By: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/vulkan')
-rw-r--r-- | src/amd/vulkan/radv_meta_decompress.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_meta_decompress.c b/src/amd/vulkan/radv_meta_decompress.c index fe8e114e91b..c51beb0c32d 100644 --- a/src/amd/vulkan/radv_meta_decompress.c +++ b/src/amd/vulkan/radv_meta_decompress.c @@ -126,6 +126,11 @@ create_pipeline(struct radv_device *device, goto cleanup; } + const VkPipelineSampleLocationsStateCreateInfoEXT sample_locs_create_info = { + .sType = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT, + .sampleLocationsEnable = false, + }; + const VkGraphicsPipelineCreateInfo pipeline_create_info = { .sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, .stageCount = 2, @@ -168,6 +173,7 @@ create_pipeline(struct radv_device *device, }, .pMultisampleState = &(VkPipelineMultisampleStateCreateInfo) { .sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, + .pNext = &sample_locs_create_info, .rasterizationSamples = samples, .sampleShadingEnable = false, .pSampleMask = NULL, @@ -189,10 +195,11 @@ create_pipeline(struct radv_device *device, }, .pDynamicState = &(VkPipelineDynamicStateCreateInfo) { .sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO, - .dynamicStateCount = 2, + .dynamicStateCount = 3, .pDynamicStates = (VkDynamicState[]) { VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR, + VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT, }, }, .layout = layout, |