Apply clang-format code style to all source files
This commit is contained in:
+54
-35
@@ -10,33 +10,32 @@
|
||||
|
||||
#define debug_print(...) fprintf(stderr, __VA_ARGS__)
|
||||
|
||||
static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp);
|
||||
static HRESULT my_d3d9_handler(struct hook_d3d9_irp *irp);
|
||||
|
||||
static const hook_d3d9_irp_handler_t d3d9_handlers[] = {
|
||||
my_d3d9_handler
|
||||
};
|
||||
static const hook_d3d9_irp_handler_t d3d9_handlers[] = {my_d3d9_handler};
|
||||
|
||||
static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
static HRESULT my_d3d9_handler(struct hook_d3d9_irp *irp)
|
||||
{
|
||||
HRESULT hr;
|
||||
enum hook_d3d9_irp_op pre_op;
|
||||
|
||||
debug_print("my_d3d9_handler dispatch: %d\n", irp->op);
|
||||
|
||||
// Important: All parameter checks must align with the parameters from the test executable
|
||||
// Important: All parameter checks must align with the parameters from the
|
||||
// test executable
|
||||
|
||||
// Pre-real invoke checks
|
||||
switch (irp->op) {
|
||||
case HOOK_D3D9_IRP_OP_INVALID:
|
||||
exit(EXIT_FAILURE);
|
||||
break;
|
||||
|
||||
|
||||
case HOOK_D3D9_IRP_OP_CTX_CREATE:
|
||||
debug_print("Pre HOOK_D3D9_IRP_OP_CTX_CREATE\n");
|
||||
|
||||
|
||||
check_int_eq(irp->args.ctx_create.sdk_ver, D3D_SDK_VERSION);
|
||||
check_null(irp->args.ctx_create.ctx);
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case HOOK_D3D9_IRP_OP_ENUM_DISPLAY_DEVICES:
|
||||
@@ -45,20 +44,22 @@ static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
check_null(irp->args.enum_display_devices.dev_name);
|
||||
check_int_eq(irp->args.enum_display_devices.dev_num, 0);
|
||||
check_non_null(irp->args.enum_display_devices.info);
|
||||
check_int_eq(irp->args.enum_display_devices.flags, EDD_GET_DEVICE_INTERFACE_NAME);
|
||||
check_int_eq(
|
||||
irp->args.enum_display_devices.flags,
|
||||
EDD_GET_DEVICE_INTERFACE_NAME);
|
||||
|
||||
break;
|
||||
|
||||
case HOOK_D3D9_IRP_OP_CREATE_WINDOW_EX:
|
||||
debug_print("Pre HOOK_D3D9_IRP_OP_CREATE_WINDOW_EX\n");
|
||||
|
||||
// Cannot test because wine is also using this call causing the tests to fail
|
||||
// check_int_eq(irp->args.create_window_ex.ex_style, 0);
|
||||
// check_str_eq(irp->args.create_window_ex.class_name, "d3d9hook");
|
||||
// check_str_eq(irp->args.create_window_ex.window_name, "d3d9hook test");
|
||||
// check_int_eq(irp->args.create_window_ex.style, WS_OVERLAPPEDWINDOW);
|
||||
// check_int_eq(irp->args.create_window_ex.x, 0);
|
||||
// check_int_eq(irp->args.create_window_ex.y, 0);
|
||||
// Cannot test because wine is also using this call causing the
|
||||
// tests to fail check_int_eq(irp->args.create_window_ex.ex_style,
|
||||
// 0); check_str_eq(irp->args.create_window_ex.class_name,
|
||||
// "d3d9hook"); check_str_eq(irp->args.create_window_ex.window_name,
|
||||
// "d3d9hook test"); check_int_eq(irp->args.create_window_ex.style,
|
||||
// WS_OVERLAPPEDWINDOW); check_int_eq(irp->args.create_window_ex.x,
|
||||
// 0); check_int_eq(irp->args.create_window_ex.y, 0);
|
||||
// check_int_eq(irp->args.create_window_ex.width, 640);
|
||||
// check_int_eq(irp->args.create_window_ex.height, 480);
|
||||
// check_null(irp->args.create_window_ex.wnd_parent);
|
||||
@@ -72,7 +73,8 @@ static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
case HOOK_D3D9_IRP_OP_GET_CLIENT_RECT:
|
||||
debug_print("Pre HOOK_D3D9_IRP_OP_GET_CLIENT_RECT\n");
|
||||
|
||||
// Cannot test because wine is also using this call causing the tests to fail
|
||||
// Cannot test because wine is also using this call causing the
|
||||
// tests to fail
|
||||
|
||||
break;
|
||||
|
||||
@@ -80,10 +82,13 @@ static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
debug_print("Pre HOOK_D3D9_IRP_OP_CTX_CREATE_DEVICE\n");
|
||||
|
||||
check_non_null(irp->args.ctx_create_device.self);
|
||||
check_int_eq(irp->args.ctx_create_device.adapter, D3DADAPTER_DEFAULT);
|
||||
check_int_eq(
|
||||
irp->args.ctx_create_device.adapter, D3DADAPTER_DEFAULT);
|
||||
check_int_eq(irp->args.ctx_create_device.type, D3DDEVTYPE_HAL);
|
||||
check_non_null(irp->args.ctx_create_device.hwnd);
|
||||
check_int_eq(irp->args.ctx_create_device.flags, D3DCREATE_HARDWARE_VERTEXPROCESSING);
|
||||
check_int_eq(
|
||||
irp->args.ctx_create_device.flags,
|
||||
D3DCREATE_HARDWARE_VERTEXPROCESSING);
|
||||
check_non_null(irp->args.ctx_create_device.pp);
|
||||
check_non_null(irp->args.ctx_create_device.pdev);
|
||||
|
||||
@@ -158,13 +163,13 @@ static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
case HOOK_D3D9_IRP_OP_INVALID:
|
||||
exit(EXIT_FAILURE);
|
||||
break;
|
||||
|
||||
|
||||
case HOOK_D3D9_IRP_OP_CTX_CREATE:
|
||||
debug_print("Post HOOK_D3D9_IRP_OP_CTX_CREATE\n");
|
||||
|
||||
|
||||
check_int_eq(irp->args.ctx_create.sdk_ver, D3D_SDK_VERSION);
|
||||
check_non_null(irp->args.ctx_create.ctx);
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case HOOK_D3D9_IRP_OP_ENUM_DISPLAY_DEVICES:
|
||||
@@ -173,18 +178,24 @@ static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
check_null(irp->args.enum_display_devices.dev_name);
|
||||
check_int_eq(irp->args.enum_display_devices.dev_num, 0);
|
||||
check_non_null(irp->args.enum_display_devices.info);
|
||||
check_int_eq(irp->args.enum_display_devices.flags, EDD_GET_DEVICE_INTERFACE_NAME);
|
||||
check_int_eq(
|
||||
irp->args.enum_display_devices.flags,
|
||||
EDD_GET_DEVICE_INTERFACE_NAME);
|
||||
|
||||
break;
|
||||
|
||||
case HOOK_D3D9_IRP_OP_CREATE_WINDOW_EX:
|
||||
debug_print("Post HOOK_D3D9_IRP_OP_CREATE_WINDOW_EX\n");
|
||||
|
||||
// Cannot test because wine is also using this call causing the tests to fail
|
||||
// Cannot test because wine is also using this call causing the
|
||||
// tests to fail
|
||||
// check_int_eq(irp->args.create_window_ex.ex_style, 0);
|
||||
// check_str_eq(irp->args.create_window_ex.class_name, "d3d9hook");
|
||||
// check_str_eq(irp->args.create_window_ex.window_name, "d3d9hook test");
|
||||
// check_int_eq(irp->args.create_window_ex.style, WS_OVERLAPPEDWINDOW);
|
||||
// check_str_eq(irp->args.create_window_ex.class_name,
|
||||
// "d3d9hook");
|
||||
// check_str_eq(irp->args.create_window_ex.window_name,
|
||||
// "d3d9hook test");
|
||||
// check_int_eq(irp->args.create_window_ex.style,
|
||||
// WS_OVERLAPPEDWINDOW);
|
||||
// check_int_eq(irp->args.create_window_ex.x, 0);
|
||||
// check_int_eq(irp->args.create_window_ex.y, 0);
|
||||
// check_int_eq(irp->args.create_window_ex.width, 640);
|
||||
@@ -200,7 +211,8 @@ static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
case HOOK_D3D9_IRP_OP_GET_CLIENT_RECT:
|
||||
debug_print("Post HOOK_D3D9_IRP_OP_GET_CLIENT_RECT\n");
|
||||
|
||||
// Cannot test because wine is also using this call causing the tests to fail
|
||||
// Cannot test because wine is also using this call causing the
|
||||
// tests to fail
|
||||
|
||||
break;
|
||||
|
||||
@@ -208,10 +220,13 @@ static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
debug_print("Post HOOK_D3D9_IRP_OP_CTX_CREATE_DEVICE\n");
|
||||
|
||||
check_non_null(irp->args.ctx_create_device.self);
|
||||
check_int_eq(irp->args.ctx_create_device.adapter, D3DADAPTER_DEFAULT);
|
||||
check_int_eq(
|
||||
irp->args.ctx_create_device.adapter, D3DADAPTER_DEFAULT);
|
||||
check_int_eq(irp->args.ctx_create_device.type, D3DDEVTYPE_HAL);
|
||||
check_non_null(irp->args.ctx_create_device.hwnd);
|
||||
check_int_eq(irp->args.ctx_create_device.flags, D3DCREATE_HARDWARE_VERTEXPROCESSING);
|
||||
check_int_eq(
|
||||
irp->args.ctx_create_device.flags,
|
||||
D3DCREATE_HARDWARE_VERTEXPROCESSING);
|
||||
check_non_null(irp->args.ctx_create_device.pp);
|
||||
check_non_null(irp->args.ctx_create_device.pdev);
|
||||
|
||||
@@ -225,8 +240,10 @@ static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
check_int_eq(irp->args.dev_create_texture.height, 240);
|
||||
check_int_eq(irp->args.dev_create_texture.levels, 0);
|
||||
check_int_eq(irp->args.dev_create_texture.usage, 0);
|
||||
check_int_eq(irp->args.dev_create_texture.format, D3DFMT_A8R8G8B8);
|
||||
check_int_eq(irp->args.dev_create_texture.pool, D3DPOOL_DEFAULT);
|
||||
check_int_eq(
|
||||
irp->args.dev_create_texture.format, D3DFMT_A8R8G8B8);
|
||||
check_int_eq(
|
||||
irp->args.dev_create_texture.pool, D3DPOOL_DEFAULT);
|
||||
check_non_null(irp->args.dev_create_texture.texture);
|
||||
check_null(irp->args.dev_create_texture.shared_handle);
|
||||
|
||||
@@ -261,8 +278,10 @@ static HRESULT my_d3d9_handler(struct hook_d3d9_irp* irp)
|
||||
debug_print("Post HOOK_D3D9_IRP_OP_DEV_SET_RENDER_STATE\n");
|
||||
|
||||
check_non_null(irp->args.dev_set_render_state.self);
|
||||
check_int_eq(irp->args.dev_set_render_state.state, D3DRS_FILLMODE);
|
||||
check_int_eq(irp->args.dev_set_render_state.value, D3DFILL_POINT);
|
||||
check_int_eq(
|
||||
irp->args.dev_set_render_state.state, D3DRS_FILLMODE);
|
||||
check_int_eq(
|
||||
irp->args.dev_set_render_state.value, D3DFILL_POINT);
|
||||
|
||||
break;
|
||||
|
||||
|
||||
+96
-74
@@ -9,85 +9,99 @@
|
||||
|
||||
static const int render_loop_iterations = 100;
|
||||
|
||||
static LRESULT CALLBACK wnd_proc(HWND wnd, UINT msg, WPARAM w_param, LPARAM l_param);
|
||||
static LRESULT CALLBACK
|
||||
wnd_proc(HWND wnd, UINT msg, WPARAM w_param, LPARAM l_param);
|
||||
|
||||
static HWND create_window()
|
||||
{
|
||||
WNDCLASS wc;
|
||||
WNDCLASS wc;
|
||||
HRESULT hr;
|
||||
|
||||
memset(&wc, 0, sizeof(WNDCLASS));
|
||||
|
||||
wc.style = CS_HREDRAW | CS_VREDRAW;
|
||||
wc.hbrBackground = NULL;
|
||||
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||
wc.lpfnWndProc = (WNDPROC) wnd_proc;
|
||||
wc.hInstance = NULL;
|
||||
wc.lpszClassName = "d3d9hook";
|
||||
memset(&wc, 0, sizeof(WNDCLASS));
|
||||
|
||||
wc.style = CS_HREDRAW | CS_VREDRAW;
|
||||
wc.hbrBackground = NULL;
|
||||
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||
wc.lpfnWndProc = (WNDPROC) wnd_proc;
|
||||
wc.hInstance = NULL;
|
||||
wc.lpszClassName = "d3d9hook";
|
||||
|
||||
hr = RegisterClass(&wc);
|
||||
check_int_neq(hr, 0);
|
||||
|
||||
return CreateWindow("d3d9hook", "d3d9hook test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, NULL, NULL, NULL, 0);
|
||||
return CreateWindow(
|
||||
"d3d9hook",
|
||||
"d3d9hook test",
|
||||
WS_OVERLAPPEDWINDOW,
|
||||
0,
|
||||
0,
|
||||
640,
|
||||
480,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
0);
|
||||
}
|
||||
|
||||
static D3DPRESENT_PARAMETERS create_presenter_params(HWND window)
|
||||
{
|
||||
D3DPRESENT_PARAMETERS pp;
|
||||
|
||||
memset(&pp, 0, sizeof(D3DPRESENT_PARAMETERS));
|
||||
memset(&pp, 0, sizeof(D3DPRESENT_PARAMETERS));
|
||||
|
||||
pp.BackBufferWidth = 640;
|
||||
pp.BackBufferHeight = 480;
|
||||
pp.BackBufferFormat = D3DFMT_A8R8G8B8;
|
||||
pp.BackBufferCount = 1;
|
||||
pp.MultiSampleType = D3DMULTISAMPLE_NONE;
|
||||
pp.MultiSampleQuality = 0;
|
||||
pp.SwapEffect = D3DSWAPEFFECT_DISCARD;
|
||||
pp.hDeviceWindow = window;
|
||||
pp.Windowed = TRUE;
|
||||
pp.EnableAutoDepthStencil = TRUE;
|
||||
pp.AutoDepthStencilFormat = D3DFMT_D24S8;
|
||||
pp.Flags = 0;
|
||||
pp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
|
||||
pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
|
||||
pp.BackBufferWidth = 640;
|
||||
pp.BackBufferHeight = 480;
|
||||
pp.BackBufferFormat = D3DFMT_A8R8G8B8;
|
||||
pp.BackBufferCount = 1;
|
||||
pp.MultiSampleType = D3DMULTISAMPLE_NONE;
|
||||
pp.MultiSampleQuality = 0;
|
||||
pp.SwapEffect = D3DSWAPEFFECT_DISCARD;
|
||||
pp.hDeviceWindow = window;
|
||||
pp.Windowed = TRUE;
|
||||
pp.EnableAutoDepthStencil = TRUE;
|
||||
pp.AutoDepthStencilFormat = D3DFMT_D24S8;
|
||||
pp.Flags = 0;
|
||||
pp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
|
||||
pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
|
||||
|
||||
return pp;
|
||||
return pp;
|
||||
}
|
||||
|
||||
static IDirect3DTexture9* create_texture(IDirect3DDevice9* dev)
|
||||
static IDirect3DTexture9 *create_texture(IDirect3DDevice9 *dev)
|
||||
{
|
||||
HRESULT hr;
|
||||
IDirect3DTexture9* texture;
|
||||
HRESULT hr;
|
||||
IDirect3DTexture9 *texture;
|
||||
|
||||
hr = IDirect3DDevice9_CreateTexture(dev, 320, 240, 0, 0, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &texture, NULL);
|
||||
check_int_eq(hr, S_OK);
|
||||
hr = IDirect3DDevice9_CreateTexture(
|
||||
dev, 320, 240, 0, 0, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &texture, NULL);
|
||||
check_int_eq(hr, S_OK);
|
||||
|
||||
return texture;
|
||||
return texture;
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
DISPLAY_DEVICEA display_device;
|
||||
BOOL res;
|
||||
HWND window;
|
||||
RECT rect;
|
||||
DISPLAY_DEVICEA display_device;
|
||||
BOOL res;
|
||||
HWND window;
|
||||
RECT rect;
|
||||
MSG msg;
|
||||
IDirect3D9* d3d9;
|
||||
IDirect3D9 *d3d9;
|
||||
HRESULT hr;
|
||||
D3DPRESENT_PARAMETERS pp;
|
||||
IDirect3DDevice9* dev;
|
||||
IDirect3DDevice9 *dev;
|
||||
int loop_count;
|
||||
IDirect3DTexture9* texture;
|
||||
|
||||
res = EnumDisplayDevicesA(NULL, 0, &display_device, EDD_GET_DEVICE_INTERFACE_NAME);
|
||||
check_int_eq(res, TRUE);
|
||||
IDirect3DTexture9 *texture;
|
||||
|
||||
res = EnumDisplayDevicesA(
|
||||
NULL, 0, &display_device, EDD_GET_DEVICE_INTERFACE_NAME);
|
||||
check_int_eq(res, TRUE);
|
||||
|
||||
window = create_window();
|
||||
check_non_null(window);
|
||||
check_non_null(window);
|
||||
|
||||
res = GetClientRect(window, &rect);
|
||||
check_int_eq(res, TRUE);
|
||||
res = GetClientRect(window, &rect);
|
||||
check_int_eq(res, TRUE);
|
||||
|
||||
d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
|
||||
check_non_null(d3d9);
|
||||
@@ -97,37 +111,45 @@ int main(int argc, char** argv)
|
||||
hr = IDirect3D9_CreateDevice(
|
||||
d3d9,
|
||||
D3DADAPTER_DEFAULT,
|
||||
D3DDEVTYPE_HAL,
|
||||
window,
|
||||
D3DCREATE_HARDWARE_VERTEXPROCESSING,
|
||||
&pp,
|
||||
&dev);
|
||||
D3DDEVTYPE_HAL,
|
||||
window,
|
||||
D3DCREATE_HARDWARE_VERTEXPROCESSING,
|
||||
&pp,
|
||||
&dev);
|
||||
check_int_eq(hr, S_OK);
|
||||
|
||||
IDirect3DDevice9_Release(d3d9);
|
||||
d3d9 = NULL;
|
||||
|
||||
texture = create_texture(dev);
|
||||
texture = create_texture(dev);
|
||||
|
||||
ShowWindow(window, SW_SHOW);
|
||||
UpdateWindow(window);
|
||||
ShowWindow(window, SW_SHOW);
|
||||
UpdateWindow(window);
|
||||
|
||||
memset(&msg, 0, sizeof(MSG));
|
||||
memset(&msg, 0, sizeof(MSG));
|
||||
|
||||
loop_count = 0;
|
||||
|
||||
// TODO create vertex buffer, upload and render
|
||||
// TODO create vertex buffer, upload and render
|
||||
|
||||
while (msg.message != WM_QUIT) {
|
||||
if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
} else {
|
||||
hr = IDirect3DDevice9_Clear(dev, 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xff0000ff, 1.0f, 0);
|
||||
while (msg.message != WM_QUIT) {
|
||||
if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
} else {
|
||||
hr = IDirect3DDevice9_Clear(
|
||||
dev,
|
||||
0,
|
||||
NULL,
|
||||
D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
|
||||
0xff0000ff,
|
||||
1.0f,
|
||||
0);
|
||||
check_int_eq(hr, S_OK);
|
||||
|
||||
hr = IDirect3DDevice9_SetRenderState(dev, D3DRS_FILLMODE, D3DFILL_POINT);
|
||||
check_int_eq(hr, S_OK);
|
||||
hr = IDirect3DDevice9_SetRenderState(
|
||||
dev, D3DRS_FILLMODE, D3DFILL_POINT);
|
||||
check_int_eq(hr, S_OK);
|
||||
|
||||
hr = IDirect3DDevice9_BeginScene(dev);
|
||||
check_int_eq(hr, S_OK);
|
||||
@@ -143,25 +165,25 @@ int main(int argc, char** argv)
|
||||
if (loop_count > render_loop_iterations) {
|
||||
PostQuitMessage(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IDirect3DTexture9_Release(texture);
|
||||
IDirect3DDevice9_Release(dev);
|
||||
|
||||
return 0;
|
||||
IDirect3DTexture9_Release(texture);
|
||||
IDirect3DDevice9_Release(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK wnd_proc(HWND wnd, UINT msg, WPARAM w_param, LPARAM l_param)
|
||||
{
|
||||
switch(msg) {
|
||||
switch (msg) {
|
||||
case WM_CREATE:
|
||||
break;
|
||||
|
||||
case WM_DESTROY:
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return DefWindowProc(wnd, msg, w_param, l_param);
|
||||
return DefWindowProc(wnd, msg, w_param, l_param);
|
||||
}
|
||||
Reference in New Issue
Block a user