summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_set_program_inouts.cpp
diff options
context:
space:
mode:
authorChris Forbes <[email protected]>2013-11-29 21:30:58 +1300
committerChris Forbes <[email protected]>2013-12-07 17:15:03 +1300
commit2625a34bfcaccddf787eba443c118936ff95e1db (patch)
treeaa0cdf20e05f2cda715b336da6aee25f2ad8a468 /src/glsl/ir_set_program_inouts.cpp
parent6429cc05ca953dff2a49a44e9a1478fc6e4ccfa1 (diff)
glsl: Populate gl_fragment_program::IsSample bitfield
Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
Diffstat (limited to 'src/glsl/ir_set_program_inouts.cpp')
-rw-r--r--src/glsl/ir_set_program_inouts.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/glsl/ir_set_program_inouts.cpp b/src/glsl/ir_set_program_inouts.cpp
index ab23538c341..1a36527397e 100644
--- a/src/glsl/ir_set_program_inouts.cpp
+++ b/src/glsl/ir_set_program_inouts.cpp
@@ -27,7 +27,7 @@
* Sets the InputsRead and OutputsWritten of Mesa programs.
*
* Additionally, for fragment shaders, sets the InterpQualifier array, the
- * IsCentroid bitfield, and the UsesDFdy flag.
+ * IsCentroid and IsSample bitfields, and the UsesDFdy flag.
*
* Mesa programs (gl_program, not gl_shader_program) have a set of
* flags indicating which varyings are read and written. Computing
@@ -102,6 +102,8 @@ mark(struct gl_program *prog, ir_variable *var, int offset, int len,
(glsl_interp_qualifier) var->interpolation;
if (var->centroid)
fprog->IsCentroid |= bitfield;
+ if (var->sample)
+ fprog->IsSample |= bitfield;
}
} else if (var->mode == ir_var_system_value) {
prog->SystemValuesRead |= bitfield;
@@ -341,6 +343,7 @@ do_set_program_inouts(exec_list *instructions, struct gl_program *prog,
gl_fragment_program *fprog = (gl_fragment_program *) prog;
memset(fprog->InterpQualifier, 0, sizeof(fprog->InterpQualifier));
fprog->IsCentroid = 0;
+ fprog->IsSample = 0;
fprog->UsesDFdy = false;
fprog->UsesKill = false;
}