[PATCH] d3d11/tests: Rebind the pixel shader between runs with different sample counts in test_sampleinfo_instruction().

Henri Verbeet hverbeet at codeweavers.com
Tue May 22 07:38:48 CDT 2018


Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/d3d11/tests/d3d11.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 894c744b977..09301c7e0e9 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -20005,7 +20005,6 @@ static void test_sampleinfo_instruction(void)
 
     hr = ID3D11Device_CreatePixelShader(device, ps_rt_code, sizeof(ps_rt_code), NULL, &ps_rt);
     ok(hr == S_OK, "Failed to create pixel shader, hr %#x.\n", hr);
-    ID3D11DeviceContext_PSSetShader(context, ps_rt, NULL, 0);
     for (sample_count = 1; sample_count <= 8; sample_count *= 2)
     {
         texture_desc.Format = DXGI_FORMAT_R32G32B32A32_FLOAT;
@@ -20026,6 +20025,11 @@ static void test_sampleinfo_instruction(void)
         ok(hr == S_OK, "Failed to create render target view, hr %#x.\n", hr);
         ID3D11DeviceContext_OMSetRenderTargets(context, 1, &rtv, NULL);
 
+        /* Some drivers (AMD Radeon HD 6310) return stale sample counts if we
+         * don't rebind the pixel shader between runs with different sample
+         * counts. */
+        ID3D11DeviceContext_PSSetShader(context, NULL, NULL, 0);
+        ID3D11DeviceContext_PSSetShader(context, ps_rt, NULL, 0);
         draw_quad(&test_context);
 
         if (sample_count != 1)
-- 
2.11.0




More information about the wine-devel mailing list