Henri Verbeet : d3d10core/tests: Add a test for constant buffer alignment.

Alexandre Julliard julliard at winehq.org
Thu May 25 14:42:16 CDT 2017


Module: wine
Branch: master
Commit: ec248a9e38b90dd921a57980c6ac465d2098d3a3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ec248a9e38b90dd921a57980c6ac465d2098d3a3

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu May 25 12:04:05 2017 +0200

d3d10core/tests: Add a test for constant buffer alignment.

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3d10core/tests/device.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c
index f05fa74..364a2ab 100644
--- a/dlls/d3d10core/tests/device.c
+++ b/dlls/d3d10core/tests/device.c
@@ -1699,12 +1699,12 @@ static void test_create_texture3d(void)
 static void test_create_buffer(void)
 {
     ID3D11Buffer *d3d11_buffer;
+    HRESULT expected_hr, hr;
     D3D10_BUFFER_DESC desc;
     ID3D10Buffer *buffer;
     ID3D10Device *device;
     unsigned int i;
     ULONG refcount;
-    HRESULT hr;
 
     static const struct test
     {
@@ -1820,6 +1820,18 @@ static void test_create_buffer(void)
     if (SUCCEEDED(hr))
         ID3D10Buffer_Release(buffer);
 
+    memset(&desc, 0, sizeof(desc));
+    desc.BindFlags = D3D10_BIND_CONSTANT_BUFFER;
+    for (i = 0; i <= 32; ++i)
+    {
+        desc.ByteWidth = i;
+        expected_hr = !i || i % 16 ? E_INVALIDARG : S_OK;
+        hr = ID3D10Device_CreateBuffer(device, &desc, NULL, &buffer);
+        ok(hr == expected_hr, "Got unexpected hr %#x for constant buffer size %u.\n", hr, i);
+        if (SUCCEEDED(hr))
+            ID3D10Buffer_Release(buffer);
+    }
+
     refcount = ID3D10Device_Release(device);
     ok(!refcount, "Device has %u references left.\n", refcount);
 }




More information about the wine-cvs mailing list