Re: [Mesa-dev] [PATCH 03/25] amd/common: cleanup DATA_FORMAT/NUM_FORMAT field names

2018-12-19 Thread Haehnle, Nicolai
On 17.12.18 04:23, Marek Olšák wrote:
> The definitions weren't changed, but the values were. The names need to 
> be different, so that si_debug.c prints both the GFX6 and GFX9 values.

You're right. I have some larger changes of the debug printing that is 
smarter about which fields to print based on the chip_class, but it 
needs to be cleaned up. I'm withholding this patch until I'm ready to 
upstream those changes.

Cheers,
Nicolai


> 
> Marek
> 
> On Thu, Dec 6, 2018 at 9:01 AM Nicolai Hähnle  > wrote:
> 
> From: Nicolai Hähnle  >
> 
> The definition wasn't actually changed in gfx9, so having the suffix
> makes no sense.
> ---
>   src/amd/common/ac_nir_to_llvm.c                   |  2 +-
>   src/amd/common/gfx9d.h                            | 12 ++--
>   src/amd/common/sid.h                              | 12 ++--
>   src/amd/vulkan/radv_image.c                       |  8 
>   src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c |  6 +++---
>   src/gallium/drivers/radeonsi/si_state.c           | 10 +-
>   6 files changed, 25 insertions(+), 25 deletions(-)
> 
> diff --git a/src/amd/common/ac_nir_to_llvm.c
> b/src/amd/common/ac_nir_to_llvm.c
> index fe65dfff8f3..cbb5be4b1a2 100644
> --- a/src/amd/common/ac_nir_to_llvm.c
> +++ b/src/amd/common/ac_nir_to_llvm.c
> @@ -1238,21 +1238,21 @@ static LLVMValueRef
> lower_gather4_integer(struct ac_llvm_context *ctx,
>                  if (stype == GLSL_TYPE_UINT)
>                          /* Create a NUM FORMAT - 0x2 or 0x4 -
> USCALED or UINT */
>                          tmp = LLVMBuildSelect(ctx->builder,
> compare_cube_wa, LLVMConstInt(ctx->i32, 0x800, false),
>   
> LLVMConstInt(ctx->i32, 0x1000, false), "");
>                  else
>                          /* Create a NUM FORMAT - 0x3 or 0x5 -
> SSCALED or SINT */
>                          tmp = LLVMBuildSelect(ctx->builder,
> compare_cube_wa, LLVMConstInt(ctx->i32, 0xc00, false),
>   
> LLVMConstInt(ctx->i32, 0x1400, false), "");
> 
>                  /* replace the NUM FORMAT in the descriptor */
> -               tmp2 = LLVMBuildAnd(ctx->builder, tmp2,
> LLVMConstInt(ctx->i32, C_008F14_NUM_FORMAT_GFX6, false), "");
> +               tmp2 = LLVMBuildAnd(ctx->builder, tmp2,
> LLVMConstInt(ctx->i32, C_008F14_NUM_FORMAT, false), "");
>                  tmp2 = LLVMBuildOr(ctx->builder, tmp2, tmp, "");
> 
>                  args->resource =
> LLVMBuildInsertElement(ctx->builder, args->resource, tmp2,
> ctx->i32_1, "");
> 
>                  /* don't modify the coordinates for this case */
>                  for (unsigned c = 0; c < 2; ++c)
>                          args->coords[c] = LLVMBuildSelect(
>                                  ctx->builder, compare_cube_wa,
>                                  orig_coords[c], args->coords[c], "");
>          }
> diff --git a/src/amd/common/gfx9d.h b/src/amd/common/gfx9d.h
> index 2e790c54699..5d3de5842a1 100644
> --- a/src/amd/common/gfx9d.h
> +++ b/src/amd/common/gfx9d.h
> @@ -1262,23 +1262,23 @@
>   #define   S_030F14_COUNT_HI(x)   
>      (((unsigned)(x) & 0x7FFF) << 0)
>   #define   G_030F14_COUNT_HI(x)   
>      (((x) >> 0) & 0x7FFF)
>   #define   C_030F14_COUNT_HI   
>     0x8000
>   #define R_008F14_SQ_IMG_RSRC_WORD1   
>        0x008F14
>   #define   S_008F14_BASE_ADDRESS_HI(x) 
>     (((unsigned)(x) & 0xFF) << 0)
>   #define   G_008F14_BASE_ADDRESS_HI(x) 
>     (((x) >> 0) & 0xFF)
>   #define   C_008F14_BASE_ADDRESS_HI   
>      0xFF00
>   #define   S_008F14_MIN_LOD(x) 
>     (((unsigned)(x) & 0xFFF) << 8)
>   #define   G_008F14_MIN_LOD(x) 
>     (((x) >> 8) & 0xFFF)
>   #define   C_008F14_MIN_LOD   
>      0xFFF000FF
> -#define   S_008F14_DATA_FORMAT_GFX9(x) 
>    (((unsigned)(x) & 0x3F) << 20)
> -#define   G_008F14_DATA_FORMAT_GFX9(x) 
>    (((x) >> 20) & 0x3F)
> -#define   C_008F14_DATA_FORMAT_GFX9   
>     0xFC0F
> +#define   S_008F14_DATA_FORMAT(x) 
>     (((unsigned)(x) & 0x3F) << 20)
> +#define   G_008F14_DATA_FORMAT(x) 
>     (((x) >> 20) & 0x3F)
> 

Re: [Mesa-dev] [PATCH 03/25] amd/common: cleanup DATA_FORMAT/NUM_FORMAT field names

2018-12-16 Thread Marek Olšák
The definitions weren't changed, but the values were. The names need to be
different, so that si_debug.c prints both the GFX6 and GFX9 values.

Marek

On Thu, Dec 6, 2018 at 9:01 AM Nicolai Hähnle  wrote:

> From: Nicolai Hähnle 
>
> The definition wasn't actually changed in gfx9, so having the suffix
> makes no sense.
> ---
>  src/amd/common/ac_nir_to_llvm.c   |  2 +-
>  src/amd/common/gfx9d.h| 12 ++--
>  src/amd/common/sid.h  | 12 ++--
>  src/amd/vulkan/radv_image.c   |  8 
>  src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c |  6 +++---
>  src/gallium/drivers/radeonsi/si_state.c   | 10 +-
>  6 files changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/src/amd/common/ac_nir_to_llvm.c
> b/src/amd/common/ac_nir_to_llvm.c
> index fe65dfff8f3..cbb5be4b1a2 100644
> --- a/src/amd/common/ac_nir_to_llvm.c
> +++ b/src/amd/common/ac_nir_to_llvm.c
> @@ -1238,21 +1238,21 @@ static LLVMValueRef lower_gather4_integer(struct
> ac_llvm_context *ctx,
> if (stype == GLSL_TYPE_UINT)
> /* Create a NUM FORMAT - 0x2 or 0x4 - USCALED or
> UINT */
> tmp = LLVMBuildSelect(ctx->builder,
> compare_cube_wa, LLVMConstInt(ctx->i32, 0x800, false),
>   LLVMConstInt(ctx->i32,
> 0x1000, false), "");
> else
> /* Create a NUM FORMAT - 0x3 or 0x5 - SSCALED or
> SINT */
> tmp = LLVMBuildSelect(ctx->builder,
> compare_cube_wa, LLVMConstInt(ctx->i32, 0xc00, false),
>   LLVMConstInt(ctx->i32,
> 0x1400, false), "");
>
> /* replace the NUM FORMAT in the descriptor */
> -   tmp2 = LLVMBuildAnd(ctx->builder, tmp2,
> LLVMConstInt(ctx->i32, C_008F14_NUM_FORMAT_GFX6, false), "");
> +   tmp2 = LLVMBuildAnd(ctx->builder, tmp2,
> LLVMConstInt(ctx->i32, C_008F14_NUM_FORMAT, false), "");
> tmp2 = LLVMBuildOr(ctx->builder, tmp2, tmp, "");
>
> args->resource = LLVMBuildInsertElement(ctx->builder,
> args->resource, tmp2, ctx->i32_1, "");
>
> /* don't modify the coordinates for this case */
> for (unsigned c = 0; c < 2; ++c)
> args->coords[c] = LLVMBuildSelect(
> ctx->builder, compare_cube_wa,
> orig_coords[c], args->coords[c], "");
> }
> diff --git a/src/amd/common/gfx9d.h b/src/amd/common/gfx9d.h
> index 2e790c54699..5d3de5842a1 100644
> --- a/src/amd/common/gfx9d.h
> +++ b/src/amd/common/gfx9d.h
> @@ -1262,23 +1262,23 @@
>  #define   S_030F14_COUNT_HI(x)
> (((unsigned)(x) & 0x7FFF) << 0)
>  #define   G_030F14_COUNT_HI(x)
> (((x) >> 0) & 0x7FFF)
>  #define   C_030F14_COUNT_HI
>  0x8000
>  #define R_008F14_SQ_IMG_RSRC_WORD1
> 0x008F14
>  #define   S_008F14_BASE_ADDRESS_HI(x)
>  (((unsigned)(x) & 0xFF) << 0)
>  #define   G_008F14_BASE_ADDRESS_HI(x)
>  (((x) >> 0) & 0xFF)
>  #define   C_008F14_BASE_ADDRESS_HI
> 0xFF00
>  #define   S_008F14_MIN_LOD(x)
>  (((unsigned)(x) & 0xFFF) << 8)
>  #define   G_008F14_MIN_LOD(x)
>  (((x) >> 8) & 0xFFF)
>  #define   C_008F14_MIN_LOD
> 0xFFF000FF
> -#define   S_008F14_DATA_FORMAT_GFX9(x)
> (((unsigned)(x) & 0x3F) << 20)
> -#define   G_008F14_DATA_FORMAT_GFX9(x)
> (((x) >> 20) & 0x3F)
> -#define   C_008F14_DATA_FORMAT_GFX9
>  0xFC0F
> +#define   S_008F14_DATA_FORMAT(x)
>  (((unsigned)(x) & 0x3F) << 20)
> +#define   G_008F14_DATA_FORMAT(x)
>  (((x) >> 20) & 0x3F)
> +#define   C_008F14_DATA_FORMAT
> 0xFC0F
>  #define V_008F14_IMG_DATA_FORMAT_INVALID0x00
>  #define V_008F14_IMG_DATA_FORMAT_8  0x01
>  #define V_008F14_IMG_DATA_FORMAT_16 0x02
>  #define V_008F14_IMG_DATA_FORMAT_8_80x03
>  #define V_008F14_IMG_DATA_FORMAT_32 0x04
>  #define V_008F14_IMG_DATA_FORMAT_16_16  0x05
>  #define V_008F14_IMG_DATA_FORMAT_10_11_11   0x06
>  #define V_008F14_IMG_DATA_FORMAT_11_11_10   0x07
>  #define V_008F14_IMG_DATA_FORMAT_10_10_10_2 0x08
>  #define V_008F14_IMG_DATA_FORMAT_2_10_10_10 0x09
> @@ -1329,23 +1329,23 @@
>  #define V_008F14_IMG_DATA_FORMAT_N_IN_16_16_16_16   0x36
>  #define V_008F14_IMG_DATA_FORMAT_N_IN_16_AS_16_16_16_16 0x37
>  #define V_008F14_IMG_DATA_FORMAT_RESERVED_560x38
>  #define V_008F14_IMG_DATA_FORMAT_4_40x39
>  #define V_008F14_IMG_DATA_FORMAT_6_5_5  0x3A
>  #define V_008F14_IMG_DATA_FORMAT_S8_16  0x3B
>  #define 

[Mesa-dev] [PATCH 03/25] amd/common: cleanup DATA_FORMAT/NUM_FORMAT field names

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle 

The definition wasn't actually changed in gfx9, so having the suffix
makes no sense.
---
 src/amd/common/ac_nir_to_llvm.c   |  2 +-
 src/amd/common/gfx9d.h| 12 ++--
 src/amd/common/sid.h  | 12 ++--
 src/amd/vulkan/radv_image.c   |  8 
 src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c |  6 +++---
 src/gallium/drivers/radeonsi/si_state.c   | 10 +-
 6 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index fe65dfff8f3..cbb5be4b1a2 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -1238,21 +1238,21 @@ static LLVMValueRef lower_gather4_integer(struct 
ac_llvm_context *ctx,
if (stype == GLSL_TYPE_UINT)
/* Create a NUM FORMAT - 0x2 or 0x4 - USCALED or UINT */
tmp = LLVMBuildSelect(ctx->builder, compare_cube_wa, 
LLVMConstInt(ctx->i32, 0x800, false),
  LLVMConstInt(ctx->i32, 
0x1000, false), "");
else
/* Create a NUM FORMAT - 0x3 or 0x5 - SSCALED or SINT */
tmp = LLVMBuildSelect(ctx->builder, compare_cube_wa, 
LLVMConstInt(ctx->i32, 0xc00, false),
  LLVMConstInt(ctx->i32, 
0x1400, false), "");
 
/* replace the NUM FORMAT in the descriptor */
-   tmp2 = LLVMBuildAnd(ctx->builder, tmp2, LLVMConstInt(ctx->i32, 
C_008F14_NUM_FORMAT_GFX6, false), "");
+   tmp2 = LLVMBuildAnd(ctx->builder, tmp2, LLVMConstInt(ctx->i32, 
C_008F14_NUM_FORMAT, false), "");
tmp2 = LLVMBuildOr(ctx->builder, tmp2, tmp, "");
 
args->resource = LLVMBuildInsertElement(ctx->builder, 
args->resource, tmp2, ctx->i32_1, "");
 
/* don't modify the coordinates for this case */
for (unsigned c = 0; c < 2; ++c)
args->coords[c] = LLVMBuildSelect(
ctx->builder, compare_cube_wa,
orig_coords[c], args->coords[c], "");
}
diff --git a/src/amd/common/gfx9d.h b/src/amd/common/gfx9d.h
index 2e790c54699..5d3de5842a1 100644
--- a/src/amd/common/gfx9d.h
+++ b/src/amd/common/gfx9d.h
@@ -1262,23 +1262,23 @@
 #define   S_030F14_COUNT_HI(x)
(((unsigned)(x) & 0x7FFF) << 0)
 #define   G_030F14_COUNT_HI(x)(((x) >> 
0) & 0x7FFF)
 #define   C_030F14_COUNT_HI   
0x8000
 #define R_008F14_SQ_IMG_RSRC_WORD1  
0x008F14
 #define   S_008F14_BASE_ADDRESS_HI(x) 
(((unsigned)(x) & 0xFF) << 0)
 #define   G_008F14_BASE_ADDRESS_HI(x) (((x) >> 
0) & 0xFF)
 #define   C_008F14_BASE_ADDRESS_HI
0xFF00
 #define   S_008F14_MIN_LOD(x) 
(((unsigned)(x) & 0xFFF) << 8)
 #define   G_008F14_MIN_LOD(x) (((x) >> 
8) & 0xFFF)
 #define   C_008F14_MIN_LOD
0xFFF000FF
-#define   S_008F14_DATA_FORMAT_GFX9(x)
(((unsigned)(x) & 0x3F) << 20)
-#define   G_008F14_DATA_FORMAT_GFX9(x)(((x) >> 
20) & 0x3F)
-#define   C_008F14_DATA_FORMAT_GFX9   
0xFC0F
+#define   S_008F14_DATA_FORMAT(x) 
(((unsigned)(x) & 0x3F) << 20)
+#define   G_008F14_DATA_FORMAT(x) (((x) >> 
20) & 0x3F)
+#define   C_008F14_DATA_FORMAT
0xFC0F
 #define V_008F14_IMG_DATA_FORMAT_INVALID0x00
 #define V_008F14_IMG_DATA_FORMAT_8  0x01
 #define V_008F14_IMG_DATA_FORMAT_16 0x02
 #define V_008F14_IMG_DATA_FORMAT_8_80x03
 #define V_008F14_IMG_DATA_FORMAT_32 0x04
 #define V_008F14_IMG_DATA_FORMAT_16_16  0x05
 #define V_008F14_IMG_DATA_FORMAT_10_11_11   0x06
 #define V_008F14_IMG_DATA_FORMAT_11_11_10   0x07
 #define V_008F14_IMG_DATA_FORMAT_10_10_10_2 0x08
 #define V_008F14_IMG_DATA_FORMAT_2_10_10_10 0x09
@@ -1329,23 +1329,23 @@
 #define V_008F14_IMG_DATA_FORMAT_N_IN_16_16_16_16   0x36
 #define V_008F14_IMG_DATA_FORMAT_N_IN_16_AS_16_16_16_16 0x37
 #define V_008F14_IMG_DATA_FORMAT_RESERVED_560x38
 #define V_008F14_IMG_DATA_FORMAT_4_4