yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
91bfd96a
main
1#version 450 2#extension GL_KHR_compute_shader_derivatives : require 3 4layout(local_size_x = 2, local_size_y = 2) in; 5layout(derivative_group_linearKHR) in; 6 7layout(binding = 0) uniform sampler2D tex; 8 9layout(binding = 1, std430) buffer block { 10 float fDerivativeX; 11 float fDerivativeY; 12 float fDerivativeWidth; 13 float fCoarseDerivativeX; 14 float fCoarseDerivativeY; 15 float fCoarseDerivativeWidth; 16 float fFineDerivativeX; 17 float fFineDerivativeY; 18 float fFineDerivativeWidth; 19 20 float fX; 21 float fY; 22 23 vec2 v2DerivativeX; 24 vec2 v2DerivativeY; 25 vec2 v2DerivativeWidth; 26 vec2 v2CoarseDerivativeX; 27 vec2 v2CoarseDerivativeY; 28 vec2 v2CoarseDerivativeWidth; 29 vec2 v2FineDerivativeX; 30 vec2 v2FineDerivativeY; 31 vec2 v2FineDerivativeWidth; 32 33 vec2 v2X; 34 vec2 v2Y; 35 36 vec3 v3DerivativeX; 37 vec3 v3DerivativeY; 38 vec3 v3DerivativeWidth; 39 vec3 v3CoarseDerivativeX; 40 vec3 v3CoarseDerivativeY; 41 vec3 v3CoarseDerivativeWidth; 42 vec3 v3FineDerivativeX; 43 vec3 v3FineDerivativeY; 44 vec3 v3FineDerivativeWidth; 45 46 vec3 v3X; 47 vec3 v3Y; 48 49 vec4 v4DerivativeX; 50 vec4 v4DerivativeY; 51 vec4 v4DerivativeWidth; 52 vec4 v4CoarseDerivativeX; 53 vec4 v4CoarseDerivativeY; 54 vec4 v4CoarseDerivativeWidth; 55 vec4 v4FineDerivativeX; 56 vec4 v4FineDerivativeY; 57 vec4 v4FineDerivativeWidth; 58 59 vec4 v4X; 60 vec4 v4Y; 61 62 vec4 color; 63 vec2 lod; 64}; 65 66void main() 67{ 68 fDerivativeX = dFdx(fX); 69 fDerivativeY = dFdy(fY); 70 fDerivativeWidth = fwidth(fX); 71 fCoarseDerivativeX = dFdxCoarse(fX); 72 fCoarseDerivativeY = dFdyCoarse(fY); 73 fCoarseDerivativeWidth = fwidthCoarse(fX); 74 fFineDerivativeX = dFdxFine(fX); 75 fFineDerivativeY = dFdyFine(fY); 76 fFineDerivativeWidth = fwidthFine(fX); 77 78 v2DerivativeX = dFdx(v2X); 79 v2DerivativeY = dFdy(v2Y); 80 v2DerivativeWidth = fwidth(v2X); 81 v2CoarseDerivativeX = dFdxCoarse(v2X); 82 v2CoarseDerivativeY = dFdyCoarse(v2Y); 83 v2CoarseDerivativeWidth = fwidthCoarse(v2X); 84 v2FineDerivativeX = dFdxFine(v2X); 85 v2FineDerivativeY = dFdyFine(v2Y); 86 v2FineDerivativeWidth = fwidthFine(v2X); 87 88 v3DerivativeX = dFdx(v3X); 89 v3DerivativeY = dFdy(v3Y); 90 v3DerivativeWidth = fwidth(v3X); 91 v3CoarseDerivativeX = dFdxCoarse(v3X); 92 v3CoarseDerivativeY = dFdyCoarse(v3Y); 93 v3CoarseDerivativeWidth = fwidthCoarse(v3X); 94 v3FineDerivativeX = dFdxFine(v3X); 95 v3FineDerivativeY = dFdyFine(v3Y); 96 v3FineDerivativeWidth = fwidthFine(v3X); 97 98 v4DerivativeX = dFdx(v4X); 99 v4DerivativeY = dFdy(v4Y); 100 v4DerivativeWidth = fwidth(v4X); 101 v4CoarseDerivativeX = dFdxCoarse(v4X); 102 v4CoarseDerivativeY = dFdyCoarse(v4Y); 103 v4CoarseDerivativeWidth = fwidthCoarse(v4X); 104 v4FineDerivativeX = dFdxFine(v4X); 105 v4FineDerivativeY = dFdyFine(v4Y); 106 v4FineDerivativeWidth = fwidthFine(v4X); 107 108 color = texture(tex, vec2(0.5), 0.25); 109 lod = textureQueryLod(tex, vec2(0.5)); 110}