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

Henri Verbeet hverbeet at gmail.com
Mon Nov 18 03:30:45 CST 2019


On Mon, 18 Nov 2019 at 06:55, Conor McCarthy <cmccarthy at codeweavers.com> wrote:
> 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.

I'm probably missing something, but in that case, why would this patch
be needed?



More information about the wine-devel mailing list