diff mbox

[09/90] assembler: Rename dp_gen6 to gen6_dp and sync with Mesa's

Message ID 1359991705-5254-10-git-send-email-damien.lespiau@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lespiau, Damien Feb. 4, 2013, 3:27 p.m. UTC
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@intel.com>
---
 assembler/brw_structs.h |   34 ++++++++++++++++++++++------------
 assembler/gram.y        |    8 ++++----
 2 files changed, 26 insertions(+), 16 deletions(-)
diff mbox

Patch

diff --git a/assembler/brw_structs.h b/assembler/brw_structs.h
index e2be147..e571052 100644
--- a/assembler/brw_structs.h
+++ b/assembler/brw_structs.h
@@ -1513,18 +1513,28 @@  struct brw_instruction
            GLuint end_of_thread:1;
        } dp_write_gen6;
 
-       struct {
-           GLuint binding_table_index:8;
-           GLuint msg_control:5;
-           GLuint msg_type:4;    
-           GLuint send_commit_msg:1; /* ignore on read message */
-           GLuint pad0:1;
-           GLuint header_present:1;
-           GLuint response_length:5;
-           GLuint msg_length:4;
-           GLuint pad1:2;
-           GLuint end_of_thread:1;
-       } dp_gen6;
+      /**
+       * Message for the Sandybridge Render Cache Data Port.
+       *
+       * Most fields are defined in the Sandybridge PRM, Volume 4 Part 1,
+       * Section 3.9.2.1.1: Message Descriptor.
+       *
+       * "Slot Group Select" and "Last Render Target" are part of the
+       * 5-bit message control for Render Target Write messages.  See
+       * Section 3.9.9.2.1 of the same volume.
+       */
+      struct {
+	 GLuint binding_table_index:8;
+	 GLuint msg_control:5;
+	 GLuint msg_type:4;
+	 GLuint send_commit_msg:1;
+	 GLuint pad0:1;
+	 GLuint header_present:1;
+	 GLuint response_length:5;
+	 GLuint msg_length:4;
+	 GLuint pad1:2;
+	 GLuint end_of_thread:1;
+      } gen6_dp;
 
        struct {
            GLuint binding_table_index:8;
diff --git a/assembler/gram.y b/assembler/gram.y
index 70caeb4..df26393 100644
--- a/assembler/gram.y
+++ b/assembler/gram.y
@@ -1471,10 +1471,10 @@  msgtarget:	NULL_TOKEN
                             YYERROR;
                         }
 
-                        $$.bits3.dp_gen6.send_commit_msg = $11;
-                        $$.bits3.dp_gen6.binding_table_index = $9;
-                        $$.bits3.dp_gen6.msg_control = $7;
-                        $$.bits3.dp_gen6.msg_type = $5;
+                        $$.bits3.gen6_dp.send_commit_msg = $11;
+                        $$.bits3.gen6_dp.binding_table_index = $9;
+                        $$.bits3.gen6_dp.msg_control = $7;
+                        $$.bits3.gen6_dp.msg_type = $5;
                     } else if (!IS_GENp(5)) {
                         fprintf (stderr, "Gen6- doesn't support data port for sampler/render/constant/data cache\n");
                         YYERROR;