29 return IUnknown_Release(
obj);
32#define check_ref(obj, exp) _check_ref(__LINE__, obj, exp)
39#define check_release(obj, exp) _check_release(__LINE__, obj, exp)
42 int ref = IUnknown_Release(
obj);
46#define admitted_error 0.0001f
55 ok(
equal,
"Got matrix\n\t(%f,%f,%f,%f\n\t %f,%f,%f,%f\n\t %f,%f,%f,%f\n\t %f,%f,%f,%f)\n"
56 "Expected matrix=\n\t(%f,%f,%f,%f\n\t %f,%f,%f,%f\n\t %f,%f,%f,%f\n\t %f,%f,%f,%f)\n",
57 got.
m[0][0],got.
m[0][1],got.
m[0][2],got.
m[0][3],
58 got.
m[1][0],got.
m[1][1],got.
m[1][2],got.
m[1][3],
59 got.
m[2][0],got.
m[2][1],got.
m[2][2],got.
m[2][3],
60 got.
m[3][0],got.
m[3][1],got.
m[3][2],got.
m[3][3],
67#define check_rect(rect, left, top, right, bottom) _check_rect(__LINE__, rect, left, top, right, bottom)
90 ok(!
size,
"GetBufferSize failed, got %lu, expected %u\n",
size, 0);
93 ok(!
count,
"ID3DXBuffer has %lu references left\n",
count);
99 ok(
size == 3,
"GetBufferSize failed, got %lu, expected %u\n",
size, 3);
102 ok(!
count,
"ID3DXBuffer has %lu references left\n",
count);
110 IDirect3DTexture9 *tex1, *tex2;
120 ok (
hr ==
D3D_OK,
"D3DFMT_A8R8G8B8 not supported\n");
124 ok (
hr ==
D3D_OK,
"Failed to create first texture (error code: %#lx)\n",
hr);
128 ok (
hr ==
D3D_OK,
"Failed to create second texture (error code: %#lx)\n",
hr);
172 mat.m[0][0]=2.1f;
mat.m[0][1]=6.5f;
mat.m[0][2]=-9.6f;
mat.m[0][3]=1.7f;
173 mat.m[1][0]=4.2f;
mat.m[1][1]=-2.5f;
mat.m[1][2]=2.1f;
mat.m[1][3]=5.5f;
174 mat.m[2][0]=-2.6f;
mat.m[2][1]=0.3f;
mat.m[2][2]=8.6f;
mat.m[2][3]=8.4f;
175 mat.m[3][0]=6.7f;
mat.m[3][1]=-5.1f;
mat.m[3][2]=6.1f;
mat.m[3][3]=2.2f;
185 else skip(
"GetTransform returned %#lx\n",
hr);
215 D3DXMatrixIdentity(&cmpmat);
242 if(
FAILED(
hr))
skip(
"Couldn't ID3DXSprite_Begin, can't test ID3DXSprite_Draw\n");
244 int texref1, texref2;
247 pos.x = 2.2f;
pos.y = 4.5f;
pos.z = 5.1f;
248 center.
x = 11.3f; center.
y = 3.4f; center.
z = 1.2f;
334 static const char long_text[] =
"Example text to test clipping and other related things";
335 static const WCHAR long_textW[] =
L"Example text to test clipping and other related things";
336 static const MAT2 mat = { {0,1}, {0,0}, {0,0}, {0,1} };
340 unsigned int expected_size;
341 unsigned int expected_levels;
376 hr =
D3DXCreateFontA(
device, 12, 0,
FW_DONTCARE, 0,
FALSE,
DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH,
"Tahoma", &
font);
382 hr =
D3DXCreateFontA(
device, 0, 0,
FW_DONTCARE, 0,
FALSE,
DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH,
"Tahoma", &
font);
386 hr =
D3DXCreateFontA(
device, 12, 0,
FW_DONTCARE, 0,
FALSE,
DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH,
NULL, &
font);
390 hr =
D3DXCreateFontA(
device, 12, 0,
FW_DONTCARE, 0,
FALSE,
DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH,
"", &
font);
394 hr =
D3DXCreateFontA(
NULL, 12, 0,
FW_DONTCARE, 0,
FALSE,
DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH,
"Tahoma", &
font);
397 hr =
D3DXCreateFontA(
device, 12, 0,
FW_DONTCARE, 0,
FALSE,
DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH,
"Tahoma",
NULL);
400 hr =
D3DXCreateFontA(
NULL, 12, 0,
FW_DONTCARE, 0,
FALSE,
DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH,
"Tahoma",
NULL);
416 ok(
hr ==
D3D_OK,
"D3DXCreateFontIndirect returned %#lx, expected %#lx\n",
hr,
D3D_OK);
456 ok(
desc.Height == 12,
"Got unexpected height %d.\n",
desc.Height);
457 ok(
desc.Width == 8,
"Got unexpected width %u.\n",
desc.Width);
459 ok(
desc.MipLevels == 2,
"Got unexpected miplevels %u.\n",
desc.MipLevels);
460 ok(
desc.Italic ==
TRUE,
"Got unexpected italic %#x.\n",
desc.Italic);
476 ok(!!
hdc,
"Got unexpected hdc %p.\n",
hdc);
479 ok(
ret,
"Got unexpected ret %#x.\n",
ret);
481 ok(
ret,
"Got unexpected ret %#x.\n",
ret);
483 ok(
metrics.tmHeight == expmetrics.
tmHeight,
"Got unexpected height %ld, expected %ld.\n",
485 ok(
metrics.tmAscent == expmetrics.
tmAscent,
"Got unexpected ascent %ld, expected %ld.\n",
487 ok(
metrics.tmDescent == expmetrics.
tmDescent,
"Got unexpected descent %ld, expected %ld.\n",
493 ok(
metrics.tmAveCharWidth == expmetrics.
tmAveCharWidth,
"Got unexpected average char width %ld, expected %ld.\n",
495 ok(
metrics.tmMaxCharWidth == expmetrics.
tmMaxCharWidth,
"Got unexpected maximum char width %ld, expected %ld.\n",
497 ok(
metrics.tmWeight == expmetrics.
tmWeight,
"Got unexpected weight %ld, expected %ld.\n",
499 ok(
metrics.tmOverhang == expmetrics.
tmOverhang,
"Got unexpected overhang %ld, expected %ld.\n",
505 ok(
metrics.tmFirstChar == expmetrics.
tmFirstChar,
"Got unexpected first char %u, expected %u.\n",
507 ok(
metrics.tmLastChar == expmetrics.
tmLastChar,
"Got unexpected last char %u, expected %u.\n",
511 ok(
metrics.tmBreakChar == expmetrics.
tmBreakChar,
"Got unexpected break char %u, expected %u.\n",
513 ok(
metrics.tmItalic == expmetrics.
tmItalic,
"Got unexpected italic %u, expected %u.\n",
517 ok(
metrics.tmStruckOut == expmetrics.
tmStruckOut,
"Got unexpected struck out %u, expected %u.\n",
521 ok(
metrics.tmCharSet == expmetrics.
tmCharSet,
"Got unexpected charset %u, expected %u.\n",
567 ok(!!
hdc,
"Got unexpected hdc %p.\n",
hdc);
586 for (
c =
'b';
c <=
'z'; ++
c)
600 ok(surf_desc.
Usage == 0,
"Unexpected usage %#lx.\n", surf_desc.
Usage);
601 ok(surf_desc.
Width == 256,
"Unexpected width %u.\n", surf_desc.
Width);
602 ok(surf_desc.
Height == 256,
"Unexpected height %u.\n", surf_desc.
Height);
609 ok(
ret,
"Unexpected ret %#x.\n",
ret);
632 for (glyph = 1; glyph < 4; ++glyph)
634 texture = (IDirect3DTexture9 *)0xdeadbeef;
651 ok(!!
hdc,
"Unexpected hdc %p.\n",
hdc);
666 ok(surf_desc.
Usage == 0,
"Unexpected usage %#lx.\n", surf_desc.
Usage);
667 ok(surf_desc.
Width ==
tests[
i].expected_size,
"Unexpected width %u.\n", surf_desc.
Width);
1199 ID3DXRenderToSurface *
render = (
void *)0xdeadbeef;
1207 { -1, -1,
MAKEFOURCC(
'B',
'A',
'D',
'F'),
TRUE,
MAKEFOURCC(
'B',
'A',
'D',
'F') }
1212 ok(
render == (
void *)0xdeadbeef,
"Got %p, expected %p\n",
render, (
void *)0xdeadbeef);
1228 ok(
desc.DepthStencil ==
tests[
i].DepthStencil,
"Depth stencil %d, expected %d.\n",
1230 ok(
desc.DepthStencilFormat ==
tests[
i].DepthStencilFormat,
"Depth stencil format %#x, expected %#x.\n",
1231 desc.DepthStencilFormat,
tests[
i].DepthStencilFormat);
1251 ID3DXRenderToSurface *
render;
1257 skip(
"Failed to create ID3DXRenderToSurface\n");
1267 skip(
"Failed to create surface\n");
1274 ok(
hr ==
D3D_OK,
"ID3DXRenderToSurface::BeginScene returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1299 ok(
hr == expected_value,
"ID3DXRenderToSurface::BeginScene returned %#lx, expected %#lx\n",
hr, expected_value);
1305 ok(
hr == expected_value,
"ID3DXRenderToSurface::BeginScene returned %#lx, expected %#lx\n",
hr, expected_value);
1314 skip(
"Failed to create surface\n");
1325 skip(
"Failed to create surface\n");
1347 skip(
"Failed to create surface\n");
1418 const char *
message =
equal ?
"differs" :
"is the same";
1428 ok(
equal ?
cmp : !
cmp,
"Viewport %s (%lu, %lu, %lu, %lu), (%lu, %lu, %lu, %lu)\n",
message,
1447 depth_stencil_surface =
NULL;
1458 skip(
"Failed to create depth stencil surface\n");
1466 skip(
"Failed to create render target\n");
1474 ok(
hr ==
D3D_OK,
"D3DXCreateRenderToSurface returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1478 ok(
hr ==
D3D_OK,
"ID3DXRenderToSurface::BeginScene returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1486 ok(
hr ==
D3D_OK,
"ID3DXRenderToSurface::EndScene returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1500 ok(
hr ==
D3D_OK,
"ID3DXRenderToSurface::BeginScene returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1508 ok(
hr ==
D3D_OK,
"ID3DXRenderToSurface::EndScene returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1516 ok(
hr ==
D3D_OK,
"ID3DXRenderToSurface::BeginScene returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1532 ok(
SUCCEEDED(
hr),
"Failed to restore previous device state\n");
1540 if (depth_stencil_surface)
1555 ID3DXRenderToSurface *
render;
1567 ok(
hr ==
D3D_OK,
"D3DXCreateRenderToSurface returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1573 ID3DXRenderToSurface *render_surface;
1581 ok(
hr ==
D3D_OK,
"ID3DXRenderToSurface::GetDevice returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1593 ok(
hr ==
D3D_OK,
"ID3DXRenderToSurface::BeginScene returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1602 ok(
hr ==
D3D_OK,
"ID3DXRenderToSurface::EndScene returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1609 ok(
hr ==
D3D_OK,
"D3DXCreateRenderToSurface returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1616 else skip(
"Failed to create surface\n");
1635 ID3DXRenderToEnvMap *
render;
1636 static const struct {
1640 { { 0, 0,
D3DFMT_A8R8G8B8,
FALSE,
D3DFMT_UNKNOWN }, { 1, 1,
D3DFMT_A8R8G8B8,
FALSE,
D3DFMT_UNKNOWN } },
1641 { { 256, 0,
D3DFMT_A8R8G8B8,
FALSE,
D3DFMT_UNKNOWN }, { 256, 9,
D3DFMT_A8R8G8B8,
FALSE,
D3DFMT_UNKNOWN } },
1642 { { 256, 4,
D3DFMT_A8R8G8B8,
FALSE,
D3DFMT_D24S8 }, { 256, 4,
D3DFMT_A8R8G8B8,
FALSE,
D3DFMT_D24S8 } },
1643 { { 256, 256,
D3DFMT_UNKNOWN,
FALSE,
D3DFMT_R8G8B8 }, { 256, 9,
D3DFMT_A8R8G8B8,
FALSE,
D3DFMT_R8G8B8 } },
1644 { { -1, -1,
D3DFMT_A8R8G8B8,
TRUE,
D3DFMT_DXT1 }, { 256, 9,
D3DFMT_A8R8G8B8,
TRUE,
D3DFMT_DXT1 } },
1662 ok(
desc.DepthStencil ==
expected->DepthStencil,
"Got depth stencil %d, expected %d.\n",
1664 ok(
desc.DepthStencilFormat ==
expected->DepthStencilFormat,
"Got depth stencil format %#x, expected %#x\n",
1680 IDirect3DCubeTexture9 *cube_texture =
NULL;
1686 &cube_texture,
NULL);
1689 skip(
"Failed to create cube texture\n");
1697 ok(
hr ==
D3D_OK,
"D3DCreateRenderToEnvMap returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1706 ok(
hr ==
D3D_OK,
"ID3DXRenderToEnvMap::BeginCube returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1716 ok(
hr ==
D3D_OK,
"ID3DXRenderToEnvMap::Face returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1725 ok(
hr ==
D3D_OK,
"ID3DXRenderToEnvMap::End returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1743 ID3DXRenderToEnvMap *
render;
1760 ok(
hr ==
D3D_OK,
"ID3DXRenderToEnvMap::GetDevice returned %#lx, expected %#lx\n",
hr,
D3D_OK);
1761 ok(out_device ==
device,
"ID3DXRenderToEnvMap::GetDevice returned different device\n");
1780 }
else skip(
"Failed to create ID3DXRenderToEnvMap\n");
1787 depth_stencil_surface =
NULL;
1798 skip(
"Failed to create depth stencil surface\n");
1804 if (depth_stencil_surface)
1822 skip(
"Couldn't create application window\n");
1827 skip(
"Couldn't create IDirect3D9 object\n");
1837 skip(
"Failed to create IDirect3DDevice9 object %#lx\n",
hr);
#define D3DERR_INVALIDCALL
@ D3DCUBEMAP_FACE_POSITIVE_X
@ D3DCUBEMAP_FACE_NEGATIVE_Z
#define D3DUSAGE_RENDERTARGET
enum _D3DFORMAT D3DFORMAT
#define D3DCOLOR_XRGB(r, g, b)
IDirect3D9 *WINAPI Direct3DCreate9(UINT SDKVersion)
#define IDirect3DTexture9_GetLevelDesc(p, a, b)
#define IDirect3DDevice9_EndScene(p)
#define IDirect3DDevice9_BeginScene(p)
#define IDirect3DDevice9_GetDirect3D(p, a)
#define IDirect3D9_CreateDevice(p, a, b, c, d, e, f)
#define IDirect3DTexture9_GetLevelCount(p)
#define IDirect3DDevice9_SetViewport(p, a)
#define IDirect3DDevice9_CreateTexture(p, a, b, c, d, e, f, g, h)
#define IDirect3DDevice9_SetRenderTarget(p, a, b)
#define IDirect3DDevice9_SetDepthStencilSurface(p, a)
#define IDirect3DDevice9_CreateDepthStencilSurface(p, a, b, c, d, e, f, g, h)
#define IDirect3DDevice9_GetViewport(p, a)
#define IDirect3DDevice9_CreateCubeTexture(p, a, b, c, d, e, f, g)
#define IDirect3D9_Release(p)
#define IDirect3DDevice9_Release(p)
#define IDirect3DDevice9_Clear(p, a, b, c, d, e, f)
#define IDirect3D9_CheckDeviceFormat(p, a, b, c, d, e, f)
#define IDirect3DDevice9_GetDepthStencilSurface(p, a)
#define IDirect3DDevice9_GetTransform(p, a, b)
#define IDirect3DSurface9_Release(p)
#define IDirect3DTexture9_Release(p)
#define IDirect3DDevice9_CreateRenderTarget(p, a, b, c, d, e, f, g, h)
#define IDirect3DDevice9_CreateOffscreenPlainSurface(p, a, b, c, d, e, f)
#define IDirect3DDevice9_GetRenderTarget(p, a, b)
struct ID3DXBuffer ID3DXBuffer
struct ID3DXFont ID3DXFont
HRESULT WINAPI D3DXCreateSprite(struct IDirect3DDevice9 *device, struct ID3DXSprite **sprite)
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT _Out_ UINT * Height
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT * Width
HRESULT WINAPI D3DXCreateBuffer(DWORD size, ID3DXBuffer **buffer)
HRESULT WINAPI D3DXCreateFontA(struct IDirect3DDevice9 *device, INT height, UINT width, UINT weight, UINT miplevels, BOOL italic, DWORD charset, DWORD precision, DWORD quality, DWORD pitchandfamily, const char *facename, struct ID3DXFont **font)
HRESULT WINAPI D3DXCreateFontIndirectA(IDirect3DDevice9 *device, const D3DXFONT_DESCA *desc, ID3DXFont **font)
D3DXMATRIX *WINAPI D3DXMatrixOrthoOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
HRESULT WINAPI D3DXCreateRenderToEnvMap(IDirect3DDevice9 *device, UINT size, UINT mip_levels, D3DFORMAT format, BOOL depth_stencil, D3DFORMAT depth_stencil_format, ID3DXRenderToEnvMap **out)
HRESULT WINAPI D3DXCreateRenderToSurface(IDirect3DDevice9 *device, UINT width, UINT height, D3DFORMAT format, BOOL depth_stencil, D3DFORMAT depth_stencil_format, ID3DXRenderToSurface **out)
static void cleanup(void)
_ACRTIMP double __cdecl fabs(double)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
#define ID3DXSprite_Release(p)
#define ID3DXRenderToEnvMap_BeginCube(p, a)
#define ID3DXSprite_SetTransform(p, a)
#define ID3DXRenderToSurface_GetDevice(p, a)
#define ID3DXBuffer_GetBufferSize(p)
#define ID3DXFont_PreloadCharacters(p, a, b)
#define ID3DXFont_PreloadTextW(p, a, b)
#define D3DXSPRITE_ALPHABLEND
#define ID3DXSprite_OnLostDevice(p)
#define ID3DXSprite_Begin(p, a)
#define ID3DXRenderToEnvMap_GetDesc(p, a)
#define ID3DXFont_GetDescA(p, a)
#define ID3DXSprite_Draw(p, a, b, c, d, e)
#define ID3DXRenderToEnvMap_GetDevice(p, a)
#define ID3DXFont_GetTextMetricsW(p, a)
#define ID3DXSprite_SetWorldViewLH(p, a, b)
#define ID3DXFont_GetDC(p)
#define ID3DXSprite_GetTransform(p, a)
#define ID3DXRenderToEnvMap_End(p, a)
#define ID3DXFont_Release(p)
#define ID3DXSprite_GetDevice(p, a)
#define ID3DXFont_GetGlyphData(p, a, b, c, d)
#define ID3DXFont_GetTextMetricsA(p, a)
#define ID3DXSprite_SetWorldViewRH(p, a, b)
#define ID3DXRenderToEnvMap_BeginHemisphere(p, a, b)
#define ID3DXSprite_OnResetDevice(p)
#define ID3DXRenderToSurface_GetDesc(p, a)
#define ID3DXRenderToEnvMap_Release(p)
#define ID3DXBuffer_Release(p)
#define ID3DXFont_PreloadGlyphs(p, a, b)
#define ID3DXSprite_Flush(p)
#define ID3DXRenderToEnvMap_BeginParabolic(p, a, b)
#define ID3DXFont_DrawTextA(p, a, b, c, d, e, f)
#define ID3DXFont_GetDevice(p, a)
#define ID3DXRenderToEnvMap_Face(p, a, b)
#define ID3DXRenderToSurface_EndScene(p, a)
#define ID3DXFont_PreloadTextA(p, a, b)
#define D3DXSPRITE_DO_NOT_ADDREF_TEXTURE
#define ID3DXRenderToEnvMap_BeginSphere(p, a)
#define ID3DXFont_DrawTextW(p, a, b, c, d, e, f)
#define ID3DXSprite_End(p)
#define ID3DXRenderToSurface_BeginScene(p, a, b)
#define ID3DXRenderToSurface_Release(p)
#define D3DX_FILTER_POINT
static void depth_stencil(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
GLuint GLuint GLsizei count
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLdouble GLdouble GLdouble GLdouble top
GLenum GLuint GLint GLenum face
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define todo_wine_if(is_todo)
void __cdecl void __cdecl void __cdecl void __cdecl void __cdecl void winetest_pop_context(void)
void __cdecl void __cdecl void __cdecl void __cdecl void __cdecl winetest_push_context(const char *fmt,...) __WINE_PRINTF_ATTR(1
static struct test_info tests[]
D3D11_SHADER_VARIABLE_DESC desc
static void test_ID3DXRenderToSurface(IDirect3DDevice9 *device)
static void compare_device_state(struct device_state *state1, struct device_state *state2, BOOL equal)
static void check_mat(D3DXMATRIX got, D3DXMATRIX exp)
static void test_ID3DXRenderToSurface_device_state(IDirect3DDevice9 *device)
#define check_rect(rect, left, top, right, bottom)
#define check_ref(obj, exp)
static void test_ID3DXSprite(IDirect3DDevice9 *device)
static void check_ID3DXRenderToSurface(IDirect3DDevice9 *device, UINT width, UINT height, D3DFORMAT format, BOOL depth_stencil, D3DFORMAT depth_stencil_format, BOOL render_target)
static void _check_ref(unsigned int line, IUnknown *obj, int exp)
static void test_ID3DXBuffer(void)
static HRESULT apply_device_state(IDirect3DDevice9 *device, struct device_state *state)
static int get_ref(IUnknown *obj)
static void _check_rect(unsigned int line, const RECT *rect, int left, int top, int right, int bottom)
static void test_ID3DXFont(IDirect3DDevice9 *device)
static HRESULT retrieve_device_state(IDirect3DDevice9 *device, struct device_state *state)
static void test_D3DXCreateRenderToSurface(IDirect3DDevice9 *device)
static void _check_release(unsigned int line, IUnknown *obj, int exp)
static void test_ID3DXRenderToEnvMap_cube_map(IDirect3DDevice9 *device)
static void test_D3DXCreateRenderToEnvMap(IDirect3DDevice9 *device)
static void test_ID3DXRenderToEnvMap(IDirect3DDevice9 *device)
static void release_device_state(struct device_state *state)
#define check_release(obj, exp)
const WCHAR * expected_result
#define cmp(status, error)
static const WCHAR testW[]
#define WS_OVERLAPPEDWINDOW
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
BOOL WINAPI SetRectEmpty(_Out_ LPRECT)
BOOL WINAPI DestroyWindow(_In_ HWND)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
#define D3DADAPTER_DEFAULT
#define D3DCREATE_SOFTWARE_VERTEXPROCESSING
IDirect3DSurface9 * render_target
IDirect3DSurface9 * depth_stencil
#define ANTIALIASED_QUALITY
#define OUT_RASTER_PRECIS
#define OUT_DEFAULT_PRECIS
DWORD WINAPI GetGlyphIndicesA(_In_ HDC hdc, _In_reads_(c) LPCSTR lpstr, _In_ int c, _Out_writes_(c) LPWORD pgi, _In_ DWORD fl)
BOOL WINAPI GetTextMetricsA(_In_ HDC, _Out_ LPTEXTMETRICA)
DWORD WINAPI GetGlyphOutlineW(_In_ HDC hdc, _In_ UINT uChar, _In_ UINT fuFormat, _Out_ LPGLYPHMETRICS lpgm, _In_ DWORD cjBuffer, _Out_writes_bytes_opt_(cjBuffer) LPVOID pvBuffer, _In_ CONST MAT2 *lpmat2)