Module: wine
Branch: master
Commit: d8c3b778a5ff680c138de27d1f4d71b088edb96a
URL: https://gitlab.winehq.org/wine/wine/-/commit/d8c3b778a5ff680c138de27d1f4d71…
Author: Henri Verbeet <hverbeet(a)codeweavers.com>
Date: Thu Sep 14 19:07:35 2023 +0200
d3d11/tests: Properly mark the indexed sample position test as succeeding with the Vulkan backend.
It almost works as-is; we set "sample_shading" to FALSE when running with the
Vulkan backend, which causes the "(1024 <= data && data <= 1056)" test to be
applied, which fails and avoids a "Test succeeded inside todo block" result.
It'll mark the tests as a todo though, while it actually succeeds.
---
dlls/d3d11/tests/d3d11.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index cd36780ddcd..3bf3fa44d97 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -31734,7 +31734,7 @@ static void test_sample_shading(void)
{&ps_sample_index, TRUE},
{&ps_samplepos, FALSE},
{&ps_samplepos_rasterizer, FALSE},
- {&ps_samplepos_indexed, !damavand, TRUE},
+ {&ps_samplepos_indexed, TRUE, !damavand},
{&ps_sampleinfo, FALSE},
{&ps_sampleinfo_rasterizer, FALSE},
{&ps_sample, TRUE, TRUE, TRUE /* broken on Intel */},
Module: wine
Branch: master
Commit: da574ed9f320cd8d768096931f5d51ac7e984242
URL: https://gitlab.winehq.org/wine/wine/-/commit/da574ed9f320cd8d768096931f5d51…
Author: Henri Verbeet <hverbeet(a)codeweavers.com>
Date: Thu Sep 14 16:29:48 2023 +0200
wined3d: Don't validate the frontbuffer's DRAWABLE location in wined3d_swapchain_resize_buffers() when NO3D is set.
In general, NO3D surfaces are always in SYSMEM. More importantly though,
validating DRAWABLE will evict SYSMEM, but a subsequent
wined3d_texture_no3d_load_location() won't recreate it because it's always
supposed to be current. This fixes a regression introduced by commit
ebaa0a9426864cfa6e36955f26ff4c66c1d5af76, and exposed by running the ddraw
tests with the "no3d" renderer.
---
dlls/wined3d/swapchain.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 84dcdb5b110..99d717641e1 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -2004,8 +2004,11 @@ HRESULT CDECL wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapcha
ERR("Something's still holding the front buffer (%p).\n", swapchain->front_buffer);
swapchain->front_buffer = new_texture;
- wined3d_texture_validate_location(swapchain->front_buffer, 0, WINED3D_LOCATION_DRAWABLE);
- wined3d_texture_invalidate_location(swapchain->front_buffer, 0, ~WINED3D_LOCATION_DRAWABLE);
+ if (!(swapchain->device->wined3d->flags & WINED3D_NO3D))
+ {
+ wined3d_texture_validate_location(swapchain->front_buffer, 0, WINED3D_LOCATION_DRAWABLE);
+ wined3d_texture_invalidate_location(swapchain->front_buffer, 0, ~WINED3D_LOCATION_DRAWABLE);
+ }
for (i = 0; i < desc->backbuffer_count; ++i)
{
Module: wine
Branch: master
Commit: 269ce609d9523ab8f4f595bd4336f22a5fbff7c7
URL: https://gitlab.winehq.org/wine/wine/-/commit/269ce609d9523ab8f4f595bd4336f2…
Author: Alex Henrie <alexhenrie24(a)gmail.com>
Date: Sat Sep 16 11:43:50 2023 -0600
dsound: Use malloc and free instead of _recalloc.
The memory is completely overwritten a few lines later, so there is no
reason to preserve its original contents. Furthermore, _recalloc will
not be available if this DLL switches from ucrtbase to msvcrt, and the
code as written would leak memory if _recalloc failed.
---
dlls/dsound/capture.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/dsound/capture.c b/dlls/dsound/capture.c
index ca01543f358..5956da792af 100644
--- a/dlls/dsound/capture.c
+++ b/dlls/dsound/capture.c
@@ -178,7 +178,8 @@ static HRESULT WINAPI IDirectSoundNotifyImpl_SetNotificationPositions(IDirectSou
if (howmuch > 0) {
/* Make an internal copy of the caller-supplied array.
* Replace the existing copy if one is already present. */
- This->notifies = _recalloc(This->notifies, howmuch, sizeof(DSBPOSITIONNOTIFY));
+ free(This->notifies);
+ This->notifies = malloc(howmuch * sizeof(DSBPOSITIONNOTIFY));
if (!This->notifies) {
WARN("out of memory\n");
return DSERR_OUTOFMEMORY;