summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe/lp_state.h
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2009-08-21 07:48:04 +0100
committerJosé Fonseca <[email protected]>2009-08-29 09:21:38 +0100
commite3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6 (patch)
tree51b1b47b1eb8466dbe629fee73cd1d7c219b3cae /src/gallium/drivers/llvmpipe/lp_state.h
parentdb35ac36d92545392b76785bf7fca47151f1469c (diff)
llvmpipe: Code generate the depth test, and include in the shader.
Only 32bit depth/stencil surfaces supported for now. Stencil ops not implemented yet.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_state.h')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_state.h b/src/gallium/drivers/llvmpipe/lp_state.h
index db21096f215..2d6add8f3ac 100644
--- a/src/gallium/drivers/llvmpipe/lp_state.h
+++ b/src/gallium/drivers/llvmpipe/lp_state.h
@@ -74,15 +74,18 @@ typedef void
struct lp_fragment_shader;
-/**
- * Subclass of pipe_shader_state (though it doesn't really need to be).
- *
- * This is starting to look an awful lot like a quad pipeline stage...
- */
+struct lp_fragment_shader_variant_key
+{
+ struct pipe_depth_state depth;
+ struct pipe_alpha_state alpha;
+};
+
+
struct lp_fragment_shader_variant
{
struct lp_fragment_shader *shader;
- struct pipe_alpha_state alpha;
+
+ struct lp_fragment_shader_variant_key key;
LLVMValueRef function;
@@ -103,8 +106,6 @@ struct lp_fragment_shader
struct tgsi_shader_info info;
- struct llvmpipe_screen *screen;
-
struct lp_fragment_shader_variant *variants;
struct lp_fragment_shader_variant *current;