Mesa (main): lavapipe: Use the new border color helper

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 23 00:28:11 UTC 2022


Module: Mesa
Branch: main
Commit: 498a8e77dd9a437f0af48c6c4921e87057cf4d61
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=498a8e77dd9a437f0af48c6c4921e87057cf4d61

Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Sat Mar 12 12:19:52 2022 -0600

lavapipe: Use the new border color helper

Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15359>

---

 src/gallium/frontends/lavapipe/lvp_device.c | 42 ++++-------------------------
 1 file changed, 5 insertions(+), 37 deletions(-)

diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c
index 5e73d81a9de..080522d54e0 100644
--- a/src/gallium/frontends/lavapipe/lvp_device.c
+++ b/src/gallium/frontends/lavapipe/lvp_device.c
@@ -26,6 +26,7 @@
 #include "pipe-loader/pipe_loader.h"
 #include "git_sha1.h"
 #include "vk_cmd_enqueue_entrypoints.h"
+#include "vk_sampler.h"
 #include "vk_util.h"
 #include "pipe/p_config.h"
 #include "pipe/p_defines.h"
@@ -2158,9 +2159,6 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateSampler(
    const VkSamplerReductionModeCreateInfo *reduction_mode_create_info =
       vk_find_struct_const(pCreateInfo->pNext,
                            SAMPLER_REDUCTION_MODE_CREATE_INFO);
-   const VkSamplerCustomBorderColorCreateInfoEXT *custom_border_color_create_info =
-      vk_find_struct_const(pCreateInfo->pNext,
-                           SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT);
 
    assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO);
 
@@ -2173,40 +2171,10 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateSampler(
                        VK_OBJECT_TYPE_SAMPLER);
    sampler->create_info = *pCreateInfo;
 
-   switch (pCreateInfo->borderColor) {
-   case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK:
-   case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK:
-   default:
-      memset(&sampler->border_color, 0, sizeof(union pipe_color_union));
-      break;
-   case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK:
-      sampler->border_color.f[0] = sampler->border_color.f[1] =
-      sampler->border_color.f[2] = 0.0f;
-      sampler->border_color.f[3] = 1.0f;
-      break;
-   case VK_BORDER_COLOR_INT_OPAQUE_BLACK:
-      sampler->border_color.i[0] = sampler->border_color.i[1] =
-      sampler->border_color.i[2] = 0;
-      sampler->border_color.i[3] = 1;
-      break;
-   case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE:
-      sampler->border_color.f[0] = sampler->border_color.f[1] =
-      sampler->border_color.f[2] = 1.0f;
-      sampler->border_color.f[3] = 1.0f;
-      break;
-   case VK_BORDER_COLOR_INT_OPAQUE_WHITE:
-      sampler->border_color.i[0] = sampler->border_color.i[1] =
-      sampler->border_color.i[2] = 1;
-      sampler->border_color.i[3] = 1;
-      break;
-   case VK_BORDER_COLOR_FLOAT_CUSTOM_EXT:
-   case VK_BORDER_COLOR_INT_CUSTOM_EXT:
-      assert(custom_border_color_create_info != NULL);
-      memcpy(&sampler->border_color,
-             &custom_border_color_create_info->customBorderColor,
-             sizeof(union pipe_color_union));
-      break;
-   }
+   VkClearColorValue border_color =
+      vk_sampler_border_color_value(pCreateInfo, NULL);
+   STATIC_ASSERT(sizeof(sampler->border_color) == sizeof(border_color));
+   memcpy(&sampler->border_color, &border_color, sizeof(border_color));
 
    sampler->reduction_mode = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE;
    if (reduction_mode_create_info)



More information about the mesa-commit mailing list