Create d3d_device_get_render_target
This commit is contained in:
parent
563024502f
commit
30af756969
|
@ -391,6 +391,24 @@ void d3d_clear(LPDIRECT3DDEVICE dev,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool d3d_device_get_render_target(LPDIRECT3DDEVICE dev,
|
||||||
|
unsigned idx, void **data)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_D3D9) && !defined(__cplusplus)
|
||||||
|
if (FAILED(IDirect3DDevice9_GetRenderTarget(dev, idx,
|
||||||
|
(LPDIRECT3DSURFACE*)data)))
|
||||||
|
#elif defined(HAVE_D3D8) && !defined(__cplusplus)
|
||||||
|
if (FAILED(IDirect3DDevice8_GetRenderTarget(dev,
|
||||||
|
(LPDIRECT3DSURFACE*)data)))
|
||||||
|
#else
|
||||||
|
if (FAILED(dev->GetRenderTarget(idx,
|
||||||
|
(LPDIRECT3DSURFACE*)data)))
|
||||||
|
#endif
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool d3d_lock_rectangle(LPDIRECT3DTEXTURE tex,
|
bool d3d_lock_rectangle(LPDIRECT3DTEXTURE tex,
|
||||||
unsigned level, D3DLOCKED_RECT *lock_rect, RECT *rect,
|
unsigned level, D3DLOCKED_RECT *lock_rect, RECT *rect,
|
||||||
unsigned rectangle_height, unsigned flags)
|
unsigned rectangle_height, unsigned flags)
|
||||||
|
|
|
@ -110,6 +110,9 @@ void d3d_frame_postprocess(void *data);
|
||||||
|
|
||||||
void d3d_surface_free(void *data);
|
void d3d_surface_free(void *data);
|
||||||
|
|
||||||
|
bool d3d_device_get_render_target(LPDIRECT3DDEVICE dev,
|
||||||
|
unsigned idx, void **data);
|
||||||
|
|
||||||
void d3d_set_render_state(void *data, D3DRENDERSTATETYPE state, DWORD value);
|
void d3d_set_render_state(void *data, D3DRENDERSTATETYPE state, DWORD value);
|
||||||
|
|
||||||
bool d3d_reset(LPDIRECT3DDEVICE dev, D3DPRESENT_PARAMETERS *d3dpp);
|
bool d3d_reset(LPDIRECT3DDEVICE dev, D3DPRESENT_PARAMETERS *d3dpp);
|
||||||
|
|
|
@ -1414,7 +1414,7 @@ static bool d3d9_cg_renderchain_render(
|
||||||
frame_data, width, height, pitch);
|
frame_data, width, height, pitch);
|
||||||
|
|
||||||
/* Grab back buffer. */
|
/* Grab back buffer. */
|
||||||
d3dr->GetRenderTarget(0, &back_buffer);
|
d3d_device_get_render_target(d3dr, 0, (void**)&back_buffer);
|
||||||
|
|
||||||
/* In-between render target passes. */
|
/* In-between render target passes. */
|
||||||
for (i = 0; i < chain->passes.size() - 1; i++)
|
for (i = 0; i < chain->passes.size() - 1; i++)
|
||||||
|
@ -1549,7 +1549,7 @@ static bool d3d9_cg_renderchain_read_viewport(
|
||||||
(void)data;
|
(void)data;
|
||||||
(void)buffer;
|
(void)buffer;
|
||||||
|
|
||||||
if (FAILED(d3d->d3d_err = d3dr->GetRenderTarget(0, &target)))
|
if (!d3d_device_get_render_target(d3dr, 0, (void**)&target))
|
||||||
{
|
{
|
||||||
ret = false;
|
ret = false;
|
||||||
goto end;
|
goto end;
|
||||||
|
|
Loading…
Reference in New Issue