Skip to content

Commit f219ee5

Browse files
committed
Naming and formatting fixes
1 parent 5225638 commit f219ee5

1 file changed

Lines changed: 39 additions & 43 deletions

File tree

d3d/PartialGraphicsPrograms.md

Lines changed: 39 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,41 @@
1-
- [Graphics partial states](#graphics-partial-states)
2-
- [Pre-rasterization shaders partial program](#pre-rasterization-shaders-partial-program)
3-
- [Pixel shader partial program](#pixel-shader-partial-program)
4-
- [Use in generic programs](#use-in-generic-programs)
5-
- [API](#API)
6-
- [Device Methods](#device_methods)
7-
- [CheckFeatureSupport](#checkfeaturesupport)
8-
- [CheckFeatureSupport Structures](checkfeaturesupport_structures)
9-
- [D3D12\_FEATURE\_DATA\_PARTIAL\_GRAPHICS\_PROGRAMS](#d3d12_feature_data_partial_graphics_programs)
10-
- [D3D12\_PARTIAL\_GRAPHICS\_PROGRAMS\_TIER](#d3d12_partial_graphics_programs_tier)
11-
- [D3D12\_STATE\_SUBOBJECT\_TYPE](#d3d12_state_subobject_type)
12-
- [D3D12\_PARTIAL\_GRAPHICS\_PROGRAM\_TYPE](#d3d12_partial_graphics_program_type)
13-
- [D3D12\_PARTIAL\_GRAPHICS\_PROGRAM\_DESC](#d3d12_partial_graphics_program_desc)
14-
- [D3D12\_OUTPUT\_LINKAGE\_SIGNATURE\_DESC](#d3d12_output_linkage_signature_desc)
15-
- [D3D12\_OUTPUT\_LINKAGE\_ELEMENT\_DESC](#d3d12_output_linkage_element_desc)
16-
- [D3D12\_PRERASTERIZATION\_OUTPUT\_LINKAGE\_SIGNATURE\_DESC](#d3d12_prerasterization_output_linkage_signature_desc)
17-
- [D3D12\_PRERASTERIZATION\_OUTPUT\_LINKAGE\_ELEMENT\_DESC](#d3d12_prerasterization_output_linkage_element_desc)
18-
- [D3D12\_PRERASTERIZATION\_SHADERS\_PARTIAL\_PROGRAM\_FIELDS](#d3d12_prerasterization_shaders_partial_program_fields)
19-
- [D3D12\_PIXEL\_SHADER\_PARTIAL\_PROGRAM\_FIELDS](#d3d12_pixel_shader_partial_program_fields)
20-
- [DDI](#DDI)
21-
- [D3D12DDI\_STATE\_SUBOBJECT\_TYPE](#d3d12ddi_state_subobject_type)
22-
- [D3D12DDI\_PARTIAL\_GRAPHICS\_PROGRAM\_TYPE](#d3d12ddi_partial_graphics_program_type)
23-
- [D3D12DDI\_PARTIAL\_GRAPHICS\_PROGRAM\_DESC\_0121](#d3d12ddi_partial_graphics_program_desc_0121)
24-
- [D3D12DDI\_OUTPUT\_LINKAGE\_SIGNATURE\_DESC\_0121](#d3d12ddi_output_linkage_signature_desc_0121)
25-
- [D3D12DDI\_OUTPUT\_LINKAGE\_ELEMENT\_DESC\_0121](#d3d12ddi_output_linkage_element_desc_0121)
26-
- [D3D12DDI\_PRERASTERIZATION\_OUTPUT\_LINKAGE\_SIGNATURE\_DESC\_0121](#d3d12ddi_prerasterization_output_linkage_signature_desc_0121)
27-
- [D3D12DDI\_PRERASTERIZATION\_OUTPUT\_LINKAGE\_ELEMENT\_DESC\_0121](#d3d12ddi_prerasterization_output_linkage_element_desc_0121)
28-
- [D3D12DDI\_PRERASTERIZATION\_SHADERS\_PARTIAL\_PROGRAM\_FIELDS\_0121](#d3d12ddi_prerasterization_shaders_partial_program_fields_0121)
29-
- [D3D12DDI\_PIXEL\_SHADER\_PARTIAL\_PROGRAM\_FIELDS\_0121](#d3d12ddi_pixel_shader_partial_program_fields_0121)
30-
- [Reporting Partial Graphics Programs Support](#reporting_partial_graphics_programs_support)
31-
- [D3D12DDI\_PARTIAL\_GRAPHICS\_PROGRAMS\_TIER](#d3d12ddi_partial_graphics_programs_tier)
1+
- [Partial Graphics Programs](#partial-graphics-programs)
2+
- [Pre-rasterization shaders partial program](#pre-rasterization-shaders-partial-program)
3+
- [Pixel shader partial program](#pixel-shader-partial-program)
4+
- [Notes](#notes)
5+
- [Use in generic programs](#use-in-generic-programs)
6+
- [API](#api)
7+
- [Device Methods](#device-methods)
8+
- [CheckFeatureSupport](#checkfeaturesupport)
9+
- [CheckFeatureSupport Structures](#checkfeaturesupport-structures)
10+
- [D3D12\_FEATURE\_DATA\_PARTIAL\_GRAPHICS\_PROGRAMS](#d3d12_feature_data_partial_graphics_programs)
11+
- [D3D12\_PARTIAL\_GRAPHICS\_PROGRAMS\_TIER](#d3d12_partial_graphics_programs_tier)
12+
- [D3D12\_STATE\_SUBOBJECT\_TYPE](#d3d12_state_subobject_type)
13+
- [D3D12\_PARTIAL\_GRAPHICS\_PROGRAM\_TYPE](#d3d12_partial_graphics_program_type)
14+
- [D3D12\_PARTIAL\_GRAPHICS\_PROGRAM\_DESC](#d3d12_partial_graphics_program_desc)
15+
- [D3D12\_OUTPUT\_LINKAGE\_SIGNATURE\_DESC](#d3d12_output_linkage_signature_desc)
16+
- [D3D12\_OUTPUT\_LINKAGE\_ELEMENT\_DESC](#d3d12_output_linkage_element_desc)
17+
- [D3D12\_PRERASTERIZATION\_OUTPUT\_LINKAGE\_SIGNATURE\_DESC](#d3d12_prerasterization_output_linkage_signature_desc)
18+
- [D3D12\_PRERASTERIZATION\_OUTPUT\_LINKAGE\_ELEMENT\_DESC](#d3d12_prerasterization_output_linkage_element_desc)
19+
- [D3D12\_PRERASTERIZATION\_SHADERS\_PARTIAL\_PROGRAM\_FIELDS](#d3d12_prerasterization_shaders_partial_program_fields)
20+
- [D3D12\_PIXEL\_SHADER\_PARTIAL\_PROGRAM\_FIELDS](#d3d12_pixel_shader_partial_program_fields)
21+
- [DDI](#ddi)
22+
- [D3D12DDI\_STATE\_SUBOBJECT\_TYPE](#d3d12ddi_state_subobject_type)
23+
- [D3D12DDI\_PARTIAL\_GRAPHICS\_PROGRAM\_TYPE](#d3d12ddi_partial_graphics_program_type)
24+
- [D3D12DDI\_PARTIAL\_GRAPHICS\_PROGRAM\_DESC\_0121](#d3d12ddi_partial_graphics_program_desc_0121)
25+
- [D3D12DDI\_OUTPUT\_LINKAGE\_SIGNATURE\_DESC\_0121](#d3d12ddi_output_linkage_signature_desc_0121)
26+
- [D3D12DDI\_OUTPUT\_LINKAGE\_ELEMENT\_DESC\_0121](#d3d12ddi_output_linkage_element_desc_0121)
27+
- [D3D12DDI\_PRERASTERIZATION\_OUTPUT\_LINKAGE\_SIGNATURE\_DESC\_0121](#d3d12ddi_prerasterization_output_linkage_signature_desc_0121)
28+
- [D3D12DDI\_PRERASTERIZATION\_OUTPUT\_LINKAGE\_ELEMENT\_DESC\_0121](#d3d12ddi_prerasterization_output_linkage_element_desc_0121)
29+
- [D3D12DDI\_PRERASTERIZATION\_SHADERS\_PARTIAL\_PROGRAM\_FIELDS\_0121](#d3d12ddi_prerasterization_shaders_partial_program_fields_0121)
30+
- [D3D12DDI\_PIXEL\_SHADER\_PARTIAL\_PROGRAM\_FIELDS\_0121](#d3d12ddi_pixel_shader_partial_program_fields_0121)
31+
- [Reporting Partial Graphics Programs Support](#reporting-partial-graphics-programs-support)
32+
- [D3D12DDI\_PARTIAL\_GRAPHICS\_PROGRAMS\_TIER](#d3d12ddi_partial_graphics_programs_tier)
3233
- [State Object Compilation Flags](#state-object-compilation-flags)
33-
- [State Object Flag](#state-object-flag)
34-
- [How to measure if these flags work?](#how-to-measure-if-these-flags-work?)
34+
- [State Object Flag](#state-object-flag)
35+
- [How to measure if these flags work?](#how-to-measure-if-these-flags-work)
3536
- [History](#history)
3637

37-
# Graphics partial states
38+
# Partial Graphics Programs
3839

3940
PSOs exist for two reasons:
4041
- Providing some "fixed function" pipeline state to the driver during shader compilation so that parts of the pipeline can be implemented in shader code.
@@ -141,7 +142,7 @@ Value | Definition
141142

142143
## D3D12_STATE_SUBOBJECT_TYPE
143144

144-
The enum struct below only shows the subobject type relevant to this spec. See [DXR](../Raytracing.md) and [WG](../WorkGraphs.md) specs for all the other subobject types available.
145+
The enum struct below only shows the subobject type relevant to this spec. See [DXR](Raytracing.md) and [WG](WorkGraphs.md) specs for all the other subobject types available.
145146

146147
```cpp
147148
typedef enum D3D12_STATE_SUBOBJECT_TYPE
@@ -156,12 +157,6 @@ typedef enum D3D12_STATE_SUBOBJECT_TYPE
156157
}
157158
```
158159

159-
Subobject type defined in this spec:
160-
161-
Value | Definition
162-
--------- | ----------
163-
`D3D12_STATE_SUBOBJECT_TYPE_PRECOMPILED_OBJECT` | Precompiled object definition subobject. See [D3D12_PRECOMPILED_OBJECT_DESC](#d3d12_precompiled_object_desc).
164-
165160
## D3D12_PARTIAL_GRAPHICS_PROGRAM_TYPE
166161

167162
```cpp
@@ -264,7 +259,7 @@ Members | Description
264259
`BOOL IsPrimitive` | Set to `True` if this element is a primitive.
265260

266261

267-
**[TODO](Add a helper in d3dx that helps generate the linkage desc from a pair of example shaders. So apps don't have to make these by hand.)**
262+
**TODO (Add a helper in d3dx that helps generate the linkage desc from a pair of example shaders. So apps don't have to make these by hand.)**
268263

269264

270265

@@ -315,6 +310,7 @@ Members | Description
315310
`LateLinkDepthStencilFormatSubobject` | Specifies whether the pixel shader partial program depth stencil format subobject will be late linked. When it is set to false that means that when the subobject is not available in the pixel shader partial program then, the driver will use [default values](https://github.com/microsoft/DirectX-Specs/blob/master/d3d/WorkGraphs.md#missing-depth_stencil_format).
316311
`LateLinkRenderTargetFormatSubobject` | Specifies whether the pixel shader partial program render target format subobject will be late linked. When it is set to false that means that when the subobject is not available in the pixel shader partial program then, the driver will use [default values](https://github.com/microsoft/DirectX-Specs/blob/master/d3d/WorkGraphs.md#missing-render_target_formats).
317312
`LateLinkDepthStencilSubobject` | Specifies whether the pixel shader partial program depth stencil subobject will be late linked. When it is set to false that means that when the subobject is not available in the pixel shader partial program then, the driver will use [default values](https://github.com/microsoft/DirectX-Specs/blob/master/d3d/WorkGraphs.md#missing-depth_stencil-or-depth_stencil1-or-depth_stencil2).
313+
318314
---
319315

320316
# DDI
@@ -493,4 +489,4 @@ Prefer minimal link with background specialization | This flag should provide f
493489
| **10/13/2025** | Fix naming from partial generic program to partial graphics program. Add missing DDI subobject types. Add representative MS requirement for PS partial programs that are going to be used with MS. Add D3D12_PARTIAL_GRAPHICS_PROGRAM_TYPE to be used in the D3D12_PARTIAL_GRAPHICS_PROGRAM_DESC. |
494490
| **11/05/2025** | Added subobject `D3D12_PRERASTERIZATION_OUTPUT_LINKAGE_SIGNATURE_DESC` to differentiate the output linkage desc used in pixel shader partials from the output linkage used in prerasterization shader partials. Update `D3D12DDI_OUTPUT_LINKAGE_SIGNATURE_DESC` to pass to the driver the same parameters as the API struct for consistency between usage in the case of MS and non-MS prerasterization shader partials. Add partial graphics programs tier API and DDI structs to enable the driver to report the level of support and the app to use CheckFeatureSupport to query the tier. |
495491
| **03/02/2026** | Added missing subobject in PS partial table, and a late link flag for it. Updated pre-rasterization partial table to include that output linkage is required for MS pre-rasterization partial programs.|
496-
| **03/03/2026** | Added missing bool in `D3D12DDI_PIXEL_SHADER_PARTIAL_PROGRAM_FIELDS_0121`. |
492+
| **03/03/2026** | Added missing bool in `D3D12DDI_PIXEL_SHADER_PARTIAL_PROGRAM_FIELDS_0121`. |

0 commit comments

Comments
 (0)