aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIago Toral Quiroga <itoral@igalia.com>2019-07-19 07:54:54 (GMT)
committerIago Toral Quiroga <itoral@igalia.com>2019-07-22 06:05:59 (GMT)
commitdacaf7ec06f2b9f4c57e0aff842b8337eb78e8c5 (patch)
tree042abba7feea319086f53706f46842db09f1bd2a
parent9bf0bdf7762afef04b923c043242356ccd3de092 (diff)
downloadexternal_mesa3d-dacaf7ec06f2b9f4c57e0aff842b8337eb78e8c5.zip
external_mesa3d-dacaf7ec06f2b9f4c57e0aff842b8337eb78e8c5.tar.gz
external_mesa3d-dacaf7ec06f2b9f4c57e0aff842b8337eb78e8c5.tar.bz2
v3d: fill logicop_func in the fragment shader key when precompiling shaders
Since logicop_func 0 is PIPE_LOGIOP_CLEAR, we were trigger lowerinng of logic ops on precompiled shaders, which we don't want to do. Also, this had the side effect of making shader-db crash, as during this lowering we would try to read the color format swizzle information from the fragment shader key that we don't populate in precompiled shaders because right now we only need it when logic operations are enabled. Reviewed-by: Eric Anholt <eric@anholt.net>
-rw-r--r--src/gallium/drivers/v3d/v3d_program.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3d_program.c b/src/gallium/drivers/v3d/v3d_program.c
index 78c41c8..bfd1ebd 100644
--- a/src/gallium/drivers/v3d/v3d_program.c
+++ b/src/gallium/drivers/v3d/v3d_program.c
@@ -200,6 +200,8 @@ v3d_shader_precompile(struct v3d_context *v3d,
}
}
+ key.logicop_func = PIPE_LOGICOP_COPY;
+
v3d_setup_shared_precompile_key(so, &key.base);
v3d_get_compiled_shader(v3d, &key.base, sizeof(key));
} else {