Added forced creation of a depth stencil surface for render to texture.

This commit is contained in:
aignacio_sf 2005-12-30 20:01:19 +00:00
parent b75a855d53
commit f3110d821c

View File

@ -429,34 +429,50 @@ open_buffer() {
// ***** CREATE A DEPTH STENCIL BUFFER IF NEEDED // ***** CREATE A DEPTH STENCIL BUFFER IF NEEDED
HRESULT hr;
IDirect3DSurface9 *_depth_stencil_surface;
hr = dxgsg -> _d3d_device -> GetDepthStencilSurface (&_depth_stencil_surface);
if (SUCCEEDED (hr))
{ {
/* D3DSURFACE_DESC surface_description;
HRESULT hr;
UINT width; hr = _depth_stencil_surface -> GetDesc (&surface_description);
UINT height; if (SUCCEEDED (hr))
D3DFORMAT format; {
D3DMULTISAMPLE_TYPE multisample_type; UINT width;
DWORD multisample_quality; UINT height;
BOOL discard; D3DFORMAT format;
D3DMULTISAMPLE_TYPE multisample_type;
DWORD multisample_quality;
BOOL discard;
width = ; width = tex -> get_x_size ( );
height = ; height = tex -> get_y_size ( );
format = ; format = surface_description.Format;
multisample_type = ; multisample_type = surface_description.MultiSampleType;
multisample_quality = ; multisample_quality = surface_description.MultiSampleQuality;
discard = true; discard = true;
hr = dxgsg -> _d3d_device -> CreateDepthStencilSurface ( hr = dxgsg -> _d3d_device -> CreateDepthStencilSurface (
width, height, format, multisample_type, multisample_quality, width, height, format, multisample_type, multisample_quality,
discard, &this -> _new_z_stencil_surface, NULL); discard, &this -> _new_z_stencil_surface, NULL);
if (SUCCEEDED (hr)) { if (SUCCEEDED (hr)) {
} else { } else {
dxgsg9_cat.error ( ) << "CreateDepthStencilSurface " << D3DERRORSTRING(hr) FL; dxgsg9_cat.error ( ) << "GetDesc " << D3DERRORSTRING(hr) FL;
}
}
else
{
dxgsg9_cat.error ( ) << "GetDepthStencilSurface " << D3DERRORSTRING(hr) FL;
} }
*/ _depth_stencil_surface -> Release ( );
}
else
{
dxgsg9_cat.error ( ) << "GetDepthStencilSurface " << D3DERRORSTRING(hr) FL;
} }
{ {