diff options
author | Brian Paul <[email protected]> | 2011-04-13 07:37:03 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2011-04-13 07:37:03 -0600 |
commit | 4cbb261ebaeeb16b885364810fd17d02a96a3d1b (patch) | |
tree | b457ca4712d940eaf037ae75c7e56549da73f70e /src/mesa/state_tracker | |
parent | 032a7ef0a1cb753defc11e97b11ea2e602bae5f2 (diff) |
st/mesa: minor clean-ups in update_textures()
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_atom_texture.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c index e5fb8f86878..19ad2e8cc4a 100644 --- a/src/mesa/state_tracker/st_atom_texture.c +++ b/src/mesa/state_tracker/st_atom_texture.c @@ -251,13 +251,15 @@ update_textures(struct st_context *st) st->state.num_textures = su + 1; /* if sampler view has changed dereference it */ - if (stObj->sampler_view) + if (stObj->sampler_view) { if (check_sampler_swizzle(stObj->sampler_view, stObj->base._Swizzle, samp->DepthMode) || (st_view_format != stObj->sampler_view->format) || - stObj->base.BaseLevel != stObj->sampler_view->u.tex.first_level) + stObj->base.BaseLevel != stObj->sampler_view->u.tex.first_level) { pipe_sampler_view_reference(&stObj->sampler_view, NULL); + } + } sampler_view = st_get_texture_sampler_view_from_stobj(stObj, pipe, samp, @@ -269,10 +271,12 @@ update_textures(struct st_context *st) cso_set_fragment_sampler_views(st->cso_context, st->state.num_textures, st->state.sampler_views); + if (st->ctx->Const.MaxVertexTextureImageUnits > 0) { + GLuint numUnits = MIN2(st->state.num_textures, + st->ctx->Const.MaxVertexTextureImageUnits); cso_set_vertex_sampler_views(st->cso_context, - MIN2(st->state.num_textures, - st->ctx->Const.MaxVertexTextureImageUnits), + numUnits, st->state.sampler_views); } } |