From 68388043f3280bbac9383721e37f8ca7685b7f01 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 27 Jun 2016 11:16:03 -0600 Subject: [PATCH] svga: adjust sampler view format for RGBX We previously handled the case of a RGBX sampler view of a RGBA surface. Add the reverse case too. For GL_ARB_copy_image. Acked-by: Roland Scheidegger Reviewed-by: Charmaine Lee --- src/gallium/drivers/svga/svga_state_sampler.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/svga/svga_state_sampler.c b/src/gallium/drivers/svga/svga_state_sampler.c index 6e78825..00e8fc0 100644 --- a/src/gallium/drivers/svga/svga_state_sampler.c +++ b/src/gallium/drivers/svga/svga_state_sampler.c @@ -106,12 +106,16 @@ svga_validate_pipe_sampler_view(struct svga_context *svga, enum pipe_format pformat = sv->base.format; /* vgpu10 cannot create a BGRX view for a BGRA resource, so force it to - * create a BGRA view. + * create a BGRA view (and vice versa). */ if (pformat == PIPE_FORMAT_B8G8R8X8_UNORM && sv->base.texture->format == PIPE_FORMAT_B8G8R8A8_UNORM) { pformat = PIPE_FORMAT_B8G8R8A8_UNORM; } + else if (pformat == PIPE_FORMAT_B8G8R8A8_UNORM && + sv->base.texture->format == PIPE_FORMAT_B8G8R8X8_UNORM) { + pformat = PIPE_FORMAT_B8G8R8X8_UNORM; + } format = svga_translate_format(ss, pformat, PIPE_BIND_SAMPLER_VIEW); -- 2.7.4