(D3D9 HLSL) Simplifications

This commit is contained in:
libretroadmin 2022-05-16 12:01:23 +02:00
parent 5ffd95aa1b
commit 88d0a4ac75
3 changed files with 16 additions and 41 deletions

View File

@ -439,17 +439,6 @@ bool d3d9x_create_font_indirect(void *_dev,
return false; return false;
} }
void d3d9x_buffer_release(void *data)
{
#ifdef HAVE_D3DX
LPD3DXBUFFER p = (LPD3DXBUFFER)data;
if (!p)
return;
p->lpVtbl->Release(p);
#endif
}
bool d3d9x_compile_shader( bool d3d9x_compile_shader(
const char *src, const char *src,
unsigned src_data_len, unsigned src_data_len,
@ -538,16 +527,6 @@ bool d3d9x_compile_shader_from_file(
return false; return false;
} }
const void *d3d9x_get_buffer_ptr(void *data)
{
#if defined(HAVE_D3DX)
ID3DXBuffer *listing = (ID3DXBuffer*)data;
if (listing)
return listing->lpVtbl->GetBufferPointer(listing);
#endif
return NULL;
}
void *d3d9x_constant_table_get_constant_by_name(void *_tbl, void *d3d9x_constant_table_get_constant_by_name(void *_tbl,
void *_handle, void *_name) void *_handle, void *_name)
{ {

View File

@ -174,8 +174,6 @@ void d3d9x_font_draw_text(void *data, void *sprite_data, void *string_data,
void d3d9x_font_get_text_metrics(void *data, void *metrics); void d3d9x_font_get_text_metrics(void *data, void *metrics);
void d3d9x_buffer_release(void *data);
void d3d9x_font_release(void *data); void d3d9x_font_release(void *data);
bool d3d9x_compile_shader( bool d3d9x_compile_shader(
@ -210,8 +208,6 @@ void d3d9x_constant_table_set_defaults(LPDIRECT3DDEVICE9 dev,
void d3d9x_constant_table_set_matrix(LPDIRECT3DDEVICE9 dev, void d3d9x_constant_table_set_matrix(LPDIRECT3DDEVICE9 dev,
void *p, void *data, const void *matrix); void *p, void *data, const void *matrix);
const void *d3d9x_get_buffer_ptr(void *data);
const bool d3d9x_constant_table_set_float(void *p, const bool d3d9x_constant_table_set_float(void *p,
void *a, void *b, float val); void *a, void *b, float val);

View File

@ -156,24 +156,24 @@ static bool d3d9_hlsl_load_program_from_file(
} }
IDirect3DDevice9_CreatePixelShader(dev, IDirect3DDevice9_CreatePixelShader(dev,
(const DWORD*)d3d9x_get_buffer_ptr(code_f), (const DWORD*)code_f->lpVtbl->GetBufferPointer(code_f),
(LPDIRECT3DPIXELSHADER9*)&pass->fprg); (LPDIRECT3DPIXELSHADER9*)&pass->fprg);
IDirect3DDevice9_CreateVertexShader(dev, IDirect3DDevice9_CreateVertexShader(dev,
(const DWORD*)d3d9x_get_buffer_ptr(code_v), (const DWORD*)code_v->lpVtbl->GetBufferPointer(code_v),
(LPDIRECT3DVERTEXSHADER9*)&pass->vprg); (LPDIRECT3DVERTEXSHADER9*)&pass->vprg);
d3d9x_buffer_release((void*)code_f); code_f->lpVtbl->Release(code_f);
d3d9x_buffer_release((void*)code_v); code_v->lpVtbl->Release(code_v);
return true; return true;
error: error:
RARCH_ERR("Cg/HLSL error:\n"); RARCH_ERR("Cg/HLSL error:\n");
if (listing_f) if (listing_f)
RARCH_ERR("Fragment:\n%s\n", (char*)d3d9x_get_buffer_ptr(listing_f)); RARCH_ERR("Fragment:\n%s\n", (char*)listing_f->lpVtbl->GetBufferPointer(listing_f));
if (listing_v) if (listing_v)
RARCH_ERR("Vertex:\n%s\n", (char*)d3d9x_get_buffer_ptr(listing_v)); RARCH_ERR("Vertex:\n%s\n", (char*)listing_v->lpVtbl->GetBufferPointer(listing_v));
d3d9x_buffer_release((void*)listing_f); listing_f->lpVtbl->Release(listing_f);
d3d9x_buffer_release((void*)listing_v); listing_v->lpVtbl->Release(listing_v);
return false; return false;
} }
@ -204,24 +204,24 @@ static bool d3d9_hlsl_load_program(
} }
IDirect3DDevice9_CreatePixelShader(dev, IDirect3DDevice9_CreatePixelShader(dev,
(const DWORD*)d3d9x_get_buffer_ptr(code_f), (const DWORD*)code_f->lpVtbl->GetBufferPointer(code_f),
(LPDIRECT3DPIXELSHADER9*)&pass->fprg); (LPDIRECT3DPIXELSHADER9*)&pass->fprg);
IDirect3DDevice9_CreateVertexShader(dev, IDirect3DDevice9_CreateVertexShader(dev,
(const DWORD*)d3d9x_get_buffer_ptr(code_v), (const DWORD*)code_v->lpVtbl->GetBufferPointer(code_v),
(LPDIRECT3DVERTEXSHADER9*)&pass->vprg); (LPDIRECT3DVERTEXSHADER9*)&pass->vprg);
d3d9x_buffer_release((void*)code_f); code_f->lpVtbl->Release(code_f);
d3d9x_buffer_release((void*)code_v); code_v->lpVtbl->Release(code_v);
return true; return true;
error: error:
RARCH_ERR("Cg/HLSL error:\n"); RARCH_ERR("Cg/HLSL error:\n");
if (listing_f) if (listing_f)
RARCH_ERR("Fragment:\n%s\n", (char*)d3d9x_get_buffer_ptr(listing_f)); RARCH_ERR("Fragment:\n%s\n", (char*)listing_f->lpVtbl->GetBufferPointer(listing_f));
if (listing_v) if (listing_v)
RARCH_ERR("Vertex:\n%s\n", (char*)d3d9x_get_buffer_ptr(listing_v)); RARCH_ERR("Vertex:\n%s\n", (char*)listing_v->lpVtbl->GetBufferPointer(listing_v));
d3d9x_buffer_release((void*)listing_f); listing_f->lpVtbl->Release(listing_f);
d3d9x_buffer_release((void*)listing_v); listing_v->lpVtbl->Release(listing_v);
return false; return false;
} }