Nikolay Sivov : mfplat/tests: Test texture parameters used by sample allocator.

Alexandre Julliard julliard at winehq.org
Tue Feb 2 15:52:09 CST 2021


Module: wine
Branch: master
Commit: 5ae005a3faeaca0183897f9b12fc1e0a4b609219
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=5ae005a3faeaca0183897f9b12fc1e0a4b609219

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Tue Feb  2 19:56:14 2021 +0300

mfplat/tests: Test texture parameters used by sample allocator.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mfplat/tests/mfplat.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index 8271454b0f9..3f4dd48b2a8 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -6219,6 +6219,9 @@ static void test_sample_allocator(void)
     IMFVideoSampleAllocator *allocator;
     IMFDXGIDeviceManager *manager;
     IMFSample *sample, *sample2;
+    IMFDXGIBuffer *dxgi_buffer;
+    D3D11_TEXTURE2D_DESC desc;
+    ID3D11Texture2D *texture;
     IMFMediaBuffer *buffer;
     ID3D11Device *device;
     LONG refcount, count;
@@ -6403,6 +6406,29 @@ static void test_sample_allocator(void)
     check_interface(buffer, &IID_IMFDXGIBuffer, TRUE);
     check_interface(buffer, &IID_IMFGetService, FALSE);
 
+    hr = IMFMediaBuffer_QueryInterface(buffer, &IID_IMFDXGIBuffer, (void **)&dxgi_buffer);
+    ok(hr == S_OK, "Failed to get interface, hr %#x.\n", hr);
+
+    hr = IMFDXGIBuffer_GetResource(dxgi_buffer, &IID_ID3D11Texture2D, (void **)&texture);
+    ok(hr == S_OK, "Failed to get resource, hr %#x.\n", hr);
+
+    ID3D11Texture2D_GetDesc(texture, &desc);
+    ok(desc.Width == 320, "Unexpected width %u.\n", desc.Width);
+    ok(desc.Height == 240, "Unexpected height %u.\n", desc.Height);
+    ok(desc.MipLevels == 1, "Unexpected miplevels %u.\n", desc.MipLevels);
+    ok(desc.ArraySize == 1, "Unexpected array size %u.\n", desc.ArraySize);
+    ok(desc.Format == DXGI_FORMAT_B8G8R8X8_UNORM, "Unexpected format %u.\n", desc.Format);
+    ok(desc.SampleDesc.Count == 1, "Unexpected sample count %u.\n", desc.SampleDesc.Count);
+    ok(desc.SampleDesc.Quality == 0, "Unexpected sample quality %u.\n", desc.SampleDesc.Quality);
+    ok(desc.Usage == D3D11_USAGE_DEFAULT, "Unexpected usage %u.\n", desc.Usage);
+    ok(desc.BindFlags == (D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET), "Unexpected bind flags %#x.\n",
+            desc.BindFlags);
+    ok(desc.CPUAccessFlags == 0, "Unexpected CPU access flags %#x.\n", desc.CPUAccessFlags);
+    ok(desc.MiscFlags == 0, "Unexpected misc flags %#x.\n", desc.MiscFlags);
+
+    ID3D11Texture2D_Release(texture);
+    IMFDXGIBuffer_Release(dxgi_buffer);
+
     hr = IMFMediaBuffer_Lock(buffer, &data, NULL, NULL);
     ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
 




More information about the wine-cvs mailing list