d3d9: Don't treat missing d3d9.dll as a failure.

This commit is contained in:
Paul Vriens 2005-12-14 10:50:52 +01:00 committed by Alexandre Julliard
parent dabcbe83e7
commit 9a1bc10f5d
2 changed files with 24 additions and 12 deletions

View File

@ -20,19 +20,16 @@
#include <d3d9.h> #include <d3d9.h>
#include "wine/test.h" #include "wine/test.h"
static HMODULE d3d9_handle = 0;
static IDirect3DDevice9 *init_d3d9(void) static IDirect3DDevice9 *init_d3d9(void)
{ {
IDirect3D9 * (__stdcall * d3d9_create)(UINT SDKVersion) = 0; IDirect3D9 * (__stdcall * d3d9_create)(UINT SDKVersion) = 0;
HMODULE d3d9_handle = 0;
IDirect3D9 *d3d9_ptr = 0; IDirect3D9 *d3d9_ptr = 0;
IDirect3DDevice9 *device_ptr = 0; IDirect3DDevice9 *device_ptr = 0;
D3DPRESENT_PARAMETERS present_parameters; D3DPRESENT_PARAMETERS present_parameters;
HRESULT hres; HRESULT hres;
d3d9_handle = LoadLibrary("d3d9");
ok(d3d9_handle != NULL, "Failed to load d3d9.\n");
if (!d3d9_handle) return NULL;
d3d9_create = (void *)GetProcAddress(d3d9_handle, "Direct3DCreate9"); d3d9_create = (void *)GetProcAddress(d3d9_handle, "Direct3DCreate9");
ok(d3d9_create != NULL, "Failed to get address of Direct3DCreate9\n"); ok(d3d9_create != NULL, "Failed to get address of Direct3DCreate9\n");
if (!d3d9_create) return NULL; if (!d3d9_create) return NULL;
@ -136,7 +133,16 @@ static void test_get_set_pixel_shader(IDirect3DDevice9 *device_ptr)
START_TEST(shader) START_TEST(shader)
{ {
D3DCAPS9 caps; D3DCAPS9 caps;
IDirect3DDevice9 *device_ptr = init_d3d9(); IDirect3DDevice9 *device_ptr;
d3d9_handle = LoadLibraryA("d3d9.dll");
if (!d3d9_handle)
{
trace("Could not load d3d9.dll, skipping tests\n");
return;
}
device_ptr = init_d3d9();
if (!device_ptr) return; if (!device_ptr) return;
IDirect3DDevice9_GetDeviceCaps(device_ptr, &caps); IDirect3DDevice9_GetDeviceCaps(device_ptr, &caps);

View File

@ -19,19 +19,16 @@
#include <d3d9.h> #include <d3d9.h>
#include "wine/test.h" #include "wine/test.h"
static HMODULE d3d9_handle = 0;
static IDirect3DDevice9 *init_d3d9(void) static IDirect3DDevice9 *init_d3d9(void)
{ {
IDirect3D9 * (__stdcall * d3d9_create)(UINT SDKVersion) = 0; IDirect3D9 * (__stdcall * d3d9_create)(UINT SDKVersion) = 0;
HMODULE d3d9_handle = 0;
IDirect3D9 *d3d9_ptr = 0; IDirect3D9 *d3d9_ptr = 0;
IDirect3DDevice9 *device_ptr = 0; IDirect3DDevice9 *device_ptr = 0;
D3DPRESENT_PARAMETERS present_parameters; D3DPRESENT_PARAMETERS present_parameters;
HRESULT hres; HRESULT hres;
d3d9_handle = LoadLibrary("d3d9");
ok(d3d9_handle != NULL, "Failed to load d3d9.\n");
if (!d3d9_handle) return NULL;
d3d9_create = (void *)GetProcAddress(d3d9_handle, "Direct3DCreate9"); d3d9_create = (void *)GetProcAddress(d3d9_handle, "Direct3DCreate9");
ok(d3d9_create != NULL, "Failed to get address of Direct3DCreate9\n"); ok(d3d9_create != NULL, "Failed to get address of Direct3DCreate9\n");
if (!d3d9_create) return NULL; if (!d3d9_create) return NULL;
@ -83,6 +80,15 @@ static void test_begin_end_state_block(IDirect3DDevice9 *device_ptr)
START_TEST(stateblock) START_TEST(stateblock)
{ {
IDirect3DDevice9 *device_ptr = init_d3d9(); IDirect3DDevice9 *device_ptr;
d3d9_handle = LoadLibraryA("d3d9.dll");
if (!d3d9_handle)
{
trace("Could not load d3d9.dll, skipping tests\n");
return;
}
device_ptr = init_d3d9();
test_begin_end_state_block(device_ptr); test_begin_end_state_block(device_ptr);
} }