diff options
author | Jakob Bornecrantz <[email protected]> | 2011-02-26 00:50:52 +0100 |
---|---|---|
committer | Jakob Bornecrantz <[email protected]> | 2011-02-26 00:50:52 +0100 |
commit | a08e612fd8e7ca2ac2fef8961e56e5b094033717 (patch) | |
tree | cd2eb278f77e1dade100eb10fd58bf640dcae7fb /src/gallium | |
parent | 58f7c9c72ee52527610b26ca8a137dd88c082c89 (diff) |
util: Don't create array texture shaders if the driver doesn't support it
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/auxiliary/util/u_gen_mipmap.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/util/u_gen_mipmap.c b/src/gallium/auxiliary/util/u_gen_mipmap.c index 3698be77b2e..6fba6000ba8 100644 --- a/src/gallium/auxiliary/util/u_gen_mipmap.c +++ b/src/gallium/auxiliary/util/u_gen_mipmap.c @@ -1321,10 +1321,12 @@ util_create_gen_mipmap(struct pipe_context *pipe, TGSI_INTERPOLATE_LINEAR); ctx->fsCube = util_make_fragment_tex_shader(pipe, TGSI_TEXTURE_CUBE, TGSI_INTERPOLATE_LINEAR); - ctx->fs1da = util_make_fragment_tex_shader(pipe, TGSI_TEXTURE_1D_ARRAY, - TGSI_INTERPOLATE_LINEAR); - ctx->fs2da = util_make_fragment_tex_shader(pipe, TGSI_TEXTURE_2D_ARRAY, - TGSI_INTERPOLATE_LINEAR); + if (pipe->screen->get_param(pipe->screen, PIPE_CAP_ARRAY_TEXTURES)) { + ctx->fs1da = util_make_fragment_tex_shader(pipe, TGSI_TEXTURE_1D_ARRAY, + TGSI_INTERPOLATE_LINEAR); + ctx->fs2da = util_make_fragment_tex_shader(pipe, TGSI_TEXTURE_2D_ARRAY, + TGSI_INTERPOLATE_LINEAR); + } /* vertex data that doesn't change */ |