From 274b04e6900dad2b7224911602d83d61ebd45d12 Mon Sep 17 00:00:00 2001 From: Alex Sepkowski <5620315+alsepkow@users.noreply.github.com> Date: Mon, 24 Mar 2025 21:55:16 -0700 Subject: [PATCH 1/3] Update DXIL.rst Minor grammar fixes --- docs/DXIL.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/DXIL.rst b/docs/DXIL.rst index c3baf4e454..0cbf78fe5c 100644 --- a/docs/DXIL.rst +++ b/docs/DXIL.rst @@ -225,10 +225,10 @@ DXIL uses 32-bit pointers in its representation. Out-of-bounds behavior ---------------------- -Indexable thread-local accesses are done via LLVM pointer and have C-like OOB semantics. -Groupshared accesses are done via LLVM pointer too. The origin of a groupshared pointer must be a single TGSM allocation. -If a groupshared pointer uses in-bound GEP instruction, it should not OOB. The behavior for an OOB access for in-bound pointer is undefined. -For groupshared pointer from regular GEP, OOB will has same behavior as DXBC. Loads return 0 for OOB accesses; OOB stores are silently dropped. +Indexable thread-local accesses are done via LLVM pointers and have C-like OOB semantics. +Groupshared accesses are done via LLVM pointers too. The origin of a groupshared pointer must be a single TGSM allocation. +If a groupshared pointer uses an in-bound GEP instruction, it should not OOB. The behavior for an OOB access for in-bound pointer is undefined. +For a groupshared pointer from regular GEP, OOB will have the same behavior as DXBC. Loads return 0 for OOB accesses; OOB stores are silently dropped. Resource accesses keeps the same out-of-bounds behavior as DXBC. Loads return 0 for OOB accesses; OOB stores are silently dropped. From b6f7c906b8192edf229dc86485d49ede4dfaec90 Mon Sep 17 00:00:00 2001 From: Alex Sepkowski <5620315+alsepkow@users.noreply.github.com> Date: Mon, 24 Mar 2025 22:30:33 -0700 Subject: [PATCH 2/3] More minor grammar --- docs/DXIL.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/DXIL.rst b/docs/DXIL.rst index 0cbf78fe5c..56bd8c1a4f 100644 --- a/docs/DXIL.rst +++ b/docs/DXIL.rst @@ -3294,9 +3294,12 @@ Modules and Linking =================== HLSL has linking capabilities to enable third-party libraries. The linking step happens before shader DXIL is given to the driver compilers. -Experimental library generation is added in DXIL1.1. A library could be created by compile with lib_6_1 profile. -A library is a dxil container like the compile result of other shader profiles. The difference is library will keep information for linking like resource link info and entry function signatures. -Library support is not part of DXIL spec. Only requirement is linked shader must be valid DXIL. +Experimental library generation is added in DXIL1.1. A library could be created +by compiling with the lib_6_1 profile. +A library is a dxil container like the compile result of other shader profiles. +The difference is a library will keep information for linking like resource link +info and entry function signatures. +Library support is not part of the DXIL spec. The only requirement is linked shader must be valid DXIL. Additional Notes From f921ec3723bab0a19a9f108533f42a03c43f7ead Mon Sep 17 00:00:00 2001 From: Alex Sepkowski <5620315+alsepkow@users.noreply.github.com> Date: Thu, 27 Mar 2025 02:13:41 +0000 Subject: [PATCH 3/3] Fix formatting --- docs/DXIL.rst | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/DXIL.rst b/docs/DXIL.rst index 56bd8c1a4f..a68e31d0a9 100644 --- a/docs/DXIL.rst +++ b/docs/DXIL.rst @@ -3294,12 +3294,9 @@ Modules and Linking =================== HLSL has linking capabilities to enable third-party libraries. The linking step happens before shader DXIL is given to the driver compilers. -Experimental library generation is added in DXIL1.1. A library could be created -by compiling with the lib_6_1 profile. -A library is a dxil container like the compile result of other shader profiles. -The difference is a library will keep information for linking like resource link -info and entry function signatures. -Library support is not part of the DXIL spec. The only requirement is linked shader must be valid DXIL. +Experimental library generation is added in DXIL1.1. A library could be created by compiling with the lib_6_1 profile. +A library is a dxil container like the compile result of other shader profiles. The difference is a library will keep information for linking like resource link info and entry function signatures. +Library support is not part of the DXIL spec. The only requirement is that the linked shader must be valid DXIL. Additional Notes