From e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Fri, 21 Aug 2009 07:48:04 +0100 Subject: llvmpipe: Code generate the depth test, and include in the shader. Only 32bit depth/stencil surfaces supported for now. Stencil ops not implemented yet. --- src/gallium/drivers/llvmpipe/lp_state.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/gallium/drivers/llvmpipe/lp_state.h') diff --git a/src/gallium/drivers/llvmpipe/lp_state.h b/src/gallium/drivers/llvmpipe/lp_state.h index db21096f21..2d6add8f3a 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; -- cgit v1.2.3