diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/svga/svga_state_sampler.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_state_sampler.c b/src/gallium/drivers/svga/svga_state_sampler.c index 6e78825954f..00e8fc0e6c8 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); |