[Mesa-dev] [PATCH] radeonsi: add register definitions for Stoney

Alex Deucher alexdeucher at gmail.com
Wed Nov 4 11:57:30 PST 2015


On Tue, Nov 3, 2015 at 6:46 PM, Marek Olšák <maraeo at gmail.com> wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> There are a few non-stoney changes too.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  src/gallium/drivers/radeonsi/sid.h | 322 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 322 insertions(+)
>
> diff --git a/src/gallium/drivers/radeonsi/sid.h b/src/gallium/drivers/radeonsi/sid.h
> index 49d8e2c..3a5101a 100644
> --- a/src/gallium/drivers/radeonsi/sid.h
> +++ b/src/gallium/drivers/radeonsi/sid.h
> @@ -3608,6 +3608,9 @@
>  #define   S_00B854_WAVES_PER_SH(x)                                    (((x) & 0x3F) << 0) /* mask is 0x3FF on CIK */
>  #define   G_00B854_WAVES_PER_SH(x)                                    (((x) >> 0) & 0x3F) /* mask is 0x3FF on CIK */
>  #define   C_00B854_WAVES_PER_SH                                       0xFFFFFFC0 /* mask is 0x3FF on CIK */
> +#define   S_00B854_WAVES_PER_SH_CIK(x)                                (((x) & 0x3FF) << 0)
> +#define   G_00B854_WAVES_PER_SH_CIK(x)                                (((x) >> 0) & 0x3FF)
> +#define   C_00B854_WAVES_PER_SH_CIK                                   0xFFFFFC00
>  #define   S_00B854_TG_PER_CU(x)                                       (((x) & 0x0F) << 12)
>  #define   G_00B854_TG_PER_CU(x)                                       (((x) >> 12) & 0x0F)
>  #define   C_00B854_TG_PER_CU                                          0xFFFF0FFF
> @@ -5211,6 +5214,296 @@
>  #define     V_028714_SPI_SHADER_UINT16_ABGR                         0x07
>  #define     V_028714_SPI_SHADER_SINT16_ABGR                         0x08
>  #define     V_028714_SPI_SHADER_32_ABGR                             0x09
> +/* Stoney */
> +#define R_028754_SX_PS_DOWNCONVERT                                      0x028754
> +#define   S_028754_MRT0(x)                                            (((x) & 0x0F) << 0)
> +#define   G_028754_MRT0(x)                                            (((x) >> 0) & 0x0F)
> +#define   C_028754_MRT0                                               0xFFFFFFF0
> +#define     V_028754_SX_RT_EXPORT_NO_CONVERSION                                0
> +#define     V_028754_SX_RT_EXPORT_32_R                                 1
> +#define     V_028754_SX_RT_EXPORT_32_A                                 2
> +#define     V_028754_SX_RT_EXPORT_10_11_11                             3
> +#define     V_028754_SX_RT_EXPORT_2_10_10_10                           4
> +#define     V_028754_SX_RT_EXPORT_8_8_8_8                              5
> +#define     V_028754_SX_RT_EXPORT_5_6_5                                        6
> +#define     V_028754_SX_RT_EXPORT_1_5_5_5                              7
> +#define     V_028754_SX_RT_EXPORT_4_4_4_4                              8
> +#define     V_028754_SX_RT_EXPORT_16_16_GR                             9
> +#define     V_028754_SX_RT_EXPORT_16_16_AR                             10
> +#define   S_028754_MRT1(x)                                            (((x) & 0x0F) << 4)
> +#define   G_028754_MRT1(x)                                            (((x) >> 4) & 0x0F)
> +#define   C_028754_MRT1                                               0xFFFFFF0F
> +#define   S_028754_MRT2(x)                                            (((x) & 0x0F) << 8)
> +#define   G_028754_MRT2(x)                                            (((x) >> 8) & 0x0F)
> +#define   C_028754_MRT2                                               0xFFFFF0FF
> +#define   S_028754_MRT3(x)                                            (((x) & 0x0F) << 12)
> +#define   G_028754_MRT3(x)                                            (((x) >> 12) & 0x0F)
> +#define   C_028754_MRT3                                               0xFFFF0FFF
> +#define   S_028754_MRT4(x)                                            (((x) & 0x0F) << 16)
> +#define   G_028754_MRT4(x)                                            (((x) >> 16) & 0x0F)
> +#define   C_028754_MRT4                                               0xFFF0FFFF
> +#define   S_028754_MRT5(x)                                            (((x) & 0x0F) << 20)
> +#define   G_028754_MRT5(x)                                            (((x) >> 20) & 0x0F)
> +#define   C_028754_MRT5                                               0xFF0FFFFF
> +#define   S_028754_MRT6(x)                                            (((x) & 0x0F) << 24)
> +#define   G_028754_MRT6(x)                                            (((x) >> 24) & 0x0F)
> +#define   C_028754_MRT6                                               0xF0FFFFFF
> +#define   S_028754_MRT7(x)                                            (((x) & 0x0F) << 28)
> +#define   G_028754_MRT7(x)                                            (((x) >> 28) & 0x0F)
> +#define   C_028754_MRT7                                               0x0FFFFFFF
> +#define R_028758_SX_BLEND_OPT_EPSILON                                   0x028758
> +#define   S_028758_MRT0_EPSILON(x)                                    (((x) & 0x0F) << 0)
> +#define   G_028758_MRT0_EPSILON(x)                                    (((x) >> 0) & 0x0F)
> +#define   C_028758_MRT0_EPSILON                                       0xFFFFFFF0
> +#define      V_028758_EXACT                                            0
> +#define      V_028758_11BIT_FORMAT                                     1
> +#define      V_028758_10BIT_FORMAT                                     3
> +#define      V_028758_8BIT_FORMAT                                      7
> +#define      V_028758_6BIT_FORMAT                                      11
> +#define      V_028758_5BIT_FORMAT                                      13
> +#define      V_028758_4BIT_FORMAT                                      15
> +#define   S_028758_MRT1_EPSILON(x)                                    (((x) & 0x0F) << 4)
> +#define   G_028758_MRT1_EPSILON(x)                                    (((x) >> 4) & 0x0F)
> +#define   C_028758_MRT1_EPSILON                                       0xFFFFFF0F
> +#define   S_028758_MRT2_EPSILON(x)                                    (((x) & 0x0F) << 8)
> +#define   G_028758_MRT2_EPSILON(x)                                    (((x) >> 8) & 0x0F)
> +#define   C_028758_MRT2_EPSILON                                       0xFFFFF0FF
> +#define   S_028758_MRT3_EPSILON(x)                                    (((x) & 0x0F) << 12)
> +#define   G_028758_MRT3_EPSILON(x)                                    (((x) >> 12) & 0x0F)
> +#define   C_028758_MRT3_EPSILON                                       0xFFFF0FFF
> +#define   S_028758_MRT4_EPSILON(x)                                    (((x) & 0x0F) << 16)
> +#define   G_028758_MRT4_EPSILON(x)                                    (((x) >> 16) & 0x0F)
> +#define   C_028758_MRT4_EPSILON                                       0xFFF0FFFF
> +#define   S_028758_MRT5_EPSILON(x)                                    (((x) & 0x0F) << 20)
> +#define   G_028758_MRT5_EPSILON(x)                                    (((x) >> 20) & 0x0F)
> +#define   C_028758_MRT5_EPSILON                                       0xFF0FFFFF
> +#define   S_028758_MRT6_EPSILON(x)                                    (((x) & 0x0F) << 24)
> +#define   G_028758_MRT6_EPSILON(x)                                    (((x) >> 24) & 0x0F)
> +#define   C_028758_MRT6_EPSILON                                       0xF0FFFFFF
> +#define   S_028758_MRT7_EPSILON(x)                                    (((x) & 0x0F) << 28)
> +#define   G_028758_MRT7_EPSILON(x)                                    (((x) >> 28) & 0x0F)
> +#define   C_028758_MRT7_EPSILON                                       0x0FFFFFFF
> +#define R_02875C_SX_BLEND_OPT_CONTROL                                   0x02875C
> +#define   S_02875C_MRT0_COLOR_OPT_DISABLE(x)                          (((x) & 0x1) << 0)
> +#define   G_02875C_MRT0_COLOR_OPT_DISABLE(x)                          (((x) >> 0) & 0x1)
> +#define   C_02875C_MRT0_COLOR_OPT_DISABLE                             0xFFFFFFFE
> +#define   S_02875C_MRT0_ALPHA_OPT_DISABLE(x)                          (((x) & 0x1) << 1)
> +#define   G_02875C_MRT0_ALPHA_OPT_DISABLE(x)                          (((x) >> 1) & 0x1)
> +#define   C_02875C_MRT0_ALPHA_OPT_DISABLE                             0xFFFFFFFD
> +#define   S_02875C_MRT1_COLOR_OPT_DISABLE(x)                          (((x) & 0x1) << 4)
> +#define   G_02875C_MRT1_COLOR_OPT_DISABLE(x)                          (((x) >> 4) & 0x1)
> +#define   C_02875C_MRT1_COLOR_OPT_DISABLE                             0xFFFFFFEF
> +#define   S_02875C_MRT1_ALPHA_OPT_DISABLE(x)                          (((x) & 0x1) << 5)
> +#define   G_02875C_MRT1_ALPHA_OPT_DISABLE(x)                          (((x) >> 5) & 0x1)
> +#define   C_02875C_MRT1_ALPHA_OPT_DISABLE                             0xFFFFFFDF
> +#define   S_02875C_MRT2_COLOR_OPT_DISABLE(x)                          (((x) & 0x1) << 8)
> +#define   G_02875C_MRT2_COLOR_OPT_DISABLE(x)                          (((x) >> 8) & 0x1)
> +#define   C_02875C_MRT2_COLOR_OPT_DISABLE                             0xFFFFFEFF
> +#define   S_02875C_MRT2_ALPHA_OPT_DISABLE(x)                          (((x) & 0x1) << 9)
> +#define   G_02875C_MRT2_ALPHA_OPT_DISABLE(x)                          (((x) >> 9) & 0x1)
> +#define   C_02875C_MRT2_ALPHA_OPT_DISABLE                             0xFFFFFDFF
> +#define   S_02875C_MRT3_COLOR_OPT_DISABLE(x)                          (((x) & 0x1) << 12)
> +#define   G_02875C_MRT3_COLOR_OPT_DISABLE(x)                          (((x) >> 12) & 0x1)
> +#define   C_02875C_MRT3_COLOR_OPT_DISABLE                             0xFFFFEFFF
> +#define   S_02875C_MRT3_ALPHA_OPT_DISABLE(x)                          (((x) & 0x1) << 13)
> +#define   G_02875C_MRT3_ALPHA_OPT_DISABLE(x)                          (((x) >> 13) & 0x1)
> +#define   C_02875C_MRT3_ALPHA_OPT_DISABLE                             0xFFFFDFFF
> +#define   S_02875C_MRT4_COLOR_OPT_DISABLE(x)                          (((x) & 0x1) << 16)
> +#define   G_02875C_MRT4_COLOR_OPT_DISABLE(x)                          (((x) >> 16) & 0x1)
> +#define   C_02875C_MRT4_COLOR_OPT_DISABLE                             0xFFFEFFFF
> +#define   S_02875C_MRT4_ALPHA_OPT_DISABLE(x)                          (((x) & 0x1) << 17)
> +#define   G_02875C_MRT4_ALPHA_OPT_DISABLE(x)                          (((x) >> 17) & 0x1)
> +#define   C_02875C_MRT4_ALPHA_OPT_DISABLE                             0xFFFDFFFF
> +#define   S_02875C_MRT5_COLOR_OPT_DISABLE(x)                          (((x) & 0x1) << 20)
> +#define   G_02875C_MRT5_COLOR_OPT_DISABLE(x)                          (((x) >> 20) & 0x1)
> +#define   C_02875C_MRT5_COLOR_OPT_DISABLE                             0xFFEFFFFF
> +#define   S_02875C_MRT5_ALPHA_OPT_DISABLE(x)                          (((x) & 0x1) << 21)
> +#define   G_02875C_MRT5_ALPHA_OPT_DISABLE(x)                          (((x) >> 21) & 0x1)
> +#define   C_02875C_MRT5_ALPHA_OPT_DISABLE                             0xFFDFFFFF
> +#define   S_02875C_MRT6_COLOR_OPT_DISABLE(x)                          (((x) & 0x1) << 24)
> +#define   G_02875C_MRT6_COLOR_OPT_DISABLE(x)                          (((x) >> 24) & 0x1)
> +#define   C_02875C_MRT6_COLOR_OPT_DISABLE                             0xFEFFFFFF
> +#define   S_02875C_MRT6_ALPHA_OPT_DISABLE(x)                          (((x) & 0x1) << 25)
> +#define   G_02875C_MRT6_ALPHA_OPT_DISABLE(x)                          (((x) >> 25) & 0x1)
> +#define   C_02875C_MRT6_ALPHA_OPT_DISABLE                             0xFDFFFFFF
> +#define   S_02875C_MRT7_COLOR_OPT_DISABLE(x)                          (((x) & 0x1) << 28)
> +#define   G_02875C_MRT7_COLOR_OPT_DISABLE(x)                          (((x) >> 28) & 0x1)
> +#define   C_02875C_MRT7_COLOR_OPT_DISABLE                             0xEFFFFFFF
> +#define   S_02875C_MRT7_ALPHA_OPT_DISABLE(x)                          (((x) & 0x1) << 29)
> +#define   G_02875C_MRT7_ALPHA_OPT_DISABLE(x)                          (((x) >> 29) & 0x1)
> +#define   C_02875C_MRT7_ALPHA_OPT_DISABLE                             0xDFFFFFFF
> +#define   S_02875C_PIXEN_ZERO_OPT_DISABLE(x)                          (((x) & 0x1) << 31)
> +#define   G_02875C_PIXEN_ZERO_OPT_DISABLE(x)                          (((x) >> 31) & 0x1)
> +#define   C_02875C_PIXEN_ZERO_OPT_DISABLE                             0x7FFFFFFF
> +#define R_028760_SX_MRT0_BLEND_OPT                                      0x028760
> +#define   S_028760_COLOR_SRC_OPT(x)                                   (((x) & 0x07) << 0)
> +#define   G_028760_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
> +#define   C_028760_COLOR_SRC_OPT                                      0xFFFFFFF8
> +#define     V_028760_BLEND_OPT_PRESERVE_NONE_IGNORE_ALL                        0
> +#define     V_028760_BLEND_OPT_PRESERVE_ALL_IGNORE_NONE                        1
> +#define     V_028760_BLEND_OPT_PRESERVE_C1_IGNORE_C0                   2
> +#define     V_028760_BLEND_OPT_PRESERVE_C0_IGNORE_C1                   3
> +#define     V_028760_BLEND_OPT_PRESERVE_A1_IGNORE_A0                   4
> +#define     V_028760_BLEND_OPT_PRESERVE_A0_IGNORE_A1                   5
> +#define     V_028760_BLEND_OPT_PRESERVE_NONE_IGNORE_A0                 6
> +#define     V_028760_BLEND_OPT_PRESERVE_NONE_IGNORE_NONE               7
> +#define   S_028760_COLOR_DST_OPT(x)                                   (((x) & 0x07) << 4)
> +#define   G_028760_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
> +#define   C_028760_COLOR_DST_OPT                                      0xFFFFFF8F
> +#define   S_028760_COLOR_COMB_FCN(x)                                  (((x) & 0x07) << 8)
> +#define   G_028760_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
> +#define   C_028760_COLOR_COMB_FCN                                     0xFFFFF8FF
> +#define     V_028760_OPT_COMB_NONE                                     0
> +#define     V_028760_OPT_COMB_ADD                                      1
> +#define     V_028760_OPT_COMB_SUBTRACT                                 2
> +#define     V_028760_OPT_COMB_MIN                                      3
> +#define     V_028760_OPT_COMB_MAX                                      4
> +#define     V_028760_OPT_COMB_REVSUBTRACT                              5
> +#define     V_028760_OPT_COMB_BLEND_DISABLED                           6
> +#define     V_028760_OPT_COMB_SAFE_ADD                                 7
> +#define   S_028760_ALPHA_SRC_OPT(x)                                   (((x) & 0x07) << 16)
> +#define   G_028760_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
> +#define   C_028760_ALPHA_SRC_OPT                                      0xFFF8FFFF
> +#define   S_028760_ALPHA_DST_OPT(x)                                   (((x) & 0x07) << 20)
> +#define   G_028760_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
> +#define   C_028760_ALPHA_DST_OPT                                      0xFF8FFFFF
> +#define   S_028760_ALPHA_COMB_FCN(x)                                  (((x) & 0x07) << 24)
> +#define   G_028760_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
> +#define   C_028760_ALPHA_COMB_FCN                                     0xF8FFFFFF
> +#define R_028764_SX_MRT1_BLEND_OPT                                      0x028764
> +#define   S_028764_COLOR_SRC_OPT(x)                                   (((x) & 0x07) << 0)
> +#define   G_028764_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
> +#define   C_028764_COLOR_SRC_OPT                                      0xFFFFFFF8
> +#define   S_028764_COLOR_DST_OPT(x)                                   (((x) & 0x07) << 4)
> +#define   G_028764_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
> +#define   C_028764_COLOR_DST_OPT                                      0xFFFFFF8F
> +#define   S_028764_COLOR_COMB_FCN(x)                                  (((x) & 0x07) << 8)
> +#define   G_028764_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
> +#define   C_028764_COLOR_COMB_FCN                                     0xFFFFF8FF
> +#define   S_028764_ALPHA_SRC_OPT(x)                                   (((x) & 0x07) << 16)
> +#define   G_028764_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
> +#define   C_028764_ALPHA_SRC_OPT                                      0xFFF8FFFF
> +#define   S_028764_ALPHA_DST_OPT(x)                                   (((x) & 0x07) << 20)
> +#define   G_028764_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
> +#define   C_028764_ALPHA_DST_OPT                                      0xFF8FFFFF
> +#define   S_028764_ALPHA_COMB_FCN(x)                                  (((x) & 0x07) << 24)
> +#define   G_028764_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
> +#define   C_028764_ALPHA_COMB_FCN                                     0xF8FFFFFF
> +#define R_028768_SX_MRT2_BLEND_OPT                                      0x028768
> +#define   S_028768_COLOR_SRC_OPT(x)                                   (((x) & 0x07) << 0)
> +#define   G_028768_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
> +#define   C_028768_COLOR_SRC_OPT                                      0xFFFFFFF8
> +#define   S_028768_COLOR_DST_OPT(x)                                   (((x) & 0x07) << 4)
> +#define   G_028768_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
> +#define   C_028768_COLOR_DST_OPT                                      0xFFFFFF8F
> +#define   S_028768_COLOR_COMB_FCN(x)                                  (((x) & 0x07) << 8)
> +#define   G_028768_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
> +#define   C_028768_COLOR_COMB_FCN                                     0xFFFFF8FF
> +#define   S_028768_ALPHA_SRC_OPT(x)                                   (((x) & 0x07) << 16)
> +#define   G_028768_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
> +#define   C_028768_ALPHA_SRC_OPT                                      0xFFF8FFFF
> +#define   S_028768_ALPHA_DST_OPT(x)                                   (((x) & 0x07) << 20)
> +#define   G_028768_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
> +#define   C_028768_ALPHA_DST_OPT                                      0xFF8FFFFF
> +#define   S_028768_ALPHA_COMB_FCN(x)                                  (((x) & 0x07) << 24)
> +#define   G_028768_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
> +#define   C_028768_ALPHA_COMB_FCN                                     0xF8FFFFFF
> +#define R_02876C_SX_MRT3_BLEND_OPT                                      0x02876C
> +#define   S_02876C_COLOR_SRC_OPT(x)                                   (((x) & 0x07) << 0)
> +#define   G_02876C_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
> +#define   C_02876C_COLOR_SRC_OPT                                      0xFFFFFFF8
> +#define   S_02876C_COLOR_DST_OPT(x)                                   (((x) & 0x07) << 4)
> +#define   G_02876C_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
> +#define   C_02876C_COLOR_DST_OPT                                      0xFFFFFF8F
> +#define   S_02876C_COLOR_COMB_FCN(x)                                  (((x) & 0x07) << 8)
> +#define   G_02876C_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
> +#define   C_02876C_COLOR_COMB_FCN                                     0xFFFFF8FF
> +#define   S_02876C_ALPHA_SRC_OPT(x)                                   (((x) & 0x07) << 16)
> +#define   G_02876C_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
> +#define   C_02876C_ALPHA_SRC_OPT                                      0xFFF8FFFF
> +#define   S_02876C_ALPHA_DST_OPT(x)                                   (((x) & 0x07) << 20)
> +#define   G_02876C_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
> +#define   C_02876C_ALPHA_DST_OPT                                      0xFF8FFFFF
> +#define   S_02876C_ALPHA_COMB_FCN(x)                                  (((x) & 0x07) << 24)
> +#define   G_02876C_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
> +#define   C_02876C_ALPHA_COMB_FCN                                     0xF8FFFFFF
> +#define R_028770_SX_MRT4_BLEND_OPT                                      0x028770
> +#define   S_028770_COLOR_SRC_OPT(x)                                   (((x) & 0x07) << 0)
> +#define   G_028770_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
> +#define   C_028770_COLOR_SRC_OPT                                      0xFFFFFFF8
> +#define   S_028770_COLOR_DST_OPT(x)                                   (((x) & 0x07) << 4)
> +#define   G_028770_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
> +#define   C_028770_COLOR_DST_OPT                                      0xFFFFFF8F
> +#define   S_028770_COLOR_COMB_FCN(x)                                  (((x) & 0x07) << 8)
> +#define   G_028770_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
> +#define   C_028770_COLOR_COMB_FCN                                     0xFFFFF8FF
> +#define   S_028770_ALPHA_SRC_OPT(x)                                   (((x) & 0x07) << 16)
> +#define   G_028770_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
> +#define   C_028770_ALPHA_SRC_OPT                                      0xFFF8FFFF
> +#define   S_028770_ALPHA_DST_OPT(x)                                   (((x) & 0x07) << 20)
> +#define   G_028770_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
> +#define   C_028770_ALPHA_DST_OPT                                      0xFF8FFFFF
> +#define   S_028770_ALPHA_COMB_FCN(x)                                  (((x) & 0x07) << 24)
> +#define   G_028770_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
> +#define   C_028770_ALPHA_COMB_FCN                                     0xF8FFFFFF
> +#define R_028774_SX_MRT5_BLEND_OPT                                      0x028774
> +#define   S_028774_COLOR_SRC_OPT(x)                                   (((x) & 0x07) << 0)
> +#define   G_028774_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
> +#define   C_028774_COLOR_SRC_OPT                                      0xFFFFFFF8
> +#define   S_028774_COLOR_DST_OPT(x)                                   (((x) & 0x07) << 4)
> +#define   G_028774_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
> +#define   C_028774_COLOR_DST_OPT                                      0xFFFFFF8F
> +#define   S_028774_COLOR_COMB_FCN(x)                                  (((x) & 0x07) << 8)
> +#define   G_028774_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
> +#define   C_028774_COLOR_COMB_FCN                                     0xFFFFF8FF
> +#define   S_028774_ALPHA_SRC_OPT(x)                                   (((x) & 0x07) << 16)
> +#define   G_028774_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
> +#define   C_028774_ALPHA_SRC_OPT                                      0xFFF8FFFF
> +#define   S_028774_ALPHA_DST_OPT(x)                                   (((x) & 0x07) << 20)
> +#define   G_028774_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
> +#define   C_028774_ALPHA_DST_OPT                                      0xFF8FFFFF
> +#define   S_028774_ALPHA_COMB_FCN(x)                                  (((x) & 0x07) << 24)
> +#define   G_028774_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
> +#define   C_028774_ALPHA_COMB_FCN                                     0xF8FFFFFF
> +#define R_028778_SX_MRT6_BLEND_OPT                                      0x028778
> +#define   S_028778_COLOR_SRC_OPT(x)                                   (((x) & 0x07) << 0)
> +#define   G_028778_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
> +#define   C_028778_COLOR_SRC_OPT                                      0xFFFFFFF8
> +#define   S_028778_COLOR_DST_OPT(x)                                   (((x) & 0x07) << 4)
> +#define   G_028778_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
> +#define   C_028778_COLOR_DST_OPT                                      0xFFFFFF8F
> +#define   S_028778_COLOR_COMB_FCN(x)                                  (((x) & 0x07) << 8)
> +#define   G_028778_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
> +#define   C_028778_COLOR_COMB_FCN                                     0xFFFFF8FF
> +#define   S_028778_ALPHA_SRC_OPT(x)                                   (((x) & 0x07) << 16)
> +#define   G_028778_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
> +#define   C_028778_ALPHA_SRC_OPT                                      0xFFF8FFFF
> +#define   S_028778_ALPHA_DST_OPT(x)                                   (((x) & 0x07) << 20)
> +#define   G_028778_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
> +#define   C_028778_ALPHA_DST_OPT                                      0xFF8FFFFF
> +#define   S_028778_ALPHA_COMB_FCN(x)                                  (((x) & 0x07) << 24)
> +#define   G_028778_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
> +#define   C_028778_ALPHA_COMB_FCN                                     0xF8FFFFFF
> +#define R_02877C_SX_MRT7_BLEND_OPT                                      0x02877C
> +#define   S_02877C_COLOR_SRC_OPT(x)                                   (((x) & 0x07) << 0)
> +#define   G_02877C_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
> +#define   C_02877C_COLOR_SRC_OPT                                      0xFFFFFFF8
> +#define   S_02877C_COLOR_DST_OPT(x)                                   (((x) & 0x07) << 4)
> +#define   G_02877C_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
> +#define   C_02877C_COLOR_DST_OPT                                      0xFFFFFF8F
> +#define   S_02877C_COLOR_COMB_FCN(x)                                  (((x) & 0x07) << 8)
> +#define   G_02877C_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
> +#define   C_02877C_COLOR_COMB_FCN                                     0xFFFFF8FF
> +#define   S_02877C_ALPHA_SRC_OPT(x)                                   (((x) & 0x07) << 16)
> +#define   G_02877C_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
> +#define   C_02877C_ALPHA_SRC_OPT                                      0xFFF8FFFF
> +#define   S_02877C_ALPHA_DST_OPT(x)                                   (((x) & 0x07) << 20)
> +#define   G_02877C_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
> +#define   C_02877C_ALPHA_DST_OPT                                      0xFF8FFFFF
> +#define   S_02877C_ALPHA_COMB_FCN(x)                                  (((x) & 0x07) << 24)
> +#define   G_02877C_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
> +#define   C_02877C_ALPHA_COMB_FCN                                     0xF8FFFFFF
> +/*        */
>  #define R_028780_CB_BLEND0_CONTROL                                      0x028780
>  #define   S_028780_COLOR_SRCBLEND(x)                                  (((x) & 0x1F) << 0)
>  #define   G_028780_COLOR_SRCBLEND(x)                                  (((x) >> 0) & 0x1F)
> @@ -5473,6 +5766,7 @@
>  #define     V_028808_CB_ELIMINATE_FAST_CLEAR                        0x02
>  #define     V_028808_CB_RESOLVE                                     0x03
>  #define     V_028808_CB_FMASK_DECOMPRESS                            0x05
> +#define     V_028808_CB_DCC_DECOMPRESS                              0x06
>  #define   S_028808_ROP3(x)                                            (((x) & 0xFF) << 16)
>  #define   G_028808_ROP3(x)                                            (((x) >> 16) & 0xFF)
>  #define   C_028808_ROP3                                               0xFF00FFFF
> @@ -5551,6 +5845,11 @@
>  #define     V_02880C_EXPORT_GREATER_THAN_Z                          2
>  #define     V_02880C_EXPORT_RESERVED                                3
>  /*     */
> +/* Stoney */
> +#define   S_02880C_DUAL_QUAD_DISABLE(x)                               (((x) & 0x1) << 15)
> +#define   G_02880C_DUAL_QUAD_DISABLE(x)                               (((x) >> 15) & 0x1)
> +#define   C_02880C_DUAL_QUAD_DISABLE                                  0xFFFF7FFF
> +/*        */
>  #define R_028810_PA_CL_CLIP_CNTL                                        0x028810
>  #define   S_028810_UCP_ENA_0(x)                                       (((x) & 0x1) << 0)
>  #define   G_028810_UCP_ENA_0(x)                                       (((x) >> 0) & 0x1)
> @@ -6132,6 +6431,9 @@
>  #define     V_028A40_GS_SCENARIO_G                                  0x03
>  #define     V_028A40_GS_SCENARIO_C                                  0x04
>  #define     V_028A40_SPRITE_EN                                      0x05
> +#define   S_028A40_RESERVED_0(x)                                      (((x) & 0x1) << 3)
> +#define   G_028A40_RESERVED_0(x)                                      (((x) >> 3) & 0x1)
> +#define   C_028A40_RESERVED_0                                         0xFFFFFFF7
>  #define   S_028A40_CUT_MODE(x)                                        (((x) & 0x03) << 4)
>  #define   G_028A40_CUT_MODE(x)                                        (((x) >> 4) & 0x03)
>  #define   C_028A40_CUT_MODE                                           0xFFFFFFCF
> @@ -6139,12 +6441,19 @@
>  #define     V_028A40_GS_CUT_512                                     0x01
>  #define     V_028A40_GS_CUT_256                                     0x02
>  #define     V_028A40_GS_CUT_128                                     0x03
> +#define   S_028A40_RESERVED_1(x)                                      (((x) & 0x1F) << 6)
> +#define   G_028A40_RESERVED_1(x)                                      (((x) >> 6) & 0x1F)
> +#define   C_028A40_RESERVED_1                                         0xFFFFF83F
>  #define   S_028A40_GS_C_PACK_EN(x)                                    (((x) & 0x1) << 11)
>  #define   G_028A40_GS_C_PACK_EN(x)                                    (((x) >> 11) & 0x1)
>  #define   C_028A40_GS_C_PACK_EN                                       0xFFFFF7FF
> +#define   S_028A40_RESERVED_2(x)                                      (((x) & 0x1) << 12)
> +#define   G_028A40_RESERVED_2(x)                                      (((x) >> 12) & 0x1)
> +#define   C_028A40_RESERVED_2                                         0xFFFFEFFF
>  #define   S_028A40_ES_PASSTHRU(x)                                     (((x) & 0x1) << 13)
>  #define   G_028A40_ES_PASSTHRU(x)                                     (((x) >> 13) & 0x1)
>  #define   C_028A40_ES_PASSTHRU                                        0xFFFFDFFF
> +/* SI-CIK */
>  #define   S_028A40_COMPUTE_MODE(x)                                    (((x) & 0x1) << 14)
>  #define   G_028A40_COMPUTE_MODE(x)                                    (((x) >> 14) & 0x1)
>  #define   C_028A40_COMPUTE_MODE                                       0xFFFFBFFF
> @@ -6154,6 +6463,7 @@
>  #define   S_028A40_ELEMENT_INFO_EN(x)                                 (((x) & 0x1) << 16)
>  #define   G_028A40_ELEMENT_INFO_EN(x)                                 (((x) >> 16) & 0x1)
>  #define   C_028A40_ELEMENT_INFO_EN                                    0xFFFEFFFF
> +/*        */
>  #define   S_028A40_PARTIAL_THD_AT_EOI(x)                              (((x) & 0x1) << 17)
>  #define   G_028A40_PARTIAL_THD_AT_EOI(x)                              (((x) >> 17) & 0x1)
>  #define   C_028A40_PARTIAL_THD_AT_EOI                                 0xFFFDFFFF
> @@ -6339,6 +6649,9 @@
>  #define   C_028A7C_RDREQ_POLICY                                       0xFFFFFF3F
>  #define     V_028A7C_VGT_POLICY_LRU                                 0x00
>  #define     V_028A7C_VGT_POLICY_STREAM                              0x01
> +#define   S_028A7C_RDREQ_POLICY_VI(x)                                 (((x) & 0x1) << 6)
> +#define   G_028A7C_RDREQ_POLICY_VI(x)                                 (((x) >> 6) & 0x1)
> +#define   C_028A7C_RDREQ_POLICY_VI                                    0xFFFFFFBF
>  #define   S_028A7C_ATC(x)                                             (((x) & 0x1) << 8)
>  #define   G_028A7C_ATC(x)                                             (((x) >> 8) & 0x1)
>  #define   C_028A7C_ATC                                                0xFFFFFEFF
> @@ -6715,6 +7028,9 @@
>  #define     V_028B6C_VGT_POLICY_BYPASS                              0x02
>  /*     */
>  /* VI */
> +#define   S_028B6C_RDREQ_POLICY_VI(x)                                 (((x) & 0x1) << 15)
> +#define   G_028B6C_RDREQ_POLICY_VI(x)                                 (((x) >> 15) & 0x1)
> +#define   C_028B6C_RDREQ_POLICY_VI                                    0xFFFF7FFF
>  #define   S_028B6C_DISTRIBUTION_MODE(x)                               (((x) & 0x03) << 17)
>  #define   G_028B6C_DISTRIBUTION_MODE(x)                               (((x) >> 17) & 0x03)
>  #define   C_028B6C_DISTRIBUTION_MODE                                  0xFFF9FFFF
> @@ -7317,6 +7633,12 @@
>  #define   S_028C3C_AA_MASK_X1Y1(x)                                    (((x) & 0xFFFF) << 16)
>  #define   G_028C3C_AA_MASK_X1Y1(x)                                    (((x) >> 16) & 0xFFFF)
>  #define   C_028C3C_AA_MASK_X1Y1                                       0x0000FFFF
> +/* Stoney */
> +#define R_028C40_PA_SC_SHADER_CONTROL                                   0x028C40
> +#define   S_028C40_REALIGN_DQUADS_AFTER_N_WAVES(x)                    (((x) & 0x03) << 0)
> +#define   G_028C40_REALIGN_DQUADS_AFTER_N_WAVES(x)                    (((x) >> 0) & 0x03)
> +#define   C_028C40_REALIGN_DQUADS_AFTER_N_WAVES                       0xFFFFFFFC
> +/*        */
>  #define R_028C58_VGT_VERTEX_REUSE_BLOCK_CNTL                            0x028C58
>  #define   S_028C58_VTX_REUSE_DEPTH(x)                                 (((x) & 0xFF) << 0)
>  #define   G_028C58_VTX_REUSE_DEPTH(x)                                 (((x) >> 0) & 0xFF)
> --
> 2.1.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list