summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_tgsi.h')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_tgsi.h29
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 e60ad1d904..bc9140852f 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 */