From: Józef Kucia Subject: [PATCH 4/6] d3d10core/tests: Add test for swapchain views. Message-Id: <1470913049-20682-4-git-send-email-jkucia@codeweavers.com> Date: Thu, 11 Aug 2016 12:57:27 +0200 In-Reply-To: <1470913049-20682-1-git-send-email-jkucia@codeweavers.com> References: <1470913049-20682-1-git-send-email-jkucia@codeweavers.com> Signed-off-by: Józef Kucia --- dlls/d3d10core/tests/device.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c index ef7ad82..b43ebe0 100644 --- a/dlls/d3d10core/tests/device.c +++ b/dlls/d3d10core/tests/device.c @@ -7257,6 +7257,47 @@ float4 main(const ps_in v) : SV_TARGET release_test_context(&test_context); } +static void test_swapchain_views(void) +{ + struct d3d10core_test_context test_context; + D3D10_SHADER_RESOURCE_VIEW_DESC srv_desc; + D3D10_RENDER_TARGET_VIEW_DESC rtv_desc; + ID3D10ShaderResourceView *srv; + ID3D10RenderTargetView *rtv; + ID3D10Device *device; + HRESULT hr; + + static const struct vec4 color = {0.2f, 0.3f, 0.5f, 1.0f}; + + if (!init_test_context(&test_context)) + return; + + device = test_context.device; + + draw_color_quad(&test_context, &color); + check_texture_color(test_context.backbuffer, 0xff7f4c33, 1); + + rtv_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; + rtv_desc.ViewDimension = D3D10_RTV_DIMENSION_TEXTURE2D; + U(rtv_desc).Texture2D.MipSlice = 0; + hr = ID3D10Device_CreateRenderTargetView(device, (ID3D10Resource *)test_context.backbuffer, &rtv_desc, &rtv); + ok(SUCCEEDED(hr), "Failed to create render target view, hr %#x.\n", hr); + ID3D10Device_OMSetRenderTargets(device, 1, &rtv, NULL); + + draw_color_quad(&test_context, &color); + todo_wine check_texture_color(test_context.backbuffer, 0xffbc957c, 1); + + srv_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; + rtv_desc.ViewDimension = D3D10_SRV_DIMENSION_TEXTURE2D; + U(srv_desc).Texture2D.MostDetailedMip = 0; + U(srv_desc).Texture2D.MipLevels = 1; + hr = ID3D10Device_CreateShaderResourceView(device, (ID3D10Resource *)test_context.backbuffer, &srv_desc, &srv); + ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + + ID3D10RenderTargetView_Release(rtv); + release_test_context(&test_context); +} + static void test_swapchain_flip(void) { IDXGISwapChain *swapchain; @@ -9370,6 +9411,7 @@ START_TEST(device) test_texture_data_init(); test_check_multisample_quality_levels(); test_cb_relative_addressing(); + test_swapchain_views(); test_swapchain_flip(); test_clear_render_target_view(); test_clear_depth_stencil_view(); -- 2.7.3