From a6fcd9dae01b8b9882acb153ee1c782418ee9d95 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 23 Apr 2018 17:09:11 +0200 Subject: [PATCH] Create d3d9x_constant_table_set_defaults --- gfx/common/d3d9_common.c | 10 ++++++++++ gfx/common/d3d9_common.h | 3 +++ gfx/drivers_shader/shader_hlsl.c | 12 ++---------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/gfx/common/d3d9_common.c b/gfx/common/d3d9_common.c index e259749389..736cb577f1 100644 --- a/gfx/common/d3d9_common.c +++ b/gfx/common/d3d9_common.c @@ -574,6 +574,16 @@ void *d3d9x_constant_table_get_constant_by_name(void *_tbl, return NULL; } +void d3d9x_constant_table_set_defaults(LPDIRECT3DDEVICE9 dev, + void *p) +{ +#if defined(HAVE_D3DX) + LPD3DXCONSTANTTABLE consttbl = (LPD3DXCONSTANTTABLE)p; + if (consttbl && dev) + consttbl->lpVtbl->SetDefaults(consttbl, dev); +#endif +} + void d3d9x_constant_table_set_matrix(LPDIRECT3DDEVICE9 dev, void *p, void *data, const void *_matrix) diff --git a/gfx/common/d3d9_common.h b/gfx/common/d3d9_common.h index f10246f3c1..9d7c3cba1f 100644 --- a/gfx/common/d3d9_common.h +++ b/gfx/common/d3d9_common.h @@ -656,6 +656,9 @@ bool d3d9x_compile_shader_from_file( void *pperrormsgs, void *ppconstanttable); +void d3d9x_constant_table_set_defaults(LPDIRECT3DDEVICE9 dev, + void *p); + void d3d9x_constant_table_set_matrix(LPDIRECT3DDEVICE9 dev, void *p, void *data, const void *matrix); diff --git a/gfx/drivers_shader/shader_hlsl.c b/gfx/drivers_shader/shader_hlsl.c index 74640fe97c..757c02779e 100644 --- a/gfx/drivers_shader/shader_hlsl.c +++ b/gfx/drivers_shader/shader_hlsl.c @@ -41,20 +41,12 @@ #ifdef __cplusplus -#ifndef ID3DXConstantTable_SetDefaults -#define ID3DXConstantTable_SetDefaults(p,a) (p)->SetDefaults(a); -#endif - #ifndef ID3DXConstantTable_SetFloatArray #define ID3DXConstantTable_SetFloatArray(p,a,b,c,d) (p)->SetFloatArray(a,b,c,d) #endif #else -#ifndef ID3DXConstantTable_SetDefaults -#define ID3DXConstantTable_SetDefaults(p,a) (p)->lpVtbl->SetDefaults(p,a) -#endif - #ifndef ID3DXConstantTable_SetFloatArray #define ID3DXConstantTable_SetFloatArray(p,a,b,c,d) (p)->lpVtbl->SetFloatArray(p,a,b,c,d) #endif @@ -187,8 +179,8 @@ static void hlsl_set_params(void *dat, void *shader_data) out_size[0] = (float)out_width; out_size[1] = (float)out_height; - ID3DXConstantTable_SetDefaults(program->f_ctable, d3dr); - ID3DXConstantTable_SetDefaults(program->v_ctable, d3dr); + d3d9x_constant_table_set_defaults(d3dr, program->f_ctable); + d3d9x_constant_table_set_defaults(d3dr, program->v_ctable); if (program->vid_size_f) set_param_2f(program->vid_size_f, ori_size, program->f_ctable);