My app uses a D3D12 Texture3d. I found out that with default settings on NVidia cards I can have arbitrary texture size, but on an ATI Radeon 560X, only y and z sizes can be arbitrary - the x size needs to be a multiple of 16. That is really annoying. Is there any way to configure a Texture3D on ATI so it will allow arbitrary size in all dimension axes? (I did update the driver to the latest)
NVidia vs ATI Texture sizes
And how exactly did you find this out?
What does GetResourceAllocationInfo() return for Alignment on each card? What is the feature level of the ATI card? (11_0, 11_1, 12_0, … ?) Those answers may give you clues for where to look for more information. (Or not.)
In general, if there's a hardware limitation, then there's a hardware limitation. Can't change that without, like, taking lasers to silicon chips or something …
Can't you just pad the 3D textures, unconditionally on all platforms to minimize hacks, to respect the constraint? What is the authoritative source (vendor documentation, Direct3D documentation, executing queries…) about such limitations, in order to be sure that your textures are really portable beyond the few systems you have actually tested?
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.