[PATCH 1/5] wined3d: Add a function for allocating aligned resource memory (try 2)

Henri Verbeet hverbeet at gmail.com
Tue Aug 20 06:12:23 CDT 2013


On 20 August 2013 12:07, Stefan Dösinger <stefan at codeweavers.com> wrote:
> +void *wined3d_alloc_resource_mem(SIZE_T size)
> +{
> +    void **p;
> +    SIZE_T align = RESOURCE_ALIGNMENT - 1 + sizeof(*p);
> +    void *mem;
> +
> +    if (!(mem = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size + align)))
> +        return NULL;
> +
> +    p = (void **)(((ULONG_PTR)mem + align) & ~(RESOURCE_ALIGNMENT - 1)) - 1;
> +    *p = mem;
> +
> +    return ++p;
> +}

I think this should either be called
wined3d_resource_allocate_sysmem() and live in resource.c, or accept
any np2 alignment and be called something along the lines of
wined3d_memalign(). The former probably makes the most sense at this
point.

Somewhat related, I don't think there's really a reason to have both
"allocatedMemory" and "heap_memory" anymore. It should probably just
be called "sysmem". That's a cleanup that doesn't necessarily belong
in this patch though.



More information about the wine-devel mailing list