oracular (3) gl_HelperInvocation.3G.gz

Provided by: opengl-4-man-doc_1.0~svn33624-2_all bug

NAME

       gl_HelperInvocation - indicates whether a fragment shader invocation is a helper invocation

DECLARATION

       in bool gl_HelperInvocation ;.SH "DESCRIPTION"

       The value gl_HelperInvocation is true if the fragment shader invocation is considered a helper invocation
       and is false otherwise. A helper invocation is a fragment-shader invocation that is created solely for
       the purposes of evaluating derivatives for use in non-helper fragment-shader invocations. Such
       derivatives are computed implicitly in the built-in function texture()(), and explicitly in the
       derivative functions dFdx()() and dFdy.

       Fragment shader helper invocations execute the same shader code as non-helper invocations, but will not
       have side effects that modify the framebuffer or other shader-accessible memory. In particular:

       •   Fragments corresponding to helper invocations are discarded when shader execution is complete,
           without updating the framebuffer.

       •   Stores to image and buffer variables performed by helper invocations have no effect on the underlying
           image or buffer memory.

       •   Atomic operations to image, buffer, or atomic counter variables performed by helper invocations have
           no effect on the underlying image or buffer memory. The values returned by such atomic operations are
           undefined.

       Helper invocations may be generated for pixels not covered by a primitive being rendered. While fragment
       shader inputs qualified with centroid are normally required to be sampled in the intersection of the
       pixel and the primitive, the requirement is ignored for such pixels since there is no intersection
       between the pixel and primitive.

       Helper invocations may also be generated for fragments that are covered by a primitive being rendered
       when the fragment is killed by early fragment tests (using the early_fragment_tests qualifier) or where
       the implementation is able to determine that executing the fragment shader would have no effect other
       than assisting in computing derivatives for other fragment shader invocations.

       The set of helper invocations generated when processing any set of primitives is implementation
       dependent.

VERSION SUPPORT

       ┌────────────────────┬───────────────────────────────────────────────────────────────────────────────────┐
       │                    │        OpenGL Shading Language Version                                            │
       ├────────────────────┼──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┤
       │Variable1.101.201.301.401.503.304.004.104.204.304.404.50 │
       │Name                │      │      │      │      │      │      │      │      │      │      │      │      │
       ├────────────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
       │gl_HelperInvocation │  -   │  -   │  -   │  -   │  -   │  -   │  -   │  -   │  -   │  -   │  -   │  ✔   │
       └────────────────────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘

SEE ALSO

       dFdx(), texture()

       Copyright © 2014 Khronos Group. This material may be distributed subject to the terms and conditions set
       forth in the Open Publication License, v 1.0, 8 June 1999.  http://opencontent.org/openpub/.

       Copyright © 2014 Khronos Group

[FIXME: source]                                    04/26/2024                            GL_HELPERINVOCATION(3G)