[Mesa-dev] [PATCH v2 07/31] glsl: allow bindless samplers/images as shader outputs
Timothy Arceri
tarceri at itsqueeze.com
Wed Apr 26 02:21:15 UTC 2017
On 24/04/17 20:35, Samuel Pitoiset wrote:
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at 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 <tarceri at 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),
>
More information about the mesa-dev
mailing list