From: Zack Rusin Date: Tue, 30 Mar 2010 21:21:11 +0000 (-0400) Subject: draw llvm: actually set the constant buffers on the context X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b0f946e90069f34e69a0492caa7a2867ae184e9a;p=mesa.git draw llvm: actually set the constant buffers on the context --- diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c index cd183d5087c..1127d5417e8 100644 --- a/src/gallium/auxiliary/draw/draw_llvm.c +++ b/src/gallium/auxiliary/draw/draw_llvm.c @@ -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); } diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c index 38b1c4462db..f93df37d92b 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c @@ -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 );