blob: 6a0c85c387bd8e968fb01f51dd2334c31c02b316 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// callable-caller.slang
//TEST:SIMPLE(filecheck=CHECK): -profile glsl_460 -capability GL_NV_ray_tracing -stage raygeneration -entry main -target spirv-assembly
//TEST:SIMPLE(filecheck=CHECK): -profile glsl_460 -capability GL_NV_ray_tracing -stage raygeneration -entry main -target spirv-assembly -emit-spirv-directly
import callable_shared;
cbuffer C
{
uint shaderIndex;
};
RWTexture2D<float4> gImage;
void main()
{
MaterialPayload payload;
payload.albedo = 0;
payload.uv = float2(DispatchRaysIndex().xy) / float2(DispatchRaysDimensions().xy);
// CHECK: OpExecuteCallable
CallShader(shaderIndex, payload);
gImage[DispatchRaysIndex().xy] = payload.albedo;
}
|