aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIago Toral Quiroga <[email protected]>2015-09-28 13:56:28 +0200
committerIago Toral Quiroga <[email protected]>2015-09-28 14:23:26 +0200
commite7ae6d9e141489281295352e43facbc1aeb137d9 (patch)
tree6de089d6a35cefd75d3cf77351c6ee8e81e51751
parent5bff12ecb403356d7848dc02696c618b68a324f1 (diff)
glsl: revert "glsl: atomic counters can be declared as buffer-qualified variables"
This reverts commit 586142658e2927a68c. The specs are not explicit about any restrictions related to the types allowed on buffer variables, however, the description of opaque types (like atomic counters) is in conclict with the purpose of buffer variables: "The opaque types declare variables that are effectively opaque handles to other objects. These objects are accessed through built-in functions, not through direct reading or writing of the declared variable. (...) Opaque variables cannot be treated as l-values;(...)" Also, Mesa is already disallowing opaque types in interface blocks anyway, so that commit was not really achieving anything. Reviewed-by: Francisco Jerez <[email protected]>
-rw-r--r--src/glsl/ast_to_hir.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index b8d66dd0609..5e69bccd9a4 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -2854,7 +2854,7 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
}
if (var->type->contains_atomic()) {
- if (var->data.mode == ir_var_uniform || var->data.mode == ir_var_shader_storage) {
+ if (var->data.mode == ir_var_uniform) {
if (var->data.explicit_binding) {
unsigned *offset =
&state->atomic_counter_offsets[var->data.binding];
@@ -2872,8 +2872,8 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
}
} else if (var->data.mode != ir_var_function_in) {
_mesa_glsl_error(loc, state, "atomic counters may only be declared as "
- "function parameters, uniform-qualified or "
- "buffer-qualified global variables");
+ "function parameters or uniform-qualified "
+ "global variables");
}
}