From 11111e5733b189127dc2c4934d67693b9bc6e764 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 6 Dec 2023 12:05:07 -0800 Subject: Support visibility control and default to `internal`. (#3380) * Support visibility control and default to `internal`. * Fix wip. * Fixes. * Fix. * Fix test. * Add legacy language detection and compatibility for existing code. * Add doc. --------- Co-authored-by: Yong He --- tests/bindings/multi-file-defines.h | 3 ++- tests/bindings/multi-file-shared.slang | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) (limited to 'tests/bindings') diff --git a/tests/bindings/multi-file-defines.h b/tests/bindings/multi-file-defines.h index 52a5826b6..db0261158 100644 --- a/tests/bindings/multi-file-defines.h +++ b/tests/bindings/multi-file-defines.h @@ -5,12 +5,13 @@ #define BEGIN_CBUFFER(NAME) cbuffer NAME #define END_CBUFFER(NAME, REG) /**/ #define CBUFFER_REF(NAME, FIELD) FIELD +#define PUBLIC public #else #define R(X) X #define BEGIN_CBUFFER(NAME) struct SLANG_ParameterGroup_##NAME #define END_CBUFFER(NAME, REG) ; cbuffer NAME : REG { SLANG_ParameterGroup_##NAME NAME; } #define CBUFFER_REF(NAME, FIELD) NAME.FIELD - +#define PUBLIC #define sharedC sharedC_0 #define sharedCA sharedCA_0 #define sharedCB sharedCB_0 diff --git a/tests/bindings/multi-file-shared.slang b/tests/bindings/multi-file-shared.slang index af91d5251..dcfa6251c 100644 --- a/tests/bindings/multi-file-shared.slang +++ b/tests/bindings/multi-file-shared.slang @@ -3,23 +3,23 @@ #include "multi-file-defines.h" -float4 use(float val) { return val; }; -float4 use(float2 val) { return float4(val,0.0,0.0); }; -float4 use(float3 val) { return float4(val,0.0); }; -float4 use(float4 val) { return val; }; -float4 use(Texture2D t, SamplerState s) { return t.SampleLevel(s, 0.0, 0.0); } +PUBLIC float4 use(float val) { return val; }; +PUBLIC float4 use(float2 val) { return float4(val,0.0,0.0); }; +PUBLIC float4 use(float3 val) { return float4(val,0.0); }; +PUBLIC float4 use(float4 val) { return val; }; +PUBLIC float4 use(Texture2D t, SamplerState s) { return t.SampleLevel(s, 0.0, 0.0); } -Texture2D sharedT R(: register(t2)); -SamplerState sharedS R(: register(s2)); +PUBLIC Texture2D sharedT R(: register(t2)); +PUBLIC SamplerState sharedS R(: register(s2)); -BEGIN_CBUFFER(sharedC) +PUBLIC BEGIN_CBUFFER(sharedC) { - float3 sharedCA; - float sharedCB; - float3 sharedCC; - float2 sharedCD; + PUBLIC float3 sharedCA; + PUBLIC float sharedCB; + PUBLIC float3 sharedCC; + PUBLIC float2 sharedCD; } END_CBUFFER(sharedC, register(b2)) -Texture2D sharedTV R(: register(t3)); -Texture2D sharedTF R(: register(t4)); +PUBLIC Texture2D sharedTV R(: register(t3)); +PUBLIC Texture2D sharedTF R(: register(t4)); -- cgit v1.2.3