ir3: don't sync every TCS/GEOM block
TCS/GEOM shaders need (sy)(ss) on their first instruction but we accidentally set it on the first instruction of every block. Signed-off-by: Job Noorman <jnoorman@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34257>
This commit is contained in:
@@ -5985,12 +5985,10 @@ ir3_compile_shader_nir(struct ir3_compiler *compiler,
|
|||||||
* know what we might have to wait on when coming in from VS chsh.
|
* know what we might have to wait on when coming in from VS chsh.
|
||||||
*/
|
*/
|
||||||
if (so->type == MESA_SHADER_TESS_CTRL || so->type == MESA_SHADER_GEOMETRY) {
|
if (so->type == MESA_SHADER_TESS_CTRL || so->type == MESA_SHADER_GEOMETRY) {
|
||||||
foreach_block (block, &ir->block_list) {
|
struct ir3_block *first_block = ir3_start_block(ir);
|
||||||
foreach_instr (instr, &block->instr_list) {
|
struct ir3_instruction *first_instr = list_first_entry(
|
||||||
instr->flags |= IR3_INSTR_SS | IR3_INSTR_SY;
|
&first_block->instr_list, struct ir3_instruction, node);
|
||||||
break;
|
first_instr->flags |= IR3_INSTR_SS | IR3_INSTR_SY;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx->compiler->gen >= 7 && so->type == MESA_SHADER_COMPUTE) {
|
if (ctx->compiler->gen >= 7 && so->type == MESA_SHADER_COMPUTE) {
|
||||||
|
|||||||
Reference in New Issue
Block a user