Henri Verbeet : d3d10core/tests: Add a test for constant buffer alignment.
Module: wine Branch: master Commit: ec248a9e38b90dd921a57980c6ac465d2098d3a3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ec248a9e38b90dd921a57980c6... Author: Henri Verbeet <hverbeet(a)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(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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); }
participants (1)
-
Alexandre Julliard