summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_jit.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-03-16 14:00:40 -0600
committerBrian Paul <brianp@vmware.com>2010-03-17 16:29:34 -0600
commiteee51147979208feffdf37c588ebbce4df6b40d6 (patch)
tree3700637ea30c706f1d1ffb577c26359595d772c4 /src/gallium/drivers/llvmpipe/lp_jit.c
parent6379e47ebde2767ec88504313c4cf2d99ac44920 (diff)
llvmpipe: added stencil ref values to jit context state
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_jit.c')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_jit.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_jit.c b/src/gallium/drivers/llvmpipe/lp_jit.c
index 4584135d33..0254272eec 100644
--- a/src/gallium/drivers/llvmpipe/lp_jit.c
+++ b/src/gallium/drivers/llvmpipe/lp_jit.c
@@ -91,17 +91,18 @@ lp_jit_init_globals(struct llvmpipe_screen *screen)
/* struct lp_jit_context */
{
- LLVMTypeRef elem_types[8];
+ LLVMTypeRef elem_types[9];
LLVMTypeRef context_type;
elem_types[0] = LLVMPointerType(LLVMFloatType(), 0); /* constants */
elem_types[1] = LLVMFloatType(); /* alpha_ref_value */
- elem_types[2] = LLVMFloatType(); /* scissor_xmin */
- elem_types[3] = LLVMFloatType(); /* scissor_ymin */
- elem_types[4] = LLVMFloatType(); /* scissor_xmax */
- elem_types[5] = LLVMFloatType(); /* scissor_ymax */
- elem_types[6] = LLVMPointerType(LLVMInt8Type(), 0); /* blend_color */
- elem_types[7] = LLVMArrayType(texture_type, PIPE_MAX_SAMPLERS); /* textures */
+ elem_types[2] = LLVMArrayType(LLVMInt8Type(), 2); /* stencil_refs */
+ elem_types[3] = LLVMFloatType(); /* scissor_xmin */
+ elem_types[4] = LLVMFloatType(); /* scissor_ymin */
+ elem_types[5] = LLVMFloatType(); /* scissor_xmax */
+ elem_types[6] = LLVMFloatType(); /* scissor_ymax */
+ elem_types[7] = LLVMPointerType(LLVMInt8Type(), 0); /* blend_color */
+ elem_types[8] = LLVMArrayType(texture_type, PIPE_MAX_SAMPLERS); /* textures */
context_type = LLVMStructType(elem_types, Elements(elem_types), 0);
@@ -109,16 +110,18 @@ lp_jit_init_globals(struct llvmpipe_screen *screen)
screen->target, context_type, 0);
LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, alpha_ref_value,
screen->target, context_type, 1);
- LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, scissor_xmin,
+ LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, stencil_ref,
screen->target, context_type, 2);
- LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, scissor_ymin,
+ LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, scissor_xmin,
screen->target, context_type, 3);
- LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, scissor_xmax,
+ LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, scissor_ymin,
screen->target, context_type, 4);
- LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, scissor_ymax,
+ LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, scissor_xmax,
screen->target, context_type, 5);
- LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, blend_color,
+ LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, scissor_ymax,
screen->target, context_type, 6);
+ LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, blend_color,
+ screen->target, context_type, 7);
LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, textures,
screen->target, context_type,
LP_JIT_CONTEXT_TEXTURES_INDEX);