From d83fe059c27080d02c1a39029997f890c39d4a8a Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Wed, 11 Apr 2018 22:48:33 -0700 Subject: [PATCH] intel/isl: Add R10G10B10_FLOAT_A2_UNORM format Reworks: * Fill out the format's entry in the ISL format table. (Nanley) * Support CCS_E-enabled BLORP copies with the format. (Nanley) Signed-off-by: Jordan Justen Reviewed-by: Sagar Ghuge Reviewed-by: Kenneth Graunke --- src/intel/blorp/blorp_blit.c | 1 + src/intel/isl/isl.h | 1 + src/intel/isl/isl_format.c | 1 + src/intel/isl/isl_format_layout.csv | 1 + 4 files changed, 4 insertions(+) diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index a43aa88d0db..acabae16081 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -2485,6 +2485,7 @@ get_ccs_compatible_uint_format(const struct isl_format_layout *fmtl) case ISL_FORMAT_B10G10R10A2_UNORM: case ISL_FORMAT_B10G10R10A2_UNORM_SRGB: case ISL_FORMAT_R10G10B10A2_UNORM: + case ISL_FORMAT_R10G10B10_FLOAT_A2_UNORM: case ISL_FORMAT_R10G10B10A2_UINT: return ISL_FORMAT_R10G10B10A2_UINT; diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h index 9fbc88ec83e..509d56180bb 100644 --- a/src/intel/isl/isl.h +++ b/src/intel/isl/isl.h @@ -167,6 +167,7 @@ enum isl_format { ISL_FORMAT_B10G10R10A2_UNORM = 209, ISL_FORMAT_B10G10R10A2_UNORM_SRGB = 210, ISL_FORMAT_R11G11B10_FLOAT = 211, + ISL_FORMAT_R10G10B10_FLOAT_A2_UNORM = 213, ISL_FORMAT_R32_SINT = 214, ISL_FORMAT_R32_UINT = 215, ISL_FORMAT_R32_FLOAT = 216, diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c index 9847f231923..a36edb9662f 100644 --- a/src/intel/isl/isl_format.c +++ b/src/intel/isl/isl_format.c @@ -163,6 +163,7 @@ static const struct surface_format_info format_info[] = { SF( Y, Y, x, x, Y, Y, 75, x, 60, 70, x, 100, B10G10R10A2_UNORM) SF( Y, Y, x, x, Y, Y, x, x, 60, x, x, 100, B10G10R10A2_UNORM_SRGB) SF( Y, Y, x, x, Y, Y, Y, x, x, 70, x, 100, R11G11B10_FLOAT) + SF(120, 120, x, x, 120, 120, x, x, x, x, x, 120, R10G10B10_FLOAT_A2_UNORM) SF( Y, x, x, x, Y, x, Y, Y, x, 70, 70, 90, R32_SINT) SF( Y, x, x, x, Y, x, Y, Y, x, 70, 70, 90, R32_UINT) SF( Y, 50, Y, x, Y, Y, Y, Y, x, 70, 70, 90, R32_FLOAT) diff --git a/src/intel/isl/isl_format_layout.csv b/src/intel/isl/isl_format_layout.csv index a1efa666577..d9142623f07 100644 --- a/src/intel/isl/isl_format_layout.csv +++ b/src/intel/isl/isl_format_layout.csv @@ -128,6 +128,7 @@ R16G16_FLOAT , 32, 1, 1, 1, sf16, sf16, , , , B10G10R10A2_UNORM , 32, 1, 1, 1, un10, un10, un10, un2, , , , bgra, linear, B10G10R10A2_UNORM_SRGB , 32, 1, 1, 1, un10, un10, un10, un2, , , , bgra, srgb, R11G11B10_FLOAT , 32, 1, 1, 1, uf11, uf11, uf10, , , , , rgb, linear, +R10G10B10_FLOAT_A2_UNORM , 32, 1, 1, 1, uf10, uf10, uf10, un2, , , , rgba, linear, R32_SINT , 32, 1, 1, 1, si32, , , , , , , r, linear, R32_UINT , 32, 1, 1, 1, ui32, , , , , , , r, linear, R32_FLOAT , 32, 1, 1, 1, sf32, , , , , , , r, linear, -- 2.30.2