mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 11:20:11 +01:00
st/mesa: make sure prog->info is up to date for NIR (v2)
so that info changes from pipe_screem::finalize_nir are reflected in gl_program v2: don't call nir_shader_gather_info again, because it crashes with freedreno Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6950>
This commit is contained in:
parent
1126b5cd2f
commit
549ae5f843
1 changed files with 11 additions and 0 deletions
|
|
@ -829,6 +829,17 @@ st_link_nir(struct gl_context *ctx,
|
||||||
struct gl_program *prog = shader->Program;
|
struct gl_program *prog = shader->Program;
|
||||||
struct st_program *stp = st_program(prog);
|
struct st_program *stp = st_program(prog);
|
||||||
|
|
||||||
|
/* Make sure that prog->info is in sync with nir->info, but st/mesa
|
||||||
|
* expects some of the values to be from before lowering.
|
||||||
|
*/
|
||||||
|
shader_info old_info = prog->info;
|
||||||
|
prog->info = prog->nir->info;
|
||||||
|
prog->info.num_ssbos = old_info.num_ssbos;
|
||||||
|
prog->info.num_ubos = old_info.num_ubos;
|
||||||
|
prog->info.num_abos = old_info.num_abos;
|
||||||
|
if (prog->info.stage == MESA_SHADER_VERTEX)
|
||||||
|
prog->info.inputs_read = old_info.inputs_read;
|
||||||
|
|
||||||
/* Initialize st_vertex_program members. */
|
/* Initialize st_vertex_program members. */
|
||||||
if (shader->Stage == MESA_SHADER_VERTEX)
|
if (shader->Stage == MESA_SHADER_VERTEX)
|
||||||
st_prepare_vertex_program(stp);
|
st_prepare_vertex_program(stp);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue