Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 26 additions & 30 deletions docs/ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,29 @@ The included licenses apply to the following files:
Place release notes for the upcoming release below this line and remove this
line upon naming the release. Refer to previous for appropriate section names.

#### Shader Model 6.10

- Shader Model 6.10 and DXIL 1.10 are now available in retail, introducing
LinAlg Matrix, WaveGroup Index and Count, DebugBreak, Clustered Geometry, and
Triangle Object Positions, with detailed blog posts to be linked here once
available.

#### HLSL Language

- Starting with HLSL 202x, the count in `[unroll(N)]` is a partial-unroll hint

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see this is just moving existing release notes but mixing 202x and 2026 is confusing since I thought those were the same?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

microsoft/hlsl-specs#931 They are being split :)

and no longer limits the number of loop iterations
[#8789](https://github.com/microsoft/DirectXShaderCompiler/issues/8789).
- Casting a scalar to a struct or array containing a resource is now an error
instead of crashing
[#6661](https://github.com/microsoft/DirectXShaderCompiler/issues/6661).
- Added the `-Whlsl-2026-compat` warning group for identifying issues
with language changes introduced in HLSL 2026.
- The legacy effects syntax support is removed in HLSL 202x
[#8480](https://github.com/microsoft/DirectXShaderCompiler/issues/8480).
- The `shared` and `uniform` keywords are removed in HLSL 202x, with
compatibility warnings available for earlier language versions
[#8482](https://github.com/microsoft/DirectXShaderCompiler/issues/8482).

#### Bug Fixes

- Fixed derivative operations being moved into divergent control flow, which
Expand All @@ -48,21 +71,6 @@ line upon naming the release. Refer to previous for appropriate section names.
or on one of its fields with payload access qualifiers enabled
[#6464](https://github.com/microsoft/DirectXShaderCompiler/issues/6464).

#### HLSL Language

- Starting with HLSL 202x, the count in `[unroll(N)]` is a partial-unroll hint
and no longer limits the number of loop iterations
[#8789](https://github.com/microsoft/DirectXShaderCompiler/issues/8789).
- Casting a scalar to a struct or array containing a resource is now an error
instead of crashing
[#6661](https://github.com/microsoft/DirectXShaderCompiler/issues/6661).
- Added the `-Whlsl-2026-compat` warning group for identifying issues
with language changes introduced in HLSL 2026.
- The legacy effects syntax support is removed in HLSL 202x
[#8480](https://github.com/microsoft/DirectXShaderCompiler/issues/8480).
- The `shared` and `uniform` keywords are removed in HLSL 202x, with
compatibility warnings available for earlier language versions
[#8482](https://github.com/microsoft/DirectXShaderCompiler/issues/8482).

#### SPIR-V

Expand All @@ -86,22 +94,10 @@ line upon naming the release. Refer to previous for appropriate section names.
These changes apply to experimental preview shader models only and will not be
part of the next non-preview release.

#### Experimental Shader Model 6.10
#### Experimental Shader Model 6.11

- Added experimental Shader Model 6.11 target profiles.

These are incremental changes to the experimental Shader Model 6.10 features that
first shipped in the 1.10.2605 preview.

- Fixed the set of numeric types allowed in LinAlg matrix intrinsics
[#8271](https://github.com/microsoft/DirectXShaderCompiler/issues/8271).
- Corrected the parameter order of `InterlockedAccumulate`
[#8459](https://github.com/microsoft/DirectXShaderCompiler/pull/8459).
- Added validation of LinAlg matrix builtin parameters and result K dimension
[#8588](https://github.com/microsoft/DirectXShaderCompiler/pull/8588).
- Restricted the component types allowed in LinAlg matrices
[#8608](https://github.com/microsoft/DirectXShaderCompiler/pull/8608).
- Added `BFloat16` to the ComponentType enum in DxilConstants and the linalg
header [#8722](https://github.com/microsoft/DirectXShaderCompiler/issues/8722).
- Removed work graph support from Shader Model 6.10, and DXIL 1.10 [microsoft/hlsl-specs#915](https://github.com/microsoft/hlsl-specs/issues/915).

### Version 1.9.2607

Expand Down
4 changes: 2 additions & 2 deletions include/dxc/DXIL/DxilConstants.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ namespace DXIL {
const unsigned kDxilMajor = 1;
/* <py::lines('VALRULE-TEXT')>hctdb_instrhelp.get_dxil_version_minor()</py>*/
// VALRULE-TEXT:BEGIN
const unsigned kDxilMinor = 10;
const unsigned kDxilReleasedMinor = 9;
const unsigned kDxilMinor = 11;
const unsigned kDxilReleasedMinor = 10;
// VALRULE-TEXT:END

inline unsigned MakeDxilVersion(unsigned DxilMajor, unsigned DxilMinor) {
Expand Down
7 changes: 4 additions & 3 deletions include/dxc/DXIL/DxilShaderModel.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@ class ShaderModel {
// clang-format on
// VALRULE-TEXT:BEGIN
static const unsigned kHighestMajor = 6;
static const unsigned kHighestMinor = 10;
static const unsigned kHighestMinor = 11;
// VALRULE-TEXT:END

// Major/Minor version of highest released shader model
/* <py::lines('VALRULE-TEXT')>hctdb_instrhelp.get_highest_released_shader_model()</py>*/
// clang-format on
// VALRULE-TEXT:BEGIN
static const unsigned kHighestReleasedMajor = 6;
static const unsigned kHighestReleasedMinor = 9;
static const unsigned kHighestReleasedMinor = 10;
// VALRULE-TEXT:END

static const unsigned kOfflineMinor = 0xF;
Expand Down Expand Up @@ -88,6 +88,7 @@ class ShaderModel {
bool IsSM68Plus() const { return IsSMAtLeast(6, 8); }
bool IsSM69Plus() const { return IsSMAtLeast(6, 9); }
bool IsSM610Plus() const { return IsSMAtLeast(6, 10); }
bool IsSM611Plus() const { return IsSMAtLeast(6, 11); }
// VALRULE-TEXT:END
const char *GetName() const { return m_pszName; }
const char *GetKindName() const;
Expand Down Expand Up @@ -139,7 +140,7 @@ class ShaderModel {
bool m_bTypedUavs, unsigned m_UAVRegsLim);
/* <py::lines('VALRULE-TEXT')>hctdb_instrhelp.get_num_shader_models()</py>*/
// VALRULE-TEXT:BEGIN
static const unsigned kNumShaderModels = 116;
static const unsigned kNumShaderModels = 125;
// VALRULE-TEXT:END
static const ShaderModel ms_ShaderModels[kNumShaderModels];

Expand Down
2 changes: 1 addition & 1 deletion include/dxc/Support/HLSLOptions.td
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ def fvk_bind_counter_heap : MultiArg<["-"], "fvk-bind-counter-heap", 2>, MetaVar
def target_profile : JoinedOrSeparate<["-", "/"], "T">, Flags<[CoreOption]>, Group<hlslcomp_Group>, MetaVarName<"<profile>">,
/* <py::lines('VALRULE-TEXT')>hctdb_instrhelp.get_target_profiles()</py>*/
// VALRULE-TEXT:BEGIN
HelpText<"Set target profile. \n\t<profile>: ps_6_0, ps_6_1, ps_6_2, ps_6_3, ps_6_4, ps_6_5, ps_6_6, ps_6_7, ps_6_8, ps_6_9, ps_6_10, \n\t\t vs_6_0, vs_6_1, vs_6_2, vs_6_3, vs_6_4, vs_6_5, vs_6_6, vs_6_7, vs_6_8, vs_6_9, vs_6_10, \n\t\t gs_6_0, gs_6_1, gs_6_2, gs_6_3, gs_6_4, gs_6_5, gs_6_6, gs_6_7, gs_6_8, gs_6_9, gs_6_10, \n\t\t hs_6_0, hs_6_1, hs_6_2, hs_6_3, hs_6_4, hs_6_5, hs_6_6, hs_6_7, hs_6_8, hs_6_9, hs_6_10, \n\t\t ds_6_0, ds_6_1, ds_6_2, ds_6_3, ds_6_4, ds_6_5, ds_6_6, ds_6_7, ds_6_8, ds_6_9, ds_6_10, \n\t\t cs_6_0, cs_6_1, cs_6_2, cs_6_3, cs_6_4, cs_6_5, cs_6_6, cs_6_7, cs_6_8, cs_6_9, cs_6_10, \n\t\t lib_6_1, lib_6_2, lib_6_3, lib_6_4, lib_6_5, lib_6_6, lib_6_7, lib_6_8, lib_6_9, lib_6_10, \n\t\t ms_6_5, ms_6_6, ms_6_7, ms_6_8, ms_6_9, ms_6_10, \n\t\t as_6_5, as_6_6, as_6_7, as_6_8, as_6_9, as_6_10, \n\t\t ">;
HelpText<"Set target profile. \n\t<profile>: ps_6_0, ps_6_1, ps_6_2, ps_6_3, ps_6_4, ps_6_5, ps_6_6, ps_6_7, ps_6_8, ps_6_9, ps_6_10, ps_6_11, \n\t\t vs_6_0, vs_6_1, vs_6_2, vs_6_3, vs_6_4, vs_6_5, vs_6_6, vs_6_7, vs_6_8, vs_6_9, vs_6_10, vs_6_11, \n\t\t gs_6_0, gs_6_1, gs_6_2, gs_6_3, gs_6_4, gs_6_5, gs_6_6, gs_6_7, gs_6_8, gs_6_9, gs_6_10, gs_6_11, \n\t\t hs_6_0, hs_6_1, hs_6_2, hs_6_3, hs_6_4, hs_6_5, hs_6_6, hs_6_7, hs_6_8, hs_6_9, hs_6_10, hs_6_11, \n\t\t ds_6_0, ds_6_1, ds_6_2, ds_6_3, ds_6_4, ds_6_5, ds_6_6, ds_6_7, ds_6_8, ds_6_9, ds_6_10, ds_6_11, \n\t\t cs_6_0, cs_6_1, cs_6_2, cs_6_3, cs_6_4, cs_6_5, cs_6_6, cs_6_7, cs_6_8, cs_6_9, cs_6_10, cs_6_11, \n\t\t lib_6_1, lib_6_2, lib_6_3, lib_6_4, lib_6_5, lib_6_6, lib_6_7, lib_6_8, lib_6_9, lib_6_10, lib_6_11, \n\t\t ms_6_5, ms_6_6, ms_6_7, ms_6_8, ms_6_9, ms_6_10, ms_6_11, \n\t\t as_6_5, as_6_6, as_6_7, as_6_8, as_6_9, as_6_10, as_6_11, \n\t\t ">;
// VALRULE-TEXT:END
def entrypoint : JoinedOrSeparate<["-", "/"], "E">, Flags<[CoreOption, RewriteOption]>, Group<hlslcomp_Group>,
HelpText<"Entry point name">;
Expand Down
Loading
Loading