From 36c604c8246ecbd50ee4d7d685201822973df5ec Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 30 Oct 2014 16:49:32 -0700 Subject: [PATCH] nir: Add a couple of helpers for glsl types. This will be used by tgsi_to_nir, which needs to get vec4 types for declaring shader input/output variables. v2: Add a missing space. Reviewed-by: Matt Turner (v2) Reviewed-by: Jason Ekstrand --- src/glsl/nir/nir_types.cpp | 14 +++++++++++++- src/glsl/nir/nir_types.h | 3 +++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/glsl/nir/nir_types.cpp b/src/glsl/nir/nir_types.cpp index fe0001592d1..a13c3e12a86 100644 --- a/src/glsl/nir/nir_types.cpp +++ b/src/glsl/nir/nir_types.cpp @@ -136,8 +136,20 @@ glsl_type_is_matrix(const struct glsl_type *type) return type->is_matrix(); } -const glsl_type* +const glsl_type * glsl_void_type(void) { return glsl_type::void_type; } + +const glsl_type * +glsl_vec4_type(void) +{ + return glsl_type::vec4_type; +} + +const glsl_type * +glsl_array_type(const glsl_type *base, unsigned elements) +{ + return glsl_type::get_array_instance(base, elements); +} diff --git a/src/glsl/nir/nir_types.h b/src/glsl/nir/nir_types.h index 6f91e2dce8d..494051a6755 100644 --- a/src/glsl/nir/nir_types.h +++ b/src/glsl/nir/nir_types.h @@ -69,6 +69,9 @@ bool glsl_type_is_scalar(const struct glsl_type *type); bool glsl_type_is_matrix(const struct glsl_type *type); const struct glsl_type *glsl_void_type(void); +const struct glsl_type *glsl_vec4_type(void); +const struct glsl_type *glsl_array_type(const struct glsl_type *base, + unsigned elements); #ifdef __cplusplus } -- 2.30.2