ddraw/tests: Rewrite GetDCFormatTest().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
2a2554ee59
commit
77e6d98819
|
@ -8573,6 +8573,121 @@ static void test_blt(void)
|
|||
DestroyWindow(window);
|
||||
}
|
||||
|
||||
static void test_getdc(void)
|
||||
{
|
||||
IDirectDrawSurface *surface;
|
||||
DDSURFACEDESC surface_desc;
|
||||
IDirectDraw *ddraw;
|
||||
unsigned int i;
|
||||
HWND window;
|
||||
HRESULT hr;
|
||||
HDC dc;
|
||||
|
||||
static const struct
|
||||
{
|
||||
const char *name;
|
||||
DDPIXELFORMAT format;
|
||||
BOOL getdc_supported;
|
||||
HRESULT alt_result;
|
||||
}
|
||||
test_data[] =
|
||||
{
|
||||
{"D3DFMT_A8R8G8B8", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0xff000000}}, TRUE},
|
||||
{"D3DFMT_X8R8G8B8", {sizeof(test_data->format), DDPF_RGB, 0, {32},
|
||||
{0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_R5G6B5", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x0000f800}, {0x000007e0}, {0x0000001f}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_X1R5G5B5", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x00007c00}, {0x000003e0}, {0x0000001f}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_A1R5G5B5", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {16},
|
||||
{0x00007c00}, {0x000003e0}, {0x0000001f}, {0x00008000}}, TRUE},
|
||||
{"D3DFMT_A4R4G4B4", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {16},
|
||||
{0x00000f00}, {0x000000f0}, {0x0000000f}, {0x0000f000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_X4R4G4B4", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x00000f00}, {0x000000f0}, {0x0000000f}, {0x00000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_A2R10G10B10", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0xc0000000}, {0x3ff00000}, {0x000ffc00}, {0x000003ff}}, TRUE},
|
||||
{"D3DFMT_A8B8G8R8", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0xff000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_X8B8G8R8", {sizeof(test_data->format), DDPF_RGB, 0, {32},
|
||||
{0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0x00000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_R3G3B2", {sizeof(test_data->format), DDPF_RGB, 0, {8},
|
||||
{0x000000e0}, {0x0000001c}, {0x00000003}, {0x00000000}}, FALSE},
|
||||
/* GetDC() on a P8 surface fails unless the display mode is 8 bpp.
|
||||
* This is not implemented in wine yet, so disable the test for now.
|
||||
* Succeeding P8 GetDC() calls are tested in the ddraw:visual test.
|
||||
{"D3DFMT_P8", {sizeof(test_data->format), DDPF_PALETTEINDEXED8 | DDPF_RGB, 0, {8 },
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
*/
|
||||
{"D3DFMT_L8", {sizeof(test_data->format), DDPF_LUMINANCE, 0, {8},
|
||||
{0x000000ff}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_A8L8", {sizeof(test_data->format), DDPF_ALPHAPIXELS | DDPF_LUMINANCE, 0, {16},
|
||||
{0x000000ff}, {0x00000000}, {0x00000000}, {0x0000ff00}}, FALSE},
|
||||
{"D3DFMT_DXT1", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','1'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT2", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','2'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT3", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','3'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT4", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','4'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT5", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','5'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
};
|
||||
|
||||
window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW,
|
||||
0, 0, 640, 480, 0, 0, 0, 0);
|
||||
ddraw = create_ddraw();
|
||||
ok(!!ddraw, "Failed to create a ddraw object.\n");
|
||||
hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL);
|
||||
ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr);
|
||||
|
||||
for (i = 0; i < (sizeof(test_data) / sizeof(*test_data)); ++i)
|
||||
{
|
||||
memset(&surface_desc, 0, sizeof(surface_desc));
|
||||
surface_desc.dwSize = sizeof(surface_desc);
|
||||
surface_desc.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
|
||||
surface_desc.dwWidth = 64;
|
||||
surface_desc.dwHeight = 64;
|
||||
U4(surface_desc).ddpfPixelFormat = test_data[i].format;
|
||||
surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
|
||||
|
||||
if (FAILED(IDirectDraw_CreateSurface(ddraw, &surface_desc, &surface, NULL)))
|
||||
{
|
||||
surface_desc.ddsCaps.dwCaps = DDSCAPS_TEXTURE;
|
||||
if (FAILED(hr = IDirectDraw_CreateSurface(ddraw, &surface_desc, &surface, NULL)))
|
||||
{
|
||||
skip("Failed to create surface for format %s (hr %#x), skipping tests.\n", test_data[i].name, hr);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
dc = (void *)0x1234;
|
||||
hr = IDirectDrawSurface_GetDC(surface, &dc);
|
||||
if (test_data[i].getdc_supported)
|
||||
ok(SUCCEEDED(hr) || (test_data[i].alt_result && hr == test_data[i].alt_result),
|
||||
"Got unexpected hr %#x for format %s.\n", hr, test_data[i].name);
|
||||
else
|
||||
ok(FAILED(hr), "Got unexpected hr %#x for format %s.\n", hr, test_data[i].name);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
hr = IDirectDrawSurface_ReleaseDC(surface, dc);
|
||||
ok(hr == DD_OK, "Failed to release DC for format %s, hr %#x.\n", test_data[i].name, hr);
|
||||
}
|
||||
else
|
||||
{
|
||||
ok(!dc, "Got unexpected dc %p for format %s.\n", dc, test_data[i].name);
|
||||
}
|
||||
|
||||
IDirectDrawSurface_Release(surface);
|
||||
}
|
||||
|
||||
IDirectDraw_Release(ddraw);
|
||||
DestroyWindow(window);
|
||||
}
|
||||
|
||||
START_TEST(ddraw1)
|
||||
{
|
||||
IDirectDraw *ddraw;
|
||||
|
@ -8650,4 +8765,5 @@ START_TEST(ddraw1)
|
|||
test_offscreen_overlay();
|
||||
test_overlay_rect();
|
||||
test_blt();
|
||||
test_getdc();
|
||||
}
|
||||
|
|
|
@ -9680,6 +9680,121 @@ static void test_blt(void)
|
|||
DestroyWindow(window);
|
||||
}
|
||||
|
||||
static void test_getdc(void)
|
||||
{
|
||||
IDirectDrawSurface *surface;
|
||||
DDSURFACEDESC surface_desc;
|
||||
IDirectDraw2 *ddraw;
|
||||
unsigned int i;
|
||||
HWND window;
|
||||
HRESULT hr;
|
||||
HDC dc;
|
||||
|
||||
static const struct
|
||||
{
|
||||
const char *name;
|
||||
DDPIXELFORMAT format;
|
||||
BOOL getdc_supported;
|
||||
HRESULT alt_result;
|
||||
}
|
||||
test_data[] =
|
||||
{
|
||||
{"D3DFMT_A8R8G8B8", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0xff000000}}, TRUE},
|
||||
{"D3DFMT_X8R8G8B8", {sizeof(test_data->format), DDPF_RGB, 0, {32},
|
||||
{0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_R5G6B5", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x0000f800}, {0x000007e0}, {0x0000001f}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_X1R5G5B5", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x00007c00}, {0x000003e0}, {0x0000001f}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_A1R5G5B5", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {16},
|
||||
{0x00007c00}, {0x000003e0}, {0x0000001f}, {0x00008000}}, TRUE},
|
||||
{"D3DFMT_A4R4G4B4", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {16},
|
||||
{0x00000f00}, {0x000000f0}, {0x0000000f}, {0x0000f000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_X4R4G4B4", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x00000f00}, {0x000000f0}, {0x0000000f}, {0x00000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_A2R10G10B10", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0xc0000000}, {0x3ff00000}, {0x000ffc00}, {0x000003ff}}, TRUE},
|
||||
{"D3DFMT_A8B8G8R8", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0xff000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_X8B8G8R8", {sizeof(test_data->format), DDPF_RGB, 0, {32},
|
||||
{0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0x00000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_R3G3B2", {sizeof(test_data->format), DDPF_RGB, 0, {8},
|
||||
{0x000000e0}, {0x0000001c}, {0x00000003}, {0x00000000}}, FALSE},
|
||||
/* GetDC() on a P8 surface fails unless the display mode is 8 bpp.
|
||||
* This is not implemented in wine yet, so disable the test for now.
|
||||
* Succeeding P8 GetDC() calls are tested in the ddraw:visual test.
|
||||
{"D3DFMT_P8", {sizeof(test_data->format), DDPF_PALETTEINDEXED8 | DDPF_RGB, 0, {8 },
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
*/
|
||||
{"D3DFMT_L8", {sizeof(test_data->format), DDPF_LUMINANCE, 0, {8},
|
||||
{0x000000ff}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_A8L8", {sizeof(test_data->format), DDPF_ALPHAPIXELS | DDPF_LUMINANCE, 0, {16},
|
||||
{0x000000ff}, {0x00000000}, {0x00000000}, {0x0000ff00}}, FALSE},
|
||||
{"D3DFMT_DXT1", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','1'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT2", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','2'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT3", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','3'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT4", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','4'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT5", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','5'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
};
|
||||
|
||||
window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW,
|
||||
0, 0, 640, 480, 0, 0, 0, 0);
|
||||
ddraw = create_ddraw();
|
||||
ok(!!ddraw, "Failed to create a ddraw object.\n");
|
||||
hr = IDirectDraw2_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL);
|
||||
ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr);
|
||||
|
||||
for (i = 0; i < (sizeof(test_data) / sizeof(*test_data)); ++i)
|
||||
{
|
||||
memset(&surface_desc, 0, sizeof(surface_desc));
|
||||
surface_desc.dwSize = sizeof(surface_desc);
|
||||
surface_desc.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
|
||||
surface_desc.dwWidth = 64;
|
||||
surface_desc.dwHeight = 64;
|
||||
U4(surface_desc).ddpfPixelFormat = test_data[i].format;
|
||||
surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
|
||||
|
||||
if (FAILED(IDirectDraw2_CreateSurface(ddraw, &surface_desc, &surface, NULL)))
|
||||
{
|
||||
surface_desc.ddsCaps.dwCaps = DDSCAPS_TEXTURE;
|
||||
if (FAILED(hr = IDirectDraw2_CreateSurface(ddraw, &surface_desc, &surface, NULL)))
|
||||
{
|
||||
skip("Failed to create surface for format %s (hr %#x), skipping tests.\n", test_data[i].name, hr);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
dc = (void *)0x1234;
|
||||
hr = IDirectDrawSurface_GetDC(surface, &dc);
|
||||
if (test_data[i].getdc_supported)
|
||||
ok(SUCCEEDED(hr) || (test_data[i].alt_result && hr == test_data[i].alt_result),
|
||||
"Got unexpected hr %#x for format %s.\n", hr, test_data[i].name);
|
||||
else
|
||||
ok(FAILED(hr), "Got unexpected hr %#x for format %s.\n", hr, test_data[i].name);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
hr = IDirectDrawSurface_ReleaseDC(surface, dc);
|
||||
ok(hr == DD_OK, "Failed to release DC for format %s, hr %#x.\n", test_data[i].name, hr);
|
||||
}
|
||||
else
|
||||
{
|
||||
ok(!dc, "Got unexpected dc %p for format %s.\n", dc, test_data[i].name);
|
||||
}
|
||||
|
||||
IDirectDrawSurface_Release(surface);
|
||||
}
|
||||
|
||||
IDirectDraw2_Release(ddraw);
|
||||
DestroyWindow(window);
|
||||
}
|
||||
|
||||
START_TEST(ddraw2)
|
||||
{
|
||||
IDirectDraw2 *ddraw;
|
||||
|
@ -9764,4 +9879,5 @@ START_TEST(ddraw2)
|
|||
test_offscreen_overlay();
|
||||
test_overlay_rect();
|
||||
test_blt();
|
||||
test_getdc();
|
||||
}
|
||||
|
|
|
@ -10956,6 +10956,122 @@ static void test_color_clamping(void)
|
|||
DestroyWindow(window);
|
||||
}
|
||||
|
||||
static void test_getdc(void)
|
||||
{
|
||||
IDirectDrawSurface4 *surface;
|
||||
DDSURFACEDESC2 surface_desc;
|
||||
IDirectDraw4 *ddraw;
|
||||
unsigned int i;
|
||||
HWND window;
|
||||
HRESULT hr;
|
||||
HDC dc;
|
||||
|
||||
static const struct
|
||||
{
|
||||
const char *name;
|
||||
DDPIXELFORMAT format;
|
||||
BOOL getdc_supported;
|
||||
HRESULT alt_result;
|
||||
}
|
||||
test_data[] =
|
||||
{
|
||||
{"D3DFMT_A8R8G8B8", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0xff000000}}, TRUE},
|
||||
{"D3DFMT_X8R8G8B8", {sizeof(test_data->format), DDPF_RGB, 0, {32},
|
||||
{0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_R5G6B5", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x0000f800}, {0x000007e0}, {0x0000001f}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_X1R5G5B5", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x00007c00}, {0x000003e0}, {0x0000001f}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_A1R5G5B5", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {16},
|
||||
{0x00007c00}, {0x000003e0}, {0x0000001f}, {0x00008000}}, TRUE},
|
||||
{"D3DFMT_A4R4G4B4", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {16},
|
||||
{0x00000f00}, {0x000000f0}, {0x0000000f}, {0x0000f000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_X4R4G4B4", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x00000f00}, {0x000000f0}, {0x0000000f}, {0x00000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_A2R10G10B10", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0xc0000000}, {0x3ff00000}, {0x000ffc00}, {0x000003ff}}, TRUE},
|
||||
{"D3DFMT_A8B8G8R8", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0xff000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_X8B8G8R8", {sizeof(test_data->format), DDPF_RGB, 0, {32},
|
||||
{0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0x00000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_R3G3B2", {sizeof(test_data->format), DDPF_RGB, 0, {8},
|
||||
{0x000000e0}, {0x0000001c}, {0x00000003}, {0x00000000}}, FALSE},
|
||||
/* GetDC() on a P8 surface fails unless the display mode is 8 bpp.
|
||||
* This is not implemented in wine yet, so disable the test for now.
|
||||
* Succeeding P8 GetDC() calls are tested in the ddraw:visual test.
|
||||
{"D3DFMT_P8", {sizeof(test_data->format), DDPF_PALETTEINDEXED8 | DDPF_RGB, 0, {8 },
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
*/
|
||||
{"D3DFMT_L8", {sizeof(test_data->format), DDPF_LUMINANCE, 0, {8},
|
||||
{0x000000ff}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_A8L8", {sizeof(test_data->format), DDPF_ALPHAPIXELS | DDPF_LUMINANCE, 0, {16},
|
||||
{0x000000ff}, {0x00000000}, {0x00000000}, {0x0000ff00}}, FALSE},
|
||||
{"D3DFMT_DXT1", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','1'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT2", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','2'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT3", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','3'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT4", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','4'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT5", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','5'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
};
|
||||
|
||||
window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW,
|
||||
0, 0, 640, 480, 0, 0, 0, 0);
|
||||
ddraw = create_ddraw();
|
||||
ok(!!ddraw, "Failed to create a ddraw object.\n");
|
||||
hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL);
|
||||
ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr);
|
||||
|
||||
for (i = 0; i < (sizeof(test_data) / sizeof(*test_data)); ++i)
|
||||
{
|
||||
memset(&surface_desc, 0, sizeof(surface_desc));
|
||||
surface_desc.dwSize = sizeof(surface_desc);
|
||||
surface_desc.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
|
||||
surface_desc.dwWidth = 64;
|
||||
surface_desc.dwHeight = 64;
|
||||
U4(surface_desc).ddpfPixelFormat = test_data[i].format;
|
||||
surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
|
||||
|
||||
if (FAILED(IDirectDraw4_CreateSurface(ddraw, &surface_desc, &surface, NULL)))
|
||||
{
|
||||
surface_desc.ddsCaps.dwCaps = DDSCAPS_TEXTURE;
|
||||
surface_desc.ddsCaps.dwCaps2 = DDSCAPS2_TEXTUREMANAGE;
|
||||
if (FAILED(hr = IDirectDraw4_CreateSurface(ddraw, &surface_desc, &surface, NULL)))
|
||||
{
|
||||
skip("Failed to create surface for format %s (hr %#x), skipping tests.\n", test_data[i].name, hr);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
dc = (void *)0x1234;
|
||||
hr = IDirectDrawSurface4_GetDC(surface, &dc);
|
||||
if (test_data[i].getdc_supported)
|
||||
ok(SUCCEEDED(hr) || (test_data[i].alt_result && hr == test_data[i].alt_result),
|
||||
"Got unexpected hr %#x for format %s.\n", hr, test_data[i].name);
|
||||
else
|
||||
ok(FAILED(hr), "Got unexpected hr %#x for format %s.\n", hr, test_data[i].name);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
hr = IDirectDrawSurface4_ReleaseDC(surface, dc);
|
||||
ok(hr == DD_OK, "Failed to release DC for format %s, hr %#x.\n", test_data[i].name, hr);
|
||||
}
|
||||
else
|
||||
{
|
||||
ok(!dc, "Got unexpected dc %p for format %s.\n", dc, test_data[i].name);
|
||||
}
|
||||
|
||||
IDirectDrawSurface4_Release(surface);
|
||||
}
|
||||
|
||||
IDirectDraw4_Release(ddraw);
|
||||
DestroyWindow(window);
|
||||
}
|
||||
|
||||
START_TEST(ddraw4)
|
||||
{
|
||||
IDirectDraw4 *ddraw;
|
||||
|
@ -11048,4 +11164,5 @@ START_TEST(ddraw4)
|
|||
test_overlay_rect();
|
||||
test_blt();
|
||||
test_color_clamping();
|
||||
test_getdc();
|
||||
}
|
||||
|
|
|
@ -11222,6 +11222,122 @@ static void test_color_clamping(void)
|
|||
DestroyWindow(window);
|
||||
}
|
||||
|
||||
static void test_getdc(void)
|
||||
{
|
||||
IDirectDrawSurface7 *surface;
|
||||
DDSURFACEDESC2 surface_desc;
|
||||
IDirectDraw7 *ddraw;
|
||||
unsigned int i;
|
||||
HWND window;
|
||||
HRESULT hr;
|
||||
HDC dc;
|
||||
|
||||
static const struct
|
||||
{
|
||||
const char *name;
|
||||
DDPIXELFORMAT format;
|
||||
BOOL getdc_supported;
|
||||
HRESULT alt_result;
|
||||
}
|
||||
test_data[] =
|
||||
{
|
||||
{"D3DFMT_A8R8G8B8", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0xff000000}}, TRUE},
|
||||
{"D3DFMT_X8R8G8B8", {sizeof(test_data->format), DDPF_RGB, 0, {32},
|
||||
{0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_R5G6B5", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x0000f800}, {0x000007e0}, {0x0000001f}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_X1R5G5B5", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x00007c00}, {0x000003e0}, {0x0000001f}, {0x00000000}}, TRUE},
|
||||
{"D3DFMT_A1R5G5B5", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {16},
|
||||
{0x00007c00}, {0x000003e0}, {0x0000001f}, {0x00008000}}, TRUE},
|
||||
{"D3DFMT_A4R4G4B4", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {16},
|
||||
{0x00000f00}, {0x000000f0}, {0x0000000f}, {0x0000f000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_X4R4G4B4", {sizeof(test_data->format), DDPF_RGB, 0, {16},
|
||||
{0x00000f00}, {0x000000f0}, {0x0000000f}, {0x00000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_A2R10G10B10", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0xc0000000}, {0x3ff00000}, {0x000ffc00}, {0x000003ff}}, TRUE},
|
||||
{"D3DFMT_A8B8G8R8", {sizeof(test_data->format), DDPF_RGB | DDPF_ALPHAPIXELS, 0, {32},
|
||||
{0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0xff000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_X8B8G8R8", {sizeof(test_data->format), DDPF_RGB, 0, {32},
|
||||
{0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0x00000000}}, TRUE, DDERR_CANTCREATEDC /* Vista+ */},
|
||||
{"D3DFMT_R3G3B2", {sizeof(test_data->format), DDPF_RGB, 0, {8},
|
||||
{0x000000e0}, {0x0000001c}, {0x00000003}, {0x00000000}}, FALSE},
|
||||
/* GetDC() on a P8 surface fails unless the display mode is 8 bpp.
|
||||
* This is not implemented in wine yet, so disable the test for now.
|
||||
* Succeeding P8 GetDC() calls are tested in the ddraw:visual test.
|
||||
{"D3DFMT_P8", {sizeof(test_data->format), DDPF_PALETTEINDEXED8 | DDPF_RGB, 0, {8 },
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
*/
|
||||
{"D3DFMT_L8", {sizeof(test_data->format), DDPF_LUMINANCE, 0, {8},
|
||||
{0x000000ff}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_A8L8", {sizeof(test_data->format), DDPF_ALPHAPIXELS | DDPF_LUMINANCE, 0, {16},
|
||||
{0x000000ff}, {0x00000000}, {0x00000000}, {0x0000ff00}}, FALSE},
|
||||
{"D3DFMT_DXT1", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','1'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT2", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','2'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT3", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','3'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT4", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','4'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
{"D3DFMT_DXT5", {sizeof(test_data->format), DDPF_FOURCC, MAKEFOURCC('D','X','T','5'), {0},
|
||||
{0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}}, FALSE},
|
||||
};
|
||||
|
||||
window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW,
|
||||
0, 0, 640, 480, 0, 0, 0, 0);
|
||||
ddraw = create_ddraw();
|
||||
ok(!!ddraw, "Failed to create a ddraw object.\n");
|
||||
hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL);
|
||||
ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr);
|
||||
|
||||
for (i = 0; i < (sizeof(test_data) / sizeof(*test_data)); ++i)
|
||||
{
|
||||
memset(&surface_desc, 0, sizeof(surface_desc));
|
||||
surface_desc.dwSize = sizeof(surface_desc);
|
||||
surface_desc.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
|
||||
surface_desc.dwWidth = 64;
|
||||
surface_desc.dwHeight = 64;
|
||||
U4(surface_desc).ddpfPixelFormat = test_data[i].format;
|
||||
surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
|
||||
|
||||
if (FAILED(IDirectDraw7_CreateSurface(ddraw, &surface_desc, &surface, NULL)))
|
||||
{
|
||||
surface_desc.ddsCaps.dwCaps = DDSCAPS_TEXTURE;
|
||||
surface_desc.ddsCaps.dwCaps2 = DDSCAPS2_TEXTUREMANAGE;
|
||||
if (FAILED(hr = IDirectDraw7_CreateSurface(ddraw, &surface_desc, &surface, NULL)))
|
||||
{
|
||||
skip("Failed to create surface for format %s (hr %#x), skipping tests.\n", test_data[i].name, hr);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
dc = (void *)0x1234;
|
||||
hr = IDirectDrawSurface7_GetDC(surface, &dc);
|
||||
if (test_data[i].getdc_supported)
|
||||
ok(SUCCEEDED(hr) || (test_data[i].alt_result && hr == test_data[i].alt_result),
|
||||
"Got unexpected hr %#x for format %s.\n", hr, test_data[i].name);
|
||||
else
|
||||
ok(FAILED(hr), "Got unexpected hr %#x for format %s.\n", hr, test_data[i].name);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
hr = IDirectDrawSurface7_ReleaseDC(surface, dc);
|
||||
ok(hr == DD_OK, "Failed to release DC for format %s, hr %#x.\n", test_data[i].name, hr);
|
||||
}
|
||||
else
|
||||
{
|
||||
ok(!dc, "Got unexpected dc %p for format %s.\n", dc, test_data[i].name);
|
||||
}
|
||||
|
||||
IDirectDrawSurface7_Release(surface);
|
||||
}
|
||||
|
||||
IDirectDraw7_Release(ddraw);
|
||||
DestroyWindow(window);
|
||||
}
|
||||
|
||||
START_TEST(ddraw7)
|
||||
{
|
||||
HMODULE module = GetModuleHandleA("ddraw.dll");
|
||||
|
@ -11325,4 +11441,5 @@ START_TEST(ddraw7)
|
|||
test_overlay_rect();
|
||||
test_blt();
|
||||
test_color_clamping();
|
||||
test_getdc();
|
||||
}
|
||||
|
|
|
@ -2443,245 +2443,6 @@ static void GetDCTest(void)
|
|||
IDirectDraw7_Release(dd7);
|
||||
}
|
||||
|
||||
static void GetDCFormatTest(void)
|
||||
{
|
||||
DDSURFACEDESC2 ddsd;
|
||||
unsigned int i;
|
||||
IDirectDrawSurface7 *surface;
|
||||
IDirectDraw7 *dd7;
|
||||
HRESULT hr;
|
||||
HDC dc;
|
||||
|
||||
struct
|
||||
{
|
||||
const char *name;
|
||||
DDPIXELFORMAT fmt;
|
||||
BOOL getdc_capable;
|
||||
HRESULT alt_result;
|
||||
} testdata[] = {
|
||||
{
|
||||
"D3DFMT_A8R8G8B8",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
|
||||
{32}, {0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0xff000000}
|
||||
},
|
||||
TRUE
|
||||
},
|
||||
{
|
||||
"D3DFMT_X8R8G8B8",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB, 0,
|
||||
{32}, {0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0x00000000}
|
||||
},
|
||||
TRUE
|
||||
},
|
||||
{
|
||||
"D3DFMT_X8B8G8R8",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB, 0,
|
||||
{32}, {0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0x00000000}
|
||||
},
|
||||
TRUE,
|
||||
DDERR_CANTCREATEDC /* Vista+ */
|
||||
},
|
||||
{
|
||||
"D3DFMT_X8B8G8R8",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
|
||||
{32}, {0x000000ff}, {0x0000ff00}, {0x00ff0000}, {0xff000000}
|
||||
},
|
||||
TRUE,
|
||||
DDERR_CANTCREATEDC /* Vista+ */
|
||||
},
|
||||
{
|
||||
"D3DFMT_A4R4G4B4",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
|
||||
{16}, {0x00000f00}, {0x000000f0}, {0x0000000f}, {0x0000f000}
|
||||
},
|
||||
TRUE,
|
||||
DDERR_CANTCREATEDC /* Vista+ */
|
||||
},
|
||||
{
|
||||
"D3DFMT_X4R4G4B4",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB, 0,
|
||||
{16}, {0x00000f00}, {0x000000f0}, {0x0000000f}, {0x00000000}
|
||||
},
|
||||
TRUE,
|
||||
DDERR_CANTCREATEDC /* Vista+ */
|
||||
},
|
||||
{
|
||||
"D3DFMT_R5G6B5",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB, 0,
|
||||
{16}, {0x0000F800}, {0x000007E0}, {0x0000001F}, {0x00000000}
|
||||
},
|
||||
TRUE
|
||||
},
|
||||
{
|
||||
"D3DFMT_A1R5G5B5",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
|
||||
{16}, {0x00007C00}, {0x000003E0}, {0x0000001F}, {0x00008000}
|
||||
},
|
||||
TRUE
|
||||
},
|
||||
{
|
||||
"D3DFMT_X1R5G5B5",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB, 0,
|
||||
{16}, {0x00007C00}, {0x000003E0}, {0x0000001F}, {0x00000000}
|
||||
},
|
||||
TRUE
|
||||
},
|
||||
{
|
||||
"D3DFMT_R3G3B2",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB, 0,
|
||||
{ 8}, {0x000000E0}, {0x0000001C}, {0x00000003}, {0x00000000}
|
||||
},
|
||||
FALSE
|
||||
},
|
||||
{
|
||||
/* Untested, windows test machine didn't support this format */
|
||||
"D3DFMT_A2R10G10B10",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
|
||||
{32}, {0xC0000000}, {0x3FF00000}, {0x000FFC00}, {0x000003FF}
|
||||
},
|
||||
TRUE
|
||||
},
|
||||
/*
|
||||
* GetDC on a P8 surface fails unless the display mode is 8 bpp. This is not
|
||||
* implemented in wine yet, so disable the test for now. Succeeding P8 getDC
|
||||
* calls are tested in the ddraw.visual test.
|
||||
*
|
||||
{
|
||||
"D3DFMT_P8",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_PALETTEINDEXED8 | DDPF_RGB, 0,
|
||||
{8 }, {0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}
|
||||
},
|
||||
FALSE
|
||||
},
|
||||
*/
|
||||
{
|
||||
"D3DFMT_L8",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_LUMINANCE, 0,
|
||||
{8 }, {0x000000ff}, {0x00000000}, {0x00000000}, {0x00000000}
|
||||
},
|
||||
FALSE
|
||||
},
|
||||
{
|
||||
"D3DFMT_A8L8",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_ALPHAPIXELS | DDPF_LUMINANCE, 0,
|
||||
{16}, {0x000000ff}, {0x00000000}, {0x00000000}, {0x0000ff00}
|
||||
},
|
||||
FALSE
|
||||
},
|
||||
{
|
||||
"D3DFMT_DXT1",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('D','X','T','1'),
|
||||
{0 }, {0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}
|
||||
},
|
||||
FALSE
|
||||
},
|
||||
{
|
||||
"D3DFMT_DXT2",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('D','X','T','2'),
|
||||
{0 }, {0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}
|
||||
},
|
||||
FALSE
|
||||
},
|
||||
{
|
||||
"D3DFMT_DXT3",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('D','X','T','3'),
|
||||
{0 }, {0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}
|
||||
},
|
||||
FALSE
|
||||
},
|
||||
{
|
||||
"D3DFMT_DXT4",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('D','X','T','4'),
|
||||
{0 }, {0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}
|
||||
},
|
||||
FALSE
|
||||
},
|
||||
{
|
||||
"D3DFMT_DXT5",
|
||||
{
|
||||
sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('D','X','T','5'),
|
||||
{0 }, {0x00000000}, {0x00000000}, {0x00000000}, {0x00000000}
|
||||
},
|
||||
FALSE
|
||||
},
|
||||
};
|
||||
|
||||
hr = IDirectDraw_QueryInterface(lpDD, &IID_IDirectDraw7, (void **) &dd7);
|
||||
ok(hr == DD_OK, "IDirectDraw_QueryInterface failed, hr = 0x%08x\n", hr);
|
||||
|
||||
for(i = 0; i < (sizeof(testdata) / sizeof(testdata[0])); i++)
|
||||
{
|
||||
memset(&ddsd, 0, sizeof(ddsd));
|
||||
ddsd.dwSize = sizeof(ddsd);
|
||||
ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
|
||||
ddsd.dwWidth = 64;
|
||||
ddsd.dwHeight = 64;
|
||||
U4(ddsd).ddpfPixelFormat = testdata[i].fmt;
|
||||
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
|
||||
|
||||
hr = IDirectDraw7_CreateSurface(dd7, &ddsd, &surface, NULL);
|
||||
if(FAILED(hr))
|
||||
{
|
||||
ddsd.ddsCaps.dwCaps = DDSCAPS_TEXTURE;
|
||||
ddsd.ddsCaps.dwCaps2 = DDSCAPS2_TEXTUREMANAGE;
|
||||
hr = IDirectDraw7_CreateSurface(dd7, &ddsd, &surface, NULL);
|
||||
if(FAILED(hr))
|
||||
{
|
||||
skip("IDirectDraw7_CreateSurface failed, hr = 0x%08x, format %s\n", hr, testdata[i].name);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
dc = (void *) 0x1234;
|
||||
hr = IDirectDrawSurface7_GetDC(surface, &dc);
|
||||
if(testdata[i].getdc_capable)
|
||||
{
|
||||
ok(SUCCEEDED(hr) ||
|
||||
(testdata[i].alt_result && hr == testdata[i].alt_result),
|
||||
"GetDC on a %s surface failed(0x%08x), expected it to work\n",
|
||||
testdata[i].name, hr);
|
||||
}
|
||||
else
|
||||
{
|
||||
ok(FAILED(hr), "GetDC on a %s surface succeeded(0x%08x), expected it to fail\n",
|
||||
testdata[i].name, hr);
|
||||
}
|
||||
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
hr = IDirectDrawSurface7_ReleaseDC(surface, dc);
|
||||
ok(hr == DD_OK, "IDirectDrawSurface7_ReleaseDC failed, hr = 0x%08x\n", hr);
|
||||
dc = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
ok(dc == NULL, "After failed GetDC dc is %p\n", dc);
|
||||
}
|
||||
|
||||
IDirectDrawSurface7_Release(surface);
|
||||
}
|
||||
|
||||
IDirectDraw7_Release(dd7);
|
||||
}
|
||||
|
||||
static void BackBufferCreateSurfaceTest(void)
|
||||
{
|
||||
DDSURFACEDESC ddsd;
|
||||
|
@ -3675,7 +3436,6 @@ START_TEST(dsurface)
|
|||
PaletteTest();
|
||||
SurfaceCapsTest();
|
||||
GetDCTest();
|
||||
GetDCFormatTest();
|
||||
BackBufferCreateSurfaceTest();
|
||||
BackBufferAttachmentFlipTest();
|
||||
CreateSurfaceBadCapsSizeTest();
|
||||
|
|
Loading…
Reference in New Issue