[Mesa-dev] [PATCH 08/64] i965/blorp: Only set src_z for gen8+ 3D textures
Jason Ekstrand
jason at jlekstrand.net
Fri Jun 17 23:55:41 UTC 2016
On Thu, Jun 16, 2016 at 10:08 AM, Chad Versace <chad.versace at 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,
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160617/3e6594e8/attachment.html>
More information about the mesa-dev
mailing list