Expand description
The entry point’s metadata, resource records, type annotations and signature parts of an SM6 container, as the
records the file stores: the entry point and what its properties state (thread group, geometry, mesh, hull and
domain state), its signature elements and their packing, the bound resource ranges of dx.resources with their
tags, the field annotations of dx.typeAnnotations, and the rows of an ISG1/OSG1/PSG1 part, each with DXIL’s
and D3D’s own numbers. What the numbers mean for a graphics API is the caller’s to decide.
Structs§
- Element
- One signature element of the entry point: its id (the
sigIdloadInput and storeOutput name), its first register and column, and its size. - Field
Annotation - One field of a struct type, as its annotation in
dx.typeAnnotationsstates it. - Geometry
State - What a geometry program’s entry point states (the properties’ tag 1), as stored: the primitive it reads (
input, aD3D_PRIMITIVE: 1 point, 2 line, 3 triangle, 6 line and 7 triangle with adjacency), how many vertices it emits at most, the streams it writes (a mask), the topology its stream makes (aD3D_PRIMITIVE_TOPOLOGY: 1 point list, 3 line strip, 5 triangle strip) and how many invocations run for a primitive. - Hull
State - What a hull program’s entry point states about its patch (the properties’ tag 3): the patch-constant function, the control-point counts, the tessellator’s domain, partitioning and output primitive and the largest factor.
- Mesh
State - What a mesh program’s entry point states (the properties’ tag 9) after its thread group, as stored: the most vertices and primitives it writes, the topology of its primitives (1 line, 2 triangle) and the size in bytes of the payload it reads from a task program. A null field is zero.
- Range
- A bound resource range: class (0 SRV, 1 UAV, 2 constant buffer, 3 sampler), range id, first register, count.
- Signature
Element - One element of an
ISG1/OSG1/PSG1part as stored.
Functions§
- domain_
state - A domain program’s patch state (tag 2): the tessellator domain and the input control point count.
- elements
- The entry point’s input and output elements, by id.
- entry
- The entry point’s function value.
- fields
- Fields of a struct type from
dx.typeAnnotations(field tag 6 the name, 3 the constant-buffer offset, 7 the component type). Empty when the module has no annotation for it. - geometry_
state - A geometry program’s state.
- hull_
state - A hull program’s patch state.
- library_
kind - The shader kind a library’s entry point states (properties tag 8): the numbers of a program’s kind (7 ray generation to 12 callable, 13 mesh).
- mesh_
state - A mesh program’s state.
- num_
threads - The entry point’s thread group size (
numthreads): the value of the properties’ tag 4 (a mesh program’s, the first field of its state, tag 9).Nonewhen the entry point states none (every stage but compute). - patch_
elements - A hull or domain program’s patch-constant elements, by id.
- ranges
- The bound resource ranges of
dx.resources(SRVs, UAVs, constant buffers, samplers), each with its variable’s name and the type its variable points to (the resource’s handle type). - signature
- The elements of a signature part (
ISG1,OSG1orPSG1): a count and the offset of the first record, then records of 32 bytes (stream, name offset, semantic index, system value, component type, register, mask and read-write mask, minimum precision). A name ends within 256 bytes.