OSDN Git Service

ac/nir_to_llvm: fix clamp shadow reference for more hardware
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 23 Jan 2019 03:58:40 +0000 (14:58 +1100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 29 Jan 2019 17:44:27 +0000 (17:44 +0000)
Fixes the following piglit test on my VEGA and matches the behaviour in the
tgsi backend.

tests/spec/glsl-1.10/execution/samplers/glsl-fs-shadow2D-clamp-z.shader_test

Fixes: 625dcbbc4566 ("amd/common: pass address components individually to ac_build_image_intrinsic")

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 5d66f7103f0df6b996951e65483fc5873d9b66df)

src/amd/common/ac_nir_to_llvm.c

index 0aabd05..fbe010d 100644 (file)
@@ -3499,7 +3499,7 @@ static void visit_tex(struct ac_nir_context *ctx, nir_tex_instr *instr)
         * It's unnecessary if the original texture format was
         * Z32_FLOAT, but we don't know that here.
         */
-       if (args.compare && ctx->ac.chip_class == VI && ctx->abi->clamp_shadow_reference)
+       if (args.compare && ctx->ac.chip_class >= VI && ctx->abi->clamp_shadow_reference)
                args.compare = ac_build_clamp(&ctx->ac, ac_to_float(&ctx->ac, args.compare));
 
        /* pack derivatives */