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>
This commit is contained in:
parent
5d4b5d731c
commit
ec248a9e38
@ -1699,12 +1699,12 @@ static void test_create_texture3d(void)
|
|||||||
static void test_create_buffer(void)
|
static void test_create_buffer(void)
|
||||||
{
|
{
|
||||||
ID3D11Buffer *d3d11_buffer;
|
ID3D11Buffer *d3d11_buffer;
|
||||||
|
HRESULT expected_hr, hr;
|
||||||
D3D10_BUFFER_DESC desc;
|
D3D10_BUFFER_DESC desc;
|
||||||
ID3D10Buffer *buffer;
|
ID3D10Buffer *buffer;
|
||||||
ID3D10Device *device;
|
ID3D10Device *device;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
ULONG refcount;
|
ULONG refcount;
|
||||||
HRESULT hr;
|
|
||||||
|
|
||||||
static const struct test
|
static const struct test
|
||||||
{
|
{
|
||||||
@ -1820,6 +1820,18 @@ static void test_create_buffer(void)
|
|||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
ID3D10Buffer_Release(buffer);
|
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);
|
refcount = ID3D10Device_Release(device);
|
||||||
ok(!refcount, "Device has %u references left.\n", refcount);
|
ok(!refcount, "Device has %u references left.\n", refcount);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user