summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util/u_simple_shaders.h
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2014-11-15 13:29:25 -0500
committerIlia Mirkin <[email protected]>2014-11-17 22:17:49 -0500
commit68db29c434e144891e5990b032b44495de52f6eb (patch)
tree1aeda9293c643f2dc47a3194199b3d877e512866 /src/gallium/auxiliary/util/u_simple_shaders.h
parent7b8e04b3f0b66bda84cb1ab4f89239f357d9cb64 (diff)
st/mesa: add a fallback for clear_with_quad when no vs_layer
Not all drivers can set gl_Layer from VS. Add a fallback that passes the instance id from VS to GS, and then uses the GS to set the layer. Tested by adding quad_buffers |= clear_buffers; clear_buffers = 0; to the st_Clear logic, and forcing set_vertex_shader_layered in all cases. No piglit regressions (on piglits with 'clear' in the name). Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Cc: "10.4 10.3" <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/util/u_simple_shaders.h')
-rw-r--r--src/gallium/auxiliary/util/u_simple_shaders.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_simple_shaders.h b/src/gallium/auxiliary/util/u_simple_shaders.h
index 2ba3f2a9ab3..dd282e02a13 100644
--- a/src/gallium/auxiliary/util/u_simple_shaders.h
+++ b/src/gallium/auxiliary/util/u_simple_shaders.h
@@ -62,6 +62,12 @@ extern void *
util_make_layered_clear_vertex_shader(struct pipe_context *pipe);
extern void *
+util_make_layered_clear_helper_vertex_shader(struct pipe_context *pipe);
+
+extern void *
+util_make_layered_clear_geometry_shader(struct pipe_context *pipe);
+
+extern void *
util_make_fragment_tex_shader_writemask(struct pipe_context *pipe,
unsigned tex_target,
unsigned interp_mode,