Add syntax for translating the DP write send message.

This commit is contained in:
Eric Anholt 2006-08-24 15:26:10 -07:00 committed by Damien Lespiau
parent 16324215b2
commit 43313946e7
2 changed files with 18 additions and 3 deletions

View File

@ -220,7 +220,7 @@ sendinstruction: predicate SEND execsize INTEGER post_dst payload msgtarget
$$.bits3.generic.msg_length = $9;
$$.bits3.generic.response_length = $11;
$$.bits3.generic.end_of_thread =
$12.bits3.generic.msg_target;
$12.bits3.generic.end_of_thread;
}
specialinstruction: NOP
@ -274,10 +274,20 @@ msgtarget: NULL_TOKEN
$$.bits3.generic.msg_target =
BRW_MESSAGE_TARGET_DATAPORT_READ;
}
| WRITE
| WRITE LPAREN INTEGER COMMA INTEGER COMMA INTEGER COMMA
INTEGER RPAREN
{
$$.bits3.generic.msg_target =
BRW_MESSAGE_TARGET_DATAPORT_WRITE;
$$.bits3.dp_write.binding_table_index = $3;
/* The msg control field of brw_struct.h is split into
* msg control and pixel_scoreboard_clear, even though
* pixel_scoreboard_clear isn't commot to all write messages.
*/
$$.bits3.dp_write.pixel_scoreboard_clear = ($5 & 0x8) >> 3;
$$.bits3.dp_write.msg_control = $5 & 0x7;
$$.bits3.dp_write.msg_type = $7;
$$.bits3.dp_write.send_commit_msg = $9;
}
| URB
{

View File

@ -144,7 +144,12 @@ mac.sat (8) m8<1>F g15<8,8,1>F 1F { align1 };
*/
mov (8) m1<1>UD g1<8,8,1>UD { align1 mask_disable };
/* Send framebuffer write message: XXX: acc0? */
send (16) 0 null g0<8,8,1>UW write mlen 10 rlen 0 { align1 EOT };
send (16) 0 null g0<8,8,1>UW write (
0, /* binding table index 0 */
8, /* pixel scoreboard clear */
4, /* render target write */
0 /* no write commit message */
) mlen 10 rlen 0 { align1 EOT };
/* padding */
nop;
nop;