[Mesa-dev] [PATCH 2/4] st/mesa: set the new pipe_surface::alpha_one field for RGB surfaces
Brian Paul
brianp at vmware.com
Fri Jun 24 02:07:52 UTC 2016
This indicates the alpha channel of the surface should always be one.
Drivers can use this to adjust blending terms when needed.
---
src/mesa/state_tracker/st_cb_fbo.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c
index 9801b1f..012d7d7 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -216,6 +216,8 @@ 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->surface = pipe->create_surface(pipe,
strb->texture,
&surf_tmpl);
@@ -463,6 +465,7 @@ 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);
surf_tmpl.format = format;
surf_tmpl.u.tex.level = level;
surf_tmpl.u.tex.first_layer = first_layer;
--
1.9.1
More information about the mesa-dev
mailing list