Lines Matching refs:mesh
60 new programmable shader types -- the task and mesh shader -- to generate
62 primitive assembly and rasterization logic. When the task and mesh
182 Figure 3.2 shows a block diagram of the alternate mesh processing pipeline
186 Work on the mesh pipeline is initiated by the application drawing a
187 set of mesh tasks via an API command. If an optional task shader is
191 present, triggers the execution of a mesh shader work group that produces
192 an output mesh with a variable-sized number of primitives assembled from
193 vertices in the output mesh. The primitives from these output meshes are
239 tessellation evaluation shaders, geometry shaders, mesh shaders, task
248 A single program object cannot mix mesh and task shader stages
251 when the mesh shader stage is omitted. Other combinations as well
267 * <program> contains objects to form either a mesh or task shader (see
273 - the program is not separable and contains no objects to form a mesh
323 (modify the first paragraph, p. 118, to add new shader stage bits for mesh
329 fragment, mesh, and task shaders, indicated respectively by
337 the use of mesh and task shader bits)
383 ... geometry, task, mesh, fragment...
390 ... geometry, task, mesh, fragment...
399 ... geometry, task, mesh, fragment...
428 containing the local work group size of the mesh shader
431 mesh shader (see chapter X) will output is returned.
433 the mesh shader (see chapter X) will output is returned.
434 If <pname> is MESH_OUTPUT_TYPE_NV, the mesh shader output type,
445 successfully, or which does not contain objects to form a mesh shader.
454 X.6) will not spawn separate task and mesh shader invocations for each
455 view. Instead, the primitives produced by each mesh shader local work
457 per-primitive mesh shader outputs not qualified with "perviewNV", the
459 output when processing each view. For mesh shader outputs qualified with
460 "perviewNV", the output is arrayed and the mesh shader is responsible for
487 mesh shader stages, the executable code for these
495 * MAX_MESH_TEXTURE_IMAGE_UNITS_NV (for mesh shaders)
501 * MAX_MESH_ATOMIC_COUNTERS_NV (for mesh shaders)
507 * MAX_MESH_IMAGE_UNIFORMS_NV (for mesh shaders)
514 * MAX_MESH_SHADER_STORAGE_BLOCKS_NV (for mesh shaders)
518 A vertex and mesh shader can write to ...
529 vertex processing pipeline in Chapter 12]], applications may use the mesh
530 pipeline to generate primitives for rasterization. The mesh pipeline
531 generates a collection of meshes using the programmable task and mesh
532 shaders. Task and mesh shaders are created as described in section 7.1
538 work groups and processed by the executable code for a mesh or task shader
559 Each task shader work group can define how many mesh work groups
564 that can be accessed by to the generated mesh work groups.
572 as well as output attributes in a single mesh stage. This limit, expressed
578 When each mesh shader work group runs, its invocations have access to
581 generated the work group. When no task shader is active, the mesh shader
586 When each mesh shader work group completes, it emits an output mesh
591 * a collection of vertex attributes, where each vertex in the mesh has a
595 gl_PrimitiveCountNV primitives in the mesh has a set of built-in and
600 two, or three indices that identify the output vertices in the mesh used
605 triangles (TRIANGLES). The vertices output by the mesh shader are assembled
635 program for the mesh shader stage. The active program for both shader
644 The maximum number of task or mesh shader work groups that
649 an input layout qualifier in one or more of the task or mesh shaders
652 size of the task or mesh shader may be queried by calling GetProgramiv
656 The maximum size of a task or mesh shader local work group may be
668 program for the mesh shader stage.
678 active program for the mesh shader stage. If this count is zero, no work
680 the number of mesh shader work groups generated is undefined.
681 The built-in variables available to the generated mesh shader work groups
685 The primitives of the mesh are then processed by the pipeline stages
709 for the mesh shader stage.
790 … | GetProgramiv | { 0, ... } | Local work size of a linked mesh stage …
792 …| GetProgramiv | 0 | max_vertices size of a linked mesh stage …
793 …GetProgramiv | 0 | max_primitives size of a linked mesh stage |…
794 …tProgramiv | POINTS | Primitive output type of a linked mesh stage | 7…
796 …UniformBlockiv | FALSE | True if uniform block is referenced by the mesh stage | 7.6.2 |
799 … | GetActiveAtomicCounter- | FALSE | AACB has a counter used by mesh shaders …
809 … | GetProgramResourceiv | - | Active resource used by mesh shader …
818 … | | | | draw mesh tasks command …
819 …rv | - | Per-vertex output allocation granularity for mesh shaders …
820 … | - | Per-primitive output allocation granularity for mesh shaders | …
841 …Z+ | GetIntegerv | 65535 | Maximum number of child mesh work groups a singl…
851 …3 x Z+ | GetIntegeri_v | 32 (x), 1 (y,z) | Maximum local size of a mesh work group (per dim…
852 …NV | Z+ | GetIntegerv | 32 | Maximum total mesh shader invocations …
853 …etIntegerv | 12 | Maximum number of uniform blocks per mesh program …
854 … | Maximum number of texture image units accessible by a mesh shader | 11.1.3…
855 … | 8 | Number of atomic counter buffers accessed by a mesh shader |…
856 …ntegerv | 8 | Number of atomic counters accessed by a mesh shader …
857 … | GetIntegerv | 8 | Number of image variables in mesh shaders …
859 …+ | GetIntegerv | 512 | Number of components for mesh shader uniform vari…
860 …V | Z+ | GetIntegerv | * | Number of words for mesh shader uniform vari…
863 … | | | | <out> in all mesh shaders linked into…
864 …tIntegerv | 256 | Maximum number of primitives a single mesh work group can emit…
865 …GetIntegerv | 256 | Maximum number of vertices a single mesh work group can emit…
866 … | Maximum number of multi-view views that can be used in a mesh shader | |
882 When programs with active mesh or task stages are used, the
888 when the mesh or task shaders are active.
894 When mesh or task shaders are active the DRAW_ARRAYS_COMMAND_NV
895 must be used to draw mesh tasks. The fields of the
939 - in mesh shaders only the appropriate per-view outputs are
957 shader but not a mesh shader, and
964 * program contains objects to form either a mesh or task shader (see
970 and mesh shaders?
973 differentiate task and mesh shader processing for the existing vertex
977 (2) What name should we use for the draw calls that spawn task and mesh
984 The first <first> and <count> parameters specifying a range of mesh task
985 numbers to process by the task and/or mesh shaders.
987 Since the programming model of mesh and task shaders is very similar to
997 such a design would look anything like mesh and task shaders.
1002 set of (likely connected) output primitives, we use the word "mesh" to
1008 compute shaders, mesh shaders use the same three-dimensional local work
1010 task and mesh shaders is more limited and supports only one-dimensional
1018 processing to mesh shader processing, the use of an implicit offset via
1025 (4) Should we support separable program objects with mesh and task
1027 program provides a mesh shader that interfaces with it?
1033 using different mesh shaders to generate different types of primitives.
1036 consumed by mesh or task shaders?
1039 amount of output memory consumed by mesh and task shaders that can be
1042 output attribute in a mesh shader, memory is allocated separately for
1045 the maximum vertex and primitive counts declared in the mesh shader and
1051 multiple sets of mesh tasks in one call?
1055 "draw" has its own structure stored in a buffer object. If mesh or task
1059 (7) Do we support transform feedback with mesh shaders?
1079 enabled in a mesh shader, the semantics are slightly different. Instead
1080 of running a separate mesh shader invocation for each view, a single
1084 "perviewNV". The set of primitives generated by the mesh shader will be
1087 mesh shader for each vertex/primitive will be used for each view. For
1091 (9) Should we support NV_gpu_program5-style assembly programs for mesh
1108 - Fix a typo in language prohibiting use of a task shader without a mesh