[PATCH 1/4] dxgi/tests: Skip tests if DXGI_ERROR_NOT_CURRENTLY_AVAILABLE is returned.
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> --- dlls/dxgi/tests/device.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/dxgi/tests/device.c b/dlls/dxgi/tests/device.c index 2bc0ff4071bc..a102ed89aa6d 100644 --- a/dlls/dxgi/tests/device.c +++ b/dlls/dxgi/tests/device.c @@ -1494,7 +1494,13 @@ static void test_swapchain_fullscreen_state(IDXGISwapChain *swapchain, ok(SUCCEEDED(hr), "GetContainingOutput failed, hr %#x.\n", hr); hr = IDXGISwapChain_SetFullscreenState(swapchain, TRUE, NULL); - ok(SUCCEEDED(hr), "SetFullscreenState failed, hr %#x.\n", hr); + ok(hr == S_OK || hr == DXGI_ERROR_NOT_CURRENTLY_AVAILABLE, "Got unexpected hr %#x.\n", hr); + if (FAILED(hr)) + { + skip("Could not change fullscreen state.\n"); + IDXGIOutput_Release(expected_state.target); + return; + } check_swapchain_fullscreen_state(swapchain, &expected_state); hr = IDXGISwapChain_SetFullscreenState(swapchain, TRUE, NULL); -- 2.13.6
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> --- include/d3d11_4.idl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/d3d11_4.idl b/include/d3d11_4.idl index d00ee4986e98..f98a7b89b641 100644 --- a/include/d3d11_4.idl +++ b/include/d3d11_4.idl @@ -53,7 +53,7 @@ interface ID3D11Device4 : ID3D11Device3 interface ID3D11Device5 : ID3D11Device4 { HRESULT OpenSharedFence( - [in] HANDLE fence, + [in] HANDLE handle, [in] REFIID iid, [out] void **fence ); -- 2.13.6
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
wined3d_load_buffer() might invalidate the current state. Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> --- dlls/wined3d/drawprim.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c index 95e79f777ac2..17ce16adc31f 100644 --- a/dlls/wined3d/drawprim.c +++ b/dlls/wined3d/drawprim.c @@ -407,7 +407,6 @@ static void draw_indirect(struct wined3d_context *context, const struct wined3d_ return; } - wined3d_buffer_load(buffer, context, state); GL_EXTCALL(glBindBuffer(GL_DRAW_INDIRECT_BUFFER, buffer->buffer_object)); if (idx_size) @@ -572,6 +571,9 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s wined3d_rendertarget_view_prepare_location(dsv, context, location); } + if (parameters->indirect) + wined3d_buffer_load(parameters->u.indirect.buffer, context, state); + if (!context_apply_draw_state(context, device, state)) { context_release(context); -- 2.13.6
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> --- dlls/wined3d/drawprim.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c index 17ce16adc31f..7eccc8f7d621 100644 --- a/dlls/wined3d/drawprim.c +++ b/dlls/wined3d/drawprim.c @@ -750,6 +750,9 @@ void dispatch_compute(struct wined3d_device *device, const struct wined3d_state return; } + if (parameters->indirect) + wined3d_buffer_load(parameters->u.indirect.buffer, context, state); + context_apply_compute_state(context, device, state); if (!state->shader[WINED3D_SHADER_TYPE_COMPUTE]) @@ -764,7 +767,6 @@ void dispatch_compute(struct wined3d_device *device, const struct wined3d_state const struct wined3d_indirect_dispatch_parameters *indirect = ¶meters->u.indirect; struct wined3d_buffer *buffer = indirect->buffer; - wined3d_buffer_load(buffer, context, state); GL_EXTCALL(glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, buffer->buffer_object)); GL_EXTCALL(glDispatchComputeIndirect((GLintptr)indirect->offset)); GL_EXTCALL(glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, 0)); -- 2.13.6
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
participants (2)
-
Henri Verbeet -
Józef Kucia