glsl: get rid of values_for_type()

This function is actually a wrapper for component_slots()
and it always returns 1 (or N) for samplers. Since
component_slots() now return 1 for samplers, it can go.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Samuel Pitoiset
2017-04-20 19:02:28 +02:00
parent 4a0aa0b3b3
commit 862361c4f5
3 changed files with 4 additions and 22 deletions

View File

@@ -42,21 +42,6 @@
*/ */
#define UNMAPPED_UNIFORM_LOC ~0u #define UNMAPPED_UNIFORM_LOC ~0u
/**
* Count the backing storage requirements for a type
*/
unsigned
values_for_type(const glsl_type *type)
{
if (type->is_sampler()) {
return 1;
} else if (type->is_array() && type->fields.array->is_sampler()) {
return type->array_size();
} else {
return type->component_slots();
}
}
void void
program_resource_visitor::process(const glsl_type *type, const char *name) program_resource_visitor::process(const glsl_type *type, const char *name)
{ {
@@ -351,7 +336,7 @@ private:
* uniform for multiple shader targets, but in this case we want to * uniform for multiple shader targets, but in this case we want to
* count it for each shader target. * count it for each shader target.
*/ */
const unsigned values = values_for_type(type); const unsigned values = type->component_slots();
if (type->contains_subroutine()) { if (type->contains_subroutine()) {
this->num_shader_subroutines += values; this->num_shader_subroutines += values;
} else if (type->contains_sampler()) { } else if (type->contains_sampler()) {
@@ -813,7 +798,7 @@ private:
if (!this->uniforms[id].builtin && if (!this->uniforms[id].builtin &&
!this->uniforms[id].is_shader_storage && !this->uniforms[id].is_shader_storage &&
this->buffer_block_index == -1) this->buffer_block_index == -1)
this->values += values_for_type(type); this->values += type->component_slots();
} }
/** /**

View File

@@ -75,9 +75,6 @@ void
validate_interstage_uniform_blocks(struct gl_shader_program *prog, validate_interstage_uniform_blocks(struct gl_shader_program *prog,
gl_linked_shader **stages); gl_linked_shader **stages);
unsigned
values_for_type(const glsl_type *type);
extern void extern void
link_assign_atomic_counter_resources(struct gl_context *ctx, link_assign_atomic_counter_resources(struct gl_context *ctx,
struct gl_shader_program *prog); struct gl_shader_program *prog);

View File

@@ -599,7 +599,7 @@ write_uniforms(struct blob *metadata, struct gl_shader_program *prog)
!prog->data->UniformStorage[i].is_shader_storage && !prog->data->UniformStorage[i].is_shader_storage &&
prog->data->UniformStorage[i].block_index == -1) { prog->data->UniformStorage[i].block_index == -1) {
unsigned vec_size = unsigned vec_size =
values_for_type(prog->data->UniformStorage[i].type) * prog->data->UniformStorage[i].type->component_slots() *
MAX2(prog->data->UniformStorage[i].array_elements, 1); MAX2(prog->data->UniformStorage[i].array_elements, 1);
blob_write_bytes(metadata, prog->data->UniformStorage[i].storage, blob_write_bytes(metadata, prog->data->UniformStorage[i].storage,
sizeof(union gl_constant_value) * vec_size); sizeof(union gl_constant_value) * vec_size);
@@ -659,7 +659,7 @@ read_uniforms(struct blob_reader *metadata, struct gl_shader_program *prog)
!prog->data->UniformStorage[i].is_shader_storage && !prog->data->UniformStorage[i].is_shader_storage &&
prog->data->UniformStorage[i].block_index == -1) { prog->data->UniformStorage[i].block_index == -1) {
unsigned vec_size = unsigned vec_size =
values_for_type(prog->data->UniformStorage[i].type) * prog->data->UniformStorage[i].type->component_slots() *
MAX2(prog->data->UniformStorage[i].array_elements, 1); MAX2(prog->data->UniformStorage[i].array_elements, 1);
blob_copy_bytes(metadata, blob_copy_bytes(metadata,
(uint8_t *) prog->data->UniformStorage[i].storage, (uint8_t *) prog->data->UniformStorage[i].storage,