[PATCH 4/5] d3d11/tests: Test deleting a stream output buffer immediately after drawing into it.
Zebediah Figura
zfigura at codeweavers.com
Sun Oct 17 15:08:33 CDT 2021
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
dlls/d3d11/tests/d3d11.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index b701d173e63..9eec5507db7 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -26716,8 +26716,8 @@ static void test_fl10_stream_output_desc(void)
static void test_stream_output_resume(void)
{
+ ID3D11Buffer *cb, *so_buffer, *so_buffer2, *buffer;
struct d3d11_test_context test_context;
- ID3D11Buffer *cb, *so_buffer, *buffer;
unsigned int i, j, idx, offset;
ID3D11DeviceContext *context;
struct resource_readback rb;
@@ -26797,16 +26797,22 @@ static void test_stream_output_resume(void)
cb = create_buffer(device, D3D11_BIND_CONSTANT_BUFFER, sizeof(constants[0]), &constants[0]);
so_buffer = create_buffer(device, D3D11_BIND_STREAM_OUTPUT, 1024, NULL);
+ so_buffer2 = create_buffer(device, D3D11_BIND_STREAM_OUTPUT, 1024, NULL);
ID3D11DeviceContext_GSSetShader(context, gs, NULL, 0);
ID3D11DeviceContext_GSSetConstantBuffers(context, 0, 1, &cb);
- offset = 0;
- ID3D11DeviceContext_SOSetTargets(context, 1, &so_buffer, &offset);
-
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &white.x);
check_texture_color(test_context.backbuffer, 0xffffffff, 0);
+ /* Draw into a SO buffer and then immediately destroy it, to make sure that
+ * wined3d doesn't try to rebind transform feedback buffers while transform
+ * feedback is active. */
+ offset = 0;
+ ID3D11DeviceContext_SOSetTargets(context, 1, &so_buffer2, &offset);
+ draw_color_quad(&test_context, &red);
+ ID3D11DeviceContext_SOSetTargets(context, 1, &so_buffer, &offset);
+ ID3D11Buffer_Release(so_buffer2);
draw_color_quad(&test_context, &red);
check_texture_color(test_context.backbuffer, 0xffffffff, 0);
--
2.33.0
More information about the wine-devel
mailing list