mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
update TexturesUsed[] in slang_update_inputs_outputs()
This commit is contained in:
parent
64f78dd6a8
commit
4428e8f20f
1 changed files with 10 additions and 0 deletions
|
|
@ -296,6 +296,7 @@ slang_resolve_branches(struct gl_program *prog)
|
|||
/**
|
||||
* Scan program instructions to update the program's InputsRead and
|
||||
* OutputsWritten fields.
|
||||
* Also, update the program's TexturesUsed[] array.
|
||||
*/
|
||||
static void
|
||||
slang_update_inputs_outputs(struct gl_program *prog)
|
||||
|
|
@ -305,6 +306,9 @@ slang_update_inputs_outputs(struct gl_program *prog)
|
|||
prog->InputsRead = 0x0;
|
||||
prog->OutputsWritten = 0x0;
|
||||
|
||||
for (i = 0; i < MAX_TEXTURE_IMAGE_UNITS; i++)
|
||||
prog->TexturesUsed[i] = 0;
|
||||
|
||||
for (i = 0; i < prog->NumInstructions; i++) {
|
||||
const struct prog_instruction *inst = prog->Instructions + i;
|
||||
const GLuint numSrc = _mesa_num_inst_src_regs(inst->Opcode);
|
||||
|
|
@ -316,6 +320,12 @@ slang_update_inputs_outputs(struct gl_program *prog)
|
|||
if (inst->DstReg.File == PROGRAM_OUTPUT) {
|
||||
prog->OutputsWritten |= 1 << inst->DstReg.Index;
|
||||
}
|
||||
|
||||
if (inst->Opcode == OPCODE_TEX ||
|
||||
inst->Opcode == OPCODE_TXB ||
|
||||
inst->Opcode == OPCODE_TXP) {
|
||||
prog->TexturesUsed[inst->TexSrcUnit] |= (1 << inst->TexSrcTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue