mirror of
https://github.com/KhronosGroup/SPIRV-Cross.git
synced 2024-11-14 16:01:07 +00:00
GLSL: Add more test shaders for hit attribute types.
This commit is contained in:
parent
66ec3e3e54
commit
b4dd0b6fb1
@ -0,0 +1,24 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
struct Foo
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Foo2
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV Foo payload;
|
||||||
|
hitAttributeNV Foo2 hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload.a = hit.a;
|
||||||
|
payload.b = hit.b;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
struct Foo
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Foo2
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV Foo payload;
|
||||||
|
hitAttributeNV Foo2 hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload.a = hit.a;
|
||||||
|
payload.b = hit.b;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV vec2 payload;
|
||||||
|
hitAttributeNV vec2 hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload = hit;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
struct Foo
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV Foo payload;
|
||||||
|
hitAttributeNV Foo hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload = hit;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
struct Foo
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Foo2
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV Foo payload;
|
||||||
|
hitAttributeNV Foo2 hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload.a = hit.a;
|
||||||
|
payload.b = hit.b;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
struct Foo
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Foo2
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV Foo payload;
|
||||||
|
hitAttributeNV Foo2 hit;
|
||||||
|
|
||||||
|
void in_function()
|
||||||
|
{
|
||||||
|
payload.a = hit.a;
|
||||||
|
payload.b = hit.b;
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
in_function();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV vec2 payload;
|
||||||
|
hitAttributeNV vec2 hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload = hit;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
struct Foo
|
||||||
|
{
|
||||||
|
float a;
|
||||||
|
float b;
|
||||||
|
};
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV Foo payload;
|
||||||
|
hitAttributeNV Foo hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload = hit;
|
||||||
|
}
|
||||||
|
|
11
shaders/vulkan/rchit/hit_attribute_block.nocompat.vk.rchit
Normal file
11
shaders/vulkan/rchit/hit_attribute_block.nocompat.vk.rchit
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV Foo { float a; float b; } payload;
|
||||||
|
hitAttributeNV Foo2 { float a; float b; } hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload.a = hit.a;
|
||||||
|
payload.b = hit.b;
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV Foo { float a; float b; } payload;
|
||||||
|
hitAttributeNV Foo2 { float a; float b; } hit;
|
||||||
|
|
||||||
|
void in_function()
|
||||||
|
{
|
||||||
|
payload.a = hit.a;
|
||||||
|
payload.b = hit.b;
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
in_function();
|
||||||
|
}
|
10
shaders/vulkan/rchit/hit_attribute_plain.nocompat.vk.rchit
Normal file
10
shaders/vulkan/rchit/hit_attribute_plain.nocompat.vk.rchit
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV vec2 payload;
|
||||||
|
hitAttributeNV vec2 hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload = hit;
|
||||||
|
}
|
12
shaders/vulkan/rchit/hit_attribute_struct.nocompat.vk.rchit
Normal file
12
shaders/vulkan/rchit/hit_attribute_struct.nocompat.vk.rchit
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#version 460
|
||||||
|
#extension GL_NV_ray_tracing : require
|
||||||
|
|
||||||
|
struct Foo { float a; float b; };
|
||||||
|
|
||||||
|
layout(location = 0) rayPayloadInNV Foo payload;
|
||||||
|
hitAttributeNV Foo hit;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
payload = hit;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user