r600g: disable aniso filtering for non-mipmap textures on EG
authorMarek Olšák <marek.olsak@amd.com>
Thu, 7 Apr 2016 19:18:14 +0000 (21:18 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 12 Apr 2016 12:29:48 +0000 (14:29 +0200)
this is the default behavior of the closed driver when running on VI

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/r600/evergreen_state.c

index 2de813b9afe3c6ef424b8d558dc6af134f9b2cd0..0e055877761ecfc98c24951d651f5e1aaa46186d 100644 (file)
@@ -848,10 +848,12 @@ evergreen_create_sampler_view_custom(struct pipe_context *ctx,
                view->tex_resource_words[5] |= S_030014_LAST_LEVEL(log_samples);
                view->tex_resource_words[6] |= S_030018_FMASK_BANK_HEIGHT(fmask_bankh);
        } else {
+               bool no_mip = first_level == last_level;
+
                view->tex_resource_words[4] |= S_030010_BASE_LEVEL(first_level);
                view->tex_resource_words[5] |= S_030014_LAST_LEVEL(last_level);
                /* aniso max 16 samples */
-               view->tex_resource_words[6] |= S_030018_MAX_ANISO_RATIO(4);
+               view->tex_resource_words[6] |= S_030018_MAX_ANISO_RATIO(no_mip ? 0 : 4);
        }
 
        view->tex_resource_words[7] = S_03001C_DATA_FORMAT(format) |