Lines Matching refs:shaders

5 [[shaders]]  anchor
14 control and evaluation shaders operating on <<drawing-patch-lists,patches>>,
15 geometry shaders, if enabled, operating on primitives, and fragment shaders,
18 and geometry shaders are collectively referred to as
24 Compute shaders operate on compute invocations in a workgroup.
41 [[shaders-objects]]
63 [[shaders-objects-creation]]
70 [open,refpage='vkCreateShadersEXT',desc='Create one or more new shaders',type='protos']
531 linked to all other shaders created in the same flink:vkCreateShadersEXT
589 This means that the application need not create multiple shaders when it
611 [[shaders-objects-binary-code]]
668 [[shaders-objects-binary-compatibility]]
688 Binary shaders retrieved from a physical device with a certain
728 [[shaders-objects-binding]]
749 When binding linked shaders, an application may: bind them in any
750 combination of one or more calls to fname:vkCmdBindShadersEXT (i.e., shaders
758 (i.e., any shaders bound to the stages specified in pname:pStages are
857 [[shaders-objects-state]]
1159 [[shaders-objects-pipeline-interaction]]
1163 <<shaders-binding,corresponding to each stage>> in pname:pStages to be
1174 corresponding to pname:pipelineBindPoint, meaning that any shaders that had
1176 the pipeline was created without shaders for some of those stages.
1178 [[shaders-objects-destruction]]
1225 The stages of a pipeline can: use shaders that come from different modules.
1377 A shader module can: be destroyed while pipelines created using its shaders
1397 [[shaders-identifiers]]
1517 [[shaders-binding]]
1582 [[shaders-execution]]
1604 [[shaders-termination]]
1614 <<shaders-helper-invocations, helper invocation>>.
1616 In addition to the above conditions, <<shaders-helper-invocations,helper
1618 <<shaders-derivative-operations,derivative group>> either terminate or
1619 become <<shaders-helper-invocations,helper invocations>> via
1629 [[shaders-execution-memory-ordering]]
1632 The order in which image or buffer memory is read or written by shaders is
1640 * <<shaders-vertex-execution,Vertex>> and
1641 <<shaders-tessellation-evaluation-execution,tessellation evaluation>>
1642 shaders will be invoked at least once for each unique vertex, as defined
1644 * <<fragops-shader,Fragment>> shaders will be invoked zero or more times,
1650 to primitive B. This applies even to fragment shaders; while fragment
1745 Atomics allow shaders to use shared global addresses for mutual exclusion or
1758 [[shaders-inputs]]
1761 Data is passed into and out of shaders using variables with input or output
1774 [[shaders-task]]
1777 Task shaders operate in conjunction with the mesh shaders to produce a
1783 Task shaders are invoked via the execution of the
1807 Task shaders execute in _global workgroups_ which are divided into a number
1824 [[shaders-mesh]]
1827 Mesh shaders operate in workgroups to produce a collection of primitives
1832 Mesh shaders are invoked via the execution of the
1855 Mesh shaders execute in _global workgroups_ which are divided into a number
1876 [[shaders-cluster-culling]]
1879 Cluster Culling shaders are invoked via the execution of the
1886 Cluster Culling shaders operate in workgroups to perform cluster-based
1901 Cluster Culling shaders execute in _global workgroups_ which are divided
1912 [[shaders-vertex]]
1929 [[shaders-vertex-execution]]
1960 [[shaders-tessellation-control]]
1991 ifdef::VK_EXT_extended_dynamic_state2[when drawing using <<shaders-objects, shader objects>>, or]
1992 ifndef::VK_EXT_extended_dynamic_state2[when drawing using <<shaders-objects, shader objects>>.]
2020 evaluation shaders, which must: be specified in at least one of the shaders.
2026 [[shaders-tessellation-control-execution]]
2046 Tessellation control shaders will read undefined: values if one invocation
2052 [[shaders-tessellation-evaluation]]
2061 [[shaders-tessellation-evaluation-execution]]
2072 [[shaders-geometry]]
2081 [[shaders-geometry-execution]]
2096 [[shaders-fragment]]
2099 Fragment shaders are invoked as a <<fragops-shader, fragment operation>> in
2103 With few exceptions, fragment shaders do not have access to any data
2108 [[shaders-compute]]
2111 Compute shaders are invoked via flink:vkCmdDispatch and
2120 Compute shaders execute in _global workgroups_ which are divided into a
2132 [[shaders-raytracing-shaders]]
2133 [[shaders-ray-generation]]
2141 [[shaders-ray-generation-execution]]
2158 [[shaders-intersection]]
2161 Intersection shaders enable the implementation of arbitrary, application
2174 An intersection shader communicates with any-hit and closest shaders by
2176 Intersection shaders cannot: read or modify the ray payload.
2179 [[shaders-intersection-execution]]
2182 order in which intersection shaders are executed, is unspecified.
2189 [[shaders-any-hit]]
2194 The main use of any-hit shaders is to programmatically decide whether or not
2198 Any-hit shaders have read-only access to the attributes generated by the
2202 [[shaders-any-hit-execution]]
2206 order in which any-hit shaders are executed, is unspecified.
2212 [[shaders-closest-hit]]
2215 Closest hit shaders have read-only access to the attributes generated by the
2218 Closest hit shaders can: call code:OpTraceRayKHR to recursively trace rays.
2221 [[shaders-closest-hit-execution]]
2228 [[shaders-miss]]
2231 Miss shaders can: access the ray payload and can: trace new rays through the
2236 [[shaders-miss-execution]]
2243 [[shaders-callable]]
2246 Callable shaders can: access a callable payload that works similarly to ray
2250 [[shaders-callable-execution]]
2259 [[shaders-interpolation-decorations]]
2270 pre-rasterization shaders but have no effect on the interpolation performed.
2324 [[shaders-interpolation-decorations-pervertexkhr]]
2340 [[shaders-staticuse]]
2352 [[shaders-scope]]
2365 [[shaders-scope-cross-device]]
2377 [[shaders-scope-device]]
2412 [[shaders-scope-queue-family]]
2442 <<shaders-scope-device, device scope instance>>.
2445 [[shaders-scope-command]]
2453 For ray tracing shaders, an invocation group is an implementation-dependent
2464 <<shaders-scope-queue-family, queue-family scope instance>>.
2466 For shaders without defined <<shaders-scope-workgroup, workgroups>>, this
2471 [[shaders-scope-primitive]]
2480 Any generated <<shaders-helper-invocations, helper invocations>> are
2484 <<shaders-scope-command, command scope instance>>.
2492 [[shaders-scope-shadercall]]
2503 <<shaders-scope-queue-family, queue family scope instance>>.
2507 [[shaders-scope-workgroup]]
2517 <<shaders-scope-command, command scope instance>>.
2523 compute shaders have defined workgroups - other shader types cannot: use
2525 For shaders that have defined workgroups, this set of invocations forms an
2555 [[shaders-scope-subgroup]]
2565 <<shaders-group-operations, group operations>> with subgroup scope.
2574 For <<shaders-scope-workgroup, shaders that have defined workgroups>>, each
2575 invocation in a subgroup must: be in the same <<shaders-scope-workgroup,
2579 <<shaders-scope-device, device scope instance>>.
2587 In shaders, there are two kinds of uniformity that are of primary interest
2674 [[shaders-scope-quad]]
2712 In all shaders, each invocation in a quad scope instance is formed of
2720 <<shaders-scope-subgroup, subgroup>>.
2729 the same <<shaders-scope-primitive, primitive scope instance>>.
2732 For <<shaders-scope-workgroup, shaders that have defined workgroups>>, each
2734 <<shaders-scope-workgroup, local workgroup>>.
2737 the same <<shaders-scope-device, device scope instance>>.
2744 shaders have defined quad scope instances.
2754 [[shaders-scope-fragment-interlock]]
2782 Only fragment shaders with one of the above execution modes have defined
2791 <<shaders-scope-queue-family, queue family scope instance>>.
2795 [[shaders-scope-invocation]]
2801 Fragment shader invocations must: be in a <<shaders-scope-primitive,
2805 Invocations in <<shaders-scope-fragment-interlock, fragment shaders that
2807 <<shaders-scope-fragment-interlock, fragment interlock scope instance>>.
2810 Invocations in <<shaders-scope-workgroup, shaders that have defined
2811 workgroups>> must: be in a <<shaders-scope-workgroup, local workgroup>>.
2814 Invocations in <<shaders-scope-subgroup, shaders that have a defined
2815 subgroup scope>> must: be in a <<shaders-scope-subgroup, subgroup>>.
2818 Invocations in <<shaders-scope-quad, shaders that have a defined quad
2819 scope>> must: be in a <<shaders-scope-quad, quad scope instance>>.
2821 All invocations in all stages must: be in a <<shaders-scope-command,command
2826 [[shaders-group-operations]]
2830 <<shaders-scope, scope instance>>; with each invocation involved in
2836 <<shaders-scope,scope instance>> to operate within.
2842 [[shaders-group-operations-basic]]
2856 [[shaders-group-operations-vote]]
2876 [[shaders-group-operations-arithmetic]]
2894 [[shaders-group-operations-ballot]]
2906 [[shaders-group-operations-shuffle]]
2913 [[shaders-group-operations-shuffle-relative]]
2923 [[shaders-group-operations-clustered]]
2935 [[shaders-quad-operations]]
2939 of <<shaders-group-operations, group operations>> that only operate on
2940 <<shaders-scope-quad, quad scope instances>>.
2942 always overridden; only the <<shaders-scope-quad, quad scope instance>> is
2945 Fragment shaders that statically execute quad group operations must: launch
2947 <<shaders-helper-invocations, helper invocations>> are launched for
2951 for a <<shaders-scope-quad, quad scope instance>>, defined as the _quad
2960 [[shaders-derivative-operations]]
2970 the <<shaders-scope-quad, quad scope instance>> for a compute shader
2973 the <<shaders-scope-primitive, primitive scope instance>> for a fragment
2985 Fragment shaders that statically execute derivative operations must: launch
2987 <<shaders-helper-invocations, helper invocations>> are launched for
3013 <<shaders-scope-quad>>.
3066 [[shaders-helper-invocations]]
3069 When performing <<shaders-derivative-operations, derivative>>
3071 or <<shaders-quad-operations, quad group>>
3088 code:Output variables in fragment shaders can be read from as well, and they
3093 For <<shaders-group-operations, group operations>> other than
3094 <<shaders-derivative-operations, derivative>>
3096 and <<shaders-quad-operations, quad group>>
3351 [[shaders-validation-cache]]