yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
9b434e50f
master
1//TEST:SIMPLE(filecheck=CHECK_GLSL): -allow-glsl -stage raygeneration -entry main -target glsl 2//TEST:SIMPLE(filecheck=CHECK_SPV): -allow-glsl -emit-spirv-directly -stage raygeneration -entry main -target spirv-assembly 3 4// CHECK_GLSL-DAG: hitObjectAttributeNV 5// CHECK_SPV-DAG: HitObjectAttributeNV 6 7layout(binding = 0) uniform accelerationStructureEXT as; 8 9//TEST_INPUT:ubuffer(data=[0], stride=4):out,name=outputBuffer 10buffer MyBlockName 11{ 12 uint data[]; 13} outputBuffer; 14 15layout(location = 2) hitObjectAttributeNV vec4 attrMain; 16 17bool testHitObjectRecord() { 18 hitObjectNV hit; 19 // CHECK_GLSL: hitObjectRecordHitNV 20 // CHECK_SPV: OpHitObjectRecordHitNV 21 hitObjectRecordHitNV(hit, as, 0, 0, 0, gl_HitKindFrontFacingTriangleEXT, 0, 0, vec3(0.1, 0.1, 0.0), 0.01f, vec3(0, 0, 1), 1e4f, 2); 22 return true 23 // CHECK_GLSL: hitObjectIsHitNV 24 // CHECK_SPV: OpHitObjectIsHitNV 25 && hitObjectIsHitNV(hit) == true 26 ; 27} 28 29void main() 30{ 31 outputBuffer.data[0] = true 32 && testHitObjectRecord(); 33 //BUF: 1 34}