[Intel-gfx] [PATCH 06/10] add support for data port write on Sandybridge.

Xiang, Haihao haihao.xiang at intel.com
Sat Oct 9 09:32:26 CEST 2010


Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
---
 src/brw_structs.h |   13 +++++++++++++
 src/gram.y        |   14 +++++++++++++-
 2 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/src/brw_structs.h b/src/brw_structs.h
index 92a398e..6a29f37 100644
--- a/src/brw_structs.h
+++ b/src/brw_structs.h
@@ -1413,6 +1413,19 @@ struct brw_instruction
        } dp_write_gen5;
 
        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;
+       } dp_write_gen6;
+
+       struct {
            GLuint opcode:1;
            GLuint requester_type:1;
            GLuint pad0:2;
diff --git a/src/gram.y b/src/gram.y
index 2dab7a2..d536625 100644
--- a/src/gram.y
+++ b/src/gram.y
@@ -650,7 +650,19 @@ msgtarget:	NULL_TOKEN
 		| WRITE LPAREN INTEGER COMMA INTEGER COMMA INTEGER COMMA
 		INTEGER RPAREN
 		{
-		  if (gen_level == 5) {
+		  if (gen_level == 6) {
+                      $$.bits2.send_gen5.sfid =
+                          BRW_MESSAGE_TARGET_DATAPORT_WRITE;
+                      /* Sandybridge supports headerlesss message for render target write.
+                       * Currently the GFX assembler doesn't support it. so the program must provide 
+                       * message header
+                       */
+                      $$.bits3.generic_gen5.header_present = 1;
+                      $$.bits3.dp_write_gen6.binding_table_index = $3;
+                      $$.bits3.dp_write_gen6.msg_control = $5;
+                      $$.bits3.dp_write_gen6.msg_type = $7;
+                      $$.bits3.dp_write_gen6.send_commit_msg = $9;
+		  } else if (gen_level == 5) {
                       $$.bits2.send_gen5.sfid =
                           BRW_MESSAGE_TARGET_DATAPORT_WRITE;
                       $$.bits3.generic_gen5.header_present = 1;
-- 
1.7.0.4




More information about the Intel-gfx mailing list