diff options
author | Zack Rusin <[email protected]> | 2013-03-27 04:27:59 -0700 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2013-04-03 10:16:25 -0700 |
commit | f313b0c8502868dab2a87237af295a34ec0dea26 (patch) | |
tree | bc09f64a2a7eaad3c9b2576a159b68f8a41a9a49 /src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | |
parent | ac114c682413065a5b8baa678733555e94e43120 (diff) |
gallivm: cleanup the gs interface
Instead of void pointers use a base interface.
Signed-off-by: Zack Rusin <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: José Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_tgsi.h')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h index fe4444edb1a..5764847acb5 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h @@ -365,20 +365,23 @@ struct lp_build_tgsi_context struct lp_build_tgsi_gs_iface { - LLVMValueRef input; - void (*emit_vertex)(struct lp_build_tgsi_context * bld_base, + LLVMValueRef (*fetch_input)(const struct lp_build_tgsi_gs_iface *gs_iface, + struct lp_build_tgsi_context * bld_base, + LLVMValueRef vertex_index, + LLVMValueRef attrib_index, + LLVMValueRef swizzle_index); + void (*emit_vertex)(const struct lp_build_tgsi_gs_iface *gs_iface, + struct lp_build_tgsi_context * bld_base, LLVMValueRef (*outputs)[4], - LLVMValueRef emitted_vertices_vec, - void *user_data); - void (*end_primitive)(struct lp_build_tgsi_context * bld_base, + LLVMValueRef emitted_vertices_vec); + void (*end_primitive)(const struct lp_build_tgsi_gs_iface *gs_iface, + struct lp_build_tgsi_context * bld_base, LLVMValueRef verts_per_prim_vec, - LLVMValueRef emitted_prims_vec, - void *user_data); - void (*gs_epilogue)(struct lp_build_tgsi_context * bld_base, + LLVMValueRef emitted_prims_vec); + void (*gs_epilogue)(const struct lp_build_tgsi_gs_iface *gs_iface, + struct lp_build_tgsi_context * bld_base, LLVMValueRef total_emitted_vertices_vec, - LLVMValueRef emitted_prims_vec, - void *user_data); - void *user_data; + LLVMValueRef emitted_prims_vec); }; struct lp_build_tgsi_soa_context |