anv: only use VkSamplerCreateInfo::compareOp if enabled
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Tue, 14 Jan 2020 14:10:21 +0000 (16:10 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 14 Jan 2020 16:40:16 +0000 (16:40 +0000)
The spec says nothing about the validity of the compareOp field when
compareEnable is false.

v2: use vulkan enum to pick default value (Caio)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2350
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3387>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3387>

src/intel/vulkan/genX_state.c

index 78e018762cb53d00d9b0fc3d1ed2001db7eaca5d..d96764919bba0f72ac46f8af59073c4fa74a92cd 100644 (file)
@@ -513,7 +513,9 @@ VkResult genX(CreateSampler)(
          .ChromaKeyEnable = 0,
          .ChromaKeyIndex = 0,
          .ChromaKeyMode = 0,
-         .ShadowFunction = vk_to_gen_shadow_compare_op[pCreateInfo->compareOp],
+         .ShadowFunction =
+            vk_to_gen_shadow_compare_op[pCreateInfo->compareEnable ?
+                                        pCreateInfo->compareOp : VK_COMPARE_OP_NEVER],
          .CubeSurfaceControlMode = OVERRIDE,
 
          .BorderColorPointer = border_color_offset,