out = ureg_DECL_output(ureg, TGSI_SEMANTIC_COLOR, 0);
if (num_consts >= 1) {
- constant = (struct ureg_src *) malloc(sizeof(struct ureg_src) * end_const);
+ constant = malloc(sizeof(struct ureg_src) * end_const);
for (i = start_const; i < end_const; i++) {
constant[i] = ureg_DECL_constant(ureg, i);
}
}
if (num_temps >= 1) {
- temp = (struct ureg_dst *) malloc(sizeof(struct ureg_dst) * end_temp);
+ temp = malloc(sizeof(struct ureg_dst) * end_temp);
for (i = start_temp; i < end_temp; i++) {
temp[i] = ureg_DECL_temporary(ureg);
}
}
if (num_samplers >= 1) {
- sampler = (struct ureg_src *) malloc(sizeof(struct ureg_src) * end_sampler);
+ sampler = malloc(sizeof(struct ureg_src) * end_sampler);
for (i = start_sampler; i < end_sampler; i++) {
sampler[i] = ureg_DECL_sampler(ureg, i);
}
ureg_END(ureg);
shader->tokens = ureg_finalize(ureg);
- if(!shader->tokens)
+ if (!shader->tokens) {
+ ureg_destroy(ureg);
return NULL;
+ }
p = pipe->create_fs_state(pipe, shader);
- ureg_destroy(ureg);
if (num_temps >= 1) {
for (i = start_temp; i < end_temp; i++) {
}
}
- if (temp)
- free(temp);
- if (constant)
- free(constant);
- if (sampler)
- free(sampler);
+ ureg_destroy(ureg);
+
+ free(temp);
+ free(constant);
+ free(sampler);
return p;
}
type == PIPE_SHADER_FRAGMENT);
state.tokens = tokens;
+ memset(&state.stream_output, 0, sizeof(state.stream_output));
shader->type = type;
shader->tokens = tokens;