X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fshader%2Fslang%2Fslang_compile_variable.h;h=d2a86b772c650f08a0b28013ba1c62f8bec1f944;hb=8abc860bd46a6cd584f9a64cb4613be76f82db06;hp=d12cfd7a401d4becd80ea96f6ba8a8d6984e7d33;hpb=29c471aafc6a3fef23d553e31a555d1782854a77;p=mesa.git diff --git a/src/mesa/shader/slang/slang_compile_variable.h b/src/mesa/shader/slang/slang_compile_variable.h index d12cfd7a401..d2a86b772c6 100644 --- a/src/mesa/shader/slang/slang_compile_variable.h +++ b/src/mesa/shader/slang/slang_compile_variable.h @@ -30,6 +30,23 @@ extern "C" { #endif +struct slang_ir_storage_; + + +typedef enum slang_type_variant_ +{ + SLANG_VARIANT, /* the default */ + SLANG_INVARIANT /* indicates the "invariant" keyword */ +} slang_type_variant; + + +typedef enum slang_type_centroid_ +{ + SLANG_CENTER, /* the default */ + SLANG_CENTROID /* indicates the "centroid" keyword */ +} slang_type_centroid; + + typedef enum slang_type_qualifier_ { SLANG_QUAL_NONE, @@ -51,10 +68,23 @@ slang_type_specifier_type_to_string(slang_type_specifier_type); +typedef enum slang_type_precision_ +{ + SLANG_PREC_DEFAULT, + SLANG_PREC_LOW, + SLANG_PREC_MEDIUM, + SLANG_PREC_HIGH +} slang_type_precision; + + typedef struct slang_fully_specified_type_ { slang_type_qualifier qualifier; slang_type_specifier specifier; + slang_type_precision precision; + slang_type_variant variant; + slang_type_centroid centroid; + GLint array_len; /**< -1 if not an array type */ } slang_fully_specified_type; extern int @@ -79,10 +109,9 @@ typedef struct slang_variable_ struct slang_operation_ *initializer; /**< Optional initializer code */ GLuint address; /**< Storage location */ GLuint size; /**< Variable's size in bytes */ - GLboolean global; /**< A global var? */ - GLboolean used; /**< Ever referenced by code? */ GLboolean isTemp; /**< a named temporary (__resultTmp) */ - void *aux; /**< Used during code gen */ + GLboolean declared; /**< for debug */ + struct slang_ir_storage_ *store; /**< Storage for this var */ } slang_variable;