On Thu, Jun 16, 2016 at 10:08 AM, Chad Versace <chad.vers...@intel.com> wrote:
> On Sat 11 Jun 2016, Jason Ekstrand wrote: > > Otherwise, we end up with a bogus value in the third component. On > gen6-7 > > where we always use 2D textures, this can cause problems if the > > SurfaceArray bit is set in the SURFACE_STATE. > > Enlighten me. Why does blorp use 3D surfaces on gen >= 8 but not > earlier? > History? TBH, I'm not really sure. Probably because SKL 3-D is different but you'd have to ask topi to be sure. > > > --- > > src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 11 +++++++++-- > > 1 file changed, 9 insertions(+), 2 deletions(-) > > > > diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp > b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp > > index 782d285..cdb6b33 100644 > > --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp > > +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp > > @@ -1846,8 +1846,15 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > > brw_blorp_setup_coord_transform(¶ms.wm_push_consts.y_transform, > > src_y0, src_y1, dst_y0, dst_y1, > mirror_y); > > > > - params.wm_push_consts.src_z = > > - params.src.mt->target == GL_TEXTURE_3D ? params.src.layer : 0; > > + if (brw->gen >= 8 && params.src.mt->target == GL_TEXTURE_3D) { > > + /* On gen8+ we use actual 3-D textures so we need to pass the > layer > > + * through to the sampler. > > + */ > > + params.wm_push_consts.src_z = params.src.layer; > > + } else { > > + /* On gen7 and earlier, we fake everything with 2-D textures */ > > + params.wm_push_consts.src_z = 0; > > + } > > > > if (params.dst.num_samples <= 1 && dst_mt->num_samples > 1) { > > /* We must expand the rectangle we send through the rendering > pipeline, >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev