diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 0d3d3744..185004fc 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "8dd86823fdd9a5e631cf3173727b6f667ef1b611" + echo "fca636a01cfd1ef213326125582139bdd72a287a" } # Show version information diff --git a/patches/wined3d-CSMT_Main/0034-wined3d-Move-check_block_align-to-resource.c.patch b/patches/wined3d-CSMT_Main/0034-wined3d-Move-check_block_align-to-resource.c.patch index 9f17597d..0db7cd14 100644 --- a/patches/wined3d-CSMT_Main/0034-wined3d-Move-check_block_align-to-resource.c.patch +++ b/patches/wined3d-CSMT_Main/0034-wined3d-Move-check_block_align-to-resource.c.patch @@ -1,4 +1,4 @@ -From a5a66abc3cc3c7fd5f0a5602baf11f45e6ddfe86 Mon Sep 17 00:00:00 2001 +From 1ac9592825543babf6c279659888dfad48f5d3bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Thu, 19 Sep 2013 14:55:00 +0200 Subject: wined3d: Move check_block_align to resource.c @@ -76,11 +76,11 @@ index 469790e..4e17620 100644 static BOOL surface_check_block_align_rect(struct wined3d_surface *surface, const RECT *rect) diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c -index dc687eb..55e12ed 100644 +index 13ec6e1..676f0b1 100644 --- a/dlls/wined3d/volume.c +++ b/dlls/wined3d/volume.c -@@ -367,34 +367,6 @@ struct wined3d_resource * CDECL wined3d_volume_get_resource(struct wined3d_volum - return &volume->resource; +@@ -360,34 +360,6 @@ static ULONG CDECL wined3d_volume_decref(struct wined3d_volume *volume) + return wined3d_texture_decref(volume->container); } -static BOOL volume_check_block_align(const struct wined3d_volume *volume, @@ -114,7 +114,7 @@ index dc687eb..55e12ed 100644 static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *volume, const struct wined3d_box *box) { -@@ -445,7 +417,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume, +@@ -438,7 +410,7 @@ HRESULT wined3d_volume_map(struct wined3d_volume *volume, WARN("Map box is invalid.\n"); return WINED3DERR_INVALIDCALL; } @@ -124,10 +124,10 @@ index dc687eb..55e12ed 100644 WARN("Map box is misaligned for %ux%u blocks.\n", format->block_width, format->block_height); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 9c0dfd4..2cde14c 100644 +index b97d1d9..0cc48d8 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -2198,6 +2198,8 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device * +@@ -2203,6 +2203,8 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device * void resource_unload(struct wined3d_resource *resource) DECLSPEC_HIDDEN; DWORD wined3d_resource_access_from_location(DWORD location) DECLSPEC_HIDDEN; BOOL wined3d_resource_allocate_sysmem(struct wined3d_resource *resource) DECLSPEC_HIDDEN; diff --git a/patches/wined3d-CSMT_Main/9999-IfDefined.patch b/patches/wined3d-CSMT_Main/9999-IfDefined.patch index bf132cc4..8dddfc42 100644 --- a/patches/wined3d-CSMT_Main/9999-IfDefined.patch +++ b/patches/wined3d-CSMT_Main/9999-IfDefined.patch @@ -817,7 +817,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c } /* The texture name is managed by the container. */ -@@ -355,11 +597,13 @@ +@@ -355,6 +597,7 @@ return wined3d_texture_incref(volume->container); } @@ -825,17 +825,18 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c void wined3d_volume_cleanup_cs(struct wined3d_volume *volume) { HeapFree(GetProcessHeap(), 0, volume); - } - -+#endif /* STAGING_CSMT */ - static ULONG CDECL wined3d_volume_decref(struct wined3d_volume *volume) - { +@@ -365,6 +608,41 @@ TRACE("Forwarding to container %p.\n", volume->container); -@@ -374,6 +618,36 @@ - return &volume->resource; - } -+#if !defined(STAGING_CSMT) + return wined3d_texture_decref(volume->container); ++#else /* STAGING_CSMT */ ++static ULONG CDECL wined3d_volume_decref(struct wined3d_volume *volume) ++{ ++ TRACE("Forwarding to container %p.\n", volume->container); ++ ++ return wined3d_texture_decref(volume->container); ++} ++ +static BOOL volume_check_block_align(const struct wined3d_volume *volume, + const struct wined3d_box *box) +{ @@ -862,13 +863,11 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c + return FALSE; + + return TRUE; -+} -+ +#endif /* STAGING_CSMT */ + } + static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *volume, - const struct wined3d_box *box) - { -@@ -399,6 +673,7 @@ +@@ -392,6 +670,7 @@ HRESULT wined3d_volume_map(struct wined3d_volume *volume, struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags) { @@ -876,7 +875,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c HRESULT hr; const struct wined3d_format *format = volume->resource.format; const unsigned int fmt_flags = volume->container->resource.format_flags; -@@ -439,6 +714,177 @@ +@@ -432,6 +711,177 @@ if (hr == WINEDDERR_NOTLOCKED) return WINED3DERR_INVALIDCALL; return hr; @@ -1054,7 +1053,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c } static ULONG volume_resource_incref(struct wined3d_resource *resource) -@@ -451,6 +897,7 @@ +@@ -444,6 +894,7 @@ return wined3d_volume_decref(volume_from_resource(resource)); } @@ -1062,7 +1061,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c static void wined3d_volume_location_invalidated(struct wined3d_resource *resource, DWORD location) { struct wined3d_volume *volume = volume_from_resource(resource); -@@ -466,6 +913,13 @@ +@@ -459,6 +910,13 @@ volume_unload, wined3d_volume_location_invalidated, wined3d_volume_load_location, @@ -1076,7 +1075,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c }; static HRESULT volume_init(struct wined3d_volume *volume, struct wined3d_texture *container, -@@ -497,7 +951,11 @@ +@@ -490,7 +948,11 @@ } volume->texture_level = level; @@ -1088,7 +1087,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c if (desc->pool == WINED3D_POOL_DEFAULT && desc->usage & WINED3DUSAGE_DYNAMIC && gl_info->supported[ARB_PIXEL_BUFFER_OBJECT] -@@ -505,7 +963,9 @@ +@@ -498,7 +960,9 @@ { wined3d_resource_free_sysmem(&volume->resource); volume->resource.map_binding = WINED3D_LOCATION_BUFFER; diff --git a/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch b/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch index 8337acfc..b38e9f25 100644 --- a/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch +++ b/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch @@ -1,4 +1,4 @@ -From 19f7f6dca9ea99ec2bef50ff38f57d23d7a8691a Mon Sep 17 00:00:00 2001 +From c854dbc58038ba88a496c2775cf5c48dc1a2a7c2 Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Tue, 4 Nov 2014 22:41:45 +0100 Subject: wined3d: Improve DXTn support and export conversion functions for @@ -204,13 +204,13 @@ index 140b411..0a9f68d 100644 {WINED3DFMT_B8G8R8X8_UNORM, WINED3DFMT_DXT1, convert_x8r8g8b8_dxt1}, {WINED3DFMT_B5G5R5A1_UNORM, WINED3DFMT_DXT1, convert_a1r5g5b5_dxt1}, diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec -index 0efa91c..5b8b153 100644 +index c4ebd35..bb8f6f2 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec -@@ -284,3 +284,11 @@ +@@ -282,3 +282,11 @@ + @ cdecl wined3d_vertex_declaration_decref(ptr) + @ cdecl wined3d_vertex_declaration_get_parent(ptr) @ cdecl wined3d_vertex_declaration_incref(ptr) - - @ cdecl wined3d_volume_get_resource(ptr) + +@ cdecl wined3d_dxtn_supported() +@ cdecl wined3d_dxt1_decode(ptr ptr long long long long long) @@ -242,10 +242,10 @@ index f6dd1a2..182e4d6 100644 /* The WNDCLASS-Name for the fake window which we use to retrieve the GL capabilities */ diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index 7422545..cb85da4 100644 +index a354308..e9e4041 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h -@@ -2601,4 +2601,18 @@ static inline unsigned int wined3d_log2i(unsigned int x) +@@ -2599,4 +2599,18 @@ static inline unsigned int wined3d_log2i(unsigned int x) #endif }