diff options
author | Roland Scheidegger <sroland@vmware.com> | 2017-09-18 04:52:26 +0200 |
---|---|---|
committer | Roland Scheidegger <sroland@vmware.com> | 2017-09-20 21:18:54 +0200 |
commit | 886626960bca51bdfc0880e3830c0a95ea143c4c (patch) | |
tree | 8952af710d282250a2b1565d24bec1c35784bf16 /docs | |
parent | 4b41361894214de7f34c555dbd6f60983967db39 (diff) |
llvmpipe, gallivm: implement lod queries (LODQ opcode)
This uses all the existing code to calculate lod values for mip linear
filtering. Though we'll have to disable the simplifications (if we know some
parts of the lod calculation won't actually matter for filtering purposes due
to mip clamps etc.). For better or worse, we'll also disable lod calculation
hacks (mostly should make a difference for cube maps) always - the issue with
per-pixel lod being difficult is mostly because we then have different mipmaps
needed for the actual texel fetch, which isn't a problem with lodq.
We still use approximation for the log2 - for that reason I believe the float
part of the lod is only accurate to about 4-5 bits (and one bit less with 1d
textures actually) which is hopefully good enough (though d3d10 technically
requires 6 bits - could use quadratic interpolation instead of linear to get
8 bits or so).
Since lodq requires unclamped lod, we also have to move some sampler key
calculations to texture sampling code - even if we know we're going to access
mipmap 0 we still have to calculate lod and apply lod_bias for lodq.
Passes piglit ARB_texture_query_lod tests (after having fixed the test).
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/features.txt | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/features.txt b/docs/features.txt index fe412f6607..c186dc70da 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -131,7 +131,7 @@ GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi GL_ARB_texture_buffer_object_rgb32 DONE (i965/gen6+, llvmpipe, softpipe, swr) GL_ARB_texture_cube_map_array DONE (i965/gen6+, nv50, llvmpipe, softpipe) GL_ARB_texture_gather DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr) - GL_ARB_texture_query_lod DONE (i965, nv50, softpipe) + GL_ARB_texture_query_lod DONE (i965, nv50, llvmpipe, softpipe) GL_ARB_transform_feedback2 DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr) GL_ARB_transform_feedback3 DONE (i965/gen7+, llvmpipe, softpipe, swr) |