mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
i965: Emit conditional code updates as required for GLSL VS if statements.
Previously, we'd be branching based on whatever condition code happened to be laying around.
This commit is contained in:
parent
011244853b
commit
7007f8b352
1 changed files with 13 additions and 0 deletions
|
|
@ -1558,6 +1558,19 @@ void brw_vs_emit(struct brw_vs_compile *c )
|
|||
"unknown");
|
||||
}
|
||||
|
||||
/* Set the predication update on the last instruction of the native
|
||||
* instruction sequence.
|
||||
*
|
||||
* This would be problematic if it was set on a math instruction,
|
||||
* but that shouldn't be the case with the current GLSL compiler.
|
||||
*/
|
||||
if (inst->CondUpdate) {
|
||||
struct brw_instruction *hw_insn = &p->store[p->nr_insn - 1];
|
||||
|
||||
assert(hw_insn->header.destreg__conditionalmod == 0);
|
||||
hw_insn->header.destreg__conditionalmod = BRW_CONDITIONAL_NZ;
|
||||
}
|
||||
|
||||
if ((inst->DstReg.File == PROGRAM_OUTPUT)
|
||||
&& (inst->DstReg.Index != VERT_RESULT_HPOS)
|
||||
&& c->output_regs[inst->DstReg.Index].used_in_src) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue