pixelformat_test.cpp 710 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * Copyright 2010-2025 Branimir Karadzic. All rights reserved.
  3. * License: https://github.com/bkaradzic/bx/blob/master/LICENSE
  4. */
  5. #include "test.h"
  6. #include <bx/pixelformat.h>
  7. TEST_CASE("pack/unpack Rgba8", "[pixelformat]")
  8. {
  9. float rgba[4] = { 0.1f, 0.3f, 0.8f, 0.9f };
  10. uint32_t encoded;
  11. bx::packRgba8(&encoded, rgba);
  12. float decoded[4];
  13. bx::unpackRgba8(decoded, &encoded);
  14. REQUIRE(bx::isEqual(rgba, decoded, 4, 0.01f) );
  15. }
  16. TEST_CASE("pack/unpack Rgb9E5F", "[pixelformat]")
  17. {
  18. float rgba[3] = { 0.1f, 0.3f, 0.89f };
  19. uint32_t encoded;
  20. bx::packRgb9E5F(&encoded, rgba);
  21. float decoded[3];
  22. bx::unpackRgb9E5F(decoded, &encoded);
  23. REQUIRE(bx::isEqual(rgba, decoded, BX_COUNTOF(rgba), 0.001f) );
  24. }