mesa/st_tgsi_to_glsl: prepare add_constant for fp64

This just moves stuff around a little to make the next patch
cleaner.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie 2015-02-17 09:44:50 +10:00
parent 12150a5bee
commit 0178358a2d
1 changed files with 23 additions and 22 deletions

View File

@ -903,29 +903,30 @@ glsl_to_tgsi_visitor::add_constant(gl_register_file file,
if (file == PROGRAM_CONSTANT) {
return _mesa_add_typed_unnamed_constant(this->prog->Parameters, values,
size, datatype, swizzle_out);
} else {
int index = 0;
immediate_storage *entry;
assert(file == PROGRAM_IMMEDIATE);
/* Search immediate storage to see if we already have an identical
* immediate that we can use instead of adding a duplicate entry.
*/
foreach_in_list(immediate_storage, entry, &this->immediates) {
if (entry->size == size &&
entry->type == datatype &&
!memcmp(entry->values, values, size * sizeof(gl_constant_value))) {
return index;
}
index++;
}
/* Add this immediate to the list. */
entry = new(mem_ctx) immediate_storage(values, size, datatype);
this->immediates.push_tail(entry);
this->num_immediates++;
return index;
}
assert(file == PROGRAM_IMMEDIATE);
int index = 0;
immediate_storage *entry;
/* Search immediate storage to see if we already have an identical
* immediate that we can use instead of adding a duplicate entry.
*/
foreach_in_list(immediate_storage, entry, &this->immediates) {
if (entry->size == size &&
entry->type == datatype &&
!memcmp(entry->values, values, size * sizeof(gl_constant_value))) {
return index;
}
index++;
}
/* Add this immediate to the list. */
entry = new(mem_ctx) immediate_storage(values, size, datatype);
this->immediates.push_tail(entry);
this->num_immediates++;
return index;
}
st_src_reg