add SV_GroupIndex arg to compute shaders
This commit is contained in:
parent
2bedfa389e
commit
2eb8a07b6a
@ -742,14 +742,14 @@ Inline b32 MatchU128(u128 a, u128 b) { return a.lo == b.lo && a.hi == b.hi; }
|
||||
Struct(ComputeShader) { ResourceKey resource; };
|
||||
#elif IsGpu
|
||||
#define Semantic(type, name) type name : name
|
||||
#define DeclComputeShader(name, x) [numthreads(x, 1, 1)] void name(Semantic(u32, SV_DispatchThreadID))
|
||||
#define DeclComputeShader2D(name, x, y) [numthreads(x, y, 1)] void name(Semantic(Vec2U32, SV_DispatchThreadID))
|
||||
#define DeclComputeShader3D(name, x, y, z) [numthreads(x, y, z)] void name(Semantic(Vec3U32, SV_DispatchThreadID))
|
||||
#define DeclComputeShader(name, x) [numthreads(x, 1, 1)] void name(Semantic(u32, SV_DispatchThreadID), Semantic(u32, SV_GroupIndex))
|
||||
#define DeclComputeShader2D(name, x, y) [numthreads(x, y, 1)] void name(Semantic(Vec2U32, SV_DispatchThreadID), Semantic(u32, SV_GroupIndex))
|
||||
#define DeclComputeShader3D(name, x, y, z) [numthreads(x, y, z)] void name(Semantic(Vec3U32, SV_DispatchThreadID), Semantic(u32, SV_GroupIndex))
|
||||
#define DeclVertexShader(name, return_type) return_type name(Semantic(u32, SV_InstanceID), Semantic(u32, SV_VertexID))
|
||||
#define DeclPixelShader(name, return_type, ...) return_type name(__VA_ARGS__)
|
||||
#define ImplComputeShader(name) void name(Semantic(u32, SV_DispatchThreadID))
|
||||
#define ImplComputeShader2D(name) void name(Semantic(Vec2U32, SV_DispatchThreadID))
|
||||
#define ImplComputeShader3D(name) void name(Semantic(Vec3U32, SV_DispatchThreadID))
|
||||
#define ImplComputeShader(name) void name(Semantic(u32, SV_DispatchThreadID), Semantic(u32, SV_GroupIndex))
|
||||
#define ImplComputeShader2D(name) void name(Semantic(Vec2U32, SV_DispatchThreadID), Semantic(u32, SV_GroupIndex))
|
||||
#define ImplComputeShader3D(name) void name(Semantic(Vec3U32, SV_DispatchThreadID), Semantic(u32, SV_GroupIndex))
|
||||
#define ImplVertexShader(name, return_type) return_type name(Semantic(u32, SV_InstanceID), Semantic(u32, SV_VertexID))
|
||||
#define ImplPixelShader(name, return_type, ...) return_type name(__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
Loading…
Reference in New Issue
Block a user