Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d10core/tests/d3d10core.c | 6 ++++++ dlls/d3d11/device.c | 4 ++++ dlls/d3d11/tests/d3d11.c | 8 ++++++++ 3 files changed, 18 insertions(+)
diff --git a/dlls/d3d10core/tests/d3d10core.c b/dlls/d3d10core/tests/d3d10core.c index ea710038e17..f8dcbb8cb47 100644 --- a/dlls/d3d10core/tests/d3d10core.c +++ b/dlls/d3d10core/tests/d3d10core.c @@ -3555,8 +3555,10 @@ static void test_create_shader_resource_view(void)
buffer = create_buffer(device, D3D10_BIND_SHADER_RESOURCE, 1024, NULL);
+ srview = (void *)0xdeadbeef; hr = ID3D10Device_CreateShaderResourceView(device, (ID3D10Resource *)buffer, NULL, &srview); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + ok(!srview, "Unexpected pointer %p\n", srview);
srv_desc.Format = DXGI_FORMAT_R32G32B32A32_FLOAT; srv_desc.ViewDimension = D3D10_SRV_DIMENSION_BUFFER; @@ -3586,8 +3588,10 @@ static void test_create_shader_resource_view(void) /* Without D3D10_BIND_SHADER_RESOURCE. */ buffer = create_buffer(device, 0, 1024, NULL);
+ srview = (void *)0xdeadbeef; hr = ID3D10Device_CreateShaderResourceView(device, (ID3D10Resource *)buffer, &srv_desc, &srview); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + ok(!srview, "Unexpected pointer %p\n", srview);
ID3D10Buffer_Release(buffer);
@@ -3693,9 +3697,11 @@ static void test_create_shader_resource_view(void) texture = (ID3D10Resource *)texture3d; }
+ srview = (void *)0xdeadbeef; get_srv_desc(&srv_desc, &invalid_desc_tests[i].srv_desc); hr = ID3D10Device_CreateShaderResourceView(device, texture, &srv_desc, &srview); ok(hr == E_INVALIDARG, "Test %u: Got unexpected hr %#x.\n", i, hr); + ok(!srview, "Unexpected pointer %p.\n", srview);
ID3D10Resource_Release(texture); } diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index f0cbb1741ab..858cd9f6d4a 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -3377,6 +3377,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateShaderResourceView(ID3D11Dev
TRACE("iface %p, resource %p, desc %p, view %p.\n", iface, resource, desc, view);
+ *view = NULL; + if (!resource) return E_INVALIDARG;
@@ -6021,6 +6023,8 @@ static HRESULT STDMETHODCALLTYPE d3d10_device_CreateShaderResourceView1(ID3D10De
TRACE("iface %p, resource %p, desc %p, view %p.\n", iface, resource, desc, view);
+ *view = NULL; + if (!resource) return E_INVALIDARG;
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index 56747e7168c..1db367f39fa 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -4371,16 +4371,20 @@ static void test_create_shader_resource_view(void)
buffer = create_buffer(device, D3D11_BIND_SHADER_RESOURCE, 1024, NULL);
+ srview = (void *)0xdeadbeef; hr = ID3D11Device_CreateShaderResourceView(device, (ID3D11Resource *)buffer, NULL, &srview); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + ok(!srview, "Unexpected pointer %p.\n", srview);
srv_desc.Format = DXGI_FORMAT_R32G32B32A32_FLOAT; srv_desc.ViewDimension = D3D11_SRV_DIMENSION_BUFFER; U1(U(srv_desc).Buffer).ElementOffset = 0; U2(U(srv_desc).Buffer).ElementWidth = 64;
+ srview = (void *)0xdeadbeef; hr = ID3D11Device_CreateShaderResourceView(device, NULL, &srv_desc, &srview); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + ok(!srview, "Unexpected pointer %p.\n", srview);
expected_refcount = get_refcount(device) + 1; hr = ID3D11Device_CreateShaderResourceView(device, (ID3D11Resource *)buffer, &srv_desc, &srview); @@ -4405,8 +4409,10 @@ static void test_create_shader_resource_view(void) /* Without D3D11_BIND_SHADER_RESOURCE. */ buffer = create_buffer(device, 0, 1024, NULL);
+ srview = (void *)0xdeadbeef; hr = ID3D11Device_CreateShaderResourceView(device, (ID3D11Resource *)buffer, &srv_desc, &srview); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + ok(!srview, "Unexpected pointer %p.\n", srview);
ID3D11Buffer_Release(buffer);
@@ -4564,9 +4570,11 @@ static void test_create_shader_resource_view(void) texture = (ID3D11Resource *)texture3d; }
+ srview = (void *)0xdeadbeef; get_srv_desc(&srv_desc, &invalid_desc_tests[i].srv_desc); hr = ID3D11Device_CreateShaderResourceView(device, texture, &srv_desc, &srview); ok(hr == E_INVALIDARG, "Test %u: Got unexpected hr %#x.\n", i, hr); + ok(!srview, "Unexpected pointer %p.\n", srview);
ID3D11Resource_Release(texture); }
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d11/device.c | 2 ++ dlls/d3d11/tests/d3d11.c | 6 ++++++ 2 files changed, 8 insertions(+)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 858cd9f6d4a..7e5acc11824 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -3399,6 +3399,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateUnorderedAccessView(ID3D11De
TRACE("iface %p, resource %p, desc %p, view %p.\n", iface, resource, desc, view);
+ *view = NULL; + if (FAILED(hr = d3d11_unordered_access_view_create(device, resource, desc, &object))) return hr;
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index 1db367f39fa..ec385a92f50 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -19433,8 +19433,10 @@ static void test_create_unordered_access_view(void) U(uav_desc).Buffer.NumElements = 64; U(uav_desc).Buffer.Flags = 0;
+ uav = (void *)0xdeadbeef; hr = ID3D11Device_CreateUnorderedAccessView(device, (ID3D11Resource *)buffer, NULL, &uav); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + ok(!uav, "Unexpected pointer %p.\n", uav);
expected_refcount = get_refcount(device) + 1; hr = ID3D11Device_CreateUnorderedAccessView(device, (ID3D11Resource *)buffer, &uav_desc, &uav); @@ -19483,8 +19485,10 @@ static void test_create_unordered_access_view(void) U(uav_desc).Buffer.NumElements = 64; U(uav_desc).Buffer.Flags = 0;
+ uav = (void *)0xdeadbeef; hr = ID3D11Device_CreateUnorderedAccessView(device, (ID3D11Resource *)buffer, &uav_desc, &uav); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + ok(!uav, "Unexpected pointer %p.\n", uav);
ID3D11Buffer_Release(buffer);
@@ -19579,9 +19583,11 @@ static void test_create_unordered_access_view(void) texture = (ID3D11Resource *)texture3d; }
+ uav = (void *)0xdeadbeef; get_uav_desc(&uav_desc, &invalid_desc_tests[i].uav_desc); hr = ID3D11Device_CreateUnorderedAccessView(device, texture, &uav_desc, &uav); ok(hr == E_INVALIDARG, "Test %u: Got unexpected hr %#x.\n", i, hr); + ok(!uav, "Unexpected pointer %p.\n", uav);
ID3D11Resource_Release(texture); }
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=106638
Your paranoid android.
=== w10pro64 (32 bit report) ===
d3d11: d3d11.c:5803: Test failed: Got unexpected query result 0x0000000000000000.
=== debian11 (32 bit French report) ===
d3d11: d3d11.c:9835: Test failed: d3d11.c:15311: Test marked todo: Got hr 0 for WRITE_DISCARD. d3d11.c:28274: Test failed: Got texcoord {7.51953065e-001, 2.48046935e-001}, expected {7.51953125e-001, 2.48046875e-001} at (3, 3), offset 4.92187500e-001.
=== debian11 (32 bit Japanese:Japan report) ===
d3d11: d3d11.c:9835: Test failed: d3d11.c:15479: Test marked todo: Got unexpected hr 0 for typeless format (feature level 0xa100).
=== debian11 (64 bit WoW report) ===
d3d11: d3d11.c:9835: Test failed: d3d11.c:15510: Test marked todo: Got hr 0x80070057, expected 0 (feature level 0xb100, format 0x59).
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d10core/tests/d3d10core.c | 2 ++ dlls/d3d11/device.c | 4 ++++ dlls/d3d11/tests/d3d11.c | 2 ++ 3 files changed, 8 insertions(+)
diff --git a/dlls/d3d10core/tests/d3d10core.c b/dlls/d3d10core/tests/d3d10core.c index f8dcbb8cb47..a5f7f4202d5 100644 --- a/dlls/d3d10core/tests/d3d10core.c +++ b/dlls/d3d10core/tests/d3d10core.c @@ -2678,9 +2678,11 @@ static void test_create_depthstencil_view(void) hr = ID3D10Device_CreateTexture2D(device, &texture_desc, NULL, &texture); ok(SUCCEEDED(hr), "Test %u: Failed to create 2d texture, hr %#x.\n", i, hr);
+ dsview = (void *)0xdeadbeef; get_dsv_desc(&dsv_desc, &invalid_desc_tests[i].dsv_desc); hr = ID3D10Device_CreateDepthStencilView(device, (ID3D10Resource *)texture, &dsv_desc, &dsview); ok(hr == E_INVALIDARG, "Test %u: Got unexpected hr %#x.\n", i, hr); + ok(!dsview, "Unexpected pointer %p.\n", dsview);
ID3D10Texture2D_Release(texture); } diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 7e5acc11824..92d4533b105 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -3440,6 +3440,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDepthStencilView(ID3D11Devic
TRACE("iface %p, resource %p, desc %p, view %p.\n", iface, resource, desc, view);
+ *view = NULL; + if (FAILED(hr = d3d_depthstencil_view_create(device, resource, desc, &object))) return hr;
@@ -6103,6 +6105,8 @@ static HRESULT STDMETHODCALLTYPE d3d10_device_CreateDepthStencilView(ID3D10Devic
TRACE("iface %p, resource %p, desc %p, view %p.\n", iface, resource, desc, view);
+ *view = NULL; + if (desc) { d3d11_desc.Format = desc->Format; diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index ec385a92f50..93f0aa896e8 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -3788,9 +3788,11 @@ static void test_create_depthstencil_view(void) hr = ID3D11Device_CreateTexture2D(device, &texture_desc, NULL, &texture); ok(SUCCEEDED(hr), "Test %u: Failed to create 2d texture, hr %#x.\n", i, hr);
+ dsview = (void *)0xdeadbeef; get_dsv_desc(&dsv_desc, &invalid_desc_tests[i].dsv_desc); hr = ID3D11Device_CreateDepthStencilView(device, (ID3D11Resource *)texture, &dsv_desc, &dsview); ok(hr == E_INVALIDARG, "Test %u: Got unexpected hr %#x.\n", i, hr); + ok(!dsview, "Unexpected pointer %p.\n", dsview);
ID3D11Texture2D_Release(texture); }
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=106639
Your paranoid android.
=== debian11 (32 bit Japanese:Japan report) ===
d3d11: d3d11.c:9837: Test failed: d3d11.c:15313: Test marked todo: Got hr 0 for WRITE_DISCARD.
=== debian11 (64 bit WoW report) ===
d3d11: d3d11.c:9837: Test failed: d3d11.c:15313: Test marked todo: Got hr 0 for WRITE.
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=106637
Your paranoid android.
=== w1064_tsign (32 bit report) ===
d3d10core: d3d10core.c:4778: Test failed: Got unexpected IAVertices count: 0. d3d10core.c:4779: Test failed: Got unexpected IAPrimitives count: 0. d3d10core.c:4780: Test failed: Got unexpected VSInvocations count: 0. d3d10core.c:4783: Test failed: Got unexpected CInvocations count: 0. d3d10core.c:4784: Test failed: Got unexpected CPrimitives count: 0.
=== debian11 (32 bit Arabic:Morocco report) ===
d3d11: d3d11.c:9835: Test failed: d3d11.c:15220: Test marked todo: Got hr 0 for WRITE.
=== debian11 (32 bit Hebrew:Israel report) ===
d3d11: d3d11.c:9835: Test failed: d3d11.c:15311: Test marked todo: Got hr 0 for WRITE_DISCARD.
=== debian11 (32 bit Hindi:India report) ===
d3d11: d3d11.c:9835: Test failed: d3d11.c:15220: Test marked todo: Got hr 0 for WRITE_DISCARD.
=== debian11 (32 bit Chinese:China report) ===
d3d11: d3d11.c:28331: Test failed: Got 0xffffffff, expected 0xff00ff00 at (639, 479, 0), sub-resource 0.