OSDN Git Service

intel/isl: Add R10G10B10_FLOAT_A2_UNORM format
authorJordan Justen <jordan.l.justen@intel.com>
Thu, 12 Apr 2018 05:48:33 +0000 (22:48 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 18 Oct 2019 04:21:56 +0000 (21:21 -0700)
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 <jordan.l.justen@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/blorp/blorp_blit.c
src/intel/isl/isl.h
src/intel/isl/isl_format.c
src/intel/isl/isl_format_layout.csv

index a43aa88..acabae1 100644 (file)
@@ -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;
 
index 9fbc88e..509d561 100644 (file)
@@ -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,
index 9847f23..a36edb9 100644 (file)
@@ -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)
index a1efa66..d914262 100644 (file)
@@ -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,