diff options
author | marha <marha@users.sourceforge.net> | 2014-04-13 14:24:56 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-04-13 14:24:56 +0200 |
commit | d2ad10d03be8e6d4b150bbdf2a28ea3d5a18a2ed (patch) | |
tree | 2a860c9d687826b3cb48facfa21c616e14e69347 /mesalib/src/mesa/state_tracker/st_atom_sampler.c | |
parent | edb5b380994125bf33929ef7dc5a3c456dfbe93b (diff) | |
download | vcxsrv-d2ad10d03be8e6d4b150bbdf2a28ea3d5a18a2ed.tar.gz vcxsrv-d2ad10d03be8e6d4b150bbdf2a28ea3d5a18a2ed.tar.bz2 vcxsrv-d2ad10d03be8e6d4b150bbdf2a28ea3d5a18a2ed.zip |
fontconfig libxcb mesa xserver xcb-proto git update 13 Apr 2014
xserver commit 3028ae6c9aa37168e249e0d847b29f8e3efb05b2
libxcb commit 29e419c5840a1eeda3336a0802686ee723dcaab3
libxcb/xcb-proto commit 70fea02b7d90d86e9d3b0dc5b61406bf4c910999
pixman commit 4b76bbfda670f9ede67d0449f3640605e1fc4df0
fontconfig commit f44157c809d280e2a0ce87fb078fc4b278d24a67
mesa commit 936dda08ee6d7b2be2b016bc06780e401088ec13
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_atom_sampler.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_atom_sampler.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_atom_sampler.c b/mesalib/src/mesa/state_tracker/st_atom_sampler.c index ec2bab20b..3929251f8 100644 --- a/mesalib/src/mesa/state_tracker/st_atom_sampler.c +++ b/mesalib/src/mesa/state_tracker/st_atom_sampler.c @@ -182,15 +182,27 @@ convert_sampler(struct st_context *st, msamp->BorderColor.ui[3]) { const struct st_texture_object *stobj = st_texture_object_const(texobj); const GLboolean is_integer = texobj->_IsIntegerFormat; + const struct pipe_sampler_view *sv = NULL; union pipe_color_union border_color; + GLuint i; + + /* Just search for the first used view. We can do this because the + swizzle is per-texture, not per context. */ + /* XXX: clean that up to not use the sampler view at all */ + for (i = 0; i < stobj->num_sampler_views; ++i) { + if (stobj->sampler_views[i]) { + sv = stobj->sampler_views[i]; + break; + } + } - if (st->apply_texture_swizzle_to_border_color && stobj->sampler_view) { + if (st->apply_texture_swizzle_to_border_color && sv) { const unsigned char swz[4] = { - stobj->sampler_view->swizzle_r, - stobj->sampler_view->swizzle_g, - stobj->sampler_view->swizzle_b, - stobj->sampler_view->swizzle_a, + sv->swizzle_r, + sv->swizzle_g, + sv->swizzle_b, + sv->swizzle_a, }; st_translate_color(&msamp->BorderColor, |