[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