mesa: Give _mesa_format_get_color_encoding a clearer name.
[mesa.git] / src / mesa / main / formats.h
index 62b5e0c1a7edaa567c0c803de9766f43373480c1..abfd73313ef3c30f41220f0cfdc6a73466179191 100644 (file)
@@ -36,7 +36,6 @@
 #include <GL/gl.h>
 #include <stdbool.h>
 #include <stdint.h>
-#include "compiler.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -72,6 +71,7 @@ enum mesa_format_layout {
    MESA_FORMAT_LAYOUT_ETC2,
    MESA_FORMAT_LAYOUT_BPTC,
    MESA_FORMAT_LAYOUT_ASTC,
+   MESA_FORMAT_LAYOUT_ATC,
    MESA_FORMAT_LAYOUT_OTHER,
 };
 
@@ -350,6 +350,7 @@ typedef enum
    MESA_FORMAT_B4G4R4X4_UNORM,                       /* xxxx RRRR GGGG BBBB */
    MESA_FORMAT_A4R4G4B4_UNORM,                       /* BBBB GGGG RRRR AAAA */
    MESA_FORMAT_A1B5G5R5_UNORM,                       /* RRRR RGGG GGBB BBBA */
+   MESA_FORMAT_X1B5G5R5_UNORM,                       /* BBBB BGGG GGRR RRRX */
    MESA_FORMAT_B5G5R5A1_UNORM,                       /* ARRR RRGG GGGB BBBB */
    MESA_FORMAT_B5G5R5X1_UNORM,                       /* xRRR RRGG GGGB BBBB */
    MESA_FORMAT_A1R5G5B5_UNORM,                       /* BBBB BGGG GGRR RRRA */
@@ -440,6 +441,7 @@ typedef enum
    MESA_FORMAT_X8B8G8R8_SRGB,    /* RRRR RRRR GGGG GGGG BBBB BBBB xxxx xxxx */
    MESA_FORMAT_L8A8_SRGB,                            /* AAAA AAAA LLLL LLLL */
    MESA_FORMAT_A8L8_SRGB,                            /* LLLL LLLL AAAA AAAA */
+   MESA_FORMAT_R_SRGB8,          /* RRRR RRRR */
 
    /* Array sRGB formats */
    MESA_FORMAT_L_SRGB8,       /* ubyte[i] = L */
@@ -656,6 +658,12 @@ typedef enum
    MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x5x5,
    MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x6x5,
    MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x6x6,
+
+   /* ATC compressed formats */
+   MESA_FORMAT_ATC_RGB,
+   MESA_FORMAT_ATC_RGBA_EXPLICIT,
+   MESA_FORMAT_ATC_RGBA_INTERPOLATED,
+
    MESA_FORMAT_COUNT
 } mesa_format;
 
@@ -663,13 +671,13 @@ typedef enum
 extern const char *
 _mesa_get_format_name(mesa_format format);
 
-extern GLint
+extern int
 _mesa_get_format_bytes(mesa_format format);
 
 extern GLint
 _mesa_get_format_bits(mesa_format format, GLenum pname);
 
-extern GLuint
+extern unsigned int
 _mesa_get_format_max_bits(mesa_format format);
 
 extern enum mesa_format_layout
@@ -682,11 +690,12 @@ extern GLenum
 _mesa_get_format_base_format(uint32_t format);
 
 extern void
-_mesa_get_format_block_size(mesa_format format, GLuint *bw, GLuint *bh);
+_mesa_get_format_block_size(mesa_format format,
+                            unsigned int *bw, unsigned int *bh);
 
 extern void
-_mesa_get_format_block_size_3d(mesa_format format, GLuint *bw,
-                               GLuint *bh, GLuint *bd);
+_mesa_get_format_block_size_3d(mesa_format format, unsigned int *bw,
+                               unsigned int *bh, unsigned int *bd);
 
 extern mesa_array_format
 _mesa_array_format_flip_channels(mesa_array_format format);
@@ -700,43 +709,46 @@ _mesa_format_to_array_format(mesa_format format);
 extern mesa_format
 _mesa_format_from_array_format(uint32_t array_format);
 
-extern GLboolean
+extern bool
 _mesa_is_format_compressed(mesa_format format);
 
-extern GLboolean
+extern bool
 _mesa_is_format_packed_depth_stencil(mesa_format format);
 
-extern GLboolean
+extern bool
 _mesa_is_format_integer_color(mesa_format format);
 
-extern GLboolean
+extern bool
 _mesa_is_format_unsigned(mesa_format format);
 
-extern GLboolean
+extern bool
 _mesa_is_format_signed(mesa_format format);
 
-extern GLboolean
+extern bool
 _mesa_is_format_integer(mesa_format format);
 
 extern bool
 _mesa_is_format_etc2(mesa_format format);
 
-GLenum
+bool
+_mesa_is_format_astc_2d(mesa_format format);
+
+bool
 _mesa_is_format_color_format(mesa_format format);
 
-extern GLenum
-_mesa_get_format_color_encoding(mesa_format format);
+bool
+_mesa_is_format_srgb(mesa_format format);
 
-extern GLuint
-_mesa_format_image_size(mesa_format format, GLsizei width,
-                        GLsizei height, GLsizei depth);
+extern uint32_t
+_mesa_format_image_size(mesa_format format, int width,
+                        int height, int depth);
 
 extern uint64_t
-_mesa_format_image_size64(mesa_format format, GLsizei width,
-                          GLsizei height, GLsizei depth);
+_mesa_format_image_size64(mesa_format format, int width,
+                          int height, int depth);
 
-extern GLint
-_mesa_format_row_stride(mesa_format format, GLsizei width);
+extern int32_t
+_mesa_format_row_stride(mesa_format format, int width);
 
 extern void
 _mesa_uncompressed_format_to_type_and_comps(mesa_format format,
@@ -748,19 +760,22 @@ _mesa_test_formats(void);
 extern mesa_format
 _mesa_get_srgb_format_linear(mesa_format format);
 
+extern mesa_format
+_mesa_get_linear_format_srgb(mesa_format format);
+
 extern mesa_format
 _mesa_get_uncompressed_format(mesa_format format);
 
-extern GLuint
+extern unsigned int
 _mesa_format_num_components(mesa_format format);
 
 extern bool
 _mesa_format_has_color_component(mesa_format format, int component);
 
-GLboolean
+bool
 _mesa_format_matches_format_and_type(mesa_format mesa_format,
                                     GLenum format, GLenum type,
-                                    GLboolean swapBytes, GLenum *error);
+                                    bool swapBytes, GLenum *error);
 
 mesa_format
 _mesa_format_fallback_rgbx_to_rgba(mesa_format format);