mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Add d3dxbuffer_release
This commit is contained in:
parent
9f6a97db76
commit
9fe3271900
@ -1477,3 +1477,24 @@ bool d3dx_create_font_indirect(LPDIRECT3DDEVICE dev,
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
void d3dxbuffer_release(void *data)
|
||||
{
|
||||
#ifdef HAVE_D3D9
|
||||
#ifdef HAVE_D3DX
|
||||
#ifdef __cplusplus
|
||||
ID3DXBuffer *p = (ID3DXBuffer*)data;
|
||||
#else
|
||||
LPD3DXBUFFER p = (LPD3DXBUFFER)data;
|
||||
#endif
|
||||
if (!p)
|
||||
return;
|
||||
|
||||
#ifdef __cplusplus
|
||||
p->Release();
|
||||
#else
|
||||
p->lpVtbl->Release(p);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
@ -192,6 +192,8 @@ bool d3d_check_device_type(LPDIRECT3D d3d,
|
||||
bool d3dx_create_font_indirect(LPDIRECT3DDEVICE dev,
|
||||
void *desc, void **font_data);
|
||||
|
||||
void d3dxbuffer_release(void *data);
|
||||
|
||||
D3DTEXTUREFILTERTYPE d3d_translate_filter(unsigned type);
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
@ -409,8 +409,8 @@ typedef struct GLYPH_ATTR
|
||||
typedef struct
|
||||
{
|
||||
D3DVertexDeclaration *m_pFontVertexDecl;
|
||||
D3DVertexShader *m_pFontVertexShader;
|
||||
D3DPixelShader *m_pFontPixelShader;
|
||||
D3DVertexShader *m_pFontVertexShader;
|
||||
D3DPixelShader *m_pFontPixelShader;
|
||||
} Font_Locals_t;
|
||||
|
||||
typedef struct
|
||||
@ -486,7 +486,7 @@ static HRESULT xdk360_video_font_create_shaders(xdk360_video_font_t * font)
|
||||
{
|
||||
hr = d3dr->CreateVertexShader((const DWORD*)pShaderCode->GetBufferPointer(),
|
||||
&font->s_FontLocals.m_pFontVertexShader );
|
||||
pShaderCode->Release();
|
||||
d3dxbuffer_release(pShaderCode);
|
||||
|
||||
if (hr >= 0)
|
||||
{
|
||||
@ -497,7 +497,7 @@ static HRESULT xdk360_video_font_create_shaders(xdk360_video_font_t * font)
|
||||
{
|
||||
hr = d3dr->CreatePixelShader((DWORD*)pShaderCode->GetBufferPointer(),
|
||||
&font->s_FontLocals.m_pFontPixelShader );
|
||||
pShaderCode->Release();
|
||||
d3dxbuffer_release(pShaderCode);
|
||||
|
||||
if (hr >= 0)
|
||||
{
|
||||
|
@ -77,12 +77,8 @@ typedef struct hlsl_shader_data hlsl_shader_data_t;
|
||||
#define ID3DXConstantTable_GetBufferPointer(p) (p)->GetBufferPointer()
|
||||
#endif
|
||||
|
||||
#ifndef ID3DXBuffer_Release
|
||||
#define ID3DXBuffer_Release(p) (p)->Release()
|
||||
#endif
|
||||
|
||||
#ifndef ID3DXConstantTable_GetConstantByName
|
||||
#define ID3DXConstantTable_GetConstantByName(p,a,b) ((p)->GetConstantByName(a, b))
|
||||
#ifndef ID3DXConstantTable_GetConstantByName
|
||||
#define ID3DXConstantTable_GetConstantByName(p,a,b) ((p)->GetConstantByName(a, b))
|
||||
#endif
|
||||
|
||||
#ifndef IDirect3DDevice9_CreatePixelShader
|
||||
@ -127,12 +123,8 @@ typedef struct hlsl_shader_data hlsl_shader_data_t;
|
||||
#define ID3DXConstantTable_GetBufferPointer(p) (p)->lpVtbl->GetBufferPointer(p)
|
||||
#endif
|
||||
|
||||
#ifndef ID3DXBuffer_Release
|
||||
#define ID3DXBuffer_Release(p) (p)->lpVtbl->Release(p)
|
||||
#endif
|
||||
|
||||
#ifndef ID3DXConstantTable_GetConstantByName
|
||||
#define ID3DXConstantTable_GetConstantByName(p,a,b) ((p)->lpVtbl->GetConstantByName(p, a, b))
|
||||
#ifndef ID3DXConstantTable_GetConstantByName
|
||||
#define ID3DXConstantTable_GetConstantByName(p,a,b) ((p)->lpVtbl->GetConstantByName(p, a, b))
|
||||
#endif
|
||||
|
||||
#ifndef ID3DXConstantTable_SetMatrix
|
||||
@ -303,18 +295,14 @@ static bool hlsl_compile_program(
|
||||
|
||||
IDirect3DDevice9_CreatePixelShader(d3dr, (const DWORD*)ID3DXConstantTable_GetBufferPointer(code_f), &program->fprg);
|
||||
IDirect3DDevice9_CreateVertexShader(d3dr, (const DWORD*)ID3DXConstantTable_GetBufferPointer(code_v), &program->vprg);
|
||||
ID3DXBuffer_Release(code_f);
|
||||
ID3DXBuffer_Release(code_v);
|
||||
d3dxbuffer_release((void*)code_f);
|
||||
d3dxbuffer_release((void*)code_v);
|
||||
|
||||
end:
|
||||
if (listing_f)
|
||||
{
|
||||
ID3DXBuffer_Release(listing_f);
|
||||
}
|
||||
d3dxbuffer_release((void*)listing_f);
|
||||
if (listing_v)
|
||||
{
|
||||
ID3DXBuffer_Release(listing_v);
|
||||
}
|
||||
d3dxbuffer_release((void*)listing_v);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -643,4 +631,4 @@ const shader_backend_t hlsl_backend = {
|
||||
|
||||
RARCH_SHADER_HLSL,
|
||||
"hlsl"
|
||||
};
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user