mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
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
|
||||
}
|
||||
|
||||
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,
|
||||
unsigned level, D3DLOCKED_RECT *lock_rect, RECT *rect,
|
||||
unsigned rectangle_height, unsigned flags)
|
||||
|
@ -110,6 +110,9 @@ void d3d_frame_postprocess(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);
|
||||
|
||||
bool d3d_reset(LPDIRECT3DDEVICE dev, D3DPRESENT_PARAMETERS *d3dpp);
|
||||
|
@ -1414,7 +1414,7 @@ static bool d3d9_cg_renderchain_render(
|
||||
frame_data, width, height, pitch);
|
||||
|
||||
/* Grab back buffer. */
|
||||
d3dr->GetRenderTarget(0, &back_buffer);
|
||||
d3d_device_get_render_target(d3dr, 0, (void**)&back_buffer);
|
||||
|
||||
/* In-between render target passes. */
|
||||
for (i = 0; i < chain->passes.size() - 1; i++)
|
||||
@ -1549,7 +1549,7 @@ static bool d3d9_cg_renderchain_read_viewport(
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
if (FAILED(d3d->d3d_err = d3dr->GetRenderTarget(0, &target)))
|
||||
if (!d3d_device_get_render_target(d3dr, 0, (void**)&target))
|
||||
{
|
||||
ret = false;
|
||||
goto end;
|
||||
|
Loading…
x
Reference in New Issue
Block a user