pan/midgard: Generalize temp coordinate to non-2D
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
1bce7fdecd
commit
9e5a1412ed
|
@ -1753,10 +1753,12 @@ emit_texop_native(compiler_context *ctx, nir_tex_instr *instr,
|
|||
case nir_tex_src_coord: {
|
||||
emit_explicit_constant(ctx, index, index);
|
||||
|
||||
unsigned coord_mask = mask_of(instr->coord_components);
|
||||
|
||||
if (needs_temp_coord) {
|
||||
/* mov coord_temp, coords */
|
||||
midgard_instruction mov = v_mov(index, coords);
|
||||
mov.mask = 0x3;
|
||||
mov.mask = coord_mask;
|
||||
emit_mir_instruction(ctx, mov);
|
||||
} else {
|
||||
coords = index;
|
||||
|
@ -1768,11 +1770,11 @@ emit_texop_native(compiler_context *ctx, nir_tex_instr *instr,
|
|||
* components to keep everything happy */
|
||||
|
||||
if (midgard_texop == TEXTURE_OP_TEXEL_FETCH) {
|
||||
/* mov index.zw, #0 */
|
||||
/* mov index.zw, #0, or generalized */
|
||||
midgard_instruction mov =
|
||||
v_mov(SSA_FIXED_REGISTER(REGISTER_CONSTANT), coords);
|
||||
mov.has_constants = true;
|
||||
mov.mask = (1 << COMPONENT_Z) | (1 << COMPONENT_W);
|
||||
mov.mask = coord_mask ^ 0xF;
|
||||
emit_mir_instruction(ctx, mov);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue