• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <stdio.h>
2 #include <stdlib.h>
3 
4 #include "util/macros.h"
5 #include "util/format/u_format.h"
6 #include "pipe/p_format.h"
7 
main(void)8 int main(void)
9 {
10    for (enum pipe_format format = 0; format < PIPE_FORMAT_COUNT; format++)
11    {
12       if (!util_format_is_srgb(format)) {
13          const enum pipe_format linear = util_format_linear(format);
14          if (format != linear) {
15             fprintf(stderr, "%s converted to linear is %s\n",
16                     util_format_name(format),
17                     util_format_name(linear));
18             return EXIT_FAILURE;
19          }
20          continue;
21       }
22 
23       const enum pipe_format linear = util_format_linear(format);
24       if (format == linear) {
25          fprintf(stderr, "%s can't be converted to a linear equivalent\n",
26                  util_format_name(format));
27          return EXIT_FAILURE;
28       }
29 
30       const enum pipe_format srgb = util_format_srgb(linear);
31       if (format != srgb) {
32          fprintf(stderr, "%s converted to linear and back to srgb becomes %s\n",
33                  util_format_name(format),
34                  util_format_name(srgb));
35          return EXIT_FAILURE;
36       }
37    }
38 
39    return EXIT_SUCCESS;
40 }
41