gallium/radeon: fix maximum texture anisotropy setup
authorMarek Olšák <marek.olsak@amd.com>
Thu, 7 Apr 2016 13:34:45 +0000 (15:34 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 12 Apr 2016 12:29:48 +0000 (14:29 +0200)
We were overdoing it for non-power-of-two values.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/radeon/r600_pipe_common.h

index cb8a34bf4ec222ef4b2868efde860f7288885232..85c4ec0d6e6b23637f9a092d4991402f9382beaf 100644 (file)
@@ -644,11 +644,15 @@ static inline bool r600_get_strmout_en(struct r600_common_context *rctx)
 
 static inline unsigned r600_tex_aniso_filter(unsigned filter)
 {
-       if (filter <= 1)   return 0;
-       if (filter <= 2)   return 1;
-       if (filter <= 4)   return 2;
-       if (filter <= 8)   return 3;
-        /* else */        return 4;
+       if (filter < 2)
+               return 0;
+       if (filter < 4)
+               return 1;
+       if (filter < 8)
+               return 2;
+       if (filter < 16)
+               return 3;
+       return 4;
 }
 
 static inline unsigned r600_wavefront_size(enum radeon_family family)