Commit 46db044
authored
Fill in RequiredFeatureFlags in library function reflection (#4774)
ID3D12FunctionReflection was leaving the `RequiredFeatureFlags` blank, but the information is available. This change fixes that omission.
Like the equivalent for ID3D12ShaderReflection (see `DxilShaderReflection::GetRequiresFlags`), the flags are the same between the `SHADER_FEATURE_*` flags and `D3D_SHADER_REQUIRES_*` flags, except that `D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL` collides with `SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X` not exposed in `RequiredFeatureFlags`. So, the `D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL` flag is patched in based on the flag captured in the shader props (`ShaderProps.PS.EarlyDepthStencil`) for library pixel shader entry points.1 parent f6d15f9 commit 46db044
4 files changed
Lines changed: 41 additions & 1 deletion
File tree
- lib/HLSL
- tools/clang
- test/HLSLFileCheck/d3dreflect
- unittests/HLSLTestLib
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2526 | 2526 | | |
2527 | 2527 | | |
2528 | 2528 | | |
| 2529 | + | |
2529 | 2530 | | |
2530 | 2531 | | |
2531 | 2532 | | |
| |||
2547 | 2548 | | |
2548 | 2549 | | |
2549 | 2550 | | |
| 2551 | + | |
| 2552 | + | |
| 2553 | + | |
2550 | 2554 | | |
2551 | 2555 | | |
2552 | 2556 | | |
| |||
2609 | 2613 | | |
2610 | 2614 | | |
2611 | 2615 | | |
2612 | | - | |
| 2616 | + | |
| 2617 | + | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
2613 | 2622 | | |
2614 | 2623 | | |
2615 | 2624 | | |
| |||
2697 | 2706 | | |
2698 | 2707 | | |
2699 | 2708 | | |
| 2709 | + | |
| 2710 | + | |
2700 | 2711 | | |
2701 | 2712 | | |
2702 | 2713 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
183 | 184 | | |
184 | 185 | | |
185 | 186 | | |
| 187 | + | |
186 | 188 | | |
187 | 189 | | |
188 | 190 | | |
| |||
Lines changed: 26 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
| 174 | + | |
174 | 175 | | |
175 | 176 | | |
176 | 177 | | |
| |||
0 commit comments