Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Journeyman III

BC5 data not correctly swizzled for mapped textures

Based on our observations as simplified in the attached source code, I see that a texture containing BC5 data is displayed correctly only when the data was specified as InitData in the CreateTexture2D call. We tried writing to a dynamic/staging texture and doing a CopyResource to no avail.


There is a #define at the top of Tutorial07.cpp called "OOOii_ILLUSTRATE_OBSERVED_BUG". Undefining this runs the code as it originally appears in the June 2010 DX SDK. Enabled, there is an inappropriate tiling that appears I believe due to AMD HW details that are only compensated for in CreateTexture2D but not in Unmap.


With NVIDIA drivers (on NVIDIA cards) the behavior of the sample is the same whether or not the #define is defined, and I believe this to be the more appropriate behavior.


I request this be treated as a bug and that it be fixed in subsequent driver versions.


Background: We are working on a performant video texture system that transcodes from a jpeg-ish source directly to BC5 and thus the updates to the video texture are quite frequent. We would like to maintain cross-platform code by enabling a transcode directly to a dynamic BC5 texture rather than having to special-case it for AMD drivers.

2 Replies

Could you please provide us with your DXdiag


Please find my dxdiag output attached.

We've regressed to various versions of the driver all the way back to 2010 and all seem to behave the same. We've reproduced this on multiple series of AMD cards as well as various drivers, so please let me know if my DxDiag looks like a Frankenstein!