(360) Buildfixes

This commit is contained in:
twinaphex 2018-01-07 12:00:09 +01:00
parent e90a71d9f5
commit fce097b892
3 changed files with 21 additions and 12 deletions

View File

@ -1116,15 +1116,22 @@ bool d3d_create_pixel_shader(LPDIRECT3DDEVICE dev, const DWORD *a, void **b)
bool d3d_set_pixel_shader(LPDIRECT3DDEVICE dev, void *data)
{
#ifdef HAVE_D3D9
if (!dev)
D3DPixelShader *d3dps = (D3DPixelShader*)data;
if (!dev || !d3dps)
return false;
#if defined(__cplusplus)
if (dev->SetPixelShader(data) != D3D_OK)
if (dev->SetPixelShader(d3dps) == D3D_OK)
return true;
#else
if (IDirect3DDevice9_SetPixelShader(dev, data) != D3D_OK)
#ifdef _XBOX
/* Returns void on Xbox */
IDirect3DDevice9_SetPixelShader(dev, d3dps);
return true;
#else
if (IDirect3DDevice9_SetPixelShader(dev, d3dps) == D3D_OK)
return true;
#endif
#endif
#endif
return false;
}

View File

@ -484,7 +484,8 @@ static HRESULT xdk360_video_font_create_shaders(xdk360_video_font_t * font)
if (hr >= 0)
{
bool ret = d3d_create_vertex_shader(d3dr, (const DWORD*)pShaderCode->GetBufferPointer(), &font->s_FontLocals.m_pFontVertexShader );
bool ret = d3d_create_vertex_shader(d3dr, (const DWORD*)pShaderCode->GetBufferPointer(),
(void**)&font->s_FontLocals.m_pFontVertexShader );
d3dxbuffer_release(pShaderCode);
if (!ret)
@ -494,7 +495,8 @@ static HRESULT xdk360_video_font_create_shaders(xdk360_video_font_t * font)
if (hr >= 0)
{
ret = d3d_create_pixel_shader(d3dr, (DWORD*)pShaderCode->GetBufferPointer(), &font->s_FontLocals.m_pFontPixelShader);
ret = d3d_create_pixel_shader(d3dr, (DWORD*)pShaderCode->GetBufferPointer(),
(void**)&font->s_FontLocals.m_pFontPixelShader);
d3dxbuffer_release(pShaderCode);
if (!ret)
@ -504,7 +506,7 @@ static HRESULT xdk360_video_font_create_shaders(xdk360_video_font_t * font)
}
}
d3d_free_vertex_shader(font->s_FontLocals.m_pFontVertexShader);
d3d_free_vertex_shader(font->d3d->dev, font->s_FontLocals.m_pFontVertexShader);
}
font->s_FontLocals.m_pFontVertexShader = NULL;
@ -607,9 +609,9 @@ static void xdk360_free_font(void *data, bool is_threaded)
font->m_TranslatorTable = NULL;
if (font->s_FontLocals.m_pFontPixelShader)
d3d_free_pixel_shader(font->s_FontLocals.m_pFontPixelShader);
d3d_free_pixel_shader(font->d3d->dev, font->s_FontLocals.m_pFontPixelShader);
if (font->s_FontLocals.m_pFontVertexShader)
d3d_free_vertex_shader(font->s_FontLocals.m_pFontVertexShader);
d3d_free_vertex_shader(font->d3d->dev, font->s_FontLocals.m_pFontVertexShader);
if (font->s_FontLocals.m_pFontVertexDecl)
d3d_vertex_declaration_free(font->s_FontLocals.m_pFontVertexDecl);

View File

@ -389,18 +389,18 @@ static void hlsl_deinit_progs(hlsl_shader_data_t *hlsl)
for (i = 1; i < RARCH_HLSL_MAX_SHADERS; i++)
{
if (hlsl->prg[i].fprg && hlsl->prg[i].fprg != hlsl->prg[0].fprg)
d3d_free_pixel_shader(hlsl->prg[i].fprg);
d3d_free_pixel_shader(hlsl->d3d->dev, hlsl->prg[i].fprg);
if (hlsl->prg[i].vprg && hlsl->prg[i].vprg != hlsl->prg[0].vprg)
d3d_free_vertex_shader(hlsl->prg[i].vprg);
d3d_free_vertex_shader(hlsl->d3d->dev, hlsl->prg[i].vprg);
hlsl->prg[i].fprg = NULL;
hlsl->prg[i].vprg = NULL;
}
if (hlsl->prg[0].fprg)
d3d_free_pixel_shader(hlsl->prg[0].fprg);
d3d_free_pixel_shader(hlsl->d3d->dev, hlsl->prg[0].fprg);
if (hlsl->prg[0].vprg)
d3d_free_vertex_shader(hlsl->prg[0].vprg);
d3d_free_vertex_shader(hlsl->d3d->dev, hlsl->prg[0].vprg);
hlsl->prg[0].fprg = NULL;
hlsl->prg[0].vprg = NULL;