diff options
-rw-r--r-- | src/compiler/glsl/ir_set_program_inouts.cpp | 3 | ||||
-rw-r--r-- | src/mesa/main/mtypes.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/glsl/ir_set_program_inouts.cpp b/src/compiler/glsl/ir_set_program_inouts.cpp index a6475b519e4..fcfbcd48c93 100644 --- a/src/compiler/glsl/ir_set_program_inouts.cpp +++ b/src/compiler/glsl/ir_set_program_inouts.cpp @@ -139,6 +139,8 @@ mark(struct gl_program *prog, ir_variable *var, int offset, int len, prog->PatchOutputsWritten |= bitfield; else if (!var->data.read_only) prog->OutputsWritten |= bitfield; + if (var->data.fb_fetch_output) + prog->OutputsRead |= bitfield; } } } @@ -444,6 +446,7 @@ do_set_program_inouts(exec_list *instructions, struct gl_program *prog, prog->InputsRead = 0; prog->OutputsWritten = 0; + prog->OutputsRead = 0; prog->PatchInputsRead = 0; prog->PatchOutputsWritten = 0; prog->SystemValuesRead = 0; diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 965de5dc8b4..d0ceda9ed25 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1907,6 +1907,7 @@ struct gl_program GLbitfield64 InputsRead; /**< Bitmask of which input regs are read */ GLbitfield64 DoubleInputsRead; /**< Bitmask of which input regs are read and are doubles */ GLbitfield64 OutputsWritten; /**< Bitmask of which output regs are written */ + GLbitfield64 OutputsRead; /**< Bitmask of which output regs are read */ GLbitfield PatchInputsRead; /**< VAR[0..31] usage for patch inputs (user-defined only) */ GLbitfield PatchOutputsWritten; /**< VAR[0..31] usage for patch outputs (user-defined only) */ GLbitfield SystemValuesRead; /**< Bitmask of SYSTEM_VALUE_x inputs used */ |