mirror of
https://github.com/libretro/RetroArch
synced 2025-04-16 08:43:10 +00:00
(D3D9 HLSL) Simplifications
This commit is contained in:
parent
5ffd95aa1b
commit
88d0a4ac75
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user