From fff79c311028cc8a5cff310a9c493b23af68eb0c Mon Sep 17 00:00:00 2001 From: venkataram-nv Date: Mon, 1 Jul 2024 16:01:21 -0700 Subject: Support HLSL `.sample` operators for MS textures (#4524) * Add `.sample` operator for MS texture types * Adding filecheck tests for `.sample` --- source/slang/hlsl.meta.slang | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'source') diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index 7c65aec5e..f50c63367 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -3202,6 +3202,7 @@ struct __TextureMip { __TextureImpl tex; @@ -3222,6 +3223,38 @@ extension __TextureImpl +{ + __TextureImpl tex; + int sample; + __subscript(vector pos)->T + { + [__unsafeForceInlineEarly] + get { return tex[pos, sample]; } + } +} + +struct __TextureSampleMS +{ + __TextureImpl tex; + __subscript(int sample)->__TextureSample + { + [__unsafeForceInlineEarly] + get { return { tex, sample }; } + } +} + +__generic +extension __TextureImpl +{ + property __TextureSampleMS sample + { + [__unsafeForceInlineEarly] + get { return { this }; } + } +} + // Texture type aliases. // T, Shape: __ITextureShape, let isArray:int, let isMS:int, let sampleCount:int, let access:int, let isShadow:int, let isCombined:int, let format:int ${{{{ -- cgit v1.2.3