Mercurial > games > semicongine
comparison src/vulkan.nim @ 10:0660ba9d1930
did: make it work on windows
| author | sam <sam@basx.dev> | 
|---|---|
| date | Sat, 24 Dec 2022 22:32:46 +0700 | 
| parents | 4ed9cb098315 | 
| children | 90e117952f74 | 
   comparison
  equal
  deleted
  inserted
  replaced
| 8:1134f41a49e9 | 10:0660ba9d1930 | 
|---|---|
| 28 | 28 | 
| 29 let vkHandleDLL = loadLib(vkDLL) | 29 let vkHandleDLL = loadLib(vkDLL) | 
| 30 if isNil(vkHandleDLL): | 30 if isNil(vkHandleDLL): | 
| 31 quit("could not load: " & vkDLL) | 31 quit("could not load: " & vkDLL) | 
| 32 | 32 | 
| 33 let vkGetProcAddress = cast[proc(s: cstring): pointer {.stdcall.}](symAddr(vkHandleDLL, "vkGetInstanceProcAddr")) | |
| 34 if vkGetProcAddress == nil: | |
| 35 quit("failed to load `vkGetInstanceProcAddr` from " & vkDLL) | |
| 36 | |
| 37 vkGetProc = proc(procName: cstring): pointer {.cdecl.} = | 33 vkGetProc = proc(procName: cstring): pointer {.cdecl.} = | 
| 38 when defined(windows): | |
| 39 result = vkGetProcAddress(procName) | |
| 40 if result != nil: | |
| 41 return | |
| 42 result = symAddr(vkHandleDLL, procName) | 34 result = symAddr(vkHandleDLL, procName) | 
| 43 if result == nil: | 35 if result == nil: | 
| 44 raiseInvalidLibrary(procName) | 36 raiseInvalidLibrary(procName) | 
| 45 | 37 | 
| 46 proc setVKGetProc*(getProc: proc(procName: cstring): pointer {.cdecl.}) = | 38 proc setVKGetProc*(getProc: proc(procName: cstring): pointer {.cdecl.}) = | 
