mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-15 17:30:32 +01:00
radeonsi/gfx9: don't read LS out vertex stride from an SGPR in monolithic HS
-44 bytes in a monolithic LS-HS binary. Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
f974bb768b
commit
89bf8668c2
2 changed files with 11 additions and 1 deletions
|
|
@ -408,6 +408,11 @@ static LLVMValueRef get_tcs_in_vertex_dw_stride(struct si_shader_context *ctx)
|
|||
return LLVMConstInt(ctx->i32, stride * 4, 0);
|
||||
|
||||
case PIPE_SHADER_TESS_CTRL:
|
||||
if (ctx->screen->b.chip_class >= GFX9 &&
|
||||
ctx->shader->is_monolithic) {
|
||||
stride = util_last_bit64(ctx->shader->key.part.tcs.ls->outputs_written);
|
||||
return LLVMConstInt(ctx->i32, stride * 4, 0);
|
||||
}
|
||||
return unpack_param(ctx, ctx->param_vs_state_bits, 24, 8);
|
||||
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -1291,7 +1291,12 @@ static inline void si_shader_selector_key(struct pipe_context *ctx,
|
|||
* - remove the fixup for unused input VGPRs
|
||||
*/
|
||||
key->part.tcs.ls_prolog.ls_vgpr_fix = sctx->ls_vgpr_fix;
|
||||
key->opt.prefer_mono = sctx->ls_vgpr_fix;
|
||||
|
||||
/* The LS output / HS input layout can be communicated
|
||||
* directly instead of via user SGPRs for merged LS-HS.
|
||||
* The LS VGPR fix prefers this too.
|
||||
*/
|
||||
key->opt.prefer_mono = 1;
|
||||
}
|
||||
|
||||
key->part.tcs.epilog.prim_mode =
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue