diff --git a/src/render_d3d9.c b/src/render_d3d9.c index ead6db2..daf7393 100644 --- a/src/render_d3d9.c +++ b/src/render_d3d9.c @@ -304,6 +304,35 @@ static BOOL d3d9_create_resources() 0)); } } + else if (g_ddraw->bpp == 32) + { + BOOL error = FAILED( + IDirect3DDevice9_CreateTexture( + g_d3d9.device, + g_d3d9.tex_width, + g_d3d9.tex_height, + 1, + 0, + D3DFMT_X8R8G8B8, + D3DPOOL_MANAGED, + &g_d3d9.surface_tex[i], + 0)); + + if (error) + { + err = err || FAILED( + IDirect3DDevice9_CreateTexture( + g_d3d9.device, + g_d3d9.tex_width, + g_d3d9.tex_height, + 1, + 0, + D3DFMT_A8R8G8B8, + D3DPOOL_MANAGED, + &g_d3d9.surface_tex[i], + 0)); + } + } else { err = err || FAILED( @@ -313,7 +342,7 @@ static BOOL d3d9_create_resources() g_d3d9.tex_height, 1, 0, - g_ddraw->bpp == 16 ? D3DFMT_R5G6B5 : g_ddraw->bpp == 32 ? D3DFMT_X8R8G8B8 : D3DFMT_L8, + g_ddraw->bpp == 16 ? D3DFMT_R5G6B5 : D3DFMT_L8, D3DPOOL_MANAGED, &g_d3d9.surface_tex[i], 0));