yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Alexey PanteleevSupport for querying which parameters are used in emitted code (#2239)69cb6e8f3

master
1.8 KiB51 linesraw
1//TEST:REFLECTION: -entry main -stage fragment -profile sm_6_5 -target hlsl -no-codegen
2//DISABLE_TEST:CROSS_COMPILE: -entry main -stage fragment -profile sm_6_5 -target dxil-assembly
3
4FeedbackTexture2D<SAMPLER_FEEDBACK_MIN_MIP> feedbackMinMip;
5FeedbackTexture2D<SAMPLER_FEEDBACK_MIP_REGION_USED> feedbackMipRegionUsed;
6FeedbackTexture2DArray<SAMPLER_FEEDBACK_MIN_MIP> feedbackMinMipArray;
7FeedbackTexture2DArray<SAMPLER_FEEDBACK_MIP_REGION_USED> feebackMipRegionUsedArray;
8
9Texture2D<float> tex2D;
10Texture2DArray<float> tex2DArray;
11SamplerState samp;
12
13float4 main() : SV_Target
14{
15    float2 coords2D = float2(1, 2);
16    float3 coords2DArray = float3(1, 2, 3);
17    
18    float clamp = 4;
19    float bias = 0.5F;
20    float lod = 6;
21    float2 ddx = float2(1.0F / 32, 2.0F / 32);
22    float2 ddy = float2(3.0F / 32, 4.0F / 32);
23    
24    uint width, height, elements;
25    feedbackMinMip.GetDimensions(width, height);
26     
27    feedbackMinMipArray.GetDimensions(width, height, elements);
28     
29    // Clamped
30    feedbackMinMip.WriteSamplerFeedback(tex2D, samp, coords2D, clamp);
31
32    feedbackMinMip.WriteSamplerFeedbackBias(tex2D, samp, coords2D, bias, clamp);
33    feedbackMinMip.WriteSamplerFeedbackGrad(tex2D, samp, coords2D, ddx, ddy, clamp);
34    
35    // Level
36    feedbackMinMip.WriteSamplerFeedbackLevel(tex2D, samp, coords2D, lod);
37    
38    // No Clamp
39    feedbackMinMip.WriteSamplerFeedback(tex2D, samp, coords2D );
40    feedbackMinMip.WriteSamplerFeedbackBias(tex2D, samp, coords2D, bias);
41    feedbackMinMip.WriteSamplerFeedbackGrad(tex2D, samp, coords2D, ddx, ddy);
42
43    // Array
44    feedbackMinMipArray.WriteSamplerFeedback(tex2DArray, samp, coords2DArray);
45    feebackMipRegionUsedArray.WriteSamplerFeedback(tex2DArray, samp, coords2DArray);
46
47    // Using feedbackMipRegionUsed 
48    feedbackMipRegionUsed.WriteSamplerFeedback(tex2D, samp, coords2D);
49    
50    return float4(1, 2, 3, 4);
51}