Skip to content

Quality Evaluation + Decompress - #26

Merged
ProbablePrime merged 35 commits into
mainfrom
prime/feat/decompress-i-guess
Jul 21, 2025
Merged

Quality Evaluation + Decompress#26
ProbablePrime merged 35 commits into
mainfrom
prime/feat/decompress-i-guess

Conversation

@ProbablePrime

Copy link
Copy Markdown
Member

We wanted to test quality to evaluate what we should set our defaults to be.

This PR makes the changes required to achieve that.

  1. Tests the marshaling of CMP_Texture
  2. Add helper methods to copy commonly cloned details from one mip set to another, or from one texture to another
  3. Tweak some of the marshaled pointers for easier Debug stepping
  4. Expose CMP_MipSetToTexture from compressonator native
  5. Expose/Hook up CMP_SaveTextureEx which takes a CMP_texture, this is different from CMP_SaveTexture that takes a mipset.
  6. Using new functionality hookup decompression based tests
  7. Introduce quality scoring tests, these, Load, Compress, Decompress, Save and then Score by comparing to the original. using Ssimulacra2.net
  8. Introduce additional Snapshot tests that output PNGs. These are designed for human readable evaluation of formats/qualities.

WIP. Want more data.

You wouldn't believe how many times this is manually done in the native code.
This makes debugger stepping easier, trust me :)
…CMP_Texture

Needs new natives will update soon.
This proves decompression!
Enables us to disable/enable certain tests: dotnet test --filter "TestProperty.CI=true"
@ProbablePrime
ProbablePrime marked this pull request as ready for review July 21, 2025 12:05
@ProbablePrime

Copy link
Copy Markdown
Member Author

Ok so Windows on my machine, GH Actions and Ubuntu generate all our test images, they all come out identically, they all come out with the same and expected quality scores.

This drastically improves our confidence in the library because... ITS REALLY WELL TESTED now.

@ProbablePrime
ProbablePrime merged commit 60a7517 into main Jul 21, 2025
2 checks passed
@ProbablePrime
ProbablePrime deleted the prime/feat/decompress-i-guess branch July 21, 2025 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant