From 69136f4e633be4eeed0b226b02c9876511414b76 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 27 Apr 2017 01:47:22 +0100 Subject: radv/meta: add resolve pass using fragment/vertex shaders In order to resolve into DCC enabled dests we need to use the fragment shader. This reuses the code from the compute path and implements a resolve path in vertex/fragment shader. This code isn't used until later. Reviewed-by: Bas Nieuwenhuizen Signed-off-by: Dave Airlie --- src/amd/vulkan/radv_meta.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/amd/vulkan/radv_meta.c') diff --git a/src/amd/vulkan/radv_meta.c b/src/amd/vulkan/radv_meta.c index 3155f07f6ab..5899e77e0f9 100644 --- a/src/amd/vulkan/radv_meta.c +++ b/src/amd/vulkan/radv_meta.c @@ -350,8 +350,14 @@ radv_device_init_meta(struct radv_device *device) result = radv_device_init_meta_resolve_compute_state(device); if (result != VK_SUCCESS) goto fail_resolve_compute; + + result = radv_device_init_meta_resolve_fragment_state(device); + if (result != VK_SUCCESS) + goto fail_resolve_fragment; return VK_SUCCESS; +fail_resolve_fragment: + radv_device_finish_meta_resolve_compute_state(device); fail_resolve_compute: radv_device_finish_meta_fast_clear_flush_state(device); fail_fast_clear: @@ -388,6 +394,7 @@ radv_device_finish_meta(struct radv_device *device) radv_device_finish_meta_buffer_state(device); radv_device_finish_meta_fast_clear_flush_state(device); radv_device_finish_meta_resolve_compute_state(device); + radv_device_finish_meta_resolve_fragment_state(device); radv_store_meta_pipeline(device); radv_pipeline_cache_finish(&device->meta_state.cache); -- cgit v1.2.3