From: Marek Olšák <marek.ol...@amd.com>

---
 src/amd/common/ac_llvm_build.h                    | 6 ++++++
 src/amd/common/ac_nir_to_llvm.c                   | 4 ----
 src/gallium/drivers/radeonsi/si_shader_internal.h | 5 -----
 3 files changed, 6 insertions(+), 9 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
@@ -36,20 +36,26 @@ extern "C" {
 
 #define HAVE_32BIT_POINTERS (HAVE_LLVM >= 0x0700)
 
 enum {
        /* CONST is the only address space that selects SMEM loads */
        AC_CONST_ADDR_SPACE = HAVE_LLVM >= 0x700 ? 4 : 2,
        AC_LOCAL_ADDR_SPACE = 3,
        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 {
        LLVMContextRef context;
        LLVMModuleRef module;
        LLVMBuilderRef builder;
 
        LLVMTypeRef voidt;
        LLVMTypeRef i1;
        LLVMTypeRef i8;
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 700e48e14b7..bfe35e4671b 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -2528,24 +2528,20 @@ static LLVMValueRef visit_image_size(struct 
ac_nir_context *ctx,
            glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_1D &&
            glsl_sampler_type_is_array(type)) {
                LLVMValueRef layers = LLVMBuildExtractElement(ctx->ac.builder, 
res, two, "");
                res = LLVMBuildInsertElement(ctx->ac.builder, res, layers,
                                                ctx->ac.i32_1, "");
 
        }
        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)
 {
        unsigned waitcnt = NOOP_WAITCNT;
 
        switch (instr->intrinsic) {
        case nir_intrinsic_memory_barrier:
        case nir_intrinsic_group_memory_barrier:
                waitcnt &= VM_CNT & LGKM_CNT;
                break;
diff --git a/src/gallium/drivers/radeonsi/si_shader_internal.h 
b/src/gallium/drivers/radeonsi/si_shader_internal.h
index ac7784f7d46..aff7e0472db 100644
--- a/src/gallium/drivers/radeonsi/si_shader_internal.h
+++ b/src/gallium/drivers/radeonsi/si_shader_internal.h
@@ -281,25 +281,20 @@ LLVMValueRef si_llvm_load_input_gs(struct ac_shader_abi 
*abi,
 LLVMValueRef si_nir_lookup_interp_param(struct ac_shader_abi *abi,
                                        enum glsl_interp_mode interp,
                                        unsigned location);
 
 void si_llvm_emit_store(struct lp_build_tgsi_context *bld_base,
                        const struct tgsi_full_instruction *inst,
                        const struct tgsi_opcode_info *info,
                        unsigned index,
                        LLVMValueRef dst[4]);
 
-/* Combine these with & instead of |. */
-#define NOOP_WAITCNT 0xf7f
-#define LGKM_CNT 0x07f
-#define VM_CNT 0xf70
-
 LLVMValueRef si_get_indirect_index(struct si_shader_context *ctx,
                                   const struct tgsi_ind_register *ind,
                                   unsigned addr_mul, int rel_index);
 LLVMValueRef si_get_bounded_indirect_index(struct si_shader_context *ctx,
                                           const struct tgsi_ind_register *ind,
                                           int rel_index, unsigned num);
 LLVMValueRef si_get_sample_id(struct si_shader_context *ctx);
 
 void si_shader_context_init_alu(struct lp_build_tgsi_context *bld_base);
 void si_shader_context_init_mem(struct si_shader_context *ctx);
-- 
2.17.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to