[Intel-gfx] [PATCH 10/90] assembler: Rename dp_gen7 to gen7_dp and sync it with Mesa's

Damien Lespiau damien.lespiau at intel.com
Mon Feb 4 16:27:05 CET 2013


The purpose of this commit is to synchronize opcode definitions across
the gen4asm assembler and mesa.

I had to drop how mesa splits msg_control as the current assembly
language gives access the the whole msg_control field.

Recompiling the xorg and the intel driver of libva shaders doesn't show
any difference in the assembly created.

Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
---
 assembler/brw_structs.h |   31 ++++++++++++++++++++-----------
 assembler/gram.y        |   26 +++++++++++++-------------
 2 files changed, 33 insertions(+), 24 deletions(-)

diff --git a/assembler/brw_structs.h b/assembler/brw_structs.h
index e571052..cfb3028 100644
--- a/assembler/brw_structs.h
+++ b/assembler/brw_structs.h
@@ -1536,17 +1536,26 @@ struct brw_instruction
 	 GLuint end_of_thread:1;
       } gen6_dp;
 
-       struct {
-           GLuint binding_table_index:8;
-           GLuint msg_control:6;
-           GLuint msg_type:4;    
-           GLuint category:1;
-           GLuint header_present:1;
-           GLuint response_length:5;
-           GLuint msg_length:4;
-           GLuint pad1:2;
-           GLuint end_of_thread:1;
-       } dp_gen7;
+      /**
+       * Message for any of the Gen7 Data Port caches.
+       *
+       * Most fields are defined in BSpec volume 5c.2 Data Port / Messages /
+       * Data Port Messages / Message Descriptor.  Once again, "Slot Group
+       * Select" and "Last Render Target" are part of the 6-bit message
+       * control for Render Target Writes.
+       */
+      struct {
+	 GLuint binding_table_index:8;
+	 GLuint msg_control:6;
+	 GLuint msg_type:4;
+	 GLuint category:1;
+	 GLuint header_present:1;
+	 GLuint response_length:5;
+	 GLuint msg_length:4;
+	 GLuint pad2:2;
+	 GLuint end_of_thread:1;
+      } gen7_dp;
+      /** @} */
 
        struct {
            GLuint opcode:1;
diff --git a/assembler/gram.y b/assembler/gram.y
index df26393..1295d60 100644
--- a/assembler/gram.y
+++ b/assembler/gram.y
@@ -1253,9 +1253,9 @@ msgtarget:	NULL_TOKEN
                       $$.bits2.send_gen5.sfid = 
                           BRW_MESSAGE_TARGET_DP_SC;
                       $$.bits3.generic_gen5.header_present = 1;
-                      $$.bits3.dp_gen7.binding_table_index = $3;
-                      $$.bits3.dp_gen7.msg_control = $7;
-                      $$.bits3.dp_gen7.msg_type = $9;
+                      $$.bits3.gen7_dp.binding_table_index = $3;
+                      $$.bits3.gen7_dp.msg_control = $7;
+                      $$.bits3.gen7_dp.msg_type = $9;
 		  } else if (IS_GENx(6)) {
                       $$.bits2.send_gen5.sfid = 
                           BRW_MESSAGE_TARGET_DP_SC;
@@ -1287,9 +1287,9 @@ msgtarget:	NULL_TOKEN
                       $$.bits2.send_gen5.sfid =
                           BRW_MESSAGE_TARGET_DP_RC;
                       $$.bits3.generic_gen5.header_present = 1;
-                      $$.bits3.dp_gen7.binding_table_index = $3;
-                      $$.bits3.dp_gen7.msg_control = $5;
-                      $$.bits3.dp_gen7.msg_type = $7;
+                      $$.bits3.gen7_dp.binding_table_index = $3;
+                      $$.bits3.gen7_dp.msg_control = $5;
+                      $$.bits3.gen7_dp.msg_type = $7;
                   } else if (IS_GENx(6)) {
                       $$.bits2.send_gen5.sfid =
                           BRW_MESSAGE_TARGET_DP_RC;
@@ -1332,9 +1332,9 @@ msgtarget:	NULL_TOKEN
                       $$.bits2.send_gen5.sfid =
                           BRW_MESSAGE_TARGET_DP_RC;
                       $$.bits3.generic_gen5.header_present = ($11 != 0);
-                      $$.bits3.dp_gen7.binding_table_index = $3;
-                      $$.bits3.dp_gen7.msg_control = $5;
-                      $$.bits3.dp_gen7.msg_type = $7;
+                      $$.bits3.gen7_dp.binding_table_index = $3;
+                      $$.bits3.gen7_dp.msg_control = $5;
+                      $$.bits3.gen7_dp.msg_type = $7;
 		  } else if (IS_GENx(6)) {
                       $$.bits2.send_gen5.sfid =
                           BRW_MESSAGE_TARGET_DP_RC;
@@ -1459,10 +1459,10 @@ msgtarget:	NULL_TOKEN
                             YYERROR;
                         }
 
-                        $$.bits3.dp_gen7.category = $11;
-                        $$.bits3.dp_gen7.binding_table_index = $9;
-                        $$.bits3.dp_gen7.msg_control = $7;
-                        $$.bits3.dp_gen7.msg_type = $5;
+                        $$.bits3.gen7_dp.category = $11;
+                        $$.bits3.gen7_dp.binding_table_index = $9;
+                        $$.bits3.gen7_dp.msg_control = $7;
+                        $$.bits3.gen7_dp.msg_type = $5;
                     } else if (IS_GENx(6)) {
                         if ($3 != BRW_MESSAGE_TARGET_DP_SC &&
                             $3 != BRW_MESSAGE_TARGET_DP_RC &&
-- 
1.7.7.5




More information about the Intel-gfx mailing list