util/format,vulkan/format: update p_format for Vulkan vertex buffers
authorRhys Perry <pendingchaos02@gmail.com>
Thu, 4 Aug 2022 14:07:09 +0000 (15:07 +0100)
committerMarge Bot <emma+marge@anholt.net>
Tue, 30 Aug 2022 19:02:11 +0000 (19:02 +0000)
We need to move some earlier (so they are <= 255 like the comment says)
and add a few 64-bit ones.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17894>

src/gallium/include/pipe/p_format.h
src/util/format/u_format.csv
src/vulkan/util/vk_format.c

index 66c813c..c15c5c8 100644 (file)
@@ -45,6 +45,10 @@ enum pipe_format {
    PIPE_FORMAT_R64G64_UINT,
    PIPE_FORMAT_R64G64B64_UINT,
    PIPE_FORMAT_R64G64B64A64_UINT,
+   PIPE_FORMAT_R64_SINT,
+   PIPE_FORMAT_R64G64_SINT,
+   PIPE_FORMAT_R64G64B64_SINT,
+   PIPE_FORMAT_R64G64B64A64_SINT,
    PIPE_FORMAT_R64_FLOAT,   /**< doubles converted to float */
    PIPE_FORMAT_R64G64_FLOAT,
    PIPE_FORMAT_R64G64B64_FLOAT,
@@ -88,6 +92,7 @@ enum pipe_format {
    PIPE_FORMAT_R8_UNORM,
    PIPE_FORMAT_R8G8_UNORM,
    PIPE_FORMAT_R8G8B8_UNORM,
+   PIPE_FORMAT_B8G8R8_UNORM,
    PIPE_FORMAT_R8G8B8A8_UNORM,
    PIPE_FORMAT_B8G8R8A8_UNORM,
    PIPE_FORMAT_R8_USCALED,
@@ -122,11 +127,15 @@ enum pipe_format {
    PIPE_FORMAT_R8_UINT,
    PIPE_FORMAT_R8G8_UINT,
    PIPE_FORMAT_R8G8B8_UINT,
+   PIPE_FORMAT_B8G8R8_UINT,
    PIPE_FORMAT_R8G8B8A8_UINT,
+   PIPE_FORMAT_B8G8R8A8_UINT,
    PIPE_FORMAT_R8_SINT,
    PIPE_FORMAT_R8G8_SINT,
    PIPE_FORMAT_R8G8B8_SINT,
+   PIPE_FORMAT_B8G8R8_SINT,
    PIPE_FORMAT_R8G8B8A8_SINT,
+   PIPE_FORMAT_B8G8R8A8_SINT,
    PIPE_FORMAT_R16_UINT,
    PIPE_FORMAT_R16G16_UINT,
    PIPE_FORMAT_R16G16B16_UINT,
@@ -156,13 +165,15 @@ enum pipe_format {
 
    PIPE_FORMAT_R11G11B10_FLOAT,
 
+   PIPE_FORMAT_R10G10B10A2_UINT,
+   PIPE_FORMAT_R10G10B10A2_SINT,
+
    PIPE_FORMAT_B10G10R10A2_UINT,
    PIPE_FORMAT_B10G10R10A2_SINT,
 
    /* End of vertex formats. */
 
    /* Texture-only formats are below. */
-   PIPE_FORMAT_B8G8R8_UNORM,
    PIPE_FORMAT_B8G8R8X8_UNORM,
    PIPE_FORMAT_X8B8G8R8_UNORM,
    PIPE_FORMAT_X8R8G8B8_UNORM,
@@ -301,8 +312,6 @@ enum pipe_format {
    PIPE_FORMAT_R8A8_UNORM,
    PIPE_FORMAT_A8R8_UNORM,
 
-   PIPE_FORMAT_R64_SINT,
-
    PIPE_FORMAT_A8_UINT,
    PIPE_FORMAT_I8_UINT,
    PIPE_FORMAT_L8_UINT,
@@ -333,12 +342,6 @@ enum pipe_format {
    PIPE_FORMAT_L32_SINT,
    PIPE_FORMAT_L32A32_SINT,
 
-   PIPE_FORMAT_B8G8R8_UINT,
-   PIPE_FORMAT_B8G8R8A8_UINT,
-
-   PIPE_FORMAT_B8G8R8_SINT,
-   PIPE_FORMAT_B8G8R8A8_SINT,
-
    PIPE_FORMAT_A8R8G8B8_UINT,
    PIPE_FORMAT_A8B8G8R8_UINT,
    PIPE_FORMAT_A2R10G10B10_UINT,
@@ -386,8 +389,6 @@ enum pipe_format {
    PIPE_FORMAT_R16A16_SINT,
    PIPE_FORMAT_R32A32_UINT,
    PIPE_FORMAT_R32A32_SINT,
-   PIPE_FORMAT_R10G10B10A2_UINT,
-   PIPE_FORMAT_R10G10B10A2_SINT,
 
    PIPE_FORMAT_B5G6R5_SRGB,
 
index c646890..ef85be4 100644 (file)
@@ -479,6 +479,9 @@ PIPE_FORMAT_R64G64B64_UINT          , plain, 1, 1, 1, up64, up64, up64, , xyz1,
 PIPE_FORMAT_R64G64B64A64_UINT       , plain, 1, 1, 1, up64, up64, up64, up64, xyzw, rgb
 
 PIPE_FORMAT_R64_SINT                , plain, 1, 1, 1, sp64, , , , x001, rgb
+PIPE_FORMAT_R64G64_SINT             , plain, 1, 1, 1, sp64, sp64, , , xy01, rgb
+PIPE_FORMAT_R64G64B64_SINT          , plain, 1, 1, 1, sp64, sp64, sp64, , xyz1, rgb
+PIPE_FORMAT_R64G64B64A64_SINT       , plain, 1, 1, 1, sp64, sp64, sp64, sp64, xyzw, rgb
 
 PIPE_FORMAT_A8_UINT                 , plain, 1, 1, 1, up8, , , , 000x, rgb
 PIPE_FORMAT_I8_UINT                 , plain, 1, 1, 1, up8, , , , xxxx, rgb
index 27b65d4..eab742f 100644 (file)
@@ -161,10 +161,18 @@ static const enum pipe_format vk_format_map[] = {
 
    [VK_FORMAT_R64_UINT] = PIPE_FORMAT_R64_UINT,
    [VK_FORMAT_R64_SINT] = PIPE_FORMAT_R64_SINT,
-   /* Missing rest of 64-bit uint/sint formats */
    [VK_FORMAT_R64_SFLOAT] = PIPE_FORMAT_R64_FLOAT,
+
+   [VK_FORMAT_R64G64_UINT] = PIPE_FORMAT_R64G64_UINT,
+   [VK_FORMAT_R64G64_SINT] = PIPE_FORMAT_R64G64_SINT,
    [VK_FORMAT_R64G64_SFLOAT] = PIPE_FORMAT_R64G64_FLOAT,
+
+   [VK_FORMAT_R64G64B64_UINT] = PIPE_FORMAT_R64G64B64_UINT,
+   [VK_FORMAT_R64G64B64_SINT] = PIPE_FORMAT_R64G64B64_SINT,
    [VK_FORMAT_R64G64B64_SFLOAT] = PIPE_FORMAT_R64G64B64_FLOAT,
+
+   [VK_FORMAT_R64G64B64A64_UINT] = PIPE_FORMAT_R64G64B64A64_UINT,
+   [VK_FORMAT_R64G64B64A64_SINT] = PIPE_FORMAT_R64G64B64A64_SINT,
    [VK_FORMAT_R64G64B64A64_SFLOAT] = PIPE_FORMAT_R64G64B64A64_FLOAT,
 
    [VK_FORMAT_B10G11R11_UFLOAT_PACK32] = PIPE_FORMAT_R11G11B10_FLOAT,