diff options
Diffstat (limited to 'mipmap.patch')
-rw-r--r-- | mipmap.patch | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mipmap.patch b/mipmap.patch new file mode 100644 index 000000000000..5e26def74afe --- /dev/null +++ b/mipmap.patch @@ -0,0 +1,18 @@ +diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c +index b76783f..aa45d5c 100644 +--- a/dlls/wined3d/resource.c ++++ b/dlls/wined3d/resource.c +@@ -352,8 +352,12 @@ BOOL wined3d_resource_allocate_sysmem(struct wined3d_resource *resource) + void **p; + SIZE_T align = RESOURCE_ALIGNMENT - 1 + sizeof(*p); + void *mem; ++ UINT size = resource->size; + +- if (!(mem = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, resource->size + align))) ++ if (resource->width <= 64 && resource->height <= 64) ++ size *= 2; ++ ++ if (!(mem = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size + align))) + return FALSE; + + p = (void **)(((ULONG_PTR)mem + align) & ~(RESOURCE_ALIGNMENT - 1)) - 1; |