[PATCH vkd3d 1/2] vkd3d: Always return a valid allocation size for D3D12 default alignments.

Conor McCarthy cmccarthy at codeweavers.com
Sun Nov 17 21:25:55 CST 2019


November 16, 2019 4:46 AM, "Henri Verbeet" <hverbeet at gmail.com> wrote:
> On Wed, 13 Nov 2019 at 18:34, Conor McCarthy <cmccarthy at codeweavers.com> wrote:
> 
>> Some hardware and driver combinations, e.g. AMD RX 580 / RADV, do not support
>> alignments of 0x1000 and 0x10000. This causes GetResourceAllocationInfo() to
>> return a size of ~0 for valid D3D12 alignments. Some games do not check for
>> this. For example Hitman 2 will allocate heaps of size 0xffffffff and run out
>> of vram. This patch also fixes RX 580 alignment test failures.
> 
> What are the returned and requested alignments in that case?

Requested 0x10000, returned 0x20000. No invalid heap offsets are sent to vkd3d_bind_heap_memory(), so the game uses the returned value.



More information about the wine-devel mailing list