Fix an issue of getExtBuiltins()
This function is used to import SPIR-V extended instruction set. It
mistakenly treated the name of SPIR-V extended instruction set as the
name of SPIR-V extension. For example, when we have such code
getExtBuiltins("NonSemantic.DebugBreak")
'NonSemantic.DebugBreak' is added to SPIR-V extension. Rather, the
SPIR-V extension name should be 'SPV_KHR_non_semantics_info'. Therefore,
we must avoid this since the name of SPIR-V extended instruction set is
not necessarily equal to that of relevant SPIR-V extension. Adding a
SPIR-V extension must be done by calling addExtension() explicitly
outside this function.
This change also fixes disassembly issues of debugBreak().
This commit is contained in:
parent
022aea431c
commit
3225778615
5 changed files with 37 additions and 1 deletions
22
Test/baseResults/spv.intrinsicsDebugBreak.frag.out
Normal file
22
Test/baseResults/spv.intrinsicsDebugBreak.frag.out
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
spv.intrinsicsDebugBreak.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 8
|
||||
|
||||
Capability Shader
|
||||
Extension "SPV_KHR_non_semantic_info"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
6: ExtInstImport "NonSemantic.DebugBreak"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main"
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_spirv_intrinsics"
|
||||
Name 4 "main"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
7: 2 ExtInst 6(NonSemantic.DebugBreak) 1(DebugBreak)
|
||||
Return
|
||||
FunctionEnd
|
||||
9
Test/spv.intrinsicsDebugBreak.frag
Normal file
9
Test/spv.intrinsicsDebugBreak.frag
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#version 460
|
||||
#extension GL_EXT_spirv_intrinsics : enable
|
||||
|
||||
spirv_instruction (extensions = ["SPV_KHR_non_semantic_info"], set = "NonSemantic.DebugBreak", id = 1)
|
||||
void debugBreak();
|
||||
|
||||
void main() {
|
||||
debugBreak();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue