diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2020-12-07 15:00:15 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2020-12-07 15:00:15 +0300 |
commit | a11c4780d03d8fae664be3f39d51d63477bfa2ef (patch) | |
tree | eb976692af5194d530a2fd64474460514cb1ca0f /reference/shaders-msl-no-opt/frag/nonuniform-constructor.msl2.frag | |
parent | 6d10da0224bd3214c9a507832e62d9fb6ae9620d (diff) |
GLSL: Emit nonuniformEXT in correct place for late-combined samplers.
Need to emit nonuniformEXT(sampler2D()) since constructor expressions in
Vulkan GLSL do not propgate the nonuniform qualifier.
Diffstat (limited to 'reference/shaders-msl-no-opt/frag/nonuniform-constructor.msl2.frag')
-rw-r--r-- | reference/shaders-msl-no-opt/frag/nonuniform-constructor.msl2.frag | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/reference/shaders-msl-no-opt/frag/nonuniform-constructor.msl2.frag b/reference/shaders-msl-no-opt/frag/nonuniform-constructor.msl2.frag new file mode 100644 index 00000000..f1ad5c5f --- /dev/null +++ b/reference/shaders-msl-no-opt/frag/nonuniform-constructor.msl2.frag @@ -0,0 +1,23 @@ +#include <metal_stdlib> +#include <simd/simd.h> + +using namespace metal; + +struct main0_out +{ + float4 FragColor [[color(0)]]; +}; + +struct main0_in +{ + float2 vUV [[user(locn0)]]; + int vIndex [[user(locn1)]]; +}; + +fragment main0_out main0(main0_in in [[stage_in]], array<texture2d<float>, 10> uTex [[texture(0)]], sampler Immut [[sampler(0)]]) +{ + main0_out out = {}; + out.FragColor = uTex[in.vIndex].sample(Immut, in.vUV); + return out; +} + |