Module: Mesa Branch: master Commit: 1049002eaeb39e1dfa728894b3681534a0142ba8 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1049002eaeb39e1dfa728894b3681534a0142ba8
Author: Brian Paul <[email protected]> Date: Mon Jun 27 11:15:07 2016 -0600 svga: adjust render target view format for RGBX For GL_ARB_copy_image we may be asked to create an RGBA view of a RGBX surface. Use an RGBX view format for that case. Acked-by: Roland Scheidegger <[email protected]> Reviewed-by: Charmaine Lee <[email protected]> --- src/gallium/drivers/svga/svga_surface.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/svga/svga_surface.c b/src/gallium/drivers/svga/svga_surface.c index a0108d2..e5943cf 100644 --- a/src/gallium/drivers/svga/svga_surface.c +++ b/src/gallium/drivers/svga/svga_surface.c @@ -452,10 +452,22 @@ svga_validate_surface_view(struct svga_context *svga, struct svga_surface *s) &desc); } else { + SVGA3dSurfaceFormat view_format = s->key.format; + const struct svga_texture *stex = svga_texture(s->base.texture); + + /* Can't create RGBA render target view of a RGBX surface so adjust + * the view format. We do something similar for texture samplers in + * svga_validate_pipe_sampler_view(). + */ + if (view_format == SVGA3D_B8G8R8A8_UNORM && + stex->key.format == SVGA3D_B8G8R8X8_TYPELESS) { + view_format = SVGA3D_B8G8R8X8_UNORM; + } + ret = SVGA3D_vgpu10_DefineRenderTargetView(svga->swc, s->view_id, s->handle, - s->key.format, + view_format, resType, &desc); } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
