Merge pull request #1345 from amdrexu/bugfix

Add AMD float16/int16 SPV extension string when GLSL specifies them
This commit is contained in:
John Kessenich 2018-04-14 22:01:55 -06:00 committed by GitHub
commit 16b80f7897
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6126,6 +6126,11 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
assert(builder.isPointerType(typeId1));
typeId1 = builder.getContainedTypeId(typeId1);
int width = builder.getScalarTypeWidth(typeId1);
#ifdef AMD_EXTENSIONS
if (width == 16)
// Using 16-bit exp operand, enable extension SPV_AMD_gpu_shader_int16
builder.addExtension(spv::E_SPV_AMD_gpu_shader_int16);
#endif
if (builder.getNumComponents(operands[0]) == 1)
frexpIntType = builder.makeIntegerType(width, true);
else