mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
mesa: glsl: disallow initializers for varying vars
This commit is contained in:
parent
acb81d0268
commit
ac553c6ce4
1 changed files with 10 additions and 2 deletions
|
|
@ -3647,7 +3647,7 @@ _slang_codegen_global_variable(slang_assemble_ctx *A, slang_variable *var,
|
|||
const GLuint swizzle = _slang_var_swizzle(totalSize, 0);
|
||||
|
||||
if (var->initializer) {
|
||||
slang_info_log_error(A->log, "illegal assignment to '%s'", varName);
|
||||
slang_info_log_error(A->log, "illegal initializer for uniform '%s'", varName);
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -3695,13 +3695,21 @@ _slang_codegen_global_variable(slang_assemble_ctx *A, slang_variable *var,
|
|||
if (dbg) printf("UNIFORM (sz %d) ", totalSize);
|
||||
}
|
||||
else if (var->type.qualifier == SLANG_QUAL_VARYING) {
|
||||
if (!_slang_type_is_float_vec_mat(var->type.specifier.type)) {
|
||||
/* varyings must be float, vec or mat */
|
||||
if (!_slang_type_is_float_vec_mat(var->type.specifier.type) &&
|
||||
var->type.specifier.type != SLANG_SPEC_ARRAY) {
|
||||
slang_info_log_error(A->log,
|
||||
"varying '%s' must be float/vector/matrix",
|
||||
varName);
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (var->initializer) {
|
||||
slang_info_log_error(A->log, "illegal initializer for varying '%s'",
|
||||
varName);
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (prog) {
|
||||
/* user-defined varying */
|
||||
GLint varyingLoc = _mesa_add_varying(prog->Varying, varName, size);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue