mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-16 09:11:17 +00:00
- Added GetHR support to D3DFB for querying the error code when device creation fails.
- Should still check for a NULL device when CreateDevice() returns D3DERR_DEVICELOST. SVN r2328 (trunk)
This commit is contained in:
parent
30ec646ba5
commit
24f23718b7
2 changed files with 9 additions and 5 deletions
|
@ -242,6 +242,8 @@ D3DFB::D3DFB (int width, int height, bool fullscreen)
|
||||||
{
|
{
|
||||||
D3DPRESENT_PARAMETERS d3dpp;
|
D3DPRESENT_PARAMETERS d3dpp;
|
||||||
|
|
||||||
|
LastHR = 0;
|
||||||
|
|
||||||
D3DDevice = NULL;
|
D3DDevice = NULL;
|
||||||
VertexBuffer = NULL;
|
VertexBuffer = NULL;
|
||||||
IndexBuffer = NULL;
|
IndexBuffer = NULL;
|
||||||
|
@ -323,18 +325,18 @@ D3DFB::D3DFB (int width, int height, bool fullscreen)
|
||||||
|
|
||||||
if (FAILED(hr = D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Window,
|
if (FAILED(hr = D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Window,
|
||||||
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, &d3dpp, &D3DDevice)) &&
|
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, &d3dpp, &D3DDevice)) &&
|
||||||
hr != D3DERR_DEVICELOST)
|
(hr != D3DERR_DEVICELOST || D3DDevice == NULL))
|
||||||
{
|
{
|
||||||
if (FAILED(D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Window,
|
if (FAILED(D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Window,
|
||||||
D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, &d3dpp, &D3DDevice)) &&
|
D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, &d3dpp, &D3DDevice)) &&
|
||||||
hr != D3DERR_DEVICELOST)
|
(hr != D3DERR_DEVICELOST || D3DDevice == NULL))
|
||||||
{
|
{
|
||||||
if (d3dpp.FullScreen_RefreshRateInHz != 0)
|
if (d3dpp.FullScreen_RefreshRateInHz != 0)
|
||||||
{
|
{
|
||||||
d3dpp.FullScreen_RefreshRateInHz = 0;
|
d3dpp.FullScreen_RefreshRateInHz = 0;
|
||||||
if (FAILED(hr = D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Window,
|
if (FAILED(hr = D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Window,
|
||||||
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, &d3dpp, &D3DDevice)) &&
|
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, &d3dpp, &D3DDevice)) &&
|
||||||
hr != D3DERR_DEVICELOST)
|
(hr != D3DERR_DEVICELOST || D3DDevice == NULL))
|
||||||
{
|
{
|
||||||
if (FAILED(D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Window,
|
if (FAILED(D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Window,
|
||||||
D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, &d3dpp, &D3DDevice)) &&
|
D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, &d3dpp, &D3DDevice)) &&
|
||||||
|
@ -346,6 +348,7 @@ D3DFB::D3DFB (int width, int height, bool fullscreen)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
LastHR = hr;
|
||||||
if (D3DDevice != NULL)
|
if (D3DDevice != NULL)
|
||||||
{
|
{
|
||||||
D3DADAPTER_IDENTIFIER9 adapter_id;
|
D3DADAPTER_IDENTIFIER9 adapter_id;
|
||||||
|
@ -364,7 +367,7 @@ D3DFB::D3DFB (int width, int height, bool fullscreen)
|
||||||
{
|
{
|
||||||
DeviceCaps.LineCaps |= D3DLINECAPS_ANTIALIAS;
|
DeviceCaps.LineCaps |= D3DLINECAPS_ANTIALIAS;
|
||||||
}
|
}
|
||||||
// ATI's drivers apparently also lie, so screw this cap.
|
// ATI's drivers apparently also lie, so screw this caps bit.
|
||||||
}
|
}
|
||||||
CreateResources();
|
CreateResources();
|
||||||
SetInitialState();
|
SetInitialState();
|
||||||
|
@ -1000,7 +1003,7 @@ bool D3DFB::IsValid ()
|
||||||
|
|
||||||
HRESULT D3DFB::GetHR ()
|
HRESULT D3DFB::GetHR ()
|
||||||
{
|
{
|
||||||
return 0;
|
return LastHR;
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
|
@ -414,6 +414,7 @@ private:
|
||||||
D3DPal *Palettes;
|
D3DPal *Palettes;
|
||||||
D3DTex *Textures;
|
D3DTex *Textures;
|
||||||
PackingTexture *Packs;
|
PackingTexture *Packs;
|
||||||
|
HRESULT LastHR;
|
||||||
|
|
||||||
IDirect3DDevice9 *D3DDevice;
|
IDirect3DDevice9 *D3DDevice;
|
||||||
IDirect3DTexture9 *FBTexture;
|
IDirect3DTexture9 *FBTexture;
|
||||||
|
|
Loading…
Reference in a new issue