Commit cd024a26 authored by Paul Gofman's avatar Paul Gofman Committed by Alexandre Julliard

d3dx9: Improve performance and memory usage in preshader constants setting.

parent c614f0b1
...@@ -129,14 +129,23 @@ enum pres_reg_tables ...@@ -129,14 +129,23 @@ enum pres_reg_tables
PRES_REGTAB_FIRST_SHADER = PRES_REGTAB_CONST, PRES_REGTAB_FIRST_SHADER = PRES_REGTAB_CONST,
}; };
struct d3dx_const_param_eval_output
{
struct d3dx_parameter *param;
unsigned int table;
enum D3DXPARAMETER_CLASS constant_class;
unsigned int register_index;
unsigned int register_count;
};
struct d3dx_const_tab struct d3dx_const_tab
{ {
unsigned int input_count; unsigned int input_count;
D3DXCONSTANT_DESC *inputs; D3DXCONSTANT_DESC *inputs;
struct d3dx_parameter **inputs_param; struct d3dx_parameter **inputs_param;
ID3DXConstantTable *ctab; unsigned int const_set_count;
/* TODO: do not keep input constant structure unsigned int const_set_size;
(use it only at the parse stage) */ struct d3dx_const_param_eval_output *const_set;
const enum pres_reg_tables *regset2table; const enum pres_reg_tables *regset2table;
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment