Skip to content

Commit 3b33c1b

Browse files
authored
* Set the underlying type for sv_groupthread_id and sv_groupid for glsl, so if smaller type is used conversion is performed (shader-slang#902)
1 parent 196f07f commit 3b33c1b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

source/slang/ir-glsl-legalize.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,9 @@ GLSLSystemValueInfo* getGLSLSystemValueInfo(
315315
else if(semanticName == "sv_groupid")
316316
{
317317
name = "gl_WorkGroupID";
318+
319+
auto builder = context->getBuilder();
320+
requiredType = builder->getVectorType(builder->getBasicType(BaseType::UInt), builder->getIntValue(builder->getIntType(), 3));
318321
}
319322
else if(semanticName == "sv_groupindex")
320323
{
@@ -323,6 +326,9 @@ GLSLSystemValueInfo* getGLSLSystemValueInfo(
323326
else if(semanticName == "sv_groupthreadid")
324327
{
325328
name = "gl_LocalInvocationID";
329+
330+
auto builder = context->getBuilder();
331+
requiredType = builder->getVectorType(builder->getBasicType(BaseType::UInt), builder->getIntValue(builder->getIntType(), 3));
326332
}
327333
else if(semanticName == "sv_gsinstanceid")
328334
{

0 commit comments

Comments
 (0)