draw llvm: actually set the constant buffers on the context

This commit is contained in:
Zack Rusin 2010-03-30 17:21:11 -04:00
parent 8bc07fc83e
commit b0f946e900
2 changed files with 8 additions and 2 deletions

View file

@ -110,7 +110,7 @@ init_globals(struct draw_llvm *llvm)
LP_CHECK_STRUCT_SIZE(struct draw_jit_context,
llvm->target, context_type);
LLVMAddTypeName(llvm->module, "context", context_type);
LLVMAddTypeName(llvm->module, "draw_jit_context", context_type);
llvm->context_ptr_type = LLVMPointerType(context_type, 0);
}

View file

@ -130,6 +130,12 @@ llvm_middle_end_prepare( struct draw_pt_middle_end *middle,
*max_vertices = *max_vertices & ~1;
draw_llvm_prepare(fpme->llvm);
/*XXX we only support one constant buffer */
fpme->llvm->jit_context.vs_constants =
draw->pt.user.vs_constants[0];
fpme->llvm->jit_context.gs_constants =
draw->pt.user.gs_constants[0];
}
@ -241,7 +247,7 @@ static void llvm_middle_end_linear_run( struct draw_pt_middle_end *middle,
fpme->llvm->jit_func( &fpme->llvm->jit_context,
pipeline_verts,
draw->pt.user.vbuffer,
(const char **)draw->pt.user.vbuffer,
start,
count,
fpme->vertex_size );