mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 14:00:16 +01:00
tgsi: emit code for SVIEWINFO and SAMPLE_I
Can handle them since the single sampler interface was introduced. v2: simplify txf/sample_i handling a bit according to Brian's feedback. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
7b3a0bb45d
commit
f33c744fb9
1 changed files with 10 additions and 3 deletions
|
|
@ -2147,13 +2147,20 @@ exec_txf(struct tgsi_exec_machine *mach,
|
|||
float rgba[TGSI_NUM_CHANNELS][TGSI_QUAD_SIZE];
|
||||
int j;
|
||||
int8_t offsets[3];
|
||||
unsigned target;
|
||||
|
||||
/* always fetch all 3 offsets, overkill but keeps code simple */
|
||||
fetch_texel_offsets(mach, inst, offsets);
|
||||
|
||||
IFETCH(&r[3], 0, TGSI_CHAN_W);
|
||||
|
||||
switch(inst->Texture.Texture) {
|
||||
if (inst->Instruction.Opcode == TGSI_OPCODE_SAMPLE_I) {
|
||||
target = mach->SamplerViews[unit].Resource;
|
||||
}
|
||||
else {
|
||||
target = inst->Texture.Texture;
|
||||
}
|
||||
switch(target) {
|
||||
case TGSI_TEXTURE_3D:
|
||||
case TGSI_TEXTURE_2D_ARRAY:
|
||||
case TGSI_TEXTURE_SHADOW2D_ARRAY:
|
||||
|
|
@ -4339,7 +4346,7 @@ exec_instruction(
|
|||
break;
|
||||
|
||||
case TGSI_OPCODE_SAMPLE_I:
|
||||
assert(0);
|
||||
exec_txf(mach, inst);
|
||||
break;
|
||||
|
||||
case TGSI_OPCODE_SAMPLE_I_MS:
|
||||
|
|
@ -4375,7 +4382,7 @@ exec_instruction(
|
|||
break;
|
||||
|
||||
case TGSI_OPCODE_SVIEWINFO:
|
||||
assert(0);
|
||||
exec_txq(mach, inst);
|
||||
break;
|
||||
|
||||
case TGSI_OPCODE_SAMPLE_POS:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue