Module: wine Branch: master Commit: ec248a9e38b90dd921a57980c6ac465d2098d3a3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ec248a9e38b90dd921a57980c6...
Author: Henri Verbeet hverbeet@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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); }