diff options
author | Timur Kristóf <[email protected]> | 2020-02-12 14:27:05 +0100 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-11 08:34:10 +0000 |
commit | fe80f22470a194f2736e2277f41acf246f27f1c8 (patch) | |
tree | f2bd7ac357209cbc8b94c1df52effd2159c32181 | |
parent | f53d31fb9b27b490a8773173707b244c5826b5a3 (diff) |
aco: Remove vertex_geometry_gs assertion from merged shaders.
We are going to support more kinds of merged shaders, such
as vertex_tess_control_hs and tess_eval_geometry_gs.
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Rhys Perry <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3964>
-rw-r--r-- | src/amd/compiler/aco_instruction_selection.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 63debb21b12..eadada9f277 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -9024,11 +9024,13 @@ void select_program(Program *program, if (i) { Builder bld(ctx.program, ctx.block); - assert(ctx.stage == vertex_geometry_gs); + bld.barrier(aco_opcode::p_memory_barrier_shared); bld.sopp(aco_opcode::s_barrier); - ctx.gs_wave_id = bld.sop2(aco_opcode::s_bfe_u32, bld.def(s1, m0), bld.def(s1, scc), get_arg(&ctx, args->merged_wave_info), Operand((8u << 16) | 16u)); + if (ctx.stage == vertex_geometry_gs) { + ctx.gs_wave_id = bld.sop2(aco_opcode::s_bfe_u32, bld.def(s1, m0), bld.def(s1, scc), get_arg(&ctx, args->merged_wave_info), Operand((8u << 16) | 16u)); + } } else if (ctx.stage == geometry_gs) ctx.gs_wave_id = get_arg(&ctx, args->gs_wave_id); |