From 2cf6cd5a9df6e8448aa26800783d2784ba5842aa Mon Sep 17 00:00:00 2001 From: joaosaffran <126493771+joaosaffran@users.noreply.github.com> Date: Wed, 18 Jun 2025 15:26:30 -0700 Subject: [PATCH 1/2] Update 0002-root-signature-in-clang.md --- proposals/0002-root-signature-in-clang.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/proposals/0002-root-signature-in-clang.md b/proposals/0002-root-signature-in-clang.md index 041888d..295a1ca 100644 --- a/proposals/0002-root-signature-in-clang.md +++ b/proposals/0002-root-signature-in-clang.md @@ -569,7 +569,7 @@ The additional semantic rules not already covered by the grammar are listed here - DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS - For DESCRIPTOR_RANGE_FLAGS on a CBV/SRV/UAV - - For version 1.0, only the value DATA_VOLATILE is valid. + - For version 1.0, only the value DATA_VOLATILE | DESCRIPTORS_VOLATILE is valid. - For version 1.1, the following values are valid: - 0 - DESCRIPTORS_VOLATILE @@ -803,7 +803,7 @@ Operands: - DataStatic - Valid values for DescriptorRangeFlags on CBV/SRV/UAV - - For root signature version 1.0 must be DESCRIPTORS_VOLATILE. + - For root signature version 1.0 must be DATA_VOLATILE | DESCRIPTORS_VOLATILE. - For root signature version 1.1: - 0 - DESCRIPTORS_VOLATILE @@ -818,7 +818,7 @@ Operands: - DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS | DATA_STATIC_WHILE_SET_AT_EXECUTE - Valid values for DescriptorRangeFlags on Sampler - - For root signature version 1.0 must be 0. + - For root signature version 1.0 must be DESCRIPTORS_VOLATILE. - For root signature version 1.1: - 0 - DESCRIPTORS_VOLATILE From 8efc95f7fe7b8192e16f854848f33aa6a9dbf861 Mon Sep 17 00:00:00 2001 From: joaosaffran <126493771+joaosaffran@users.noreply.github.com> Date: Tue, 24 Jun 2025 14:52:37 -0700 Subject: [PATCH 2/2] Address Comments --- proposals/0002-root-signature-in-clang.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/proposals/0002-root-signature-in-clang.md b/proposals/0002-root-signature-in-clang.md index 295a1ca..a3ecf67 100644 --- a/proposals/0002-root-signature-in-clang.md +++ b/proposals/0002-root-signature-in-clang.md @@ -461,7 +461,10 @@ As specified in the grammar, '0' denotes there are no flags set. - `RootFlags = 0` - `ROOT_DESCRIPTOR_FLAGS` and `DESCRIPTOR_RANGE_FLAGS` - Version 1.0: - - `DATA_VOLATILE` + - `CBV`: `DATA_VOLATILE | DESCRIPTORS_VOLATILE` + - `SRV`: `DATA_VOLATILE | DESCRIPTORS_VOLATILE` + - `UAV`: `DATA_VOLATILE | DESCRIPTORS_VOLATILE` + - `Sampler`: `DESCRIPTORS_VOLATILE` - Version 1.1: - `CBV`: `DATA_STATIC_WHILE_SET_AT_EXECUTE` - `SRV`: `DATA_STATIC_WHILE_SET_AT_EXECUTE` @@ -561,6 +564,14 @@ Most values like ShaderVisibility/ParameterType are covered by syntactical checks in Sema. The additional semantic rules not already covered by the grammar are listed here. +- For ROOT_DESCRIPTOR_FLAGS, only the following values are valid + - For version 1.0, only the value DATA_VOLATILE is valid. + - For version 1.1, the following values are valid: + - 0 + - DATA_STATIC + - DATA_STATIC_WHILE_SET_AT_EXECUTE + - DATA_VOLATILE + - For DESCRIPTOR_RANGE_FLAGS on a Sampler, only the following values are valid - For version 1.0, only the value DESCRIPTORS_VOLATILE is valid. - For version 1.1, the following values are valid: