yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
ad379b7c5
master
1//TEST:SIMPLE(filecheck=CHECK_GLSL): -allow-glsl -stage miss -entry main -target glsl 2//TEST:SIMPLE(filecheck=CHECK_SPV): -allow-glsl -emit-spirv-directly -stage miss -entry main -target spirv-assembly 3 4layout(binding = 0) uniform accelerationStructureEXT as; 5 6//TEST_INPUT:ubuffer(data=[0], stride=4):out,name=outputBuffer 7buffer MyBlockName 8{ 9 uint data[]; 10} outputBuffer; 11 12// CHECK_GLSL-DAG: rayPayloadInEXT 13// CHECK_SPV-DAG: IncomingRayPayload{{NV|KHR}} 14layout(location = 2) rayPayloadInEXT vec4 payload; 15// CHECK_GLSL-DAG: hitObjectAttributeNV 16// CHECK_SPV-DAG: HitObjectAttributeNV 17layout(location = 2) hitObjectAttributeNV vec4 attrMain; 18 19bool testVars() { 20 payload = vec4(1); 21 attrMain = vec4(1); 22 return true 23// CHECK_GLSL-DAG: gl_LaunchIDNV 24// CHECK_SPV-DAG-N: LaunchIdNV 25 && gl_LaunchIDNV != uint3(99) 26// CHECK_GLSL-DAG: gl_LaunchIDEXT 27// spirv checked with CHECK_SPV-DAG-N 28 && gl_LaunchIDEXT != uint3(99) 29// CHECK_GLSL-DAG: gl_LaunchSizeNV 30// CHECK_SPV-DAG-N: LaunchSizeNV 31 && gl_LaunchSizeNV != uint3(99) 32// CHECK_GLSL-DAG: gl_LaunchSizeEXT 33// spirv checked with CHECK_SPV-DAG-N 34 && gl_LaunchSizeEXT != uint3(99) 35// CHECK_GLSL-DAG: gl_WorldRayOriginEXT 36// CHECK_SPV-DAG: WorldRayOrigin{{NV|KHR}} 37 && gl_WorldRayOriginEXT != vec3(99) 38// CHECK_GLSL-DAG: gl_WorldRayDirectionEXT 39// CHECK_SPV-DAG: WorldRayDirection{{NV|KHR}} 40 && gl_WorldRayDirectionEXT != vec3(99) 41// CHECK_GLSL-DAG: gl_RayTminEXT 42// CHECK_SPV-DAG: RayTmin{{NV|KHR}} 43 && gl_RayTminEXT != 99.0f 44// CHECK_GLSL-DAG: gl_RayTmaxEXT 45// CHECK_SPV-DAG: RayTmax{{NV|KHR}} 46 && gl_RayTmaxEXT != 99.0f 47// CHECK_GLSL-DAG: gl_IncomingRayFlagsEXT 48// CHECK_SPV-DAG: IncomingRayFlags{{NV|KHR}} 49 && gl_IncomingRayFlagsEXT != 0xFFFFFFFF 50// CHECK_GLSL-DAG: gl_CurrentRayTimeNV 51// CHECK_SPV-DAG: CurrentRayTimeNV 52 && gl_CurrentRayTimeNV != 0.0f 53 ; 54} 55 56void main() 57{ 58 outputBuffer.data[0] = true 59 && testVars() 60 ; 61 //BUF: 1 62}