summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2010-10-15 13:23:05 +0100
committerKeith Whitwell <[email protected]>2010-10-15 14:49:13 +0100
commitffab84c9a27a229e6fa14c3de63868bb843c0f3e (patch)
tree400dba12f1ffc7d3b3d44b77edc41f1b57c2b623 /src/gallium
parenta14376218e649ccf3a5187b40409480dbdabcf02 (diff)
llvmpipe: check shader outputs are non-null before using
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_fs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c
index 8df807cec88..c4b1b868b65 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_fs.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c
@@ -345,7 +345,7 @@ generate_fs(struct llvmpipe_context *lp,
TGSI_SEMANTIC_COLOR,
0);
- if (color0 != -1) {
+ if (color0 != -1 && outputs[color0][3]) {
LLVMValueRef alpha = LLVMBuildLoad(builder, outputs[color0][3], "alpha");
LLVMValueRef alpha_ref_value;
@@ -364,7 +364,7 @@ generate_fs(struct llvmpipe_context *lp,
TGSI_SEMANTIC_POSITION,
0);
- if (pos0 != -1) {
+ if (pos0 != -1 && outputs[pos0][2]) {
z = LLVMBuildLoad(builder, outputs[pos0][2], "z");
lp_build_name(z, "output%u.%u.%c", i, pos0, "xyzw"[chan]);
}