[Mesa-dev] [PATCH 1/2] glsl: prohibit lowp, mediump precision on atomic_uint
Kenneth Graunke
kenneth at whitecape.org
Fri Oct 7 07:46:44 UTC 2016
On Friday, October 7, 2016 8:52:18 AM PDT Tapani Pälli wrote:
> Fixes following dEQP tests:
>
> dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_precision
> dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_precision
> dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_precision
>
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98131
> ---
> src/compiler/glsl/ast_to_hir.cpp | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
> index 8cdb917..c3c8cef 100644
> --- a/src/compiler/glsl/ast_to_hir.cpp
> +++ b/src/compiler/glsl/ast_to_hir.cpp
> @@ -2585,6 +2585,20 @@ select_gles_precision(unsigned qual_precision,
> type->name);
> }
> }
> +
> +
> + /* Section 4.1.7.3 (Atomic Counters) of the GLSL ES 3.10 spec says:
> + *
> + * "The default precision of all atomic types is highp. It is an error to
> + * declare an atomic type with a different precision or to specify the
> + * default precision for an atomic type to be lowp or mediump."
> + */
> + if (type->base_type == GLSL_TYPE_ATOMIC_UINT &&
> + precision != ast_precision_high) {
> + _mesa_glsl_error(loc, state,
> + "atomic_uint can only have highp precision qualifier");
> + }
> +
> return precision;
> }
>
>
Hrm, wouldn't this break for precision == ast_precision_none?
--Ken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161007/0aba69c7/attachment.sig>
More information about the mesa-dev
mailing list