From f347348f8af80a0fd79c4271affc8e374c4ea4ec Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 18 Apr 2018 14:02:33 -0700 Subject: [PATCH] intel/compiler: Expand untyped atomic message type field by a bit This is necessary for a new Gen9 message type that will be added in the next patch. There are also Gen8 message types that need the extra bit (mostly for bindless). v2: Split off from the next patch. Suggested by Caio. Signed-off-by: Ian Romanick Reviewed-by: Caio Marcelo de Oliveira Filho --- src/intel/compiler/brw_disasm.c | 2 +- src/intel/compiler/brw_eu.h | 9 +++++++-- src/intel/compiler/brw_inst.h | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/intel/compiler/brw_disasm.c b/src/intel/compiler/brw_disasm.c index e45762afb07..88f12144f83 100644 --- a/src/intel/compiler/brw_disasm.c +++ b/src/intel/compiler/brw_disasm.c @@ -406,7 +406,7 @@ static const char *const dp_dc0_msg_type_gen7[16] = { [GEN7_DATAPORT_DC_UNTYPED_SURFACE_WRITE] = "DC untyped surface write", }; -static const char *const dp_dc1_msg_type_hsw[16] = { +static const char *const dp_dc1_msg_type_hsw[32] = { [HSW_DATAPORT_DC_PORT1_UNTYPED_SURFACE_READ] = "untyped surface read", [HSW_DATAPORT_DC_PORT1_UNTYPED_ATOMIC_OP] = "DC untyped atomic op", [HSW_DATAPORT_DC_PORT1_UNTYPED_ATOMIC_OP_SIMD4X2] = diff --git a/src/intel/compiler/brw_eu.h b/src/intel/compiler/brw_eu.h index 3824ab2ec6a..196ba96c77e 100644 --- a/src/intel/compiler/brw_eu.h +++ b/src/intel/compiler/brw_eu.h @@ -360,8 +360,13 @@ brw_dp_surface_desc(const struct gen_device_info *devinfo, unsigned msg_control) { assert(devinfo->gen >= 7); - return (SET_BITS(msg_control, 13, 8) | - SET_BITS(msg_type, 17, 14)); + if (devinfo->gen >= 8) { + return (SET_BITS(msg_control, 13, 8) | + SET_BITS(msg_type, 18, 14)); + } else { + return (SET_BITS(msg_control, 13, 8) | + SET_BITS(msg_type, 17, 14)); + } } /** diff --git a/src/intel/compiler/brw_inst.h b/src/intel/compiler/brw_inst.h index 438a473c1cd..ce89bbba72f 100644 --- a/src/intel/compiler/brw_inst.h +++ b/src/intel/compiler/brw_inst.h @@ -707,7 +707,7 @@ FF(dp_msg_type, -1, -1, -1, -1, -1, -1, /* 6: */ MD(16), MD(13), /* 7: */ MD(17), MD(14), - /* 8: */ MD(17), MD(14)) + /* 8: */ MD(18), MD(14)) FF(dp_msg_control, /* 4: */ MD(11), MD( 8), /* 4.5-5: use dp_read_msg_control or dp_write_msg_control */ -1, -1, -1, -1, -- 2.30.2