yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
799ea066
main
1#version 460 2#extension GL_EXT_descriptor_heap : require 3#extension GL_EXT_samplerless_texture_functions : require 4#extension GL_EXT_structured_descriptor_heap : require 5#extension GL_EXT_scalar_block_layout : require 6 7layout(local_size_x = 1) in; 8 9layout(constant_id = 0) const uint materialsOffset = 1024; 10 11layout(push_constant) uniform MyPushData { 12 vec4 cameraPos; 13 uint buffersOffset; 14 uint materialIndex; 15} pushData; 16 17layout(buffer_type, scalar) buffer DataBuffer { 18 uint data0; 19 uint data1; 20}; 21 22layout(heap_offset = 2048) resourceheap BufferHeap0 { 23 uint count; 24 DataBuffer dataBuffer; 25} bufferHeap0; 26 27layout(heap_offset = materialsOffset) resourceheap BufferHeap1 { 28 uint count; 29 DataBuffer dataBuffer; 30 layout(rgba32f) image2D images[2]; 31 texture2D textures[2]; 32} bufferHeap1; 33 34layout(heap_offset = pushData.buffersOffset) samplerheap SamplerHeap { 35 sampler linearSamplers[2]; 36} samplerHeap; 37 38void main() 39{ 40 bufferHeap0.dataBuffer.data0 = bufferHeap1.dataBuffer.data1; 41 vec4 texel = imageLoad(bufferHeap1.images[1], ivec2(0, 0)); 42 vec4 sampled = textureLod(sampler2D(bufferHeap1.textures[1], samplerHeap.linearSamplers[1]), vec2(0.5), 0.0); 43 imageStore(bufferHeap1.images[1], ivec2(0, 0), texel + sampled); 44}