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

Author: Emma Anholt <[email protected]>
Date:   Tue Oct 10 12:19:46 2023 -0700

dri: Drop a duplicate mesa vs pipe format table.

mesa_format is a typedef of enum pipe_format, and the nice mesa format
names are a subset of the available pipe formats.  No need to keep a
duplicate table here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25650>

---

 src/gallium/frontends/dri/dri_screen.c | 58 +++++++++++-----------------------
 1 file changed, 18 insertions(+), 40 deletions(-)

diff --git a/src/gallium/frontends/dri/dri_screen.c 
b/src/gallium/frontends/dri/dri_screen.c
index 0919a1c7847..a1fc9f0a30b 100644
--- a/src/gallium/frontends/dri/dri_screen.c
+++ b/src/gallium/frontends/dri/dri_screen.c
@@ -438,27 +438,6 @@ dri_fill_in_modes(struct dri_screen *screen)
       MESA_FORMAT_B4G4R4A4_UNORM,
       MESA_FORMAT_R4G4B4A4_UNORM,
    };
-   static const enum pipe_format pipe_formats[] = {
-      PIPE_FORMAT_B10G10R10A2_UNORM,
-      PIPE_FORMAT_B10G10R10X2_UNORM,
-      PIPE_FORMAT_R10G10B10A2_UNORM,
-      PIPE_FORMAT_R10G10B10X2_UNORM,
-      PIPE_FORMAT_BGRA8888_UNORM,
-      PIPE_FORMAT_BGRX8888_UNORM,
-      PIPE_FORMAT_BGRA8888_SRGB,
-      PIPE_FORMAT_BGRX8888_SRGB,
-      PIPE_FORMAT_B5G6R5_UNORM,
-      PIPE_FORMAT_R16G16B16A16_FLOAT,
-      PIPE_FORMAT_R16G16B16X16_FLOAT,
-      PIPE_FORMAT_RGBA8888_UNORM,
-      PIPE_FORMAT_RGBX8888_UNORM,
-      PIPE_FORMAT_RGBA8888_SRGB,
-      PIPE_FORMAT_RGBX8888_SRGB,
-      PIPE_FORMAT_B5G5R5A1_UNORM,
-      PIPE_FORMAT_R5G5B5A1_UNORM,
-      PIPE_FORMAT_B4G4R4A4_UNORM,
-      PIPE_FORMAT_R4G4B4A4_UNORM,
-   };
    __DRIconfig **configs = NULL;
    uint8_t depth_bits_array[5];
    uint8_t stencil_bits_array[5];
@@ -528,37 +507,36 @@ dri_fill_in_modes(struct dri_screen *screen)
    mixed_color_depth =
       p_screen->get_param(p_screen, PIPE_CAP_MIXED_COLOR_DEPTH_BITS);
 
-   assert(ARRAY_SIZE(mesa_formats) == ARRAY_SIZE(pipe_formats));
-
    /* Add configs. */
-   for (unsigned format = 0; format < ARRAY_SIZE(mesa_formats); format++) {
+   for (unsigned f = 0; f < ARRAY_SIZE(mesa_formats); f++) {
+      mesa_format format = mesa_formats[f];
       __DRIconfig **new_configs = NULL;
       unsigned num_msaa_modes = 0; /* includes a single-sample mode */
       uint8_t msaa_modes[MSAA_VISUAL_MAX_SAMPLES];
 
       /* Expose only BGRA ordering if the loader doesn't support RGBA 
ordering. */
       if (!allow_rgba_ordering &&
-          (mesa_formats[format] == MESA_FORMAT_R8G8B8A8_UNORM ||
-           mesa_formats[format] == MESA_FORMAT_R8G8B8X8_UNORM ||
-           mesa_formats[format] == MESA_FORMAT_R8G8B8A8_SRGB  ||
-           mesa_formats[format] == MESA_FORMAT_R8G8B8X8_SRGB  ||
-           mesa_formats[format] == MESA_FORMAT_R5G5B5A1_UNORM ||
-           mesa_formats[format] == MESA_FORMAT_R4G4B4A4_UNORM))
+          (format == MESA_FORMAT_R8G8B8A8_UNORM ||
+           format == MESA_FORMAT_R8G8B8X8_UNORM ||
+           format == MESA_FORMAT_R8G8B8A8_SRGB  ||
+           format == MESA_FORMAT_R8G8B8X8_SRGB  ||
+           format == MESA_FORMAT_R5G5B5A1_UNORM ||
+           format == MESA_FORMAT_R4G4B4A4_UNORM))
          continue;
 
       if (!allow_rgb10 &&
-          (mesa_formats[format] == MESA_FORMAT_B10G10R10A2_UNORM ||
-           mesa_formats[format] == MESA_FORMAT_B10G10R10X2_UNORM ||
-           mesa_formats[format] == MESA_FORMAT_R10G10B10A2_UNORM ||
-           mesa_formats[format] == MESA_FORMAT_R10G10B10X2_UNORM))
+          (format == MESA_FORMAT_B10G10R10A2_UNORM ||
+           format == MESA_FORMAT_B10G10R10X2_UNORM ||
+           format == MESA_FORMAT_R10G10B10A2_UNORM ||
+           format == MESA_FORMAT_R10G10B10X2_UNORM))
          continue;
 
       if (!allow_fp16 &&
-          (mesa_formats[format] == MESA_FORMAT_RGBA_FLOAT16 ||
-           mesa_formats[format] == MESA_FORMAT_RGBX_FLOAT16))
+          (format == MESA_FORMAT_RGBA_FLOAT16 ||
+           format == MESA_FORMAT_RGBX_FLOAT16))
          continue;
 
-      if (!p_screen->is_format_supported(p_screen, pipe_formats[format],
+      if (!p_screen->is_format_supported(p_screen, format,
                                          PIPE_TEXTURE_2D, 0, 0,
                                          PIPE_BIND_RENDER_TARGET |
                                          PIPE_BIND_DISPLAY_TARGET))
@@ -567,7 +545,7 @@ dri_fill_in_modes(struct dri_screen *screen)
       for (i = 1; i <= MSAA_VISUAL_MAX_SAMPLES; i++) {
          int samples = i > 1 ? i : 0;
 
-         if (p_screen->is_format_supported(p_screen, pipe_formats[format],
+         if (p_screen->is_format_supported(p_screen, format,
                                            PIPE_TEXTURE_2D, samples, samples,
                                            PIPE_BIND_RENDER_TARGET)) {
             msaa_modes[num_msaa_modes++] = samples;
@@ -576,7 +554,7 @@ dri_fill_in_modes(struct dri_screen *screen)
 
       if (num_msaa_modes) {
          /* Single-sample configs with an accumulation buffer. */
-         new_configs = driCreateConfigs(mesa_formats[format],
+         new_configs = driCreateConfigs(format,
                                         depth_bits_array, stencil_bits_array,
                                         depth_buffer_factor,
                                         db_modes, ARRAY_SIZE(db_modes),
@@ -586,7 +564,7 @@ dri_fill_in_modes(struct dri_screen *screen)
 
          /* Multi-sample configs without an accumulation buffer. */
          if (num_msaa_modes > 1) {
-            new_configs = driCreateConfigs(mesa_formats[format],
+            new_configs = driCreateConfigs(format,
                                            depth_bits_array, 
stencil_bits_array,
                                            depth_buffer_factor,
                                            db_modes, ARRAY_SIZE(db_modes),

Reply via email to