On 24/04/17 20:35, Samuel Pitoiset wrote:
Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
---
  src/compiler/glsl/ast_to_hir.cpp | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index 85015e140e..e4b076f700 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -5137,7 +5137,8 @@ ast_declarator_list::hir(exec_list *instructions,
            *     * A Boolean type (bool, bvec2 ...)
            *     * An opaque type
            */

You should probably update the comment above:

   /* From section 4.3.6 (Output variables) of the GLSL 4.40 spec:
    *
    *     It is a compile-time error to declare a vertex, tessellation
    *     evaluation, tessellation control, or geometry shader output
    *     that contains any of the following:
    *
    *     * A Boolean type (bool, bvec2 ...)
    *     * An opaque type
    *
    * From the ARB_bindless_texture spec:
    *
    *   "Output variables can only be floating-point scalars,
    *   floating-point vectors, matrices, signed or unsigned integers or
    *   integer vectors, sampler or image types, or arrays or structures
    *   of any these."
    */

With that:

Reviewed-by: Timothy Arceri <tarc...@itsqueeze.com>

-         if (check_type->is_boolean() || check_type->contains_opaque())
+         if (check_type->is_boolean() || check_type->contains_atomic() ||
+             (!state->has_bindless() && check_type->contains_opaque()))
              _mesa_glsl_error(&loc, state,
                               "%s shader output cannot have type %s",
                               _mesa_shader_stage_to_string(state->stage),

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to