Create d3d9x_constant_table_set_defaults

This commit is contained in:
twinaphex 2018-04-23 17:09:11 +02:00
parent bd3f39b005
commit a6fcd9dae0
3 changed files with 15 additions and 10 deletions

View File

@ -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)

View File

@ -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);

View File

@ -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);