diff options
| author | Julius Ikkala <julius.ikkala@gmail.com> | 2025-07-04 00:09:09 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-03 21:09:09 +0000 |
| commit | 551d0c365571a2e36505851f6a713464662c5fea (patch) | |
| tree | e2c95e6b1016d9e129ac3b463b8a003573284f15 /source/slang | |
| parent | ebfb8d0428b12d3a6cd6de8ebeb13297004cfbe8 (diff) | |
Replace SLANG_ALIGN_OF with C++11 alignof (#7523)
* Replace SLANG_ALIGN_OF with C++11 alignof
* Fix formatting (again)
Diffstat (limited to 'source/slang')
| -rw-r--r-- | source/slang/core.meta.slang | 6 | ||||
| -rw-r--r-- | source/slang/slang-type-layout.cpp | 43 | ||||
| -rw-r--r-- | source/slang/slang.cpp | 2 |
3 files changed, 16 insertions, 35 deletions
diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang index 1aecfae95..b257ff49c 100644 --- a/source/slang/core.meta.slang +++ b/source/slang/core.meta.slang @@ -3066,7 +3066,7 @@ int __alignOf() { case cuda : case cpp : - __intrinsic_asm "SLANG_ALIGN_OF($[0])", T; + __intrinsic_asm "alignof($[0])", T; } } @@ -3077,8 +3077,8 @@ int __alignOf(T v) { __target_switch { - case cpp: __intrinsic_asm "SLANG_ALIGN_OF($T0)"; - case cuda: __intrinsic_asm "SLANG_ALIGN_OF($T0)"; + case cpp: __intrinsic_asm "alignof($T0)"; + case cuda: __intrinsic_asm "alignof($T0)"; } } diff --git a/source/slang/slang-type-layout.cpp b/source/slang/slang-type-layout.cpp index 61a453f37..3982b579d 100644 --- a/source/slang/slang-type-layout.cpp +++ b/source/slang/slang-type-layout.cpp @@ -463,7 +463,7 @@ struct CPULayoutRulesImpl : DefaultLayoutRulesImpl // the compilation. // If we are emitting C++, then there is no way in general to know how that C++ will be // compiled it could be 32 or 64 (or other) sizes. For now we just assume they are the same. - return SimpleLayoutInfo(LayoutResourceKind::Uniform, sizeof(void*), SLANG_ALIGN_OF(void*)); + return SimpleLayoutInfo(LayoutResourceKind::Uniform, sizeof(void*), alignof(void*)); } SimpleArrayLayoutInfo GetArrayLayout(SimpleLayoutInfo elementInfo, LayoutSize elementCount) @@ -476,7 +476,7 @@ struct CPULayoutRulesImpl : DefaultLayoutRulesImpl // So it is actually a Array<T> on CPU which is a pointer and a size info.size = sizeof(void*) * 2; - info.alignment = SLANG_ALIGN_OF(void*); + info.alignment = alignof(void*); return info; } @@ -539,7 +539,7 @@ struct CUDALayoutRulesImpl : DefaultLayoutRulesImpl return SimpleLayoutInfo( LayoutResourceKind::Uniform, sizeof(uint8_t), - SLANG_ALIGN_OF(uint8_t)); + alignof(uint8_t)); } default: @@ -1195,60 +1195,41 @@ struct CPUObjectLayoutRulesImpl : ObjectLayoutRulesImpl case ShaderParameterKind::ConstantBuffer: case ShaderParameterKind::ParameterBlock: // It's a pointer to the actual uniform data - return SimpleLayoutInfo( - LayoutResourceKind::Uniform, - sizeof(void*), - SLANG_ALIGN_OF(void*)); + return SimpleLayoutInfo(LayoutResourceKind::Uniform, sizeof(void*), alignof(void*)); case ShaderParameterKind::MutableTexture: case ShaderParameterKind::TextureUniformBuffer: case ShaderParameterKind::Texture: // It's a pointer to a texture interface - return SimpleLayoutInfo( - LayoutResourceKind::Uniform, - sizeof(void*), - SLANG_ALIGN_OF(void*)); + return SimpleLayoutInfo(LayoutResourceKind::Uniform, sizeof(void*), alignof(void*)); case ShaderParameterKind::StructuredBuffer: case ShaderParameterKind::MutableStructuredBuffer: case ShaderParameterKind::AppendConsumeStructuredBuffer: // It's a ptr and a size of the amount of elements - return SimpleLayoutInfo( - LayoutResourceKind::Uniform, - sizeof(void*) * 2, - SLANG_ALIGN_OF(void*)); + return SimpleLayoutInfo(LayoutResourceKind::Uniform, sizeof(void*) * 2, alignof(void*)); case ShaderParameterKind::RawBuffer: case ShaderParameterKind::Buffer: case ShaderParameterKind::MutableRawBuffer: case ShaderParameterKind::MutableBuffer: // It's a pointer and a size in bytes - return SimpleLayoutInfo( - LayoutResourceKind::Uniform, - sizeof(void*) * 2, - SLANG_ALIGN_OF(void*)); + return SimpleLayoutInfo(LayoutResourceKind::Uniform, sizeof(void*) * 2, alignof(void*)); case ShaderParameterKind::ShaderStorageBuffer: case ShaderParameterKind::AccelerationStructure: case ShaderParameterKind::SamplerState: // It's a pointer - return SimpleLayoutInfo( - LayoutResourceKind::Uniform, - sizeof(void*), - SLANG_ALIGN_OF(void*)); + return SimpleLayoutInfo(LayoutResourceKind::Uniform, sizeof(void*), alignof(void*)); case ShaderParameterKind::TextureSampler: case ShaderParameterKind::MutableTextureSampler: { ObjectLayoutInfo info; - info.layoutInfos.add(SimpleLayoutInfo( - LayoutResourceKind::Uniform, - sizeof(void*), - SLANG_ALIGN_OF(void*))); - info.layoutInfos.add(SimpleLayoutInfo( - LayoutResourceKind::Uniform, - sizeof(void*), - SLANG_ALIGN_OF(void*))); + info.layoutInfos.add( + SimpleLayoutInfo(LayoutResourceKind::Uniform, sizeof(void*), alignof(void*))); + info.layoutInfos.add( + SimpleLayoutInfo(LayoutResourceKind::Uniform, sizeof(void*), alignof(void*))); return info; } case ShaderParameterKind::InputRenderTarget: diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index e98187c85..297a3464f 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -835,7 +835,7 @@ static T makeFromSizeVersioned(const uint8_t* src) const size_t dstSize = sizeof(T); // If they are the same size, and appropriate alignment we can just cast and return - if (srcSize == dstSize && (size_t(src) & (SLANG_ALIGN_OF(T) - 1)) == 0) + if (srcSize == dstSize && (size_t(src) & (alignof(T) - 1)) == 0) { return *(const T*)src; } |
