mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 22:18:13 +02:00
zink: fix streamout for tess stage
the tess shader needs to actually emit xfb stuff in order for it to work Fixes:2891e0b74e("zink: pull xfb info from tess shader when applicable") Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9013> (cherry picked from commit8721a6cbf2)
This commit is contained in:
parent
93be7a0aee
commit
f9a57d53c9
3 changed files with 4 additions and 4 deletions
|
|
@ -3253,7 +3253,7 @@
|
|||
"description": "zink: fix streamout for tess stage",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "2891e0b74e6c6dc4a93bc73536949dbb93c2bb50"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2931,8 +2931,8 @@ nir_to_spirv(struct nir_shader *s, const struct zink_so_info *so_info,
|
|||
|
||||
emit_cf_list(&ctx, &entry->body);
|
||||
|
||||
/* vertex shader emits copied xfb outputs at the end of the shader */
|
||||
if (so_info && ctx.stage == MESA_SHADER_VERTEX)
|
||||
/* vertex/tess shader emits copied xfb outputs at the end of the shader */
|
||||
if (so_info && (ctx.stage == MESA_SHADER_VERTEX || ctx.stage == MESA_SHADER_TESS_EVAL))
|
||||
emit_so_outputs(&ctx, so_info);
|
||||
|
||||
spirv_builder_return(&ctx.builder); // doesn't belong here, but whatevz
|
||||
|
|
|
|||
|
|
@ -691,7 +691,7 @@ zink_create_tes_state(struct pipe_context *pctx,
|
|||
else
|
||||
nir = (struct nir_shader *)shader->ir.nir;
|
||||
|
||||
return zink_shader_create(zink_screen(pctx->screen), nir, NULL);
|
||||
return zink_shader_create(zink_screen(pctx->screen), nir, &shader->stream_output);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue