Re: [Mesa-dev] [PATCH 3/9] i965: Add devinfo parameter to brw_compact_inst_* funcs.

2015-10-20 Thread Iago Toral
Reviewed-by: Iago Toral Quiroga 

On Mon, 2015-10-19 at 21:09 -0700, Matt Turner wrote:
> The next commit will add assertions dependent on devinfo->gen.
> 
> Use compact()/uncompact() macros where possible, like the 3-src code
> does.
> ---
>  src/mesa/drivers/dri/i965/brw_eu_compact.c | 118 
> ++---
>  src/mesa/drivers/dri/i965/brw_inst.h   |  30 +---
>  2 files changed, 91 insertions(+), 57 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_eu_compact.c 
> b/src/mesa/drivers/dri/i965/brw_eu_compact.c
> index b798931..facf3cd 100644
> --- a/src/mesa/drivers/dri/i965/brw_eu_compact.c
> +++ b/src/mesa/drivers/dri/i965/brw_eu_compact.c
> @@ -690,7 +690,7 @@ set_control_index(const struct brw_device_info *devinfo,
>  
> for (int i = 0; i < 32; i++) {
>if (control_index_table[i] == uncompacted) {
> - brw_compact_inst_set_control_index(dst, i);
> + brw_compact_inst_set_control_index(devinfo, dst, i);
>return true;
>}
> }
> @@ -711,7 +711,7 @@ set_datatype_index(const struct brw_device_info *devinfo, 
> brw_compact_inst *dst,
>  
> for (int i = 0; i < 32; i++) {
>if (datatype_table[i] == uncompacted) {
> - brw_compact_inst_set_datatype_index(dst, i);
> + brw_compact_inst_set_datatype_index(devinfo, dst, i);
>return true;
>}
> }
> @@ -732,7 +732,7 @@ set_subreg_index(const struct brw_device_info *devinfo, 
> brw_compact_inst *dst,
>  
> for (int i = 0; i < 32; i++) {
>if (subreg_table[i] == uncompacted) {
> - brw_compact_inst_set_subreg_index(dst, i);
> + brw_compact_inst_set_subreg_index(devinfo, dst, i);
>return true;
>}
> }
> @@ -764,7 +764,7 @@ set_src0_index(const struct brw_device_info *devinfo,
> if (!get_src_index(uncompacted, ))
>return false;
>  
> -   brw_compact_inst_set_src0_index(dst, compacted);
> +   brw_compact_inst_set_src0_index(devinfo, dst, compacted);
>  
> return true;
>  }
> @@ -784,7 +784,7 @@ set_src1_index(const struct brw_device_info *devinfo, 
> brw_compact_inst *dst,
>   return false;
> }
>  
> -   brw_compact_inst_set_src1_index(dst, compacted);
> +   brw_compact_inst_set_src1_index(devinfo, dst, compacted);
>  
> return true;
>  }
> @@ -804,7 +804,7 @@ set_3src_control_index(const struct brw_device_info 
> *devinfo,
>  
> for (unsigned i = 0; i < ARRAY_SIZE(gen8_3src_control_index_table); i++) {
>if (gen8_3src_control_index_table[i] == uncompacted) {
> - brw_compact_inst_set_3src_control_index(dst, i);
> + brw_compact_inst_set_3src_control_index(devinfo, dst, i);
>return true;
>}
> }
> @@ -838,7 +838,7 @@ set_3src_source_index(const struct brw_device_info 
> *devinfo,
>  
> for (unsigned i = 0; i < ARRAY_SIZE(gen8_3src_source_index_table); i++) {
>if (gen8_3src_source_index_table[i] == uncompacted) {
> - brw_compact_inst_set_3src_source_index(dst, i);
> + brw_compact_inst_set_3src_source_index(devinfo, dst, i);
>return true;
>}
> }
> @@ -909,7 +909,7 @@ brw_try_compact_3src_instruction(const struct 
> brw_device_info *devinfo,
>return false;
>  
>  #define compact(field) \
> -   brw_compact_inst_set_3src_##field(dst, brw_inst_3src_##field(devinfo, 
> src))
> +   brw_compact_inst_set_3src_##field(devinfo, dst, 
> brw_inst_3src_##field(devinfo, src))
>  
> compact(opcode);
>  
> @@ -921,7 +921,7 @@ brw_try_compact_3src_instruction(const struct 
> brw_device_info *devinfo,
>  
> compact(dst_reg_nr);
> compact(src0_rep_ctrl);
> -   brw_compact_inst_set_3src_cmpt_control(dst, true);
> +   brw_compact_inst_set_3src_cmpt_control(devinfo, dst, true);
> compact(debug_control);
> compact(saturate);
> compact(src1_rep_ctrl);
> @@ -1003,36 +1003,47 @@ brw_try_compact_instruction(const struct 
> brw_device_info *devinfo,
>  
> memset(, 0, sizeof(temp));
>  
> -   brw_compact_inst_set_opcode(, brw_inst_opcode(devinfo, src));
> -   brw_compact_inst_set_debug_control(, brw_inst_debug_control(devinfo, 
> src));
> +#define compact(field) \
> +   brw_compact_inst_set_##field(devinfo, , brw_inst_##field(devinfo, 
> src))
> +
> +   compact(opcode);
> +   compact(debug_control);
> +
> if (!set_control_index(devinfo, , src))
>return false;
> if (!set_datatype_index(devinfo, , src))
>return false;
> if (!set_subreg_index(devinfo, , src, is_immediate))
>return false;
> -   brw_compact_inst_set_acc_wr_control(,
> -   brw_inst_acc_wr_control(devinfo, 
> src));
> -   brw_compact_inst_set_cond_modifier(,
> -  brw_inst_cond_modifier(devinfo, src));
> +
> +   compact(acc_wr_control);
> +   compact(cond_modifier);
> +
> if (devinfo->gen <= 6)
> -  brw_compact_inst_set_flag_subreg_nr(,
> -  

[Mesa-dev] [PATCH 3/9] i965: Add devinfo parameter to brw_compact_inst_* funcs.

2015-10-19 Thread Matt Turner
The next commit will add assertions dependent on devinfo->gen.

Use compact()/uncompact() macros where possible, like the 3-src code
does.
---
 src/mesa/drivers/dri/i965/brw_eu_compact.c | 118 ++---
 src/mesa/drivers/dri/i965/brw_inst.h   |  30 +---
 2 files changed, 91 insertions(+), 57 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_eu_compact.c 
b/src/mesa/drivers/dri/i965/brw_eu_compact.c
index b798931..facf3cd 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_compact.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_compact.c
@@ -690,7 +690,7 @@ set_control_index(const struct brw_device_info *devinfo,
 
for (int i = 0; i < 32; i++) {
   if (control_index_table[i] == uncompacted) {
- brw_compact_inst_set_control_index(dst, i);
+ brw_compact_inst_set_control_index(devinfo, dst, i);
 return true;
   }
}
@@ -711,7 +711,7 @@ set_datatype_index(const struct brw_device_info *devinfo, 
brw_compact_inst *dst,
 
for (int i = 0; i < 32; i++) {
   if (datatype_table[i] == uncompacted) {
- brw_compact_inst_set_datatype_index(dst, i);
+ brw_compact_inst_set_datatype_index(devinfo, dst, i);
 return true;
   }
}
@@ -732,7 +732,7 @@ set_subreg_index(const struct brw_device_info *devinfo, 
brw_compact_inst *dst,
 
for (int i = 0; i < 32; i++) {
   if (subreg_table[i] == uncompacted) {
- brw_compact_inst_set_subreg_index(dst, i);
+ brw_compact_inst_set_subreg_index(devinfo, dst, i);
 return true;
   }
}
@@ -764,7 +764,7 @@ set_src0_index(const struct brw_device_info *devinfo,
if (!get_src_index(uncompacted, ))
   return false;
 
-   brw_compact_inst_set_src0_index(dst, compacted);
+   brw_compact_inst_set_src0_index(devinfo, dst, compacted);
 
return true;
 }
@@ -784,7 +784,7 @@ set_src1_index(const struct brw_device_info *devinfo, 
brw_compact_inst *dst,
  return false;
}
 
-   brw_compact_inst_set_src1_index(dst, compacted);
+   brw_compact_inst_set_src1_index(devinfo, dst, compacted);
 
return true;
 }
@@ -804,7 +804,7 @@ set_3src_control_index(const struct brw_device_info 
*devinfo,
 
for (unsigned i = 0; i < ARRAY_SIZE(gen8_3src_control_index_table); i++) {
   if (gen8_3src_control_index_table[i] == uncompacted) {
- brw_compact_inst_set_3src_control_index(dst, i);
+ brw_compact_inst_set_3src_control_index(devinfo, dst, i);
 return true;
   }
}
@@ -838,7 +838,7 @@ set_3src_source_index(const struct brw_device_info *devinfo,
 
for (unsigned i = 0; i < ARRAY_SIZE(gen8_3src_source_index_table); i++) {
   if (gen8_3src_source_index_table[i] == uncompacted) {
- brw_compact_inst_set_3src_source_index(dst, i);
+ brw_compact_inst_set_3src_source_index(devinfo, dst, i);
 return true;
   }
}
@@ -909,7 +909,7 @@ brw_try_compact_3src_instruction(const struct 
brw_device_info *devinfo,
   return false;
 
 #define compact(field) \
-   brw_compact_inst_set_3src_##field(dst, brw_inst_3src_##field(devinfo, src))
+   brw_compact_inst_set_3src_##field(devinfo, dst, 
brw_inst_3src_##field(devinfo, src))
 
compact(opcode);
 
@@ -921,7 +921,7 @@ brw_try_compact_3src_instruction(const struct 
brw_device_info *devinfo,
 
compact(dst_reg_nr);
compact(src0_rep_ctrl);
-   brw_compact_inst_set_3src_cmpt_control(dst, true);
+   brw_compact_inst_set_3src_cmpt_control(devinfo, dst, true);
compact(debug_control);
compact(saturate);
compact(src1_rep_ctrl);
@@ -1003,36 +1003,47 @@ brw_try_compact_instruction(const struct 
brw_device_info *devinfo,
 
memset(, 0, sizeof(temp));
 
-   brw_compact_inst_set_opcode(, brw_inst_opcode(devinfo, src));
-   brw_compact_inst_set_debug_control(, brw_inst_debug_control(devinfo, 
src));
+#define compact(field) \
+   brw_compact_inst_set_##field(devinfo, , brw_inst_##field(devinfo, src))
+
+   compact(opcode);
+   compact(debug_control);
+
if (!set_control_index(devinfo, , src))
   return false;
if (!set_datatype_index(devinfo, , src))
   return false;
if (!set_subreg_index(devinfo, , src, is_immediate))
   return false;
-   brw_compact_inst_set_acc_wr_control(,
-   brw_inst_acc_wr_control(devinfo, src));
-   brw_compact_inst_set_cond_modifier(,
-  brw_inst_cond_modifier(devinfo, src));
+
+   compact(acc_wr_control);
+   compact(cond_modifier);
+
if (devinfo->gen <= 6)
-  brw_compact_inst_set_flag_subreg_nr(,
-  brw_inst_flag_subreg_nr(devinfo, 
src));
-   brw_compact_inst_set_cmpt_control(, true);
+  compact(flag_subreg_nr);
+
+   brw_compact_inst_set_cmpt_control(devinfo, , true);
+
if (!set_src0_index(devinfo, , src))
   return false;
if (!set_src1_index(devinfo, , src, is_immediate))
   return false;
-   brw_compact_inst_set_dst_reg_nr(,