diff options
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_tgsi.h')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h index e60ad1d..bc91408 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h @@ -82,6 +82,24 @@ struct lp_build_sampler_soa }; +struct lp_build_sampler_aos +{ + void + (*destroy)( struct lp_build_sampler_aos *sampler ); + + LLVMValueRef + (*emit_fetch_texel)( const struct lp_build_sampler_aos *sampler, + LLVMBuilderRef builder, + struct lp_type type, + unsigned target, /* TGSI_TEXTURE_* */ + unsigned unit, + LLVMValueRef coords, + LLVMValueRef ddx, + LLVMValueRef ddy, + enum lp_build_tex_modifier modifier); +}; + + void lp_build_tgsi_soa(LLVMBuilderRef builder, const struct tgsi_token *tokens, @@ -95,4 +113,15 @@ lp_build_tgsi_soa(LLVMBuilderRef builder, const struct tgsi_shader_info *info); +void +lp_build_tgsi_aos(LLVMBuilderRef builder, + const struct tgsi_token *tokens, + struct lp_type type, + LLVMValueRef consts_ptr, + const LLVMValueRef *inputs, + LLVMValueRef *outputs, + struct lp_build_sampler_aos *sampler, + const struct tgsi_shader_info *info); + + #endif /* LP_BLD_TGSI_H */ |