For all 4: Reviewed-by: Dave Airlie <airl...@redhat.com>
On 23 October 2015 at 08:42, <srol...@vmware.com> wrote: > From: Roland Scheidegger <srol...@vmware.com> > > Just need to use resource target not view target when calculating > first-layer based mip offsets. (This is a gl specific problem since > d3d10 does not distinguish between non-array and array resources neither > at the resource nor view level, only at the shader level.) > Fixes new piglit arb_texture_view sampling-2d-array-as-2d-layer test. > --- > src/gallium/drivers/llvmpipe/lp_setup.c | 8 ++++---- > src/gallium/drivers/llvmpipe/lp_state_sampler.c | 8 ++++---- > 2 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c > b/src/gallium/drivers/llvmpipe/lp_setup.c > index 4c8167a..1778b13 100644 > --- a/src/gallium/drivers/llvmpipe/lp_setup.c > +++ b/src/gallium/drivers/llvmpipe/lp_setup.c > @@ -854,10 +854,10 @@ lp_setup_set_fragment_sampler_views(struct > lp_setup_context *setup, > jit_tex->img_stride[j] = lp_tex->img_stride[j]; > } > > - if (view->target == PIPE_TEXTURE_1D_ARRAY || > - view->target == PIPE_TEXTURE_2D_ARRAY || > - view->target == PIPE_TEXTURE_CUBE || > - view->target == PIPE_TEXTURE_CUBE_ARRAY) { > + if (res->target == PIPE_TEXTURE_1D_ARRAY || > + res->target == PIPE_TEXTURE_2D_ARRAY || > + res->target == PIPE_TEXTURE_CUBE || > + res->target == PIPE_TEXTURE_CUBE_ARRAY) { > /* > * For array textures, we don't have first_layer, > instead > * adjust last_layer (stored as depth) plus the mip > level offsets > diff --git a/src/gallium/drivers/llvmpipe/lp_state_sampler.c > b/src/gallium/drivers/llvmpipe/lp_state_sampler.c > index b205f02..1e05587 100644 > --- a/src/gallium/drivers/llvmpipe/lp_state_sampler.c > +++ b/src/gallium/drivers/llvmpipe/lp_state_sampler.c > @@ -275,10 +275,10 @@ prepare_shader_sampling( > row_stride[j] = lp_tex->row_stride[j]; > img_stride[j] = lp_tex->img_stride[j]; > } > - if (view->target == PIPE_TEXTURE_1D_ARRAY || > - view->target == PIPE_TEXTURE_2D_ARRAY || > - view->target == PIPE_TEXTURE_CUBE || > - view->target == PIPE_TEXTURE_CUBE_ARRAY) { > + if (tex->target == PIPE_TEXTURE_1D_ARRAY || > + tex->target == PIPE_TEXTURE_2D_ARRAY || > + tex->target == PIPE_TEXTURE_CUBE || > + tex->target == PIPE_TEXTURE_CUBE_ARRAY) { > num_layers = view->u.tex.last_layer - > view->u.tex.first_layer + 1; > for (j = first_level; j <= last_level; j++) { > mip_offsets[j] += view->u.tex.first_layer * > -- > 2.1.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev