Browse Source

nir/types: Add accessors for function parameter/return types

tags/12.0-branchpoint
Jason Ekstrand 10 years ago
parent
commit
ac4d459aa2
2 changed files with 18 additions and 0 deletions
  1. 12
    0
      src/glsl/nir/nir_types.cpp
  2. 6
    0
      src/glsl/nir/nir_types.h

+ 12
- 0
src/glsl/nir/nir_types.cpp View File

@@ -70,6 +70,18 @@ glsl_get_struct_field(const glsl_type *type, unsigned index)
return type->fields.structure[index].type;
}

const glsl_type *
glsl_get_function_return_type(const glsl_type *type)
{
return type->fields.parameters[0].type;
}

const glsl_function_param *
glsl_get_function_param(const glsl_type *type, unsigned index)
{
return &type->fields.parameters[index + 1];
}

const struct glsl_type *
glsl_get_column_type(const struct glsl_type *type)
{

+ 6
- 0
src/glsl/nir/nir_types.h View File

@@ -49,6 +49,12 @@ const struct glsl_type *glsl_get_array_element(const struct glsl_type *type);

const struct glsl_type *glsl_get_column_type(const struct glsl_type *type);

const struct glsl_type *
glsl_get_function_return_type(const struct glsl_type *type);

const struct glsl_function_param *
glsl_get_function_param(const struct glsl_type *type, unsigned index);

enum glsl_base_type glsl_get_base_type(const struct glsl_type *type);

unsigned glsl_get_vector_elements(const struct glsl_type *type);

Loading…
Cancel
Save