diff options
Diffstat (limited to 'lib/mesa/src/gallium/auxiliary/draw/draw_llvm.h')
-rw-r--r-- | lib/mesa/src/gallium/auxiliary/draw/draw_llvm.h | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/lib/mesa/src/gallium/auxiliary/draw/draw_llvm.h b/lib/mesa/src/gallium/auxiliary/draw/draw_llvm.h index a968be01f..271433c8e 100644 --- a/lib/mesa/src/gallium/auxiliary/draw/draw_llvm.h +++ b/lib/mesa/src/gallium/auxiliary/draw/draw_llvm.h @@ -172,7 +172,7 @@ enum { lp_build_struct_get(_gallivm, _ptr, 0, "stride") #define draw_jit_vbuffer_offset(_gallivm, _ptr) \ - lp_build_struct_get(_gallivm, _ptr, 2, "buffer_offset") + lp_build_struct_get(_gallivm, _ptr, 1, "buffer_offset") enum { DRAW_JIT_DVBUFFER_MAP = 0, @@ -261,18 +261,31 @@ enum { -typedef boolean +typedef int (*draw_jit_vert_func)(struct draw_jit_context *context, struct vertex_header *io, const struct draw_vertex_buffer vbuffers[PIPE_MAX_ATTRIBS], + unsigned start, unsigned count, - unsigned start_or_maxelt, unsigned stride, struct pipe_vertex_buffer *vertex_buffers, unsigned instance_id, unsigned vertex_id_offset, - unsigned start_instance, - const unsigned *fetch_elts); + unsigned start_instance); + + +typedef int +(*draw_jit_vert_func_elts)(struct draw_jit_context *context, + struct vertex_header *io, + const struct draw_vertex_buffer vbuffers[PIPE_MAX_ATTRIBS], + const unsigned *fetch_elts, + unsigned fetch_max_elt, + unsigned fetch_count, + unsigned stride, + struct pipe_vertex_buffer *vertex_buffers, + unsigned instance_id, + unsigned vertex_id_offset, + unsigned start_instance); typedef int @@ -380,7 +393,9 @@ struct draw_llvm_variant LLVMTypeRef vertex_header_ptr_type; LLVMValueRef function; + LLVMValueRef function_elts; draw_jit_vert_func jit_func; + draw_jit_vert_func_elts jit_func_elts; struct llvm_vertex_shader *shader; @@ -508,12 +523,11 @@ struct lp_build_sampler_soa * draw_llvm_sampler_soa_create(const struct draw_sampler_static_state *static_state); void -draw_llvm_set_sampler_state(struct draw_context *draw, - enum pipe_shader_type shader_stage); +draw_llvm_set_sampler_state(struct draw_context *draw, unsigned shader_stage); void draw_llvm_set_mapped_texture(struct draw_context *draw, - enum pipe_shader_type shader_stage, + unsigned shader_stage, unsigned sview_idx, uint32_t width, uint32_t height, uint32_t depth, uint32_t first_level, uint32_t last_level, |