Support loading another DX10 DDS variant with permissive #588
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The DX10 DDS header extension has a field
arraySize
. For 2D Texture Arrays, this is the number of textures in the array. For cubemaps and cubemapArrays, however, it is supposed to be the number of cubes (i.e. 1 is a single cube with 6 array entries, 2 for two cubemaps with 12 array entries, etc.). This is how D3DX10/D3DX11 write these files. Some writers, however, fail to handle this special case and write the original array count. This PR allows the loading of these files when using the--permissive
option.Note that the GetMetadata functions will return the original values from the header. The Load functions will fix up the metadata value returned when this scenario is detected.