Sfoglia il codice sorgente

util/format: add trivial srgb<->linear conversion test

This would've caught 8829f9ccb0 ("u_format: add ETC2 to
util_format_srgb/util_format_linear").

Suggested-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
master
Eric Engestrom 7 anni fa
parent
commit
da9937d09b
3 ha cambiato i file con 53 aggiunte e 0 eliminazioni
  1. 1
    0
      src/util/meson.build
  2. 12
    0
      src/util/tests/format/meson.build
  3. 40
    0
      src/util/tests/format/srgb.c

+ 1
- 0
src/util/meson.build Vedi File

@@ -287,4 +287,5 @@ if with_tests
subdir('tests/vma')
subdir('tests/set')
subdir('tests/sparse_array')
subdir('tests/format')
endif

+ 12
- 0
src/util/tests/format/meson.build Vedi File

@@ -0,0 +1,12 @@
foreach t : ['srgb']
test(t,
executable(
t,
'@0@.c'.format(t),
include_directories : inc_common,
dependencies : idep_mesautil,
),
suite : 'format',
should_fail : meson.get_cross_property('xfail', '').contains(t),
)
endforeach

+ 40
- 0
src/util/tests/format/srgb.c Vedi File

@@ -0,0 +1,40 @@
#include <stdio.h>
#include <stdlib.h>

#include "util/macros.h"
#include "util/format/u_format.h"
#include "pipe/p_format.h"

int main(void)
{
for (enum pipe_format format = 0; format < PIPE_FORMAT_COUNT; format++)
{
if (!util_format_is_srgb(format)) {
const enum pipe_format linear = util_format_linear(format);
if (format != linear) {
fprintf(stderr, "%s converted to linear is %s\n",
util_format_name(format),
util_format_name(linear));
return EXIT_FAILURE;
}
continue;
}

const enum pipe_format linear = util_format_linear(format);
if (format == linear) {
fprintf(stderr, "%s can't be converted to a linear equivalent\n",
util_format_name(format));
return EXIT_FAILURE;
}

const enum pipe_format srgb = util_format_srgb(linear);
if (format != srgb) {
fprintf(stderr, "%s converted to linear and back to srgb becomes %s\n",
util_format_name(format),
util_format_name(srgb));
return EXIT_FAILURE;
}
}

return EXIT_SUCCESS;
}

Loading…
Annulla
Salva