diff options
author | Roland Scheidegger <[email protected]> | 2013-03-23 02:05:54 +0100 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2013-03-24 02:09:02 +0100 |
commit | b50e362dbbced42c93fb28a420977dfecd38c823 (patch) | |
tree | 68facba8dbeb16254560bade276015d15162e4bd /src/gallium/auxiliary/gallivm/lp_bld_conv.h | |
parent | 3e10ab6b22341c06a9352b1e029b923f4d8405b9 (diff) |
gallivm: Add code for rgb9e5 shared exponent format to float conversion
And use this (and the code for r11g11b10 packed float to float conversion)
in the soa texturing code (the generated code looks quite good).
Should be an order of magnitude faster probably than using the fallback
(not measured).
Tested with piglit texwrap GL_EXT_packed_float and
GL_EXT_texture_shared_exponent respectively (didn't find much else using
it).
Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_conv.h')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_conv.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_conv.h b/src/gallium/auxiliary/gallivm/lp_bld_conv.h index 5bd6f4f1d75..d8bc294bce0 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_conv.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_conv.h @@ -70,6 +70,11 @@ lp_build_r11g11b10_to_float(struct gallivm_state *gallivm, LLVMValueRef src, LLVMValueRef *dst); +void +lp_build_rgb9e5_to_float(struct gallivm_state *gallivm, + LLVMValueRef src, + LLVMValueRef *dst); + LLVMValueRef lp_build_clamped_float_to_unsigned_norm(struct gallivm_state *gallivm, struct lp_type src_type, |