NIL_FORMAT_SUPPORTS_BUFFER_BIT = BITFIELD_BIT(1),
NIL_FORMAT_SUPPORTS_STORAGE_BIT = BITFIELD_BIT(2),
NIL_FORMAT_SUPPORTS_RENDER_BIT = BITFIELD_BIT(3),
- NIL_FORMAT_SUPPORTS_BLEND_BIT = BITFIELD_BIT(4),
+ NIL_FORMAT_SUPPORTS_ALPHA_BLEND_BIT = BITFIELD_BIT(4),
NIL_FORMAT_SUPPORTS_DEPTH_STENCIL_BIT = BITFIELD_BIT(5),
NIL_FORMAT_SUPPORTS_SCANOUT_BIT = BITFIELD_BIT(6),
};
/* Abbreviated usage masks:
* T: texturing
* R: render target
- * B: render target, blendable
+ * A: render target, alpha-blendable
* C: render target (color), blendable only on nvc0
* D: scanout/display target, blendable
* Z: depth/stencil
#define U_I U_B | NIL_FORMAT_SUPPORTS_STORAGE_BIT
#define U_TR NIL_FORMAT_SUPPORTS_RENDER_BIT | U_T
#define U_IR NIL_FORMAT_SUPPORTS_RENDER_BIT | U_I
-#define U_TB NIL_FORMAT_SUPPORTS_BLEND_BIT | U_TR
-#define U_IB NIL_FORMAT_SUPPORTS_BLEND_BIT | U_IR
-#define U_TD NIL_FORMAT_SUPPORTS_SCANOUT_BIT | U_TB
+#define U_TA NIL_FORMAT_SUPPORTS_ALPHA_BLEND_BIT | U_TR
+#define U_IA NIL_FORMAT_SUPPORTS_ALPHA_BLEND_BIT | U_IR
+#define U_TD NIL_FORMAT_SUPPORTS_SCANOUT_BIT | U_TA
#define U_TZ NIL_FORMAT_SUPPORTS_DEPTH_STENCIL_BIT | U_T
#define U_ID U_TD | U_I
-#define U_TC U_TB
-#define U_IC U_IB
+#define U_TC U_TA
+#define U_IC U_IA
#define U_t U_T
#define SF_A(sz) NV9097_TEXHEAD0_COMPONENT_SIZES_##sz
F3(A, B8G8R8X8_UNORM, X8R8G8B8, B, G, R, x, UNORM, A8B8G8R8, TD),
C4(A, B8G8R8A8_SRGB, A8RL8GL8BL8, B, G, R, A, UNORM, A8B8G8R8, TD),
F3(A, B8G8R8X8_SRGB, X8RL8GL8BL8, B, G, R, x, UNORM, A8B8G8R8, TD),
- C4(A, R8G8B8A8_UNORM, A8B8G8R8, R, G, B, A, UNORM, A8B8G8R8, IB),
- F3(A, R8G8B8X8_UNORM, X8B8G8R8, R, G, B, x, UNORM, A8B8G8R8, TB),
- C4(A, R8G8B8A8_SRGB, A8BL8GL8RL8, R, G, B, A, UNORM, A8B8G8R8, TB),
- F3(A, R8G8B8X8_SRGB, X8BL8GL8RL8, R, G, B, x, UNORM, A8B8G8R8, TB),
+ C4(A, R8G8B8A8_UNORM, A8B8G8R8, R, G, B, A, UNORM, A8B8G8R8, IA),
+ F3(A, R8G8B8X8_UNORM, X8B8G8R8, R, G, B, x, UNORM, A8B8G8R8, TA),
+ C4(A, R8G8B8A8_SRGB, A8BL8GL8RL8, R, G, B, A, UNORM, A8B8G8R8, TA),
+ F3(A, R8G8B8X8_SRGB, X8BL8GL8RL8, R, G, B, x, UNORM, A8B8G8R8, TA),
ZX(B, Z16_UNORM, Z16, R, UNORM, Z16, TZ),
ZX(A, Z32_FLOAT, ZF32, R, FLOAT, ZF32, TZ),
C4(A, R10G10B10A2_UNORM, A2B10G10R10, R, G, B, A, UNORM, A2B10G10R10, ID),
F3(A, R10G10B10X2_UNORM, A2B10G10R10, R, G, B, x, UNORM, A2B10G10R10, T),
- C4(A, B10G10R10A2_UNORM, A2R10G10B10, B, G, R, A, UNORM, A2B10G10R10, TB),
+ C4(A, B10G10R10A2_UNORM, A2R10G10B10, B, G, R, A, UNORM, A2B10G10R10, TA),
F3(A, B10G10R10X2_UNORM, A2R10G10B10, B, G, R, x, UNORM, A2B10G10R10, T),
C4(A, R10G10B10A2_SNORM, NONE, R, G, B, A, SNORM, A2B10G10R10, T),
C4(A, B10G10R10A2_SNORM, NONE, B, G, R, A, SNORM, A2B10G10R10, T),
C4(A, R10G10B10A2_UINT, AU2BU10GU10RU10, R, G, B, A, UINT, A2B10G10R10, TR),
C4(A, B10G10R10A2_UINT, NONE, B, G, R, A, UINT, A2B10G10R10, T),
- F3(A, R11G11B10_FLOAT, BF10GF11RF11, R, G, B, x, FLOAT, BF10GF11RF11, IB),
+ F3(A, R11G11B10_FLOAT, BF10GF11RF11, R, G, B, x, FLOAT, BF10GF11RF11, IA),
- F3(A, L8_UNORM, R8, R, R, R, x, UNORM, R8, TB),
+ F3(A, L8_UNORM, R8, R, R, R, x, UNORM, R8, TA),
F3(A, L8_SRGB, NONE, R, R, R, x, UNORM, R8, T),
F3(A, L8_SNORM, RN8, R, R, R, x, SNORM, R8, TC),
I3(A, L8_SINT, RS8, R, R, R, x, SINT, R8, TR),
I3(A, L8_UINT, RU8, R, R, R, x, UINT, R8, TR),
F3(A, L16_UNORM, R16, R, R, R, x, UNORM, R16, TC),
F3(A, L16_SNORM, RN16, R, R, R, x, SNORM, R16, TC),
- F3(A, L16_FLOAT, RF16, R, R, R, x, FLOAT, R16, TB),
+ F3(A, L16_FLOAT, RF16, R, R, R, x, FLOAT, R16, TA),
I3(A, L16_SINT, RS16, R, R, R, x, SINT, R16, TR),
I3(A, L16_UINT, RU16, R, R, R, x, UINT, R16, TR),
- F3(A, L32_FLOAT, RF32, R, R, R, x, FLOAT, R32, TB),
+ F3(A, L32_FLOAT, RF32, R, R, R, x, FLOAT, R32, TA),
I3(A, L32_SINT, RS32, R, R, R, x, SINT, R32, TR),
I3(A, L32_UINT, RU32, R, R, R, x, UINT, R32, TR),
C4(A, I32_SINT, RS32, R, R, R, R, SINT, R32, TR),
C4(A, I32_UINT, RU32, R, R, R, R, UINT, R32, TR),
- A1(A, A8_UNORM, A8, x, x, x, R, UNORM, R8, TB),
+ A1(A, A8_UNORM, A8, x, x, x, R, UNORM, R8, TA),
A1(A, A8_SNORM, RN8, x, x, x, R, SNORM, R8, T),
A1(A, A8_SINT, RS8, x, x, x, R, SINT, R8, T),
A1(A, A8_UINT, RU8, x, x, x, R, UINT, R8, T),
C4(D, ASTC_12x10_SRGB, NONE, R, G, B, A, UNORM, ASTC_2D_12X10, t),
C4(D, ASTC_12x12_SRGB, NONE, R, G, B, A, UNORM, ASTC_2D_12X12, t),
- C4(A, R32G32B32A32_FLOAT, RF32_GF32_BF32_AF32, R, G, B, A, FLOAT, R32_G32_B32_A32, IB),
+ C4(A, R32G32B32A32_FLOAT, RF32_GF32_BF32_AF32, R, G, B, A, FLOAT, R32_G32_B32_A32, IA),
C4(A, R32G32B32A32_UNORM, NONE, R, G, B, A, UNORM, R32_G32_B32_A32, T),
C4(A, R32G32B32A32_SNORM, NONE, R, G, B, A, SNORM, R32_G32_B32_A32, T),
C4(A, R32G32B32A32_SINT, RS32_GS32_BS32_AS32, R, G, B, A, SINT, R32_G32_B32_A32, IR),
C4(A, R32G32B32A32_UINT, RU32_GU32_BU32_AU32, R, G, B, A, UINT, R32_G32_B32_A32, IR),
- F3(A, R32G32B32X32_FLOAT, RF32_GF32_BF32_X32, R, G, B, x, FLOAT, R32_G32_B32_A32, TB),
+ F3(A, R32G32B32X32_FLOAT, RF32_GF32_BF32_X32, R, G, B, x, FLOAT, R32_G32_B32_A32, TA),
I3(A, R32G32B32X32_SINT, RS32_GS32_BS32_X32, R, G, B, x, SINT, R32_G32_B32_A32, TR),
I3(A, R32G32B32X32_UINT, RU32_GU32_BU32_X32, R, G, B, x, UINT, R32_G32_B32_A32, TR),
I3(C, R32G32B32_SINT, NONE, R, G, B, xx, SINT, R32_G32_B32, B),
I3(C, R32G32B32_UINT, NONE, R, G, B, xx, UINT, R32_G32_B32, B),
- F2(A, R32G32_FLOAT, RF32_GF32, R, G, x, x, FLOAT, R32_G32, IB),
+ F2(A, R32G32_FLOAT, RF32_GF32, R, G, x, x, FLOAT, R32_G32, IA),
F2(A, R32G32_UNORM, NONE, R, G, x, x, UNORM, R32_G32, T),
F2(A, R32G32_SNORM, NONE, R, G, x, x, SNORM, R32_G32, T),
I2(A, R32G32_SINT, RS32_GS32, R, G, x, x, SINT, R32_G32, IR),
I2(A, R32G32_UINT, RU32_GU32, R, G, x, x, UINT, R32_G32, IR),
- F1(A, R32_FLOAT, RF32, R, x, x, x, FLOAT, R32, IB),
+ F1(A, R32_FLOAT, RF32, R, x, x, x, FLOAT, R32, IA),
F1(A, R32_UNORM, NONE, R, x, x, x, UNORM, R32, T),
F1(A, R32_SNORM, NONE, R, x, x, x, SNORM, R32, T),
I1(A, R32_SINT, RS32, R, x, x, x, SINT, R32, IR),
I1(A, R32_UINT, RU32, R, x, x, x, UINT, R32, IR),
- C4(A, R16G16B16A16_FLOAT, RF16_GF16_BF16_AF16, R, G, B, A, FLOAT, R16_G16_B16_A16, IB),
+ C4(A, R16G16B16A16_FLOAT, RF16_GF16_BF16_AF16, R, G, B, A, FLOAT, R16_G16_B16_A16, IA),
C4(A, R16G16B16A16_UNORM, R16_G16_B16_A16, R, G, B, A, UNORM, R16_G16_B16_A16, IC),
C4(A, R16G16B16A16_SNORM, RN16_GN16_BN16_AN16, R, G, B, A, SNORM, R16_G16_B16_A16, IC),
C4(A, R16G16B16A16_SINT, RS16_GS16_BS16_AS16, R, G, B, A, SINT, R16_G16_B16_A16, IR),
C4(A, R16G16B16A16_UINT, RU16_GU16_BU16_AU16, R, G, B, A, UINT, R16_G16_B16_A16, IR),
- F3(A, R16G16B16X16_FLOAT, RF16_GF16_BF16_X16, R, G, B, x, FLOAT, R16_G16_B16_A16, TB),
+ F3(A, R16G16B16X16_FLOAT, RF16_GF16_BF16_X16, R, G, B, x, FLOAT, R16_G16_B16_A16, TA),
F3(A, R16G16B16X16_UNORM, R16_G16_B16_A16, R, G, B, x, UNORM, R16_G16_B16_A16, T),
F3(A, R16G16B16X16_SNORM, RN16_GN16_BN16_AN16, R, G, B, x, SNORM, R16_G16_B16_A16, T),
I3(A, R16G16B16X16_SINT, RS16_GS16_BS16_AS16, R, G, B, x, SINT, R16_G16_B16_A16, TR),
I3(A, R16G16B16X16_UINT, RU16_GU16_BU16_AU16, R, G, B, x, UINT, R16_G16_B16_A16, TR),
- F2(A, R16G16_FLOAT, RF16_GF16, R, G, x, x, FLOAT, R16_G16, IB),
+ F2(A, R16G16_FLOAT, RF16_GF16, R, G, x, x, FLOAT, R16_G16, IA),
F2(A, R16G16_UNORM, R16_G16, R, G, x, x, UNORM, R16_G16, IC),
F2(A, R16G16_SNORM, RN16_GN16, R, G, x, x, SNORM, R16_G16, IC),
I2(A, R16G16_SINT, RS16_GS16, R, G, x, x, SINT, R16_G16, IR),
I2(A, R16G16_UINT, RU16_GU16, R, G, x, x, UINT, R16_G16, IR),
- F1(A, R16_FLOAT, RF16, R, x, x, x, FLOAT, R16, IB),
+ F1(A, R16_FLOAT, RF16, R, x, x, x, FLOAT, R16, IA),
F1(A, R16_UNORM, R16, R, x, x, x, UNORM, R16, IC),
F1(A, R16_SNORM, RN16, R, x, x, x, SNORM, R16, IC),
I1(A, R16_SINT, RS16, R, x, x, x, SINT, R16, IR),
I3(A, R8G8B8X8_SINT, AS8BS8GS8RS8, R, G, B, x, SINT, A8B8G8R8, TR),
I3(A, R8G8B8X8_UINT, AU8BU8GU8RU8, R, G, B, x, UINT, A8B8G8R8, TR),
- F2(A, R8G8_UNORM, G8R8, R, G, x, x, UNORM, G8R8, IB),
+ F2(A, R8G8_UNORM, G8R8, R, G, x, x, UNORM, G8R8, IA),
F2(A, R8G8_SNORM, GN8RN8, R, G, x, x, SNORM, G8R8, IC),
I2(A, R8G8_SINT, GS8RS8, R, G, x, x, SINT, G8R8, IR),
I2(A, R8G8_UINT, GU8RU8, R, G, x, x, UINT, G8R8, IR),
F2(A, R8G8_SRGB, NONE, R, G, x, x, UNORM, G8R8, T),
#endif
- F1(A, R8_UNORM, R8, R, x, x, x, UNORM, R8, IB),
+ F1(A, R8_UNORM, R8, R, x, x, x, UNORM, R8, IA),
F1(A, R8_SNORM, RN8, R, x, x, x, SNORM, R8, IC),
I1(A, R8_SINT, RS8, R, x, x, x, SINT, R8, IR),
I1(A, R8_UINT, RU8, R, x, x, x, UINT, R8, IR),
{
assert(format < PIPE_FORMAT_COUNT);
const struct nil_format_info *fmt = &nil_format_infos[format];
- return fmt->support & NIL_FORMAT_SUPPORTS_BLEND_BIT;
+ return fmt->support & NIL_FORMAT_SUPPORTS_ALPHA_BLEND_BIT;
}
bool