mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
tu: Don't use pipeline layout to emit shared const enable
It won't exist when we emit this at draw time for shader objects. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25679>
This commit is contained in:
parent
785290836b
commit
af691ec8e4
1 changed files with 18 additions and 18 deletions
|
|
@ -1157,8 +1157,8 @@ tu6_emit_program_config(struct tu_cs *cs,
|
|||
{
|
||||
STATIC_ASSERT(MESA_SHADER_VERTEX == 0);
|
||||
|
||||
bool shared_consts_enable = tu6_shared_constants_enable(&builder->layout,
|
||||
builder->device->compiler);
|
||||
bool shared_consts_enable =
|
||||
pipeline->program.shared_consts.type == IR3_PUSH_CONSTS_SHARED;
|
||||
tu6_emit_shared_consts_enable<CHIP>(cs, shared_consts_enable);
|
||||
|
||||
tu_cs_emit_regs(cs, HLSQ_INVALIDATE_CMD(CHIP,
|
||||
|
|
@ -2306,6 +2306,22 @@ tu_pipeline_builder_parse_shader_stages(struct tu_pipeline_builder *builder,
|
|||
}
|
||||
}
|
||||
|
||||
for (unsigned i = 0; i < ARRAY_SIZE(variants); i++) {
|
||||
if (!variants[i])
|
||||
continue;
|
||||
|
||||
tu_pipeline_set_linkage(&pipeline->program.link[i],
|
||||
&pipeline->shaders[i]->const_state,
|
||||
variants[i]);
|
||||
|
||||
struct tu_push_constant_range *push_consts =
|
||||
&pipeline->shaders[i]->const_state.push_consts;
|
||||
if (push_consts->type == IR3_PUSH_CONSTS_SHARED ||
|
||||
push_consts->type == IR3_PUSH_CONSTS_SHARED_PREAMBLE) {
|
||||
pipeline->program.shared_consts = *push_consts;
|
||||
}
|
||||
}
|
||||
|
||||
/* Emit HLSQ_xS_CNTL/HLSQ_SP_xS_CONFIG *first*, before emitting anything
|
||||
* else that could depend on that state (like push constants)
|
||||
*
|
||||
|
|
@ -2340,22 +2356,6 @@ tu_pipeline_builder_parse_shader_stages(struct tu_pipeline_builder *builder,
|
|||
pipeline->shaders[MESA_SHADER_GEOMETRY]->binning_state;
|
||||
pipeline->program.fs_state = draw_states[MESA_SHADER_FRAGMENT];
|
||||
|
||||
for (unsigned i = 0; i < ARRAY_SIZE(variants); i++) {
|
||||
if (!variants[i])
|
||||
continue;
|
||||
|
||||
tu_pipeline_set_linkage(&pipeline->program.link[i],
|
||||
&pipeline->shaders[i]->const_state,
|
||||
variants[i]);
|
||||
|
||||
struct tu_push_constant_range *push_consts =
|
||||
&pipeline->shaders[i]->const_state.push_consts;
|
||||
if (push_consts->type == IR3_PUSH_CONSTS_SHARED ||
|
||||
push_consts->type == IR3_PUSH_CONSTS_SHARED_PREAMBLE) {
|
||||
pipeline->program.shared_consts = *push_consts;
|
||||
}
|
||||
}
|
||||
|
||||
const struct ir3_shader_variant *vs = variants[MESA_SHADER_VERTEX];
|
||||
const struct ir3_shader_variant *hs = variants[MESA_SHADER_TESS_CTRL];
|
||||
const struct ir3_shader_variant *ds = variants[MESA_SHADER_TESS_EVAL];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue