Quellcode durchsuchen

glsl/cs: Prohibit user-defined ins/outs in compute shaders.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
tags/mesa-10.2-rc1
Paul Berry vor 11 Jahren
Ursprung
Commit
5a79bdab30
1 geänderte Dateien mit 7 neuen und 0 gelöschten Zeilen
  1. 7
    0
      src/glsl/ast_to_hir.cpp

+ 7
- 0
src/glsl/ast_to_hir.cpp Datei anzeigen

@@ -2282,6 +2282,13 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
var->data.mode = ir_var_uniform;

if (!is_parameter && is_varying_var(var, state->stage)) {
/* User-defined ins/outs are not permitted in compute shaders. */
if (state->stage == MESA_SHADER_COMPUTE) {
_mesa_glsl_error(loc, state,
"user-defined input and output variables are not "
"permitted in compute shaders");
}

/* This variable is being used to link data between shader stages (in
* pre-glsl-1.30 parlance, it's a "varying"). Check that it has a type
* that is allowed for such purposes.

Laden…
Abbrechen
Speichern