mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 13:50:09 +01:00
radv: allow wave32 for geometry shaders
Because is_ngg wasn't set early enough, radv_get_wave_size() would always return 64. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23336>
This commit is contained in:
parent
7d066330e0
commit
27047e11fb
2 changed files with 8 additions and 3 deletions
|
|
@ -2164,6 +2164,13 @@ radv_fill_shader_info_ngg(struct radv_device *device, struct radv_graphics_pipel
|
|||
else
|
||||
stages[MESA_SHADER_VERTEX].info.is_ngg = false;
|
||||
}
|
||||
|
||||
if (stages[MESA_SHADER_GEOMETRY].nir) {
|
||||
if (stages[MESA_SHADER_TESS_CTRL].nir)
|
||||
stages[MESA_SHADER_GEOMETRY].info.is_ngg = stages[MESA_SHADER_TESS_EVAL].info.is_ngg;
|
||||
else
|
||||
stages[MESA_SHADER_GEOMETRY].info.is_ngg = stages[MESA_SHADER_VERTEX].info.is_ngg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1596,10 +1596,8 @@ radv_nir_shader_info_merge(const struct radv_pipeline_stage *src, struct radv_pi
|
|||
dst_info->tes = src_info->tes;
|
||||
}
|
||||
|
||||
if (dst->stage == MESA_SHADER_GEOMETRY) {
|
||||
dst_info->is_ngg = src_info->is_ngg;
|
||||
if (dst->stage == MESA_SHADER_GEOMETRY)
|
||||
dst_info->gs.es_type = src->stage;
|
||||
}
|
||||
}
|
||||
|
||||
static const gl_shader_stage graphics_shader_order[] = {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue