20 #include "../util/darray.h" 21 #include "../util/cf-parser.h" 53 static inline void ep_var_init(
struct ep_var *epv)
55 memset(epv, 0,
sizeof(
struct ep_var));
58 static inline void ep_var_free(
struct ep_var *epv)
73 bool is_const, is_property, is_uniform, is_texture,
written;
79 static inline void ep_param_init(
struct ep_param *epp,
81 bool is_property,
bool is_const,
bool is_uniform)
96 static inline void ep_param_free(
struct ep_param *epp)
113 static inline bool ep_struct_mapped(
struct ep_struct *eps)
115 if (eps->vars.num > 0)
116 return eps->vars.array[0].mapping != NULL;
121 static inline void ep_struct_init(
struct ep_struct *eps)
123 memset(eps, 0,
sizeof(
struct ep_struct));
126 static inline void ep_struct_free(
struct ep_struct *eps)
131 for (i = 0; i < eps->vars.num; i++)
132 ep_var_free(eps->vars.array+i);
147 static inline void ep_sampler_init(
struct ep_sampler *eps)
152 static inline void ep_sampler_free(
struct ep_sampler *eps)
156 for (i = 0; i < eps->states.num; i++)
157 bfree(eps->states.array[i]);
158 for (i = 0; i < eps->values.num; i++)
159 bfree(eps->values.array[i]);
176 static inline void ep_pass_init(
struct ep_pass *epp)
178 memset(epp, 0,
sizeof(
struct ep_pass));
181 static inline void ep_pass_free(
struct ep_pass *epp)
185 da_free(epp->fragment_program);
196 static inline void ep_technique_init(
struct ep_technique *ept)
201 static inline void ep_technique_free(
struct ep_technique *ept)
205 for (i = 0; i < ept->passes.num; i++)
206 ep_pass_free(ept->passes.array+i);
219 DARRAY(
const char*) func_deps;
220 DARRAY(
const char*) struct_deps;
221 DARRAY(
const char*) param_deps;
222 DARRAY(
const char*) sampler_deps;
226 static inline void ep_func_init(
struct ep_func *epf,
char *ret_type,
229 memset(epf, 0,
sizeof(
struct ep_func));
234 static inline void ep_func_free(
struct ep_func *epf)
237 for (i = 0; i < epf->param_vars.num; i++)
238 ep_var_free(epf->param_vars.array+i);
281 cf_parser_init(&ep->
cfp);
287 const char *effect_string,
const char *file);
struct cf_parser cfp
Definition: effect-parser.h:267
Definition: effect-parser.h:42
char * name
Definition: effect-parser.h:170
char * mapping
Definition: effect-parser.h:216
bool written
Definition: effect-parser.h:223
bool is_const
Definition: effect-parser.h:73
bool is_uniform
Definition: effect-parser.h:73
EXPORT int astrcmp_n(const char *str1, const char *str2, size_t n)
struct dstr contents
Definition: effect-parser.h:217
Definition: effect-parser.h:68
char * name
Definition: effect-parser.h:69
Definition: effect-parser.h:215
typedef DARRAY(profiler_time_entry_t) profiler_time_entries_t
Definition: effect-parser.h:41
Definition: cf-lexer.h:47
Definition: effect-parser.h:253
char * name
Definition: effect-parser.h:140
unsigned char uint8_t
Definition: vc_stdint.h:27
bool ep_parse(struct effect_parser *ep, gs_effect_t *effect, const char *effect_string, const char *file)
bool written
Definition: effect-parser.h:144
char * name
Definition: effect-parser.h:49
Definition: effect-parser.h:48
char * name
Definition: effect-parser.h:108
char * type
Definition: effect-parser.h:49
bool is_property
Definition: effect-parser.h:73
char * type
Definition: effect-parser.h:69
Definition: effect-parser.h:139
Definition: effect-parser.h:191
int array_count
Definition: effect-parser.h:74
#define da_free(v)
Definition: darray.h:458
struct gs_effect_pass * cur_pass
Definition: effect-parser.h:265
struct gs_effect_pass * pass
Definition: effect-parser.h:173
void ep_free(struct effect_parser *ep)
Definition: effect-parser.h:45
void ep_param_writevar(struct dstr *dst, struct darray *use_params)
Definition: cf-lexer.h:85
bool written
Definition: effect-parser.h:73
char * ret_type
Definition: effect-parser.h:216
Definition: effect-parser.h:107
enum ep_var_type var_type
Definition: effect-parser.h:50
ep_var_type
Definition: effect-parser.h:40
Definition: effect-parser.h:43
struct gs_effect_param * param
Definition: effect-parser.h:72
Definition: effect-parser.h:44
Definition: cf-parser.h:40
char * mapping
Definition: effect-parser.h:49
#define da_init(v)
Definition: darray.h:456
int writeorder
Definition: effect-parser.h:74
char * name
Definition: effect-parser.h:216
EXPORT void bfree(void *ptr)
Definition: effect-parser.h:169
bool written
Definition: effect-parser.h:110
bool is_texture
Definition: effect-parser.h:73
char * name
Definition: effect-parser.h:192
gs_effect_t * effect
Definition: effect-parser.h:254