diff options
author | Dave Airlie <[email protected]> | 2017-04-27 01:47:22 +0100 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2017-05-07 23:41:39 +0100 |
commit | 69136f4e633be4eeed0b226b02c9876511414b76 (patch) | |
tree | 4d7caf5fcc415a1f900d9378903f745f2e234fbc /src/amd/vulkan/radv_meta.c | |
parent | 19be95f71e6e0fbb00032d5b52f7b0c95ecd49db (diff) |
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 <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_meta.c')
-rw-r--r-- | src/amd/vulkan/radv_meta.c | 7 |
1 files changed, 7 insertions, 0 deletions
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); |