From: Dave Airlie <[email protected]>

This just moves this out for later reuse.

Signed-off-by: Dave Airlie <[email protected]>
---
 src/amd/common/ac_nir_to_llvm.c | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index fa8f91b321d..ab4441e43b4 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -1944,6 +1944,23 @@ glsl_is_array_image(const struct glsl_type *type)
               dim == GLSL_SAMPLER_DIM_SUBPASS_MS;
 }
 
+static LLVMValueRef get_fmask_desc_valid(struct ac_llvm_context *ctx,
+                                        LLVMValueRef fmask_desc_ptr)
+{
+       LLVMValueRef fmask_desc =
+               LLVMBuildBitCast(ctx->builder, fmask_desc_ptr,
+                                ctx->v8i32, "");
+
+       LLVMValueRef fmask_word1 =
+               LLVMBuildExtractElement(ctx->builder, fmask_desc,
+                                       ctx->i32_1, "");
+
+       LLVMValueRef word1_is_nonzero =
+               LLVMBuildICmp(ctx->builder, LLVMIntNE,
+                             fmask_word1, ctx->i32_0, "");
+
+       return word1_is_nonzero;
+}
 
 /* Adjust the sample index according to FMASK.
  *
@@ -2003,17 +2020,7 @@ static LLVMValueRef 
adjust_sample_index_using_fmask(struct ac_llvm_context *ctx,
        /* Don't rewrite the sample index if WORD1.DATA_FORMAT of the FMASK
         * resource descriptor is 0 (invalid),
         */
-       LLVMValueRef fmask_desc =
-               LLVMBuildBitCast(ctx->builder, fmask_desc_ptr,
-                                ctx->v8i32, "");
-
-       LLVMValueRef fmask_word1 =
-               LLVMBuildExtractElement(ctx->builder, fmask_desc,
-                                       ctx->i32_1, "");
-
-       LLVMValueRef word1_is_nonzero =
-               LLVMBuildICmp(ctx->builder, LLVMIntNE,
-                             fmask_word1, ctx->i32_0, "");
+       LLVMValueRef word1_is_nonzero = get_fmask_desc_valid(ctx, 
fmask_desc_ptr);
 
        /* Replace the MSAA sample index. */
        sample_index =
-- 
2.14.3

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to