On Fri, Jun 24, 2016 at 10:43 AM, Brian Paul <bri...@vmware.com> wrote: > This indicates the alpha channel of the surface should always be one. > Drivers can use this to adjust blending terms when needed. > > v2: also check for R, RG, LUMINANCE surfaces, per Ilia > --- > src/mesa/state_tracker/st_cb_fbo.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/src/mesa/state_tracker/st_cb_fbo.c > b/src/mesa/state_tracker/st_cb_fbo.c > index 9801b1f..843ff83 100644 > --- a/src/mesa/state_tracker/st_cb_fbo.c > +++ b/src/mesa/state_tracker/st_cb_fbo.c > @@ -216,6 +216,11 @@ st_renderbuffer_alloc_storage(struct gl_context * ctx, > return FALSE; > > u_surface_default_template(&surf_tmpl, strb->texture); > + surf_tmpl.alpha_one = (strb->Base._BaseFormat == GL_RGB || > + strb->Base._BaseFormat == GL_RG || > + strb->Base._BaseFormat == GL_R ||
I know I'm the one who said GL_R, but actually this probably needs to be GL_RED... not sure where GL_R is used. With that touched up, Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu> > + strb->Base._BaseFormat == GL_LUMINANCE); > + > strb->surface = pipe->create_surface(pipe, > strb->texture, > &surf_tmpl); > @@ -463,6 +468,10 @@ st_update_renderbuffer_surface(struct st_context *st, > /* create a new pipe_surface */ > struct pipe_surface surf_tmpl; > memset(&surf_tmpl, 0, sizeof(surf_tmpl)); > + surf_tmpl.alpha_one = (strb->Base._BaseFormat == GL_RGB || > + strb->Base._BaseFormat == GL_RG || > + strb->Base._BaseFormat == GL_R || > + strb->Base._BaseFormat == GL_LUMINANCE); > surf_tmpl.format = format; > surf_tmpl.u.tex.level = level; > surf_tmpl.u.tex.first_layer = first_layer; > -- > 1.9.1 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev