From: Zebediah Figura zfigura@codeweavers.com
Not just those belonging to earlier completed fences.
completed_fence_id names the most recent fence to be completed. In essence, this fixes an off-by-one error.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53217 --- dlls/d3d11/tests/d3d11.c | 3 +++ dlls/wined3d/context_gl.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index de548672c2b..50e91d5e7d4 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -34942,6 +34942,9 @@ START_TEST(d3d11)
print_adapter_info();
+ test_cube_maps(); + return; + queue_test(test_create_device); queue_for_each_feature_level(test_device_interfaces); queue_test(test_immediate_context); diff --git a/dlls/wined3d/context_gl.c b/dlls/wined3d/context_gl.c index 0217e12d903..5574997bf05 100644 --- a/dlls/wined3d/context_gl.c +++ b/dlls/wined3d/context_gl.c @@ -2726,7 +2726,7 @@ static void wined3d_context_gl_destroy_allocator_block(struct wined3d_context_gl struct wined3d_device_gl *device_gl = wined3d_device_gl(context_gl->c.device); struct wined3d_retired_block_gl *r;
- if (device_gl->completed_fence_id > fence_id) + if (device_gl->completed_fence_id >= fence_id) { wined3d_device_gl_free_memory(device_gl, block); TRACE("Freed block %p.\n", block);