mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 20:48:08 +02:00
tgsi: handle TG4 opcode in tgsi exec
This just adds a new modifier interface for drivers to implement. Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
3f5c67d651
commit
a6861ecfc9
2 changed files with 12 additions and 2 deletions
|
|
@ -1952,7 +1952,7 @@ fetch_texel( struct tgsi_sampler *sampler,
|
|||
#define TEX_MODIFIER_LOD_BIAS 2
|
||||
#define TEX_MODIFIER_EXPLICIT_LOD 3
|
||||
#define TEX_MODIFIER_LEVEL_ZERO 4
|
||||
|
||||
#define TEX_MODIFIER_GATHER 5
|
||||
|
||||
/*
|
||||
* Fetch all 3 (for s,t,r coords) texel offsets, put them into int array.
|
||||
|
|
@ -2069,6 +2069,8 @@ exec_tex(struct tgsi_exec_machine *mach,
|
|||
control = tgsi_sampler_lod_explicit;
|
||||
else if (modifier == TEX_MODIFIER_LOD_BIAS)
|
||||
control = tgsi_sampler_lod_bias;
|
||||
else if (modifier == TEX_MODIFIER_GATHER)
|
||||
control = tgsi_sampler_gather;
|
||||
}
|
||||
else {
|
||||
for (i = dim; i < Elements(args); i++)
|
||||
|
|
@ -4374,6 +4376,13 @@ exec_instruction(
|
|||
exec_tex(mach, inst, TEX_MODIFIER_PROJECTED, 1);
|
||||
break;
|
||||
|
||||
case TGSI_OPCODE_TG4:
|
||||
/* src[0] = texcoord */
|
||||
/* src[1] = component */
|
||||
/* src[2] = sampler unit */
|
||||
exec_tex(mach, inst, TEX_MODIFIER_GATHER, 2);
|
||||
break;
|
||||
|
||||
case TGSI_OPCODE_UP2H:
|
||||
assert (0);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -93,7 +93,8 @@ enum tgsi_sampler_control {
|
|||
tgsi_sampler_lod_bias,
|
||||
tgsi_sampler_lod_explicit,
|
||||
tgsi_sampler_lod_zero,
|
||||
tgsi_sampler_derivs_explicit
|
||||
tgsi_sampler_derivs_explicit,
|
||||
tgsi_sampler_gather,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue