yum-mirror/slang

Making it easier to work with shaders

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

jsmall-nvidiaFirst pass support for Sampler Feedback (#1470)79ba9279b

master
1.6 KiB43 linesraw
1FeedbackTexture2D<SAMPLER_FEEDBACK_MIN_MIP> feedbackMinMip_0;
2FeedbackTexture2D<SAMPLER_FEEDBACK_MIP_REGION_USED> feedbackMipRegionUsed_0;
3FeedbackTexture2DArray<SAMPLER_FEEDBACK_MIN_MIP> feedbackMinMipArray_0;
4FeedbackTexture2DArray<SAMPLER_FEEDBACK_MIP_REGION_USED> feebackMipRegionUsedArray_0;
5
6Texture2D<float> tex2D_0;
7Texture2DArray<float> tex2DArray_0;
8SamplerState samp_0;
9
10float4 main() : SV_Target
11{
12    float2 coords2D = float2(1, 2);
13    float3 coords2DArray = float3(1, 2, 3);
14    
15    float clamp = 4;
16    float bias = 0.5F;
17    float lod = 6;
18    float2 ddx = float2(1.0F / 32, 2.0F / 32);
19    float2 ddy = float2(3.0F / 32, 4.0F / 32);
20     
21    // Clamped
22    feedbackMinMip_0.WriteSamplerFeedback(tex2D_0, samp_0, coords2D, clamp);
23
24    feedbackMinMip_0.WriteSamplerFeedbackBias(tex2D_0, samp_0, coords2D, bias, clamp);
25    feedbackMinMip_0.WriteSamplerFeedbackGrad(tex2D_0, samp_0, coords2D, ddx, ddy, clamp);
26    
27    // Level
28    feedbackMinMip_0.WriteSamplerFeedbackLevel(tex2D_0, samp_0, coords2D, lod);
29    
30    // No Clamp
31    feedbackMinMip_0.WriteSamplerFeedback(tex2D_0, samp_0, coords2D );
32    feedbackMinMip_0.WriteSamplerFeedbackBias(tex2D_0, samp_0, coords2D, bias);
33    feedbackMinMip_0.WriteSamplerFeedbackGrad(tex2D_0, samp_0, coords2D, ddx, ddy);
34
35    // Array
36    feedbackMinMipArray_0.WriteSamplerFeedback(tex2DArray_0, samp_0, coords2DArray);
37    feebackMipRegionUsedArray_0.WriteSamplerFeedback(tex2DArray_0, samp_0, coords2DArray);
38
39    // Using feedbackMipRegionUsed 
40    feedbackMipRegionUsed_0.WriteSamplerFeedback(tex2D_0, samp_0, coords2D);
41    
42    return float4(1, 2, 3, 4);
43}