Module: Mesa Branch: main Commit: 7f47886cf12ab1754b735b43e4962e67fe6d97e1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f47886cf12ab1754b735b43e4962e67fe6d97e1
Author: Samuel Pitoiset <[email protected]> Date: Fri May 12 13:04:45 2023 +0200 radv: allow to determine NGG settings with a NULL fragment shader This shouldn't change anything because a noop FS doesn't read any inputs. Signed-off-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22848> --- src/amd/vulkan/radv_shader_info.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index 7da74cc8714..508b92fb7eb 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -1402,9 +1402,9 @@ radv_determine_ngg_settings(struct radv_device *device, struct radv_pipeline_sta const struct radv_pipeline_key *pipeline_key) { assert(es_stage->stage == MESA_SHADER_VERTEX || es_stage->stage == MESA_SHADER_TESS_EVAL); - assert(fs_stage->stage == MESA_SHADER_FRAGMENT); + assert(!fs_stage || fs_stage->stage == MESA_SHADER_FRAGMENT); - uint64_t ps_inputs_read = fs_stage->nir->info.inputs_read; + uint64_t ps_inputs_read = fs_stage ? fs_stage->nir->info.inputs_read : 0; unsigned num_vertices_per_prim = 0; if (es_stage->stage == MESA_SHADER_VERTEX) { @@ -1488,7 +1488,7 @@ radv_link_shaders_info(struct radv_device *device, gfx10_get_ngg_query_info(device, producer, gs_stage, pipeline_key); /* Determine other NGG settings like culling for VS or TES without GS. */ - if (!gs_stage && consumer) { + if (!gs_stage) { radv_determine_ngg_settings(device, producer, consumer, pipeline_key); } } else if (consumer && consumer->stage == MESA_SHADER_GEOMETRY) {
