void d3d_device_free(LPDIRECT3DDEVICE dev, LPDIRECT3D pd3d) { if (dev) dev->Release(); if (pd3d) pd3d->Release(); }
static bool d3d_init_base(void *data, const video_info_t *info) { D3DPRESENT_PARAMETERS d3dpp; d3d_video_t *d3d = (d3d_video_t*)data; d3d_make_d3dpp(d3d, info, &d3dpp); g_pD3D = D3DCREATE_CTX(D3D_SDK_VERSION); if (!g_pD3D) { RARCH_ERR("Failed to create D3D interface.\n"); return false; } #ifdef _XBOX360 d3d->cur_mon_id = 0; #endif if (FAILED(d3d->d3d_err = g_pD3D->CreateDevice( d3d->cur_mon_id, D3DDEVTYPE_HAL, win32_get_window(), D3DCREATE_HARDWARE_VERTEXPROCESSING, &d3dpp, &d3d->dev))) { RARCH_WARN("[D3D]: Failed to init device with hardware vertex processing (code: 0x%x). Trying to fall back to software vertex processing.\n", (unsigned)d3d->d3d_err); if (FAILED(d3d->d3d_err = g_pD3D->CreateDevice( d3d->cur_mon_id, D3DDEVTYPE_HAL, win32_get_window(), D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &d3d->dev))) { RARCH_ERR("Failed to initialize device.\n"); return false; } } return true; }
void d3d_device_free(LPDIRECT3DDEVICE dev, LPDIRECT3D pd3d) { if (dev) { #if defined(HAVE_D3D9) && !defined(__cplusplus) IDirect3DDevice9_Release(dev); #else dev->Release(); #endif } if (pd3d) { #if defined(HAVE_D3D9) && !defined(__cplusplus) IDirect3D9_Release(pd3d); #else pd3d->Release(); #endif } }