summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-12-06 12:05:07 -0800
committerGitHub <noreply@github.com>2023-12-06 12:05:07 -0800
commit11111e5733b189127dc2c4934d67693b9bc6e764 (patch)
tree0ba84df3e856eb104abec2ecac47242bc70a7b7d /tests
parentfa6d8717d02912697c09f2d7de802723ac6d6e47 (diff)
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 <yhe@nvidia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/autodiff/bsdf/bsdf-auto-rev.slang3
-rw-r--r--tests/autodiff/bsdf/bsdf-sample.slang5
-rw-r--r--tests/autodiff/cuda-kernel-export.slang2
-rw-r--r--tests/autodiff/material/DiffuseMaterial.slang8
-rw-r--r--tests/autodiff/material/DiffuseMaterialInstance.slang12
-rw-r--r--tests/autodiff/material/GlossyMaterial.slang8
-rw-r--r--tests/autodiff/material/GlossyMaterialInstance.slang18
-rw-r--r--tests/autodiff/material/IBSDF.slang4
-rw-r--r--tests/autodiff/material/IMaterial.slang6
-rw-r--r--tests/autodiff/material/IMaterialInstance.slang4
-rw-r--r--tests/autodiff/material/MaterialSystem.slang2
-rw-r--r--tests/autodiff/material2/DiffuseMaterial.slang10
-rw-r--r--tests/autodiff/material2/DiffuseMaterialInstance.slang6
-rw-r--r--tests/autodiff/material2/GlossyMaterial.slang14
-rw-r--r--tests/autodiff/material2/GlossyMaterialInstance.slang6
-rw-r--r--tests/autodiff/material2/IBSDF.slang8
-rw-r--r--tests/autodiff/material2/IMaterial.slang6
-rw-r--r--tests/autodiff/material2/IMaterialInstance.slang8
-rw-r--r--tests/autodiff/material2/MaterialSystem.slang2
-rw-r--r--tests/autodiff/material2/MxLayeredMaterial.slang32
-rw-r--r--tests/autodiff/material2/MxLayeredMaterialInstance.slang12
-rw-r--r--tests/autodiff/material2/MxWeights.slang14
-rw-r--r--tests/bindings/multi-file-defines.h3
-rw-r--r--tests/bindings/multi-file-shared.slang28
-rw-r--r--tests/bugs/gl-33-ext.slang6
-rw-r--r--tests/bugs/interface-lvalue.slang2
-rw-r--r--tests/bugs/split-nested-types.slang14
-rw-r--r--tests/compute/array-existential-parameter.slang2
-rw-r--r--tests/compute/dynamic-dispatch-11.slang2
-rw-r--r--tests/compute/dynamic-dispatch-12.slang8
-rw-r--r--tests/compute/dynamic-dispatch-13.slang4
-rw-r--r--tests/compute/dynamic-dispatch-14.slang10
-rw-r--r--tests/compute/dynamic-dispatch-15.slang10
-rw-r--r--tests/compute/dynamic-dispatch-bindless-texture.slang2
-rw-r--r--tests/compute/interface-assoc-type-param.slang4
-rw-r--r--tests/compute/interface-func-param-in-struct.slang4
-rw-r--r--tests/compute/interface-param-partial-specialize.slang4
-rw-r--r--tests/cpu-program/class-com.slang6
-rw-r--r--tests/cpu-program/class.slang4
-rw-r--r--tests/cpu-program/cpu-hello-world.slang2
-rw-r--r--tests/cpu-program/gfx-smoke.slang4
-rw-r--r--tests/cpu-program/pointer-basics.slang4
-rw-r--r--tests/cpu-program/pointer-deref.slang4
-rw-r--r--tests/current-bugs/resource-dynamic-dispatch.slang6
-rw-r--r--tests/diagnostics/extension-visibility-a.slang12
-rw-r--r--tests/diagnostics/extension-visibility-b.slang4
-rw-r--r--tests/diagnostics/extension-visibility-c.slang2
-rw-r--r--tests/diagnostics/extension-visibility.slang.expected6
-rw-r--r--tests/diagnostics/internal-visibility/that-module-impl.slang17
-rw-r--r--tests/diagnostics/internal-visibility/that-module.slang25
-rw-r--r--tests/diagnostics/internal-visibility/this-module.slang26
-rw-r--r--tests/diagnostics/private-visibility.slang44
-rw-r--r--tests/diagnostics/visibility.slang23
-rw-r--r--tests/front-end/import-exported-b.slang2
-rw-r--r--tests/front-end/import-subdir-search-path.slang2
-rw-r--r--tests/front-end/raw-string-literal.slang4
-rw-r--r--tests/front-end/subdir/import-subdir-a.slang2
-rw-r--r--tests/ir/string-literal-module.slang2
-rw-r--r--tests/language-feature/extensions/extension-import-helper.slang10
-rw-r--r--tests/language-feature/generics/struct-generic-value-param-import.slang8
-rw-r--r--tests/language-feature/inheritance/struct-inheritance-imported.slang8
-rw-r--r--tests/library/library.slang4
-rw-r--r--tests/reflection/multi-file-defines.h3
-rw-r--r--tests/reflection/multi-file-shared.slang28
-rw-r--r--tests/reflection/reflect-imported-code.slang12
-rw-r--r--tests/vkray/callable-shared.slang6
66 files changed, 356 insertions, 217 deletions
diff --git a/tests/autodiff/bsdf/bsdf-auto-rev.slang b/tests/autodiff/bsdf/bsdf-auto-rev.slang
index cd31f2097..1bb1989bf 100644
--- a/tests/autodiff/bsdf/bsdf-auto-rev.slang
+++ b/tests/autodiff/bsdf/bsdf-auto-rev.slang
@@ -1,4 +1,5 @@
//TEST_IGNORE_FILE:
+implementing "bsdf-sample";
struct ShadingData
{
@@ -103,4 +104,4 @@ float bsdfGGXPDF(in float3 hLocal, in Auto_Bwd_BSDFParameters params)
float d = ((cosTheta * a2 - cosTheta) * cosTheta + 1);
return (a2 / (d * d * 3.1415926)) * cosTheta;
-} \ No newline at end of file
+}
diff --git a/tests/autodiff/bsdf/bsdf-sample.slang b/tests/autodiff/bsdf/bsdf-sample.slang
index 8a9508791..9dfecf97e 100644
--- a/tests/autodiff/bsdf/bsdf-sample.slang
+++ b/tests/autodiff/bsdf/bsdf-sample.slang
@@ -2,9 +2,10 @@
//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj -output-using-type
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0], stride=4):out,name=outputBuffer
-RWStructuredBuffer<float> outputBuffer;
+module "bsdf-sample";
+__include bsdf_auto_rev;
-__exported import bsdf_auto_rev;
+RWStructuredBuffer<float> outputBuffer;
[numthreads(1, 1, 1)]
void computeMain(uint3 dispatchThreadID: SV_DispatchThreadID)
diff --git a/tests/autodiff/cuda-kernel-export.slang b/tests/autodiff/cuda-kernel-export.slang
index 928133c94..39815ede8 100644
--- a/tests/autodiff/cuda-kernel-export.slang
+++ b/tests/autodiff/cuda-kernel-export.slang
@@ -35,7 +35,7 @@ void myKernel(TensorView<float> inValues, TensorView<float> outValues)
// TORCH: {{^SLANG_PRELUDE_EXPORT$}}
// TORCH-NEXT: std::tuple<std::tuple<float, float>, std::tuple<std::tuple<std::tuple<torch::Tensor, torch::Tensor>>, std::tuple<std::tuple<torch::Tensor, torch::Tensor>>>> runCompute(std::tuple<torch::Tensor, float> input_[[#]])
[TorchEntryPoint]
-public __extern_cpp MyType runCompute(MyInput input)
+export __extern_cpp MyType runCompute(MyInput input)
{
MyType rs;
var outValues = TorchTensor<float>.alloc(1);
diff --git a/tests/autodiff/material/DiffuseMaterial.slang b/tests/autodiff/material/DiffuseMaterial.slang
index e762e17c8..3dd2927f5 100644
--- a/tests/autodiff/material/DiffuseMaterial.slang
+++ b/tests/autodiff/material/DiffuseMaterial.slang
@@ -3,13 +3,13 @@
__exported import IMaterial;
__exported import DiffuseMaterialInstance;
-struct DiffuseMaterial : IMaterial
+public struct DiffuseMaterial : IMaterial
{
- float3 baseColor;
+ public float3 baseColor;
- typedef DiffuseMaterialInstance MaterialInstance;
+ public typedef DiffuseMaterialInstance MaterialInstance;
- DiffuseMaterialInstance setupMaterialInstance()
+ public DiffuseMaterialInstance setupMaterialInstance()
{
DiffuseMaterialInstance mi = { {baseColor} };
return mi;
diff --git a/tests/autodiff/material/DiffuseMaterialInstance.slang b/tests/autodiff/material/DiffuseMaterialInstance.slang
index ca6bfc69a..c6f0e315b 100644
--- a/tests/autodiff/material/DiffuseMaterialInstance.slang
+++ b/tests/autodiff/material/DiffuseMaterialInstance.slang
@@ -3,23 +3,23 @@
__exported import IMaterialInstance;
__exported import IBSDF;
-struct DiffuseBSDF : IBSDF
+public struct DiffuseBSDF : IBSDF
{
- float3 albedo;
+ public float3 albedo;
[TreatAsDifferentiable]
- float3 eval(const float3 wiLocal, const float3 woLocal)
+ public float3 eval(const float3 wiLocal, const float3 woLocal)
{
return albedo;
}
};
-struct DiffuseMaterialInstance : IMaterialInstance
+public struct DiffuseMaterialInstance : IMaterialInstance
{
- DiffuseBSDF bsdf;
+ public DiffuseBSDF bsdf;
[TreatAsDifferentiable]
- float3 eval(const float3 wi, const float3 wo)
+ public float3 eval(const float3 wi, const float3 wo)
{
return bsdf.eval(wi, wo);
}
diff --git a/tests/autodiff/material/GlossyMaterial.slang b/tests/autodiff/material/GlossyMaterial.slang
index 59cee5afe..9848c82ed 100644
--- a/tests/autodiff/material/GlossyMaterial.slang
+++ b/tests/autodiff/material/GlossyMaterial.slang
@@ -3,13 +3,13 @@
__exported import IMaterial;
__exported import GlossyMaterialInstance;
-struct GlossyMaterial : IMaterial
+public struct GlossyMaterial : IMaterial
{
- float3 baseColor;
+ public float3 baseColor;
- typedef GlossyMaterialInstance MaterialInstance;
+ public typedef GlossyMaterialInstance MaterialInstance;
- GlossyMaterialInstance setupMaterialInstance()
+ public GlossyMaterialInstance setupMaterialInstance()
{
GlossyMaterialInstance mi = { { baseColor } };
return mi;
diff --git a/tests/autodiff/material/GlossyMaterialInstance.slang b/tests/autodiff/material/GlossyMaterialInstance.slang
index fbbcc1a26..fb1ce55c0 100644
--- a/tests/autodiff/material/GlossyMaterialInstance.slang
+++ b/tests/autodiff/material/GlossyMaterialInstance.slang
@@ -3,44 +3,44 @@
__exported import IMaterialInstance;
__exported import IBSDF;
-struct GlossyBSDF : IBSDF
+public struct GlossyBSDF : IBSDF
{
- float3 albedo;
+ public float3 albedo;
- float3 getAlbedo()
+ public float3 getAlbedo()
{
return albedo;
}
[ForwardDerivativeOf(getAlbedo)]
[TreatAsDifferentiable]
- DifferentialPair<float3> __fwd_d_getAlbedo()
+ public DifferentialPair<float3> __fwd_d_getAlbedo()
{
return diffPair(albedo, float3(1.f));
}
[BackwardDerivativeOf(getAlbedo)]
[TreatAsDifferentiable]
- void __bwd_d_getAlbedo(float3 dOut)
+ public void __bwd_d_getAlbedo(float3 dOut)
{
[unroll]
for (int j = 0; j < 3; j++) outputBuffer[j + 3] += dOut[j];
}
[BackwardDifferentiable]
- float3 eval(const float3 wiLocal, const float3 woLocal)
+ public float3 eval(const float3 wiLocal, const float3 woLocal)
{
float3 a = getAlbedo();
return a * a;
}
};
-struct GlossyMaterialInstance : IMaterialInstance
+public struct GlossyMaterialInstance : IMaterialInstance
{
- GlossyBSDF bsdf;
+ public GlossyBSDF bsdf;
[BackwardDifferentiable]
- float3 eval(const float3 wi, const float3 wo)
+ public float3 eval(const float3 wi, const float3 wo)
{
return bsdf.eval(wi, wo);
}
diff --git a/tests/autodiff/material/IBSDF.slang b/tests/autodiff/material/IBSDF.slang
index 9bdeb9197..933392b80 100644
--- a/tests/autodiff/material/IBSDF.slang
+++ b/tests/autodiff/material/IBSDF.slang
@@ -1,9 +1,9 @@
//TEST_IGNORE_FILE:
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0], stride=4):out,name=outputBuffer
-RWStructuredBuffer<float> outputBuffer;
+public RWStructuredBuffer<float> outputBuffer;
-interface IBSDF
+public interface IBSDF
{
[BackwardDifferentiable]
float3 eval(const float3 wi, const float3 wo);
diff --git a/tests/autodiff/material/IMaterial.slang b/tests/autodiff/material/IMaterial.slang
index 4bdaac2bc..73390ba0e 100644
--- a/tests/autodiff/material/IMaterial.slang
+++ b/tests/autodiff/material/IMaterial.slang
@@ -2,9 +2,9 @@
__exported import IMaterialInstance;
-interface IMaterial
+public interface IMaterial
{
- associatedtype MaterialInstance : IMaterialInstance;
+ public associatedtype MaterialInstance : IMaterialInstance;
- MaterialInstance setupMaterialInstance();
+ public MaterialInstance setupMaterialInstance();
}
diff --git a/tests/autodiff/material/IMaterialInstance.slang b/tests/autodiff/material/IMaterialInstance.slang
index fb13f8982..4425c2c65 100644
--- a/tests/autodiff/material/IMaterialInstance.slang
+++ b/tests/autodiff/material/IMaterialInstance.slang
@@ -1,7 +1,7 @@
//TEST_IGNORE_FILE:
-interface IMaterialInstance
+public interface IMaterialInstance
{
[BackwardDifferentiable]
- float3 eval(const float3 wi, const float3 wo);
+ public float3 eval(const float3 wi, const float3 wo);
}
diff --git a/tests/autodiff/material/MaterialSystem.slang b/tests/autodiff/material/MaterialSystem.slang
index 5e733fad9..9fcee1386 100644
--- a/tests/autodiff/material/MaterialSystem.slang
+++ b/tests/autodiff/material/MaterialSystem.slang
@@ -2,7 +2,7 @@
__exported import IMaterial;
-IMaterial createMaterialClassConformance(int type, float3 value)
+public IMaterial createMaterialClassConformance(int type, float3 value)
{
return createDynamicObject<IMaterial, float3>(type, value);
}
diff --git a/tests/autodiff/material2/DiffuseMaterial.slang b/tests/autodiff/material2/DiffuseMaterial.slang
index 721445249..d4ae579ff 100644
--- a/tests/autodiff/material2/DiffuseMaterial.slang
+++ b/tests/autodiff/material2/DiffuseMaterial.slang
@@ -3,20 +3,20 @@
__exported import IMaterial;
__exported import DiffuseMaterialInstance;
-struct DiffuseMaterial : IMaterial
+public struct DiffuseMaterial : IMaterial
{
- float3 baseColor;
+ public float3 baseColor;
- typedef DiffuseMaterialInstance MaterialInstance;
+ public typedef DiffuseMaterialInstance MaterialInstance;
[TreatAsDifferentiable]
- float3 getAlbedo(float3 albedo)
+ public float3 getAlbedo(float3 albedo)
{
return albedo;
}
[BackwardDifferentiable]
- DiffuseMaterialInstance setupMaterialInstance(out MaterialInstanceData miData)
+ public DiffuseMaterialInstance setupMaterialInstance(out MaterialInstanceData miData)
{
float3 albedo = getAlbedo(baseColor);
DiffuseMaterialInstance mi = { baseColor };
diff --git a/tests/autodiff/material2/DiffuseMaterialInstance.slang b/tests/autodiff/material2/DiffuseMaterialInstance.slang
index e33e3f568..7f8421d9f 100644
--- a/tests/autodiff/material2/DiffuseMaterialInstance.slang
+++ b/tests/autodiff/material2/DiffuseMaterialInstance.slang
@@ -3,12 +3,12 @@
__exported import IMaterialInstance;
__exported import IBSDF;
-struct DiffuseMaterialInstance : IMaterialInstance
+public struct DiffuseMaterialInstance : IMaterialInstance
{
- float3 albedo;
+ public float3 albedo;
[BackwardDifferentiable]
- float3 eval(const MaterialInstanceData miData, const float3 wi, const float3 wo)
+ public float3 eval(const MaterialInstanceData miData, const float3 wi, const float3 wo)
{
float3 albedo;
for (uint i = 0; i < 3; i++) albedo[i] = miData.data[i];
diff --git a/tests/autodiff/material2/GlossyMaterial.slang b/tests/autodiff/material2/GlossyMaterial.slang
index 34ade54cb..e937443d4 100644
--- a/tests/autodiff/material2/GlossyMaterial.slang
+++ b/tests/autodiff/material2/GlossyMaterial.slang
@@ -3,34 +3,34 @@
__exported import IMaterial;
__exported import GlossyMaterialInstance;
-struct GlossyMaterial : IMaterial
+public struct GlossyMaterial : IMaterial
{
- float3 baseColor;
+ public float3 baseColor;
- typedef GlossyMaterialInstance MaterialInstance;
+ public typedef GlossyMaterialInstance MaterialInstance;
- float3 getAlbedo(float3 albedo)
+ public float3 getAlbedo(float3 albedo)
{
return albedo;
}
[ForwardDerivativeOf(getAlbedo)]
[TreatAsDifferentiable]
- DifferentialPair<float3> __fwd_d_getAlbedo(DifferentialPair<float3> dpAlbedo)
+ public DifferentialPair<float3> __fwd_d_getAlbedo(DifferentialPair<float3> dpAlbedo)
{
return diffPair(dpAlbedo.p, float3(1.f));
}
[BackwardDerivativeOf(getAlbedo)]
[TreatAsDifferentiable]
- void __bwd_d_getAlbedo(inout DifferentialPair<float3> dpAlbedo, float3 dOut)
+ public void __bwd_d_getAlbedo(inout DifferentialPair<float3> dpAlbedo, float3 dOut)
{
[unroll]
for (int j = 0; j < 3; j++) outputBuffer[j + 3] += dOut[j];
}
[BackwardDifferentiable]
- GlossyMaterialInstance setupMaterialInstance(out MaterialInstanceData miData)
+ public GlossyMaterialInstance setupMaterialInstance(out MaterialInstanceData miData)
{
float3 albedo = getAlbedo(baseColor);
GlossyMaterialInstance mi = { baseColor };
diff --git a/tests/autodiff/material2/GlossyMaterialInstance.slang b/tests/autodiff/material2/GlossyMaterialInstance.slang
index 3cef458ff..64973a5ea 100644
--- a/tests/autodiff/material2/GlossyMaterialInstance.slang
+++ b/tests/autodiff/material2/GlossyMaterialInstance.slang
@@ -3,12 +3,12 @@
__exported import IMaterialInstance;
__exported import IBSDF;
-struct GlossyMaterialInstance : IMaterialInstance
+public struct GlossyMaterialInstance : IMaterialInstance
{
- float3 albedo;
+ public float3 albedo;
[BackwardDifferentiable]
- float3 eval(const MaterialInstanceData miData, const float3 wi, const float3 wo)
+ public float3 eval(const MaterialInstanceData miData, const float3 wi, const float3 wo)
{
float3 albedo = float3(0.0f, 0.0f, 0.0f);
for (uint i = 0; i < 3; i++) albedo[i] = miData.data[i];
diff --git a/tests/autodiff/material2/IBSDF.slang b/tests/autodiff/material2/IBSDF.slang
index 57cff2883..49bfde6e7 100644
--- a/tests/autodiff/material2/IBSDF.slang
+++ b/tests/autodiff/material2/IBSDF.slang
@@ -1,10 +1,10 @@
//TEST_IGNORE_FILE:
-//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0], stride=4):out,name=outputBuffer
-RWStructuredBuffer<float> outputBuffer;
+// TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0], stride=4):out,name=outputBuffer
+public RWStructuredBuffer<float> outputBuffer;
-interface IBSDF
+public interface IBSDF
{
[BackwardDifferentiable]
- float3 eval(const float3 wi, const float3 wo);
+ public float3 eval(const float3 wi, const float3 wo);
}
diff --git a/tests/autodiff/material2/IMaterial.slang b/tests/autodiff/material2/IMaterial.slang
index 66780c9ff..cefb69393 100644
--- a/tests/autodiff/material2/IMaterial.slang
+++ b/tests/autodiff/material2/IMaterial.slang
@@ -2,10 +2,10 @@
__exported import IMaterialInstance;
-interface IMaterial
+public interface IMaterial
{
- associatedtype MaterialInstance : IMaterialInstance;
+ public associatedtype MaterialInstance : IMaterialInstance;
[BackwardDifferentiable]
- MaterialInstance setupMaterialInstance(out MaterialInstanceData miData);
+ public MaterialInstance setupMaterialInstance(out MaterialInstanceData miData);
}
diff --git a/tests/autodiff/material2/IMaterialInstance.slang b/tests/autodiff/material2/IMaterialInstance.slang
index ddf5ca0f6..6b6b617b5 100644
--- a/tests/autodiff/material2/IMaterialInstance.slang
+++ b/tests/autodiff/material2/IMaterialInstance.slang
@@ -1,8 +1,8 @@
//TEST_IGNORE_FILE:
-struct MaterialInstanceData : IDifferentiable
+public struct MaterialInstanceData : IDifferentiable
{
- float data[5];
+ public float data[5];
}
/*
@@ -13,8 +13,8 @@ struct MaterialInstanceSetupResult : IDifferentiable
}
*/
-interface IMaterialInstance
+public interface IMaterialInstance
{
[BackwardDifferentiable]
- float3 eval(const MaterialInstanceData miData, const float3 wi, const float3 wo);
+ public float3 eval(const MaterialInstanceData miData, const float3 wi, const float3 wo);
}
diff --git a/tests/autodiff/material2/MaterialSystem.slang b/tests/autodiff/material2/MaterialSystem.slang
index 5e733fad9..9fcee1386 100644
--- a/tests/autodiff/material2/MaterialSystem.slang
+++ b/tests/autodiff/material2/MaterialSystem.slang
@@ -2,7 +2,7 @@
__exported import IMaterial;
-IMaterial createMaterialClassConformance(int type, float3 value)
+public IMaterial createMaterialClassConformance(int type, float3 value)
{
return createDynamicObject<IMaterial, float3>(type, value);
}
diff --git a/tests/autodiff/material2/MxLayeredMaterial.slang b/tests/autodiff/material2/MxLayeredMaterial.slang
index 5e2717b60..8c5cd6d3c 100644
--- a/tests/autodiff/material2/MxLayeredMaterial.slang
+++ b/tests/autodiff/material2/MxLayeredMaterial.slang
@@ -5,54 +5,54 @@ __exported import IMaterialInstance;
import MxLayeredMaterialInstance;
import MxWeights;
-struct LayeredData_mixedLobes : IMxLayeredMaterialData
+public struct LayeredData_mixedLobes : IMxLayeredMaterialData
{
- static const int bsdfCount = 3;
- static const int layerCount = 1;
+ public static const int bsdfCount = 3;
+ public static const int layerCount = 1;
- int getBsdfCount() { return bsdfCount; }
- int getLayerCount() { return layerCount; }
+ public int getBsdfCount() { return bsdfCount; }
+ public int getLayerCount() { return layerCount; }
}
#define TMxLayeredMaterialData LayeredData_mixedLobes
-struct Layered_mixedLobes_WeightsCalculator : IMxLayeredWeightCalculator
+public struct Layered_mixedLobes_WeightsCalculator : IMxLayeredWeightCalculator
{
- void calculateWeights<let TBsdfCount : int, let TLayerCount : int, TLayeredMaterialData : IMxLayeredMaterialData>(
+ public void calculateWeights<let TBsdfCount : int, let TLayerCount : int, TLayeredMaterialData : IMxLayeredMaterialData>(
const TLayeredMaterialData data, out MxWeights<TBsdfCount> weights)
{
for (uint i = 0; i < TBsdfCount; i++) weights.weights[i] = float3(0.f);
}
}
-struct MxLayeredMaterial : IMaterial
+public struct MxLayeredMaterial : IMaterial
{
- float3 baseColor;
+ public float3 baseColor;
- typealias UsedMaterialInstance = MxLayeredMaterialInstance<3, 1, TMxLayeredMaterialData, Layered_mixedLobes_WeightsCalculator>;
- typedef UsedMaterialInstance MaterialInstance;
+ public typealias UsedMaterialInstance = MxLayeredMaterialInstance<3, 1, TMxLayeredMaterialData, Layered_mixedLobes_WeightsCalculator>;
+ public typedef UsedMaterialInstance MaterialInstance;
- float3 getAlbedo(float3 albedo)
+ public float3 getAlbedo(float3 albedo)
{
return albedo;
}
[ForwardDerivativeOf(getAlbedo)]
[TreatAsDifferentiable]
- DifferentialPair<float3> __fwd_d_getAlbedo(DifferentialPair<float3> dpAlbedo)
+ public DifferentialPair<float3> __fwd_d_getAlbedo(DifferentialPair<float3> dpAlbedo)
{
return diffPair(dpAlbedo.p, float3(1.f));
}
[BackwardDerivativeOf(getAlbedo)]
[TreatAsDifferentiable]
- void __bwd_d_getAlbedo(inout DifferentialPair<float3> dpAlbedo, float3 dOut)
+ public void __bwd_d_getAlbedo(inout DifferentialPair<float3> dpAlbedo, float3 dOut)
{
[unroll]
for (int j = 0; j < 3; j++) outputBuffer[j + 6] += dOut[j];
}
-
+
[Differentiable]
- UsedMaterialInstance setupMaterialInstance(out MaterialInstanceData miData)
+ public UsedMaterialInstance setupMaterialInstance(out MaterialInstanceData miData)
{
float3 albedo = getAlbedo(baseColor);
UsedMaterialInstance mi;
diff --git a/tests/autodiff/material2/MxLayeredMaterialInstance.slang b/tests/autodiff/material2/MxLayeredMaterialInstance.slang
index 53a319d6f..ed2ef1cb0 100644
--- a/tests/autodiff/material2/MxLayeredMaterialInstance.slang
+++ b/tests/autodiff/material2/MxLayeredMaterialInstance.slang
@@ -5,17 +5,17 @@ __exported import IBSDF;
import MxWeights;
-struct MxLayeredMaterialInstance<
+public struct MxLayeredMaterialInstance<
let TBsdfCount : int,
let TLayerCount : int,
TLayeredMaterialData : IMxLayeredMaterialData,
TWeightsCalc : IMxLayeredWeightCalculator> : IMaterialInstance
{
- TLayeredMaterialData data;
- TWeightsCalc calculator;
- typealias Weights = MxWeights<TBsdfCount>;
+ public TLayeredMaterialData data;
+ public TWeightsCalc calculator;
+ public typealias Weights = MxWeights<TBsdfCount>;
- Weights calculateWeights()
+ public Weights calculateWeights()
{
Weights result;
calculator.calculateWeights<TBsdfCount, TLayerCount, TLayeredMaterialData>(data, result);
@@ -23,7 +23,7 @@ struct MxLayeredMaterialInstance<
}
[Differentiable]
- float3 eval(const MaterialInstanceData miData, const float3 wi, const float3 wo)
+ public float3 eval(const MaterialInstanceData miData, const float3 wi, const float3 wo)
{
float3 albedo;
for (uint i = 0; i < 3; i++) albedo[i] = miData.data[i];
diff --git a/tests/autodiff/material2/MxWeights.slang b/tests/autodiff/material2/MxWeights.slang
index 1d1a9f543..1e9c7d36c 100644
--- a/tests/autodiff/material2/MxWeights.slang
+++ b/tests/autodiff/material2/MxWeights.slang
@@ -1,18 +1,18 @@
//TEST_IGNORE_FILE:
-struct MxWeights<let TBsdfCount : int>
+public struct MxWeights<let TBsdfCount : int>
{
- float3 weights[TBsdfCount];
+ public float3 weights[TBsdfCount];
}
-interface IMxLayeredMaterialData
+public interface IMxLayeredMaterialData
{
- int getBsdfCount();
- int getLayerCount();
+ public int getBsdfCount();
+ public int getLayerCount();
}
-interface IMxLayeredWeightCalculator
+public interface IMxLayeredWeightCalculator
{
- void calculateWeights<let TBsdfCount : int, let TLayerCount: int, TLayeredMaterialData : IMxLayeredMaterialData>(
+ public void calculateWeights<let TBsdfCount : int, let TLayerCount: int, TLayeredMaterialData : IMxLayeredMaterialData>(
const TLayeredMaterialData data, out MxWeights<TBsdfCount> weights);
}
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));
diff --git a/tests/bugs/gl-33-ext.slang b/tests/bugs/gl-33-ext.slang
index ae70cfaf0..fccde99a3 100644
--- a/tests/bugs/gl-33-ext.slang
+++ b/tests/bugs/gl-33-ext.slang
@@ -1,8 +1,8 @@
// gl-33-ext.slang
//TEST_IGNORE_FILE:
-struct A
+public struct A
{
- int state;
- [mutating] int next() { return state; }
+ public int state;
+ [mutating] public int next() { return state; }
};
diff --git a/tests/bugs/interface-lvalue.slang b/tests/bugs/interface-lvalue.slang
index 87cfa54ed..e80a130d1 100644
--- a/tests/bugs/interface-lvalue.slang
+++ b/tests/bugs/interface-lvalue.slang
@@ -23,7 +23,7 @@ void createFoo(out IFoo val)
val = resuult;
}
-public __extern_cpp int main()
+export __extern_cpp int main()
{
IFoo v;
createFoo(v);
diff --git a/tests/bugs/split-nested-types.slang b/tests/bugs/split-nested-types.slang
index 3bd4e239f..b9bfb9e62 100644
--- a/tests/bugs/split-nested-types.slang
+++ b/tests/bugs/split-nested-types.slang
@@ -1,14 +1,14 @@
//TEST_IGNORE_FILE:
-struct A { int x; };
+public struct A { public int x; };
-struct B { float y; };
+public struct B { public float y; };
-struct CC { Texture2D t; SamplerState s; };
+public struct CC { public Texture2D t; public SamplerState s; };
-struct M
+public struct M
{
- A a;
- B b;
- CC c;
+ public A a;
+ public B b;
+ public CC c;
};
diff --git a/tests/compute/array-existential-parameter.slang b/tests/compute/array-existential-parameter.slang
index 813c5a40b..b7473e447 100644
--- a/tests/compute/array-existential-parameter.slang
+++ b/tests/compute/array-existential-parameter.slang
@@ -38,7 +38,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
//TEST_INPUT: globalExistentialType __Dynamic
// Type must be marked `public` to ensure it is visible in the generated DLL.
-public struct MyImpl : IInterface
+export struct MyImpl : IInterface
{
int val;
int run(int input)
diff --git a/tests/compute/dynamic-dispatch-11.slang b/tests/compute/dynamic-dispatch-11.slang
index d6f64aa99..59e7ce581 100644
--- a/tests/compute/dynamic-dispatch-11.slang
+++ b/tests/compute/dynamic-dispatch-11.slang
@@ -34,7 +34,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
// No type input for dynamic dispatch //TEST_INPUT: globalExistentialType MyImpl
// Type must be marked `public` to ensure it is visible in the generated DLL.
-public struct MyImpl : IInterface
+export struct MyImpl : IInterface
{
int val;
int run(int input)
diff --git a/tests/compute/dynamic-dispatch-12.slang b/tests/compute/dynamic-dispatch-12.slang
index 906a5da0e..28f9c4c14 100644
--- a/tests/compute/dynamic-dispatch-12.slang
+++ b/tests/compute/dynamic-dispatch-12.slang
@@ -37,14 +37,14 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
}
// Specialize gCb1, but not gCb2
-//TEST_INPUT: globalExistentialType MyImpl
-//TEST_INPUT: globalExistentialType __Dynamic
+// TEST_INPUT: globalExistentialType MyImpl
+// TEST_INPUT: globalExistentialType __Dynamic
// Type must be marked `public` to ensure it is visible in the generated DLL.
-public struct MyImpl : IInterface
+export struct MyImpl : IInterface
{
int val;
int run(int input)
{
return input + val;
}
-}; \ No newline at end of file
+};
diff --git a/tests/compute/dynamic-dispatch-13.slang b/tests/compute/dynamic-dispatch-13.slang
index f9ad9683b..20d78e0ad 100644
--- a/tests/compute/dynamic-dispatch-13.slang
+++ b/tests/compute/dynamic-dispatch-13.slang
@@ -35,7 +35,7 @@ void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
}
// Type must be marked `public` to ensure it is visible in the generated DLL.
-public struct MyImpl : IInterface
+export struct MyImpl : IInterface
{
int val;
int run(int input)
@@ -43,7 +43,7 @@ public struct MyImpl : IInterface
return input + val;
}
};
-public struct MyImpl2 : IInterface
+export struct MyImpl2 : IInterface
{
int val;
int run(int input)
diff --git a/tests/compute/dynamic-dispatch-14.slang b/tests/compute/dynamic-dispatch-14.slang
index e605132c6..0dc99b432 100644
--- a/tests/compute/dynamic-dispatch-14.slang
+++ b/tests/compute/dynamic-dispatch-14.slang
@@ -46,10 +46,10 @@ void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
}
// Type must be marked `public` to ensure it is visible in the generated DLL.
-public struct MyImpl : IInterface
+export struct MyImpl : IInterface
{
int val;
- public struct TAssoc : IAssoc
+ export struct TAssoc : IAssoc
{
int val;
int eval() { return val; }
@@ -62,10 +62,10 @@ public struct MyImpl : IInterface
}
};
-public struct MyImpl2 : IInterface
+export struct MyImpl2 : IInterface
{
int val;
- public struct TAssoc : IAssoc
+ export struct TAssoc : IAssoc
{
int val;
int eval() { return val; }
@@ -76,4 +76,4 @@ public struct MyImpl2 : IInterface
rs.val = input - val;
return rs;
}
-}; \ No newline at end of file
+};
diff --git a/tests/compute/dynamic-dispatch-15.slang b/tests/compute/dynamic-dispatch-15.slang
index 5e2be1a4c..2ab169281 100644
--- a/tests/compute/dynamic-dispatch-15.slang
+++ b/tests/compute/dynamic-dispatch-15.slang
@@ -46,7 +46,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
}
// Type must be marked `public` to ensure it is visible in the generated DLL.
-public struct FloatVal : IInterface
+export struct FloatVal : IInterface
{
float val;
float run()
@@ -56,7 +56,7 @@ public struct FloatVal : IInterface
};
interface ISomething{void g();}
struct Float4Struct : ISomething { float4 val; void g() {} }
-public struct Float4Val : IInterface
+export struct Float4Val : IInterface
{
Float4Struct val;
float run()
@@ -64,7 +64,7 @@ public struct Float4Val : IInterface
return val.val.x;
}
};
-public struct IntVal : IInterface
+export struct IntVal : IInterface
{
int val;
float run()
@@ -72,11 +72,11 @@ public struct IntVal : IInterface
return val;
}
};
-public struct Int4Val : IInterface
+export struct Int4Val : IInterface
{
int4 val;
float run()
{
return val.x;
}
-}; \ No newline at end of file
+};
diff --git a/tests/compute/dynamic-dispatch-bindless-texture.slang b/tests/compute/dynamic-dispatch-bindless-texture.slang
index 04c1f1766..34ef67d1e 100644
--- a/tests/compute/dynamic-dispatch-bindless-texture.slang
+++ b/tests/compute/dynamic-dispatch-bindless-texture.slang
@@ -28,7 +28,7 @@ void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
//TEST_INPUT: globalExistentialType __Dynamic
// Type must be marked `public` to ensure it is visible in the generated DLL.
-public struct MyImpl : IInterface
+export struct MyImpl : IInterface
{
Texture2D tex;
SamplerState sampler;
diff --git a/tests/compute/interface-assoc-type-param.slang b/tests/compute/interface-assoc-type-param.slang
index 805f673a2..a234d457f 100644
--- a/tests/compute/interface-assoc-type-param.slang
+++ b/tests/compute/interface-assoc-type-param.slang
@@ -16,7 +16,7 @@ interface IEval
uint eval();
}
-public struct Impl : IInterface
+export struct Impl : IInterface
{
uint val;
struct TEval : IEval
@@ -55,4 +55,4 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID,
{
uint tid = dispatchThreadID.x;
compute(tid, params);
-} \ No newline at end of file
+}
diff --git a/tests/compute/interface-func-param-in-struct.slang b/tests/compute/interface-func-param-in-struct.slang
index c47b25d70..01e4aa111 100644
--- a/tests/compute/interface-func-param-in-struct.slang
+++ b/tests/compute/interface-func-param-in-struct.slang
@@ -9,7 +9,7 @@ interface IInterface
uint eval();
}
-public struct Impl : IInterface
+export struct Impl : IInterface
{
uint val;
uint eval()
@@ -38,4 +38,4 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID,
{
uint tid = dispatchThreadID.x;
compute(tid, params);
-} \ No newline at end of file
+}
diff --git a/tests/compute/interface-param-partial-specialize.slang b/tests/compute/interface-param-partial-specialize.slang
index 9be22c6c4..1d09c9f55 100644
--- a/tests/compute/interface-param-partial-specialize.slang
+++ b/tests/compute/interface-param-partial-specialize.slang
@@ -12,7 +12,7 @@ interface IInterface
uint eval();
}
-public struct Impl : IInterface
+export struct Impl : IInterface
{
uint val;
uint eval()
@@ -48,4 +48,4 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID,
{
uint tid = dispatchThreadID.x;
compute(tid, params);
-} \ No newline at end of file
+}
diff --git a/tests/cpu-program/class-com.slang b/tests/cpu-program/class-com.slang
index e2812f586..2dd84d696 100644
--- a/tests/cpu-program/class-com.slang
+++ b/tests/cpu-program/class-com.slang
@@ -20,7 +20,7 @@ class MyClass : IFoo
};
[DllExport]
-IFoo createFoo()
+export IFoo createFoo()
{
IFoo result = new MyClass();
return result;
@@ -30,8 +30,8 @@ IFoo createFoo()
[DllImport("", "createFoo")]
IFoo createFooImported();
-public __extern_cpp int main()
+export __extern_cpp int main()
{
var obj = createFooImported();
return obj.method();
-} \ No newline at end of file
+}
diff --git a/tests/cpu-program/class.slang b/tests/cpu-program/class.slang
index 1a510118a..8935b157a 100644
--- a/tests/cpu-program/class.slang
+++ b/tests/cpu-program/class.slang
@@ -13,8 +13,8 @@ class MyClass
}
}
-public __extern_cpp int main()
+export __extern_cpp int main()
{
MyClass obj = new MyClass();
return obj.method();
-} \ No newline at end of file
+}
diff --git a/tests/cpu-program/cpu-hello-world.slang b/tests/cpu-program/cpu-hello-world.slang
index f1285f889..a44761e8f 100644
--- a/tests/cpu-program/cpu-hello-world.slang
+++ b/tests/cpu-program/cpu-hello-world.slang
@@ -1,6 +1,6 @@
//TEST:EXECUTABLE:
-public __extern_cpp int main()
+export __extern_cpp int main()
{
printf("Hello World.\n");
return 0;
diff --git a/tests/cpu-program/gfx-smoke.slang b/tests/cpu-program/gfx-smoke.slang
index d0acb83db..41c87ca19 100644
--- a/tests/cpu-program/gfx-smoke.slang
+++ b/tests/cpu-program/gfx-smoke.slang
@@ -2,7 +2,7 @@
import gfx;
import slang;
-public __extern_cpp int main()
+export __extern_cpp int main()
{
gfx.DeviceDesc deviceDesc = {};
deviceDesc.deviceType = gfx.DeviceType.CPU;
@@ -98,4 +98,4 @@ public __extern_cpp int main()
printf("%.1f\n", val);
}
return 0;
-} \ No newline at end of file
+}
diff --git a/tests/cpu-program/pointer-basics.slang b/tests/cpu-program/pointer-basics.slang
index e38d866eb..db705d507 100644
--- a/tests/cpu-program/pointer-basics.slang
+++ b/tests/cpu-program/pointer-basics.slang
@@ -1,5 +1,5 @@
//TEST:EXECUTABLE:
-public __extern_cpp int main()
+export __extern_cpp int main()
{
uint2 value;
int *pValue = (int*)&value;
@@ -20,4 +20,4 @@ public __extern_cpp int main()
else
printf("Fail\n");
return 0;
-} \ No newline at end of file
+}
diff --git a/tests/cpu-program/pointer-deref.slang b/tests/cpu-program/pointer-deref.slang
index 79f1b2cd0..f5bad5b09 100644
--- a/tests/cpu-program/pointer-deref.slang
+++ b/tests/cpu-program/pointer-deref.slang
@@ -11,7 +11,7 @@ struct Record
SubRecord sub;
}
-public __extern_cpp int main()
+export __extern_cpp int main()
{
Record rec;
Record *pRec = &rec;
@@ -27,4 +27,4 @@ public __extern_cpp int main()
printf("fail\n");
}
return 0;
-} \ No newline at end of file
+}
diff --git a/tests/current-bugs/resource-dynamic-dispatch.slang b/tests/current-bugs/resource-dynamic-dispatch.slang
index 0a987b1cf..f344448dd 100644
--- a/tests/current-bugs/resource-dynamic-dispatch.slang
+++ b/tests/current-bugs/resource-dynamic-dispatch.slang
@@ -26,13 +26,13 @@ interface IInterface
};
// Need public to make these conformances available
-public struct A : IInterface
+export struct A : IInterface
{
typedef SomeData Type;
IGetTexture getType() { Type t = { gTexA }; return t; }
};
-public struct B : IInterface
+export struct B : IInterface
{
typedef SomeData Type;
IGetTexture getType() { Type t = { gTexB }; return t; }
@@ -64,4 +64,4 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
let tex = getTex.getTexture();
outputBuffer[tid] = tex.Load(int3(tid, tid, 0));
-} \ No newline at end of file
+}
diff --git a/tests/diagnostics/extension-visibility-a.slang b/tests/diagnostics/extension-visibility-a.slang
index 97e4ef85c..162320d51 100644
--- a/tests/diagnostics/extension-visibility-a.slang
+++ b/tests/diagnostics/extension-visibility-a.slang
@@ -1,17 +1,17 @@
// extension-visibility-a.slang
-interface IThing
+public interface IThing
{
- int getValue();
+ public int getValue();
}
// Note: not implementing the interface here!
-struct MyThing
+public struct MyThing
{
- int value;
+ public int value;
}
-int helper<T : IThing>(T thing)
+public int helper<T : IThing>(T thing)
{
return thing.getValue();
-} \ No newline at end of file
+}
diff --git a/tests/diagnostics/extension-visibility-b.slang b/tests/diagnostics/extension-visibility-b.slang
index 7848f2a56..dbefe66e7 100644
--- a/tests/diagnostics/extension-visibility-b.slang
+++ b/tests/diagnostics/extension-visibility-b.slang
@@ -2,7 +2,7 @@
import extension_visibility_a;
-extension MyThing : IThing
+public extension MyThing : IThing
{
- int getValue() { return value; }
+ public int getValue() { return value; }
}
diff --git a/tests/diagnostics/extension-visibility-c.slang b/tests/diagnostics/extension-visibility-c.slang
index 2d7a5224d..71680b31e 100644
--- a/tests/diagnostics/extension-visibility-c.slang
+++ b/tests/diagnostics/extension-visibility-c.slang
@@ -3,7 +3,7 @@
import extension_visibility_a;
import extension_visibility_b;
-int works(MyThing thing)
+public int works(MyThing thing)
{
return helper(thing);
}
diff --git a/tests/diagnostics/extension-visibility.slang.expected b/tests/diagnostics/extension-visibility.slang.expected
index 732ff4189..eed86715d 100644
--- a/tests/diagnostics/extension-visibility.slang.expected
+++ b/tests/diagnostics/extension-visibility.slang.expected
@@ -3,9 +3,9 @@ standard error = {
tests/diagnostics/extension-visibility.slang(17): error 39999: could not specialize generic for arguments of type (MyThing)
return helper(thing);
^
-tests/diagnostics/extension-visibility-a.slang(14): note 39999: see declaration of func helper<T>(T) -> int
-int helper<T : IThing>(T thing)
- ^~~~~~
+tests/diagnostics/extension-visibility-a.slang(14): note 39999: see declaration of public func helper<T>(T) -> int
+public int helper<T : IThing>(T thing)
+ ^~~~~~
}
standard output = {
}
diff --git a/tests/diagnostics/internal-visibility/that-module-impl.slang b/tests/diagnostics/internal-visibility/that-module-impl.slang
new file mode 100644
index 000000000..893510afe
--- /dev/null
+++ b/tests/diagnostics/internal-visibility/that-module-impl.slang
@@ -0,0 +1,17 @@
+implementing "that-module";
+
+
+public void publicFunc2() { }
+
+internal void internalFunc1() {}
+
+public struct PublicStruct
+{
+ int x;
+ public int y;
+}
+
+public namespace Namespace
+{
+ public static int publicVar2;
+}
diff --git a/tests/diagnostics/internal-visibility/that-module.slang b/tests/diagnostics/internal-visibility/that-module.slang
new file mode 100644
index 000000000..b072c7231
--- /dev/null
+++ b/tests/diagnostics/internal-visibility/that-module.slang
@@ -0,0 +1,25 @@
+module "that-module";
+
+__include "that-module-impl";
+
+void internalMethod();
+
+public void publicMethod();
+
+public namespace Namespace
+{
+ static int internalVar;
+
+ public static int publicVar;
+}
+
+enum InternalEnum
+{
+ A,B,C
+}
+public enum PublicEnum
+{
+ D,E,F
+}
+
+struct InternalStruct { int x; }
diff --git a/tests/diagnostics/internal-visibility/this-module.slang b/tests/diagnostics/internal-visibility/this-module.slang
new file mode 100644
index 000000000..98e0f3d08
--- /dev/null
+++ b/tests/diagnostics/internal-visibility/this-module.slang
@@ -0,0 +1,26 @@
+//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK):
+
+module "this-module";
+
+import "that-module";
+
+void test()
+{
+ PublicStruct s;
+ // CHECK:{{.*}}(11): error 30600:
+ s.x = 1; // Error.
+ // CHECK-NOT:{{.*}}error
+ s.y = 2; // OK.
+ publicMethod(); // OK.
+ publicFunc2(); // OK.
+ Namespace.publicVar = 1; // OK.
+ Namespace.publicVar2 = 1; // OK.
+ // CHECK:{{.*}}(19): error 30600:
+ Namespace.internalVar = 1; // error.
+ // CHECK:{{.*}}(21): error 30600:
+ InternalEnum e; // Error.
+ // CHECK:{{.*}}(23): error 30600:
+ InternalStruct s1; // Error.
+ // CHECK:{{.*}}(25): error 30600:
+ internalMethod(); // Error.
+}
diff --git a/tests/diagnostics/private-visibility.slang b/tests/diagnostics/private-visibility.slang
new file mode 100644
index 000000000..7c0bad970
--- /dev/null
+++ b/tests/diagnostics/private-visibility.slang
@@ -0,0 +1,44 @@
+//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK):
+
+struct MyType
+{
+ private int member;
+ private int func()
+ {
+ return member;
+ }
+ struct SubType
+ {
+ int member2;
+ int func2(MyType m)
+ {
+ return m.member + member2; // OK.
+ }
+ }
+ int func1() { return member; }
+
+ private __init() { member = 0; }
+
+ private __subscript(int i)->int
+ {
+ get { return member; }
+ set { member = newValue; }
+ }
+ // CHECK:{{.*}}(28): error 30601:
+ public void publicMethod() {} // ERROR.
+}
+
+void test()
+{
+ // CHECK:{{.*}}(34): error 30600:
+ MyType t; // ERROR.
+ // CHECK-NOT:{{.*}}error
+ t.func1(); // OK.
+ // CHECK:{{.*}}(38): error 30600:
+ t.func(); // ERROR.
+ // CHECK:{{.*}}(40): error 30600:
+ t[0] = 1; // ERROR.
+
+ // CHECK:{{.*}}(43): error 30600:
+ t.member = 2;
+}
diff --git a/tests/diagnostics/visibility.slang b/tests/diagnostics/visibility.slang
new file mode 100644
index 000000000..724ec30e7
--- /dev/null
+++ b/tests/diagnostics/visibility.slang
@@ -0,0 +1,23 @@
+//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK):
+
+// CHECK-DAG:{{.*}}(4): error 30603
+private struct MyStruct
+{}
+
+struct IS
+{
+ // CHECK-DAG:{{.*}}(10): error 30601
+ public void fp();
+}
+
+// CHECK-DAG:{{.*}}(14): error 30604
+public IS f() {}
+
+public struct PS
+{
+ // CHECK-DAG:{{.*}}(19): error 30604
+ public IS ii;
+
+ // CHECK-DAG:{{.*}}(22): error 30604
+ public property IS ii2 { get { return {}; } };
+}
diff --git a/tests/front-end/import-exported-b.slang b/tests/front-end/import-exported-b.slang
index 144f62060..e7bc49510 100644
--- a/tests/front-end/import-exported-b.slang
+++ b/tests/front-end/import-exported-b.slang
@@ -2,4 +2,4 @@
// This file defines the code that will be (transitively) imported into `import-exported.slang`
-float foo(float x) { return x; } \ No newline at end of file
+public float foo(float x) { return x; }
diff --git a/tests/front-end/import-subdir-search-path.slang b/tests/front-end/import-subdir-search-path.slang
index 9b7c7a520..b35802f14 100644
--- a/tests/front-end/import-subdir-search-path.slang
+++ b/tests/front-end/import-subdir-search-path.slang
@@ -7,4 +7,4 @@ __import import_subdir_a;
// Should realize it's the same thing
__import subdir.import_subdir_a;
-float bar(float x) { return foo(x); } \ No newline at end of file
+float bar(float x) { return foo(x); }
diff --git a/tests/front-end/raw-string-literal.slang b/tests/front-end/raw-string-literal.slang
index 321f183c7..7297c27e1 100644
--- a/tests/front-end/raw-string-literal.slang
+++ b/tests/front-end/raw-string-literal.slang
@@ -17,7 +17,7 @@ void printLines(NativeString text)
}
}
-public __extern_cpp int main()
+export __extern_cpp int main()
{
printLines(
R"(This is line 1.
@@ -25,4 +25,4 @@ public __extern_cpp int main()
"Hello World"
)");
return 0;
-} \ No newline at end of file
+}
diff --git a/tests/front-end/subdir/import-subdir-a.slang b/tests/front-end/subdir/import-subdir-a.slang
index 3962d4662..e973d5cbf 100644
--- a/tests/front-end/subdir/import-subdir-a.slang
+++ b/tests/front-end/subdir/import-subdir-a.slang
@@ -2,4 +2,4 @@
// This is the imported code.
-float foo(float x) { return x; } \ No newline at end of file
+public float foo(float x) { return x; }
diff --git a/tests/ir/string-literal-module.slang b/tests/ir/string-literal-module.slang
index 96fb62088..245b4b3a2 100644
--- a/tests/ir/string-literal-module.slang
+++ b/tests/ir/string-literal-module.slang
@@ -1,6 +1,6 @@
//TEST_IGNORE_FILE:
-int doSomethingElse()
+public int doSomethingElse()
{
return getStringHash("Try another");
}
diff --git a/tests/language-feature/extensions/extension-import-helper.slang b/tests/language-feature/extensions/extension-import-helper.slang
index c1a652645..11265762a 100644
--- a/tests/language-feature/extensions/extension-import-helper.slang
+++ b/tests/language-feature/extensions/extension-import-helper.slang
@@ -2,12 +2,12 @@
//TEST_IGNORE_FILE:
-interface IThing
+public interface IThing
{
- float getValue();
+ public float getValue();
}
-extension float : IThing
+public extension float : IThing
{
- float getValue() { return this; }
-} \ No newline at end of file
+ public float getValue() { return this; }
+}
diff --git a/tests/language-feature/generics/struct-generic-value-param-import.slang b/tests/language-feature/generics/struct-generic-value-param-import.slang
index edc1b0c39..785b8146f 100644
--- a/tests/language-feature/generics/struct-generic-value-param-import.slang
+++ b/tests/language-feature/generics/struct-generic-value-param-import.slang
@@ -6,13 +6,13 @@
// for `struct` decalrations in Slang files, including
// any `import`ed code.
-interface IData {}
+public interface IData {}
-struct Data<let kCount : int> : IData
+public struct Data<let kCount : int> : IData
{
- int state;
+ public int state;
- [mutating] void doStuff()
+ [mutating] public void doStuff()
{
state++;
}
diff --git a/tests/language-feature/inheritance/struct-inheritance-imported.slang b/tests/language-feature/inheritance/struct-inheritance-imported.slang
index 8786b851c..16816ec97 100644
--- a/tests/language-feature/inheritance/struct-inheritance-imported.slang
+++ b/tests/language-feature/inheritance/struct-inheritance-imported.slang
@@ -1,12 +1,12 @@
//TEST_IGNORE_FILE:
// struct-inheritance-imported.slang
-struct Base
+public struct Base
{
- int a;
+ public int a;
}
-struct Derived : Base
+public struct Derived : Base
{}
-int getA(Derived d) { return d.a; }
+public int getA(Derived d) { return d.a; }
diff --git a/tests/library/library.slang b/tests/library/library.slang
index fafb1018c..3deaeab99 100644
--- a/tests/library/library.slang
+++ b/tests/library/library.slang
@@ -2,12 +2,12 @@
// library.slang
-int doThing(int b)
+export int doThing(int b)
{
return b + b + 1;
}
-public int foo(int a)
+public export int foo(int a)
{
return a * a + 1 + doThing(a + 2);
}
diff --git a/tests/reflection/multi-file-defines.h b/tests/reflection/multi-file-defines.h
index aed4c510a..0948df378 100644
--- a/tests/reflection/multi-file-defines.h
+++ b/tests/reflection/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/reflection/multi-file-shared.slang b/tests/reflection/multi-file-shared.slang
index af91d5251..91a74cd35 100644
--- a/tests/reflection/multi-file-shared.slang
+++ b/tests/reflection/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));
diff --git a/tests/reflection/reflect-imported-code.slang b/tests/reflection/reflect-imported-code.slang
index 20beb94b8..4600a371c 100644
--- a/tests/reflection/reflect-imported-code.slang
+++ b/tests/reflection/reflect-imported-code.slang
@@ -2,13 +2,13 @@
// Imported code used by `reflect-imported-code.hlsl`
-float4 use(float4 val) { return val; };
-float4 use(Texture2D t, SamplerState s) { return t.Sample(s, 0.0); }
+public float4 use(float4 val) { return val; };
+public float4 use(Texture2D t, SamplerState s) { return t.Sample(s, 0.0); }
-Texture2D t_i;
-SamplerState s_i;
+public Texture2D t_i;
+public SamplerState s_i;
-cbuffer C_i
+public cbuffer C_i
{
- float c_i;
+ public float c_i;
}
diff --git a/tests/vkray/callable-shared.slang b/tests/vkray/callable-shared.slang
index 09e76aab1..85d72a5f7 100644
--- a/tests/vkray/callable-shared.slang
+++ b/tests/vkray/callable-shared.slang
@@ -1,8 +1,8 @@
// callable-shared.slang
//TEST_IGNORE_FILE:
-struct MaterialPayload
+public struct MaterialPayload
{
- float4 albedo;
- float2 uv;
+ public float4 albedo;
+ public float2 uv;
};