mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 09:18:04 +02:00
tgsi: fix incorrect usage_mask for shadow tex instructions
The shadow versions of the texture targets use an extra component
(Z) to express distance from light source to the fragment.
Fixes the shadowtex demo with llvmpipe.
(cherry picked from commit 95254bbd2d)
This commit is contained in:
parent
8e8a42ffc5
commit
71b4054a6c
1 changed files with 6 additions and 5 deletions
|
|
@ -262,19 +262,20 @@ tgsi_util_get_inst_usage_mask(const struct tgsi_full_instruction *inst,
|
|||
case TGSI_OPCODE_TXL:
|
||||
case TGSI_OPCODE_TXP:
|
||||
if (src_idx == 0) {
|
||||
/* Note that the SHADOW variants use the Z component too */
|
||||
switch (inst->Texture.Texture) {
|
||||
case TGSI_TEXTURE_1D:
|
||||
case TGSI_TEXTURE_SHADOW1D:
|
||||
read_mask = TGSI_WRITEMASK_X;
|
||||
break;
|
||||
|
||||
case TGSI_TEXTURE_SHADOW1D:
|
||||
read_mask = TGSI_WRITEMASK_XZ;
|
||||
break;
|
||||
case TGSI_TEXTURE_2D:
|
||||
case TGSI_TEXTURE_RECT:
|
||||
case TGSI_TEXTURE_SHADOW2D:
|
||||
case TGSI_TEXTURE_SHADOWRECT:
|
||||
read_mask = TGSI_WRITEMASK_XY;
|
||||
break;
|
||||
|
||||
case TGSI_TEXTURE_SHADOW2D:
|
||||
case TGSI_TEXTURE_SHADOWRECT:
|
||||
case TGSI_TEXTURE_3D:
|
||||
case TGSI_TEXTURE_CUBE:
|
||||
read_mask = TGSI_WRITEMASK_XYZ;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue