{ 1, 1, 1, __DRI_IMAGE_FORMAT_GR88 } }
};
-static const struct dri2_format_mapping g8_b8r8_mapping = {
+static const struct dri2_format_mapping r8_b8g8_mapping = {
DRM_FORMAT_NV21,
__DRI_IMAGE_FORMAT_NONE,
__DRI_IMAGE_COMPONENTS_Y_UV,
- PIPE_FORMAT_G8_B8R8_420_UNORM,
+ PIPE_FORMAT_R8_B8G8_420_UNORM,
2,
{ { 0, 0, 0, __DRI_IMAGE_FORMAT_R8 },
{ 1, 1, 1, __DRI_IMAGE_FORMAT_GR88 } }
PIPE_BIND_SAMPLER_VIEW))
tex_usage |= PIPE_BIND_SAMPLER_VIEW;
- /* For NV12, see if we have support for sampling r8_b8g8 */
+ /* For NV12, see if we have support for sampling r8_g8b8 */
if (!tex_usage && map->pipe_format == PIPE_FORMAT_NV12 &&
pscreen->is_format_supported(pscreen, PIPE_FORMAT_R8_G8B8_420_UNORM,
screen->target, 0, 0, PIPE_BIND_SAMPLER_VIEW)) {
tex_usage |= PIPE_BIND_SAMPLER_VIEW;
}
- /* For NV21, see if we have support for sampling g8_b8r8 */
+ /* For NV21, see if we have support for sampling r8_b8g8 */
if (!tex_usage && map->pipe_format == PIPE_FORMAT_NV21 &&
- pscreen->is_format_supported(pscreen, PIPE_FORMAT_G8_B8R8_420_UNORM,
+ pscreen->is_format_supported(pscreen, PIPE_FORMAT_R8_B8G8_420_UNORM,
screen->target, 0, 0, PIPE_BIND_SAMPLER_VIEW)) {
- map = &g8_b8r8_mapping;
+ map = &r8_b8g8_mapping;
tex_usage |= PIPE_BIND_SAMPLER_VIEW;
}
break;
FALLTHROUGH;
case PIPE_FORMAT_NV21:
- if (stObj->pt->format == PIPE_FORMAT_G8_B8R8_420_UNORM)
+ if (stObj->pt->format == PIPE_FORMAT_R8_B8G8_420_UNORM)
/* no additional views needed */
break;
FALLTHROUGH;
pipe->create_sampler_view(pipe, stObj->pt->next, &tmpl);
break;
case PIPE_FORMAT_NV21:
- if (stObj->pt->format == PIPE_FORMAT_G8_B8R8_420_UNORM)
+ if (stObj->pt->format == PIPE_FORMAT_R8_B8G8_420_UNORM)
/* no additional views needed */
break;
}
if (out->format == PIPE_FORMAT_NV21 &&
- out->texture->format == PIPE_FORMAT_G8_B8R8_420_UNORM &&
- screen->is_format_supported(screen, PIPE_FORMAT_G8_B8R8_420_UNORM,
+ out->texture->format == PIPE_FORMAT_R8_B8G8_420_UNORM &&
+ screen->is_format_supported(screen, PIPE_FORMAT_R8_B8G8_420_UNORM,
PIPE_TEXTURE_2D,
out->texture->nr_samples,
out->texture->nr_storage_samples,
switch (stimg->format) {
case PIPE_FORMAT_NV12:
case PIPE_FORMAT_NV21:
- if (stimg->texture->format == PIPE_FORMAT_R8_G8B8_420_UNORM) {
- texFormat = MESA_FORMAT_R8G8B8X8_UNORM;
- texObj->RequiredTextureImageUnits = 1;
- } else if (stimg->texture->format == PIPE_FORMAT_G8_B8R8_420_UNORM) {
+ if (stimg->texture->format == PIPE_FORMAT_R8_G8B8_420_UNORM ||
+ stimg->texture->format == PIPE_FORMAT_R8_B8G8_420_UNORM) {
texFormat = MESA_FORMAT_R8G8B8X8_UNORM;
texObj->RequiredTextureImageUnits = 1;
} else {
key.lower_nv12 |= (1 << unit);
break;
case PIPE_FORMAT_NV21:
- if (stObj->pt->format == PIPE_FORMAT_G8_B8R8_420_UNORM) {
+ if (stObj->pt->format == PIPE_FORMAT_R8_B8G8_420_UNORM) {
key.lower_yuv |= (1 << unit);
break;
}
}
FALLTHROUGH;
case PIPE_FORMAT_NV21:
- if (texObj->pt->format == PIPE_FORMAT_G8_B8R8_420_UNORM) {
- format = PIPE_FORMAT_G8_B8R8_420_UNORM;
+ if (texObj->pt->format == PIPE_FORMAT_R8_B8G8_420_UNORM) {
+ format = PIPE_FORMAT_R8_B8G8_420_UNORM;
break;
}
FALLTHROUGH;
FMT_YUV(R8B8_R8G8_UNORM, YUYV8, VYUA, NO_SWAP, CO_SITED, _T__),
FMT_YUV(B8R8_G8R8_UNORM, VYUY8, VUYA, SWAP, CO_SITED, _T__),
FMT_YUV(R8_G8B8_420_UNORM, Y8_UV8_420, YUVA, NO_SWAP, CO_SITED, _T__),
- FMT_YUV(G8_B8R8_420_UNORM, Y8_UV8_420, YVUA, NO_SWAP, CO_SITED, _T__),
+ FMT_YUV(R8_B8G8_420_UNORM, Y8_UV8_420, YVUA, NO_SWAP, CO_SITED, _T__),
FMT_YUV(R8_G8_B8_420_UNORM, Y8_U8_V8_420, YUVA, NO_SWAP, CO_SITED, _T__),
FMT_YUV(R8_B8_G8_420_UNORM, Y8_U8_V8_420, YVUA, NO_SWAP, CO_SITED, _T__),
#endif
# RGB version of NV12 and YV12 for hardware that supports sampling from
# multiplane textures but needs color-space conversion in the shader.
PIPE_FORMAT_R8_G8B8_420_UNORM , planar2, 1, 1, 1, un8, , , , xyzw, rgb
+PIPE_FORMAT_R8_B8G8_420_UNORM , planar2, 1, 1, 1, un8, , , , xyzw, rgb
PIPE_FORMAT_G8_B8R8_420_UNORM , planar2, 1, 1, 1, un8, , , , xyzw, rgb
PIPE_FORMAT_R8_G8_B8_420_UNORM , planar3, 1, 1, 1, un8, , , , xyzw, rgb
PIPE_FORMAT_R8_B8_G8_420_UNORM , planar3, 1, 1, 1, un8, , , , xyzw, rgb
'y16_u16v16_422_unorm',
'y16_u16_v16_444_unorm',
'r8_g8b8_420_unorm',
+ 'r8_b8g8_420_unorm',
'g8_b8r8_420_unorm',
'r8_g8_b8_420_unorm',
'r8_b8_g8_420_unorm',
PIPE_FORMAT_XYUV,
PIPE_FORMAT_R8_G8B8_420_UNORM,
+ PIPE_FORMAT_R8_B8G8_420_UNORM,
PIPE_FORMAT_G8_B8R8_420_UNORM,
PIPE_FORMAT_R8_G8_B8_420_UNORM,
PIPE_FORMAT_R8_B8_G8_420_UNORM,