Fix nonsemantic debuginfo line attribution for cooperative matrix

* Generate debuginfo for coopmat types, treating them as an opaque composite. Restore the debug source location after calling convertGlslangToSpvType, fixes the line info in this unit test

* Add a cooperative matrix test case, based on the shader from https://github.com/jeffbolznv/vk_cooperative_matrix_perf/blob/master/shaders/shmem.comp
This commit is contained in:
Jeff Bolz 2024-09-30 12:53:27 -05:00 committed by GitHub
parent 46ef757e04
commit ca04c2a16a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 797 additions and 18 deletions

View file

@ -2772,6 +2772,20 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
}
}
inline const char* ScopeToString(Scope value) {
switch (value) {
case ScopeCrossDevice: return "CrossDevice";
case ScopeDevice: return "Device";
case ScopeWorkgroup: return "Workgroup";
case ScopeSubgroup: return "Subgroup";
case ScopeInvocation: return "Invocation";
case ScopeQueueFamily: return "QueueFamily";
case ScopeShaderCallKHR: return "ShaderCallKHR";
default: return "Unknown";
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
// Overload bitwise operators for mask bit combining