d3d11/tests: Disable cross-device ContextState tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51103 Signed-off-by: Stefan Dösinger <stefan@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
bc2c9afe9c
commit
36d206008c
|
@ -7422,7 +7422,20 @@ static void test_device_context_state(void)
|
||||||
refcount = ID3D11VertexShader_Release(tmp_vs);
|
refcount = ID3D11VertexShader_Release(tmp_vs);
|
||||||
ok(refcount == 1, "Got refcount %u, expected 1.\n", refcount);
|
ok(refcount == 1, "Got refcount %u, expected 1.\n", refcount);
|
||||||
|
|
||||||
/* context states may be used with other devices instances too */
|
/* context states may be used with other devices instances too
|
||||||
|
*
|
||||||
|
* Or at least, no error is returned right away. Using objects like shaders
|
||||||
|
* from other device instances causes a segfault later on Nvidia Windows
|
||||||
|
* drivers. This suggests the feature tested below is more a bug than a
|
||||||
|
* feature.
|
||||||
|
*
|
||||||
|
* The tests below suggest that a ContextState object stores its own state
|
||||||
|
* for every device it is used with. This isn't entirely true, e.g. the
|
||||||
|
* primitive topology can be transfered between devices, but will cause odd
|
||||||
|
* refcounting behavior afterwards (IAGetPrimitiveTopology will leak 54
|
||||||
|
* references on the context's device for example). */
|
||||||
|
if (0)
|
||||||
|
{
|
||||||
d3d11_device2 = create_device(NULL);
|
d3d11_device2 = create_device(NULL);
|
||||||
ok(!!d3d11_device2, "Failed to create device.\n");
|
ok(!!d3d11_device2, "Failed to create device.\n");
|
||||||
hr = ID3D11Device_QueryInterface(d3d11_device2, &IID_ID3D11Device1, (void **)&device2);
|
hr = ID3D11Device_QueryInterface(d3d11_device2, &IID_ID3D11Device1, (void **)&device2);
|
||||||
|
@ -7464,8 +7477,8 @@ static void test_device_context_state(void)
|
||||||
|
|
||||||
/* clearing the vertex shader on context doesn't have side effect on context2 */
|
/* clearing the vertex shader on context doesn't have side effect on context2 */
|
||||||
ID3D11DeviceContext1_VSSetShader(context, NULL, NULL, 0);
|
ID3D11DeviceContext1_VSSetShader(context, NULL, NULL, 0);
|
||||||
refcount = ID3D11VertexShader_Release(vs2);
|
refcount = get_refcount(vs2);
|
||||||
ok(refcount == 0, "Got refcount %u, expected 0.\n", refcount);
|
ok(refcount == 1, "Got refcount %u, expected 1.\n", refcount);
|
||||||
tmp_vs = (ID3D11VertexShader *)0xdeadbeef;
|
tmp_vs = (ID3D11VertexShader *)0xdeadbeef;
|
||||||
ID3D11DeviceContext1_VSGetShader(context2, &tmp_vs, NULL, NULL);
|
ID3D11DeviceContext1_VSGetShader(context2, &tmp_vs, NULL, NULL);
|
||||||
ok(tmp_vs == vs, "Got shader %p, expected %p.\n", tmp_vs, vs);
|
ok(tmp_vs == vs, "Got shader %p, expected %p.\n", tmp_vs, vs);
|
||||||
|
@ -7490,6 +7503,7 @@ static void test_device_context_state(void)
|
||||||
ok(refcount == 0, "Got refcount %u, expected 0.\n", refcount);
|
ok(refcount == 0, "Got refcount %u, expected 0.\n", refcount);
|
||||||
refcount = ID3D11Device1_Release(device2);
|
refcount = ID3D11Device1_Release(device2);
|
||||||
ok(refcount == 0, "Got refcount %u, expected 0.\n", refcount);
|
ok(refcount == 0, "Got refcount %u, expected 0.\n", refcount);
|
||||||
|
}
|
||||||
|
|
||||||
ID3D11DeviceContext1_SwapDeviceContextState(context, previous_context_state, &tmp_context_state);
|
ID3D11DeviceContext1_SwapDeviceContextState(context, previous_context_state, &tmp_context_state);
|
||||||
refcount = ID3DDeviceContextState_Release(previous_context_state);
|
refcount = ID3DDeviceContextState_Release(previous_context_state);
|
||||||
|
@ -8158,6 +8172,7 @@ static void test_device_context_state(void)
|
||||||
if (hs) ID3D11HullShader_Release(hs);
|
if (hs) ID3D11HullShader_Release(hs);
|
||||||
ID3D11PixelShader_Release(ps);
|
ID3D11PixelShader_Release(ps);
|
||||||
ID3D11GeometryShader_Release(gs);
|
ID3D11GeometryShader_Release(gs);
|
||||||
|
ID3D11VertexShader_Release(vs2);
|
||||||
ID3D11VertexShader_Release(vs);
|
ID3D11VertexShader_Release(vs);
|
||||||
ID3D11Buffer_Release(cb);
|
ID3D11Buffer_Release(cb);
|
||||||
ID3D11ShaderResourceView_Release(srv);
|
ID3D11ShaderResourceView_Release(srv);
|
||||||
|
|
Loading…
Reference in New Issue