mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-03-05 18:07:01 +00:00
Add d3d_set_pixel_shader
This commit is contained in:
parent
7b040a52b6
commit
e03e578212
@ -1023,22 +1023,41 @@ void d3d_set_texture(LPDIRECT3DDEVICE dev, unsigned sampler,
|
||||
#endif
|
||||
}
|
||||
|
||||
HRESULT d3d_set_vertex_shader(LPDIRECT3DDEVICE dev, unsigned index,
|
||||
bool d3d_set_pixel_shader(LPDIRECT3DDEVICE dev, void *data)
|
||||
{
|
||||
#ifdef HAVE_D3D9
|
||||
if (!dev)
|
||||
return false;
|
||||
#if defined(__cplusplus)
|
||||
if (dev->SetPixelShader(data) != D3D_OK)
|
||||
return true;
|
||||
#else
|
||||
if (IDirect3DDevice9_SetPixelShader(dev, data) != D3D_OK)
|
||||
return true;
|
||||
#endif
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
bool d3d_set_vertex_shader(LPDIRECT3DDEVICE dev, unsigned index,
|
||||
void *data)
|
||||
{
|
||||
#if defined(_XBOX360)
|
||||
LPDIRECT3DVERTEXSHADER shader = (LPDIRECT3DVERTEXSHADER)data;
|
||||
D3DDevice_SetVertexShader(dev, shader);
|
||||
return S_OK;
|
||||
#elif defined(HAVE_D3D8) && !defined(__cplusplus)
|
||||
return IDirect3DDevice8_SetVertexShader(dev, index);
|
||||
if (IDirect3DDevice8_SetVertexShader(dev, index) != D3D_OK)
|
||||
return false;
|
||||
#elif defined(HAVE_D3D9) && !defined(__cplusplus)
|
||||
LPDIRECT3DVERTEXSHADER shader = (LPDIRECT3DVERTEXSHADER)data;
|
||||
return IDirect3DDevice9_SetVertexShader(dev, shader);
|
||||
if (IDirect3DDevice9_SetVertexShader(dev, shader) != D3D_OK)
|
||||
return false;
|
||||
#else
|
||||
LPDIRECT3DVERTEXSHADER shader = (LPDIRECT3DVERTEXSHADER)data;
|
||||
return dev->SetVertexShader(shader);
|
||||
if (dev->SetVertexShader(shader) != D3D_OK)
|
||||
return false;
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -93,7 +93,9 @@ void d3d_unlock_rectangle(LPDIRECT3DTEXTURE tex);
|
||||
void d3d_set_texture(LPDIRECT3DDEVICE dev, unsigned sampler,
|
||||
void *tex_data);
|
||||
|
||||
HRESULT d3d_set_vertex_shader(LPDIRECT3DDEVICE dev, unsigned index,
|
||||
bool d3d_set_pixel_shader(LPDIRECT3DDEVICE dev, void *data);
|
||||
|
||||
bool d3d_set_vertex_shader(LPDIRECT3DDEVICE dev, unsigned index,
|
||||
void *data);
|
||||
|
||||
void d3d_texture_blit(unsigned pixel_size,
|
||||
|
@ -632,7 +632,7 @@ static void xdk360_render_msg_post(xdk360_video_font_t * font)
|
||||
d3d_set_texture(d3dr, 0, NULL);
|
||||
d3d_set_vertex_declaration(d3dr, NULL);
|
||||
d3d_set_vertex_shader(d3dr, 0, NULL);
|
||||
D3DDevice_SetPixelShader(d3dr, NULL);
|
||||
d3d_set_pixel_shader(d3dr, NULL);
|
||||
d3d_set_render_state(d3dr, D3DRS_VIEWPORTENABLE, font->m_dwSavedState);
|
||||
}
|
||||
|
||||
@ -661,7 +661,7 @@ static void xdk360_render_msg_pre(xdk360_video_font_t * font)
|
||||
d3d_set_render_state(d3dr, D3DRS_VIEWPORTENABLE, FALSE);
|
||||
d3d_set_vertex_declaration(d3dr, font->s_FontLocals.m_pFontVertexDecl);
|
||||
d3d_set_vertex_shader(d3dr, 0, font->s_FontLocals.m_pFontVertexShader);
|
||||
d3dr->SetPixelShader(font->s_FontLocals.m_pFontPixelShader);
|
||||
d3d_set_pixel_shader(d3dr, font->s_FontLocals.m_pFontPixelShader);
|
||||
|
||||
/* Set the texture scaling factor as a vertex shader constant.
|
||||
* Call here to avoid load hit store from writing to vTexScale above
|
||||
|
@ -89,10 +89,6 @@ typedef struct hlsl_shader_data hlsl_shader_data_t;
|
||||
#define IDirect3DDevice9_CreateVertexShader(p, a, b) ((p)->CreateVertexShader(a, b))
|
||||
#endif
|
||||
|
||||
#ifndef IDirect3DDevice9_SetPixelShader
|
||||
#define IDirect3DDevice9_SetPixelShader(p, a) ((p)->SetPixelShader(a))
|
||||
#endif
|
||||
|
||||
#ifndef IDirect3DPixelShader9_Release
|
||||
#define IDirect3DPixelShader9_Release(p) ((p)->Release())
|
||||
#endif
|
||||
@ -512,7 +508,7 @@ static void *hlsl_init(void *data, const char *path)
|
||||
hlsl_set_program_attributes(hlsl_data, i);
|
||||
|
||||
d3d_set_vertex_shader(d3d->dev, 1, hlsl_data->prg[1].vprg);
|
||||
IDirect3DDevice9_SetPixelShader(d3d->dev, hlsl_data->prg[1].fprg);
|
||||
d3d_set_pixel_shader(d3d->dev, hlsl_data->prg[1].fprg);
|
||||
|
||||
return hlsl_data;
|
||||
|
||||
@ -544,7 +540,7 @@ static void hlsl_use(void *data, void *shader_data, unsigned idx, bool set_activ
|
||||
hlsl_data->active_idx = idx;
|
||||
|
||||
d3d_set_vertex_shader(d3dr, idx, hlsl_data->prg[idx].vprg);
|
||||
IDirect3DDevice9_SetPixelShader(d3dr, hlsl_data->prg[idx].fprg);
|
||||
d3d_set_pixel_shader(d3dr, hlsl_data->prg[idx].fprg);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user