-
Notifications
You must be signed in to change notification settings - Fork 453
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add functions to support Standard Swizzle textures #515
base: main
Are you sure you want to change the base?
Conversation
@microsoft-github-policy-service agree company="Microsoft" |
Note for testing, I'll add coverage to the test suite which will likely just do a swizzle and deswizzle and make sure the bits match. As for determining if the swizzle is correct, I probably need to make a test app that renders using WARP which supports standard swizzle. |
13baea9
to
09ff9e8
Compare
- needs to be tested. where to get dx12 boilerplate? test just that texute still looks correct, or also test performance improves when roteated? - maybe merge functions? would then pass a boolean/enum to determine rowToSwizzle versus swizzleToRow Added functions that converts pixel order from row major to standard swizzle and from standard swizzle to row major. Functions for both 1 Image, and an array of Images. Folwoing standard DirectXTex pattern: Uses Image and TexMetadata as input. Outputs/initializes a ScratchImage.
Added new file to .vcxproj, other.vcxproj, and Cmake Merged to/from functions togeather memcpy src is const added non-AVX2 deposit_bits
TODO what flags/threshold to use to re-Compress?
More code review
Rework 2D swizzle into templates
Code review
Linux filesystem is case sensitive
09ff9e8
to
68b9cc7
Compare
Updated with DLL annotation for new function
I'm going to wrap up the March 2025 release, and then finish this PR out. That way I have some time to iterate on the new method. The current implementation only works for 'tiled sized' textures. |
Implement z-order curve "swizzling" for 2D and 3D textures to support the pixel order used for "Standard Swizzle" as defined by
D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE
.