On Wed, Jun 8, 2016 at 9:07 PM, Jason Ekstrand <[email protected]> wrote: > When Kristian implemented GL_TEXTURE_EXTERNAL_OES, he hooked it up for gen8 > but not for gen7 or earlier. It all works, we just need to emit the states > for the extra planes.
Ah yes, thanks. Reviewed-by: Kristian Høgsberg <[email protected]> > Cc: "12.0" <[email protected]> > Cc: Kristian Høgsberg <[email protected]> > --- > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 9 +++++++++ > src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 9 +++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > index b73d5d5..133a944 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > @@ -338,6 +338,15 @@ brw_update_texture_surface(struct gl_context *ctx, > uint32_t tex_format = translate_tex_format(brw, mt->format, > sampler->sRGBDecode); > > + if (tObj->Target == GL_TEXTURE_EXTERNAL_OES) { > + if (plane > 0) > + mt = mt->plane[plane - 1]; > + if (mt == NULL) > + return; > + > + tex_format = translate_tex_format(brw, mt->format, > sampler->sRGBDecode); > + } > + > if (for_gather) { > /* Sandybridge's gather4 message is broken for integer formats. > * To work around this, we pretend the surface is UNORM for > diff --git a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > index 329164d..60589bc 100644 > --- a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > @@ -386,6 +386,15 @@ gen7_update_texture_surface(struct gl_context *ctx, > unsigned format = translate_tex_format( > brw, intel_obj->_Format, sampler->sRGBDecode); > > + if (obj->Target == GL_TEXTURE_EXTERNAL_OES) { > + if (plane > 0) > + mt = mt->plane[plane - 1]; > + if (mt == NULL) > + return; > + > + format = translate_tex_format(brw, mt->format, sampler->sRGBDecode); > + } > + > if (for_gather && format == BRW_SURFACEFORMAT_R32G32_FLOAT) > format = BRW_SURFACEFORMAT_R32G32_FLOAT_LD; > > -- > 2.5.0.400.gff86faf > _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
