<value value="0x82" name="RB6_R32G32B32A32_FLOAT"/>
<value value="0x83" name="RB6_R32G32B32A32_UINT"/>
<value value="0x84" name="RB6_R32G32B32A32_SINT"/>
- <value value="0x91" name="RB6_Z24_UNORM_S8_UINT"/>
- <value value="0xa0" name="RB6_X8Z24_UNORM"/>
+ <value value="0x91" name="RB6_Z24_UNORM_S8_UINT_AS_R8G8B8A8"/>
+ <value value="0xa0" name="RB6_Z24_UNORM_S8_UINT"/>
</enum>
<!-- these might be same as a5xx -->
enum a3xx_color_swap swap = img->tiled ? WZYX : fmt->swap;
if (rb == RB6_R10G10B10A2_UNORM && src)
rb = RB6_R10G10B10A2_FLOAT16;
- if (rb == RB6_X8Z24_UNORM)
- rb = RB6_Z24_UNORM_S8_UINT;
+ if (rb == RB6_Z24_UNORM_S8_UINT)
+ rb = RB6_Z24_UNORM_S8_UINT_AS_R8G8B8A8;
if (stencil_read)
swap = XYZW;
tu_cs_reserve_space(cmdbuf->device, cs, 52);
enum a6xx_color_fmt fmt = tu6_get_native_format(blt->dst.fmt)->rb;
- if (fmt == RB6_X8Z24_UNORM)
- fmt = RB6_Z24_UNORM_S8_UINT;
+ if (fmt == RB6_Z24_UNORM_S8_UINT)
+ fmt = RB6_Z24_UNORM_S8_UINT_AS_R8G8B8A8;
enum a6xx_2d_ifmt ifmt = tu6_rb_fmt_to_ifmt(fmt);
uint32_t blit_cntl = A6XX_RB_2D_BLIT_CNTL_ROTATE(blt->rotation) |
A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT(fmt) | /* not required? */
- COND(fmt == RB6_Z24_UNORM_S8_UINT, A6XX_RB_2D_BLIT_CNTL_D24S8) |
+ COND(fmt == RB6_Z24_UNORM_S8_UINT_AS_R8G8B8A8, A6XX_RB_2D_BLIT_CNTL_D24S8) |
A6XX_RB_2D_BLIT_CNTL_MASK(0xf) |
A6XX_RB_2D_BLIT_CNTL_IFMT(ifmt);
/* depth/stencil */
TU6_xTC(D16_UNORM, 16_UNORM, R16_UNORM, WZYX), /* 124 */
- TU6_xTC(X8_D24_UNORM_PACK32, X8Z24_UNORM, X8Z24_UNORM, WZYX), /* 125 */
+ TU6_xTC(X8_D24_UNORM_PACK32, Z24_UNORM_S8_UINT, Z24_UNORM_S8_UINT, WZYX), /* 125 */
TU6_xTC(D32_SFLOAT, 32_FLOAT, R32_FLOAT, WZYX), /* 126 */
TU6_xTC(S8_UINT, 8_UINT, R8_UINT, WZYX), /* 127 */
TU6_xxx(D16_UNORM_S8_UINT, X8Z16_UNORM, X8Z16_UNORM, WZYX), /* 128 */
- TU6_xTC(D24_UNORM_S8_UINT, X8Z24_UNORM, X8Z24_UNORM, WZYX), /* 129 */
+ TU6_xTC(D24_UNORM_S8_UINT, Z24_UNORM_S8_UINT, Z24_UNORM_S8_UINT, WZYX), /* 129 */
TU6_xxx(D32_SFLOAT_S8_UINT, x, x, WZYX), /* 130 */
/* compressed */
case RB6_R4G4B4A4_UNORM:
case RB6_R5G5B5A1_UNORM:
case RB6_R5G6B5_UNORM:
- case RB6_X8Z24_UNORM:
case RB6_Z24_UNORM_S8_UINT:
+ case RB6_Z24_UNORM_S8_UINT_AS_R8G8B8A8:
return R2D_UNORM8;
case RB6_R32_UINT:
color->ui[2] = (depth_unorm24 >> 16) & 0xff;
color->ui[3] = stencil;
- dfmt = RB6_Z24_UNORM_S8_UINT;
+ dfmt = RB6_Z24_UNORM_S8_UINT_AS_R8G8B8A8;
break;
}
case PIPE_FORMAT_B5G6R5_UNORM:
VT(R11G11B10_FLOAT, 11_11_10_FLOAT, R11G11B10_FLOAT, WZYX),
_T(R9G9B9E5_FLOAT, 9_9_9_E5_FLOAT, NONE, WZYX),
- _T(Z24X8_UNORM, X8Z24_UNORM, X8Z24_UNORM, WZYX),
- _T(X24S8_UINT, 8_8_8_8_UINT, X8Z24_UNORM, WZYX),
- _T(Z24_UNORM_S8_UINT, X8Z24_UNORM, X8Z24_UNORM, WZYX),
- _T(Z32_FLOAT, 32_FLOAT, R32_FLOAT, WZYX),
- _T(Z32_FLOAT_S8X24_UINT, 32_FLOAT, R32_FLOAT, WZYX),
- _T(X32_S8X24_UINT, 8_UINT, R8_UINT, WZYX),
+ _T(Z24X8_UNORM, X8Z24_UNORM, Z24_UNORM_S8_UINT, WZYX),
+ _T(X24S8_UINT, 8_8_8_8_UINT, Z24_UNORM_S8_UINT, WZYX),
+ _T(Z24_UNORM_S8_UINT, X8Z24_UNORM, Z24_UNORM_S8_UINT, WZYX),
+ _T(Z32_FLOAT, 32_FLOAT, R32_FLOAT, WZYX),
+ _T(Z32_FLOAT_S8X24_UINT, 32_FLOAT, R32_FLOAT, WZYX),
+ _T(X32_S8X24_UINT, 8_UINT, R8_UINT, WZYX),
/* special format for blits: */
- _T(Z24_UNORM_S8_UINT_AS_R8G8B8A8, Z24_UNORM_S8_UINT, Z24_UNORM_S8_UINT, WZYX),
+ _T(Z24_UNORM_S8_UINT_AS_R8G8B8A8, Z24_UNORM_S8_UINT, Z24_UNORM_S8_UINT_AS_R8G8B8A8, WZYX),
/* 48-bit */
V_(R16G16B16_UNORM, 16_16_16_UNORM, NONE, WZYX),
case RB6_R5G5B5A1_UNORM:
case RB6_R5G6B5_UNORM:
case RB6_R10G10B10A2_UINT:
- case RB6_X8Z24_UNORM:
case RB6_Z24_UNORM_S8_UINT:
+ case RB6_Z24_UNORM_S8_UINT_AS_R8G8B8A8:
return R2D_RAW;
default:
unreachable("bad format");
case RB6_R8G8_SINT:
case RB6_R8G8_UINT:
case RB6_R8G8_UNORM:
- case RB6_X8Z24_UNORM:
case RB6_Z24_UNORM_S8_UINT:
+ case RB6_Z24_UNORM_S8_UINT_AS_R8G8B8A8:
return true;
default:
return false;