mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 15:20:17 +01:00
radeonsi: reduce the number of FMASK input coordinates
Before: image_load v3, v[0:3] ... After: image_load v3, v[0:1] ... Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
28c06b3ceb
commit
8a2ae4153b
1 changed files with 3 additions and 7 deletions
|
|
@ -4395,16 +4395,12 @@ static void tex_fetch_args(
|
|||
struct lp_build_context *uint_bld = &bld_base->uint_bld;
|
||||
struct lp_build_emit_data txf_emit_data = *emit_data;
|
||||
LLVMValueRef txf_address[4];
|
||||
unsigned txf_count = count;
|
||||
/* We only need .xy for non-arrays, and .xyz for arrays. */
|
||||
unsigned txf_count = target == TGSI_TEXTURE_2D_MSAA ? 2 : 3;
|
||||
struct tgsi_full_instruction inst = {};
|
||||
|
||||
memcpy(txf_address, address, sizeof(txf_address));
|
||||
|
||||
if (target == TGSI_TEXTURE_2D_MSAA) {
|
||||
txf_address[2] = bld_base->uint_bld.zero;
|
||||
}
|
||||
txf_address[3] = bld_base->uint_bld.zero;
|
||||
|
||||
/* Read FMASK using TXF. */
|
||||
inst.Instruction.Opcode = TGSI_OPCODE_TXF;
|
||||
inst.Texture.Texture = target;
|
||||
|
|
@ -4425,7 +4421,7 @@ static void tex_fetch_args(
|
|||
txf_emit_data.output[0],
|
||||
uint_bld->zero, "");
|
||||
|
||||
unsigned sample_chan = target == TGSI_TEXTURE_2D_MSAA ? 2 : 3;
|
||||
unsigned sample_chan = txf_count; /* the sample index is last */
|
||||
|
||||
LLVMValueRef sample_index4 =
|
||||
LLVMBuildMul(gallivm->builder, address[sample_chan], four, "");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue