There is no linear filtering for integer formats, so we should always
be using CLAMP_TO_EDGE mode.

Fixes 46 dEQP cases on Ivybridge.

This workaround doesn't appear to be necessary on later hardware, and
I haven't found any documentation mentioning errata in this area.
However, it seems harmless to apply generally, so we may as well.

Signed-off-by: Kenneth Graunke <[email protected]>
---
 src/mesa/drivers/dri/i965/brw_sampler_state.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_sampler_state.c 
b/src/mesa/drivers/dri/i965/brw_sampler_state.c
index 7bd21f7..7e44cf5 100644
--- a/src/mesa/drivers/dri/i965/brw_sampler_state.c
+++ b/src/mesa/drivers/dri/i965/brw_sampler_state.c
@@ -463,7 +463,8 @@ brw_update_sampler_state(struct brw_context *brw,
       /* Cube maps must use the same wrap mode for all three coordinate
        * dimensions.  Prior to Haswell, only CUBE and CLAMP are valid.
        */
-      if (tex_cube_map_seamless || sampler->CubeMapSeamless) {
+      if ((tex_cube_map_seamless || sampler->CubeMapSeamless) &&
+          !is_integer_format) {
         wrap_s = BRW_TEXCOORDMODE_CUBE;
         wrap_t = BRW_TEXCOORDMODE_CUBE;
         wrap_r = BRW_TEXCOORDMODE_CUBE;
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to