summaryrefslogtreecommitdiffstats
path: root/src/amd/common
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2018-08-15 21:43:32 -0400
committerMarek Olšák <marek.olsak@amd.com>2018-08-22 14:34:43 -0400
commite80e8d7adc5f497b7d25978611b8cdca7458b47c (patch)
tree5550189c26f5091df24f863fab73350600172672 /src/amd/common
parentc836a751bcc8721a7c122e0143ade0a6f3d8c9d5 (diff)
ac: fix WAITCNT flags for GFX9
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Diffstat (limited to 'src/amd/common')
-rw-r--r--src/amd/common/ac_llvm_build.h6
-rw-r--r--src/amd/common/ac_nir_to_llvm.c4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/amd/common/ac_llvm_build.h b/src/amd/common/ac_llvm_build.h
index d11a6ebb1be..b080cca4cb7 100644
--- a/src/amd/common/ac_llvm_build.h
+++ b/src/amd/common/ac_llvm_build.h
@@ -43,6 +43,12 @@ enum {
AC_CONST_32BIT_ADDR_SPACE = 6, /* same as CONST, but the pointer type has 32 bits */
};
+/* Combine these with & instead of |. */
+#define NOOP_WAITCNT 0xcf7f
+#define LGKM_CNT 0xc07f
+#define EXP_CNT 0xcf0f
+#define VM_CNT 0x0f70 /* On GFX9, vmcnt has 6 bits in [0:3] and [14:15] */
+
struct ac_llvm_flow;
struct ac_llvm_context {
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 90df1e00623..3845a721a77 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -2537,10 +2537,6 @@ static LLVMValueRef visit_image_size(struct ac_nir_context *ctx,
return res;
}
-#define NOOP_WAITCNT 0xf7f
-#define LGKM_CNT 0x07f
-#define VM_CNT 0xf70
-
static void emit_membar(struct ac_llvm_context *ac,
const nir_intrinsic_instr *instr)
{