llvmpipe: clean up fields in draw_llvm_variant_key

This commit is contained in:
Keith Whitwell 2010-10-17 17:53:29 -07:00
parent c1d6b31866
commit b5236f3da4
2 changed files with 9 additions and 14 deletions

View File

@ -847,7 +847,7 @@ generate_clipmask(LLVMBuilderRef builder,
boolean clip_xy, boolean clip_xy,
boolean clip_z, boolean clip_z,
boolean clip_user, boolean clip_user,
boolean enable_d3dclipping, boolean clip_halfz,
unsigned nr, unsigned nr,
LLVMValueRef context_ptr) LLVMValueRef context_ptr)
{ {
@ -900,7 +900,7 @@ generate_clipmask(LLVMBuilderRef builder,
} }
if (clip_z){ if (clip_z){
if (enable_d3dclipping){ if (clip_halfz){
/* plane 5 */ /* plane 5 */
test = lp_build_compare(builder, f32_type, PIPE_FUNC_GREATER, zero, pos_z); test = lp_build_compare(builder, f32_type, PIPE_FUNC_GREATER, zero, pos_z);
temp = LLVMBuildShl(builder, temp, shift, ""); temp = LLVMBuildShl(builder, temp, shift, "");
@ -980,18 +980,13 @@ clipmask_bool(LLVMBuilderRef builder,
LLVMValueRef temp; LLVMValueRef temp;
int i; int i;
LLVMDumpValue(clipmask);
for (i=0; i<4; i++){ for (i=0; i<4; i++){
temp = LLVMBuildExtractElement(builder, clipmask, temp = LLVMBuildExtractElement(builder, clipmask,
LLVMConstInt(LLVMInt32Type(), i, 0) , ""); LLVMConstInt(LLVMInt32Type(), i, 0) , "");
ret = LLVMBuildOr(builder, ret, temp, ""); ret = LLVMBuildOr(builder, ret, temp, "");
LLVMDumpValue(ret);
} }
LLVMBuildStore(builder, ret, ret_ptr); LLVMBuildStore(builder, ret, ret_ptr);
LLVMDumpValue(ret_ptr);
} }
static void static void
@ -1133,7 +1128,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant)
variant->key.clip_xy, variant->key.clip_xy,
variant->key.clip_z, variant->key.clip_z,
variant->key.clip_user, variant->key.clip_user,
variant->key.enable_d3dclipping, variant->key.clip_halfz,
variant->key.nr_planes, variant->key.nr_planes,
context_ptr); context_ptr);
/* return clipping boolean value for function */ /* return clipping boolean value for function */
@ -1344,7 +1339,7 @@ draw_llvm_generate_elts(struct draw_llvm *llvm, struct draw_llvm_variant *varian
variant->key.clip_xy, variant->key.clip_xy,
variant->key.clip_z, variant->key.clip_z,
variant->key.clip_user, variant->key.clip_user,
variant->key.enable_d3dclipping, variant->key.clip_halfz,
variant->key.nr_planes, variant->key.nr_planes,
context_ptr); context_ptr);
/* return clipping boolean value for function */ /* return clipping boolean value for function */
@ -1428,7 +1423,7 @@ draw_llvm_make_variant_key(struct draw_llvm *llvm, char *store)
key->clip_z = llvm->draw->clip_z; key->clip_z = llvm->draw->clip_z;
key->clip_user = llvm->draw->clip_user; key->clip_user = llvm->draw->clip_user;
key->bypass_viewport = llvm->draw->identity_viewport; key->bypass_viewport = llvm->draw->identity_viewport;
key->enable_d3dclipping = (boolean)!llvm->draw->rasterizer->gl_rasterization_rules; key->clip_halfz = !llvm->draw->rasterizer->gl_rasterization_rules;
key->need_edgeflags = (llvm->draw->vs.edgeflag_output ? TRUE : FALSE); key->need_edgeflags = (llvm->draw->vs.edgeflag_output ? TRUE : FALSE);
key->nr_planes = llvm->draw->nr_planes; key->nr_planes = llvm->draw->nr_planes;
key->pad = 0; key->pad = 0;

View File

@ -160,16 +160,16 @@ typedef int
struct draw_llvm_variant_key struct draw_llvm_variant_key
{ {
unsigned nr_vertex_elements:16; unsigned nr_vertex_elements:8;
unsigned nr_samplers:12; unsigned nr_samplers:8;
unsigned clip_xy:1; unsigned clip_xy:1;
unsigned clip_z:1; unsigned clip_z:1;
unsigned clip_user:1; unsigned clip_user:1;
unsigned clip_halfz:1;
unsigned bypass_viewport:1; unsigned bypass_viewport:1;
unsigned enable_d3dclipping:1;
unsigned need_edgeflags:1; unsigned need_edgeflags:1;
unsigned nr_planes:4; unsigned nr_planes:4;
unsigned pad:26; unsigned pad:6;
/* Variable number of vertex elements: /* Variable number of vertex elements:
*/ */