From: Faith Ekstrand Date: Tue, 10 Oct 2023 16:09:12 +0000 (-0500) Subject: nil/format: Use A for alpha blend X-Git-Tag: upstream/23.3.3~1038 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7bedd0c2fc53114dab7d7c34ae60bb7c21a6a350;p=platform%2Fupstream%2Fmesa.git nil/format: Use A for alpha blend This lets us reserve B for buffer. Part-of: --- diff --git a/src/nouveau/nil/nil_format.c b/src/nouveau/nil/nil_format.c index 31f44c3ebe5..83de3b6c6a8 100644 --- a/src/nouveau/nil/nil_format.c +++ b/src/nouveau/nil/nil_format.c @@ -16,7 +16,7 @@ enum nil_format_support_flags { 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), }; @@ -31,7 +31,7 @@ struct nil_format_info { /* 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 @@ -42,13 +42,13 @@ struct nil_format_info { #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 @@ -114,10 +114,10 @@ static const struct nil_format_info nil_format_infos[PIPE_FORMAT_COUNT] = 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), @@ -146,26 +146,26 @@ static const struct nil_format_info nil_format_infos[PIPE_FORMAT_COUNT] = 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), @@ -182,7 +182,7 @@ static const struct nil_format_info nil_format_infos[PIPE_FORMAT_COUNT] = 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), @@ -275,12 +275,12 @@ static const struct nil_format_info nil_format_infos[PIPE_FORMAT_COUNT] = 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), @@ -288,36 +288,36 @@ static const struct nil_format_info nil_format_infos[PIPE_FORMAT_COUNT] = 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), @@ -330,7 +330,7 @@ static const struct nil_format_info nil_format_infos[PIPE_FORMAT_COUNT] = 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), @@ -339,7 +339,7 @@ static const struct nil_format_info nil_format_infos[PIPE_FORMAT_COUNT] = 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), @@ -431,7 +431,7 @@ nil_format_supports_blending(struct nv_device_info *dev, { 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