Module: Mesa Branch: main Commit: 59084f05fc8ba6aa3b8fb0221792da3ab050784c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=59084f05fc8ba6aa3b8fb0221792da3ab050784c
Author: Rhys Perry <[email protected]> Date: Mon Sep 6 18:21:46 2021 +0100 radv: don't require a GS copy shader to use the cache with NGG VS+GS Fixes dEQP-VK.pipeline.cache.no_cache_control.readwrite_cache.pipeline_from_get_data.vertex_stage_geometry_stage_fragment_stage Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Fixes: 7e664a53835 ("radv: Don't generate GS copy shader when the pipeline has NGG.") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12741> --- src/amd/vulkan/radv_pipeline.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 0ffccd76698..5c1a39bf732 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -3376,7 +3376,8 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_device *device, radv_create_shader_variants_from_pipeline_cache(device, cache, hash, pipeline->shaders, stack_sizes, num_stack_sizes, &found_in_application_cache) && - (!modules[MESA_SHADER_GEOMETRY] || pipeline->gs_copy_shader)) { + (!modules[MESA_SHADER_GEOMETRY] || pipeline->gs_copy_shader || + pipeline->shaders[MESA_SHADER_GEOMETRY]->info.is_ngg)) { radv_stop_feedback(pipeline_feedback, found_in_application_cache); return VK_SUCCESS; }
