diff options
author | José Fonseca <jfonseca@vmware.com> | 2009-09-07 14:52:39 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2009-09-07 15:02:08 +0100 |
commit | e4c76c02f77ed6e86537b546f4200f8f8132d114 (patch) | |
tree | 85ef1812f25eedbfffaeb63096e3046ee1ac349a /src/gallium/drivers/llvmpipe/lp_tex_sample.h | |
parent | de8376e2f22a59a0bc18bb7ddab88ee3153678b8 (diff) |
llvmpipe: Code generate the texture sampling inside the shader.
Finally a substantial performance improvement: framerates of apps using
texturing tripled, and furthermore, enabling/disabling texturing only
affects around 15% of the framerate, which means the bottleneck is now
somewhere else.
Generated texture sampling code is not complete though -- we always
sample from the base level -- so final figures will be different.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_tex_sample.h')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_tex_sample.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample.h b/src/gallium/drivers/llvmpipe/lp_tex_sample.h index 7d1e565885..9ad1bde956 100644 --- a/src/gallium/drivers/llvmpipe/lp_tex_sample.h +++ b/src/gallium/drivers/llvmpipe/lp_tex_sample.h @@ -35,6 +35,7 @@ struct llvmpipe_tex_tile_cache; +struct lp_sampler_static_state; /** @@ -87,4 +88,14 @@ struct lp_build_sampler_soa * lp_c_sampler_soa_create(LLVMValueRef context_ptr); +/** + * Pure-LLVM texture sampling code generator. + * + * @param context_ptr LLVM value with the pointer to the struct lp_jit_context. + */ +struct lp_build_sampler_soa * +lp_llvm_sampler_soa_create(const struct lp_sampler_static_state *key, + LLVMValueRef context_ptr); + + #endif /* LP_TEX_SAMPLE_H */ |