mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-10 09:26:10 +00:00
sampler/render/constant cache unit since Sandybridge
since Sandybrdige, there isn't a single function unit for data port read/write. Instead sampler/render/constant cache unit is introduced, data port read/write can be specified in a SEND instruction with different cache unit. To keep compatibility, currently data port read always uses sampler cache unit however data port write uses render cache unit Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
This commit is contained in:
parent
6a3a9e7148
commit
e97f0bca5f
@ -704,10 +704,13 @@
|
||||
#define BRW_MESSAGE_TARGET_SAMPLER 2
|
||||
#define BRW_MESSAGE_TARGET_GATEWAY 3
|
||||
#define BRW_MESSAGE_TARGET_DATAPORT_READ 4
|
||||
#define BRW_MESSAGE_TARGET_DATAPORT_WRITE 5
|
||||
#define BRW_MESSAGE_TARGET_DP_SC 4 /* data port sampler cache */
|
||||
#define BRW_MESSAGE_TARGET_DATAPORT_WRITE 5
|
||||
#define BRW_MESSAGE_TARGET_DP_RC 5 /* data port render cache */
|
||||
#define BRW_MESSAGE_TARGET_URB 6
|
||||
#define BRW_MESSAGE_TARGET_THREAD_SPAWNER 7
|
||||
#define BRW_MESSAGE_TARGET_VME 8
|
||||
#define BRW_MESSAGE_TARGET_DP_CC 9 /* data port constant cache */
|
||||
|
||||
#define BRW_SAMPLER_RETURN_FORMAT_FLOAT32 0
|
||||
#define BRW_SAMPLER_RETURN_FORMAT_UINT32 2
|
||||
|
@ -1035,14 +1035,14 @@ msgtarget: NULL_TOKEN
|
||||
{
|
||||
if (gen_level == 7) {
|
||||
$$.bits2.send_gen5.sfid =
|
||||
BRW_MESSAGE_TARGET_DATAPORT_READ;
|
||||
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;
|
||||
} else if (gen_level == 6) {
|
||||
$$.bits2.send_gen5.sfid =
|
||||
BRW_MESSAGE_TARGET_DATAPORT_READ;
|
||||
BRW_MESSAGE_TARGET_DP_SC;
|
||||
$$.bits3.generic_gen5.header_present = 1;
|
||||
$$.bits3.dp_read_gen6.binding_table_index = $3;
|
||||
$$.bits3.dp_read_gen6.msg_control = $7;
|
||||
@ -1069,14 +1069,14 @@ msgtarget: NULL_TOKEN
|
||||
{
|
||||
if (gen_level == 7) {
|
||||
$$.bits2.send_gen5.sfid =
|
||||
BRW_MESSAGE_TARGET_DATAPORT_WRITE;
|
||||
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;
|
||||
} else if (gen_level == 6) {
|
||||
$$.bits2.send_gen5.sfid =
|
||||
BRW_MESSAGE_TARGET_DATAPORT_WRITE;
|
||||
BRW_MESSAGE_TARGET_DP_RC;
|
||||
/* Sandybridge supports headerlesss message for render target write.
|
||||
* Currently the GFX assembler doesn't support it. so the program must provide
|
||||
* message header
|
||||
@ -1114,14 +1114,14 @@ msgtarget: NULL_TOKEN
|
||||
{
|
||||
if (gen_level == 7) {
|
||||
$$.bits2.send_gen5.sfid =
|
||||
BRW_MESSAGE_TARGET_DATAPORT_WRITE;
|
||||
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;
|
||||
} else if (gen_level == 6) {
|
||||
$$.bits2.send_gen5.sfid =
|
||||
BRW_MESSAGE_TARGET_DATAPORT_WRITE;
|
||||
BRW_MESSAGE_TARGET_DP_RC;
|
||||
$$.bits3.generic_gen5.header_present = ($11 != 0);
|
||||
$$.bits3.dp_write_gen6.binding_table_index = $3;
|
||||
$$.bits3.dp_write_gen6.msg_control = $5;
|
||||
|
Loading…
x
Reference in New Issue
Block a user