Comments (5)
This doesn't make much sense to me. Could you show the disassembly at the point where the access violation happens (+-10 lines from current instruction) as well as the contents of the register window?
from volk.
Sure. But please note that after I did a complete rebuild of my project it started crashing on https://github.com/zeux/volk/blob/master/volk.c#L138
static void volkGenLoadLoader(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
{
00007FF657DB9820 mov qword ptr [rsp+10h],rdx
00007FF657DB9825 mov qword ptr [rsp+8],rcx
00007FF657DB982A push rdi
00007FF657DB982B sub rsp,20h
00007FF657DB982F mov rdi,rsp
00007FF657DB9832 mov ecx,8
00007FF657DB9837 mov eax,0CCCCCCCCh
00007FF657DB983C rep stos dword ptr [rdi]
00007FF657DB983E mov rcx,qword ptr [context]
/* VOLK_GENERATE_LOAD_LOADER */
#if defined(VK_VERSION_1_0)
vkCreateInstance = (PFN_vkCreateInstance)load(context, "vkCreateInstance");
00007FF657DB9843 lea rdx,[known_ext_strs+2B8h (07FF658652018h)]
00007FF657DB984A mov rcx,qword ptr [context]
00007FF657DB984F call qword ptr [load]
00007FF657DB9853 mov qword ptr [vkCreateInstance (07FF656E7FEEAh)],rax
vkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties)load(context, "vkEnumerateInstanceExtensionProperties");
00007FF657DB985A lea rdx,[known_ext_strs+2D0h (07FF658652030h)]
00007FF657DB9861 mov rcx,qword ptr [context]
00007FF657DB9866 call qword ptr [load]
00007FF657DB986A mov qword ptr [vkEnumerateInstanceExtensionProperties (07FF6586AD880h)],rax
vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties)load(context, "vkEnumerateInstanceLayerProperties");
00007FF657DB9871 lea rdx,[known_ext_strs+2F8h (07FF658652058h)]
00007FF657DB9878 mov rcx,qword ptr [context]
00007FF657DB987D call qword ptr [load]
00007FF657DB9881 mov qword ptr [vkEnumerateInstanceLayerProperties (07FF6586AD878h)],rax
#endif /* defined(VK_VERSION_1_0) */
#if defined(VK_VERSION_1_1)
vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion)load(context, "vkEnumerateInstanceVersion");
00007FF657DB9888 lea rdx,[known_ext_strs+320h (07FF658652080h)]
RAX = 00007FFB71105240 RBX = 0000000000000000 RCX = 00007FF658652030 RDX = 0000000518B85BDE RSI = 0000000000000000 RDI = 0000009B5DBFF4A0 R8 = 0000000000000098 R9 = FEFEFEFEFEFEFEFF R10 = FEFEFEFEFEFEFEFF R11 = 8080808080808080 R12 = 0000000000000000 R13 = 0000000000000000 R14 = 0000000000000000 R15 = 0000000000000000 RIP = 00007FF657DB9853 RSP = 0000009B5DBFF480 RBP = 0000009B5DBFF510 EFL = 00010200
0x00007FF656E7FEEA = 00CCE9005995CBE9
from volk.
I'm wondering if you removed the dependency on vulkan-1.lib from the linker settings? If it's still there it might cause something like that due to a conflict between volk (which dynamically loads functions) and vulkan-1 (which statically binds them to DLL imports).
from volk.
Bingo! This is it!
Fixed.
from volk.
Great - I'll add this to the README since it's easy to miss.
from volk.
Related Issues (20)
- volk + GLFW = (identifier glfwCreateWindowSurface not found) HOT 4
- Warnings from Volk with higher warnings enabled HOT 1
- mold linker symbol mismatch warning HOT 7
- add InstanceTable? HOT 3
- Compile error with MinGW cross-compiler HOT 2
- Access violation in volkInitialize HOT 2
- Device Table Overflow HOT 2
- question on unloading the dll HOT 4
- Should I be calling `volkFinalize()`? HOT 2
- Tagging for versions since 1.3.270 HOT 1
- Question about adding as submodule HOT 1
- dlopen fails to find Vulkan libraries on macOS HOT 6
- Library naming conflict HOT 2
- 1.3.275.0: missing checking VulkanHeaders and volk.c installation HOT 22
- CMake: Should we install volk.c by default? HOT 2
- volkLoadDevice(device) erases some function pointers HOT 3
- Why is volk.c so big? HOT 5
- does volk work with asan? HOT 2
- Tags for versions >1.3.283.0 HOT 4
- Linking volk to both an executable and shared object
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from volk.