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:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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);
|
||||||
|
@@ -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,
|
||||||
|
Reference in New Issue
Block a user