diff options
author | Alyssa Rosenzweig <[email protected]> | 2020-05-21 13:23:46 -0400 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-06-01 18:10:59 +0000 |
commit | 975238dc2a5bcf4a0d6d8a5560d05d03321aed6e (patch) | |
tree | f891196d50e4405afb4c225915cfad24bed0a507 /src | |
parent | 89a9cc764533f4cad123dc92c49e89bb181873c3 (diff) |
panfrost: Use VTX tag for vertex texturing
Fixes BARRIER faults.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284>
Diffstat (limited to 'src')
-rw-r--r-- | src/panfrost/midgard/midgard_schedule.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/panfrost/midgard/midgard_schedule.c b/src/panfrost/midgard/midgard_schedule.c index 59fa830f68b..d823155ccf1 100644 --- a/src/panfrost/midgard/midgard_schedule.c +++ b/src/panfrost/midgard/midgard_schedule.c @@ -821,7 +821,8 @@ mir_schedule_condition(compiler_context *ctx, static midgard_bundle mir_schedule_texture( midgard_instruction **instructions, - BITSET_WORD *worklist, unsigned len) + BITSET_WORD *worklist, unsigned len, + bool is_vertex) { struct midgard_predicate predicate = { .tag = TAG_TEXTURE_4, @@ -836,7 +837,8 @@ mir_schedule_texture( struct midgard_bundle out = { .tag = ins->texture.op == TEXTURE_OP_BARRIER ? - TAG_TEXTURE_4_BARRIER : TAG_TEXTURE_4, + TAG_TEXTURE_4_BARRIER : is_vertex ? + TAG_TEXTURE_4_VTX : TAG_TEXTURE_4, .instruction_count = 1, .instructions = { ins } }; @@ -1151,7 +1153,7 @@ schedule_block(compiler_context *ctx, midgard_block *block) midgard_bundle bundle; if (tag == TAG_TEXTURE_4) - bundle = mir_schedule_texture(instructions, worklist, len); + bundle = mir_schedule_texture(instructions, worklist, len, ctx->stage != MESA_SHADER_FRAGMENT); else if (tag == TAG_LOAD_STORE_4) bundle = mir_schedule_ldst(instructions, worklist, len); else if (tag == TAG_ALU_4) |