Git Product home page Git Product logo

silkvulkantutorial's People

Contributors

catapillie avatar dfkeenan avatar ripwin avatar supinepandora43 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

silkvulkantutorial's Issues

Unhandled exception. Silk.NET.Core.Loader.SymbolLoadingException: Native symbol not found (Symbol: vkCreateDebugUtilsMessengerEXT)

Hello,

I am trying to setup vulkan in F# with Silk.Net. So far everything works as expect but somehow I am not able to setup a debug messenger.
Maybe you have a idea on how to fix it or which vulkan sdk should work. Here is my code line which fails:

debugUtils.CreateDebugUtilsMessenger(state.instance, &createInfo, NativeInterop.NativePtr.nullPtr, &state.debugMessenger)

Full Error output:

Starting demo application. loading window... Yes, we have validation Layer support!!! Unhandled exception. Silk.NET.Core.Loader.SymbolLoadingException: Native symbol not found (Symbol: vkCreateDebugUtilsMessengerEXT) at Silk.NET.Core.Contexts.LamdaNativeContext.<GetProcAddress>g__Throw|4_0(String proc) at Silk.NET.Core.Contexts.LamdaNativeContext.GetProcAddress(String proc, Nullable1 slot)
at Silk.NET.Vulkan.Extensions.EXT.ExtDebugUtils._B.get__KJM()
at Silk.NET.Vulkan.Extensions.EXT.ExtDebugUtils.CreateDebugUtilsMessenger(Instance instance, DebugUtilsMessengerCreateInfoEXT& pCreateInfo, AllocationCallbacks* pAllocator, DebugUtilsMessengerEXT& pMessenger)
at VulkanStuff.VulkanModule.setupDebugMessenger(VulkanState state) in C:...\VulkanSetup-IntoFunctional\refactored.fs:line 265

The vulkan instance created without a problem. I can also pick a phyiscal device and create the logical device without a problem.

Vulkan setup as:

Executable Info

Exe Directory | C:/VulkanSDK/1.3.250.1/Bin
Current Directory | C:/Users/
App Version | Version 1.3
Vulkan API Version | 1.3.250
Byte Format | 64-bit

Vulkan Runtimes

Runtimes In Registry | SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall |  
  | [0] | 1.0.65.1 [Install Count = 1]
Runtimes in System Folder | C:/WINDOWS/system32/ |  
DLL 0 | vulkan-1-1-0-65-1.dll | Version 1.0.65.1.
DLL 1 | vulkan-1-999-0-0-0.dll | Version 1.3.241.0.
DLL 2 | vulkan-1.dll | Version 1.3.241.0.
Runtime Used by App | C:/Windows/System32/vulkan-1.dll | 1.3.241.0.

EDIT:
Theseare my used packages.
"Silk.NET.Core" Version="2.18.0"
"Silk.NET.GLFW" Version="2.18.0"
"Silk.NET.Input" Version="2.18.0"
"Silk.NET.Input.Glfw" Version="2.18.0"
"Silk.NET.Maths" Version="2.18.0"
"Silk.NET.Vulkan" Version="2.18.0"
"Silk.NET.Vulkan.Extensions.EXT" Version="2.18.0"
"Silk.NET.Vulkan.Extensions.KHR" Version="2.18.0"
"Silk.NET.Windowing" Version="2.18.0"
"Silk.NET.Windowing.Glfw" Version="2.18.0"

vulkaninfoSDK

VULKANINFO

Vulkan Instance Version: 1.3.241

Instance Extensions: count = 15

    VK_EXT_debug_report                    : extension revision 10
    VK_EXT_debug_utils                     : extension revision 2
    VK_EXT_swapchain_colorspace            : extension revision 4
    VK_KHR_device_group_creation           : extension revision 1
    VK_KHR_external_fence_capabilities     : extension revision 1
    VK_KHR_external_memory_capabilities    : extension revision 1
    VK_KHR_external_semaphore_capabilities : extension revision 1
    VK_KHR_get_physical_device_properties2 : extension revision 2
    VK_KHR_get_surface_capabilities2       : extension revision 1
    VK_KHR_portability_enumeration         : extension revision 1
    VK_KHR_surface                         : extension revision 25
    VK_KHR_surface_protected_capabilities  : extension revision 1
    VK_KHR_win32_surface                   : extension revision 6
    VK_LUNARG_direct_driver_loading        : extension revision 1
    VK_NV_external_memory_capabilities     : extension revision 1

Layers: count = 15

PS:
I just rebuild the c++ version from vulkan-tutorial c++


        let setupDebugMessenger (state: VulkanState): InitResult<VulkanState> = // (debugMessenger: DebugUtilsMessengerEXT byref) 
            match state.enableValidationLayers with
            | true ->

                let mutable createInfo = createPopulateDebugMessengerCreateInfo

                let mutable debugUtils: ExtDebugUtils = Unchecked.defaultof<ExtDebugUtils>
                let mutable debugMessenger: DebugUtilsMessengerEXT = Unchecked.defaultof<DebugUtilsMessengerEXT>

                match (optionValueVkFromVulkanState state).TryGetInstanceExtension(state.instance, &debugUtils) with
                    | true ->   match debugUtils.CreateDebugUtilsMessenger(state.instance, &createInfo, NativeInterop.NativePtr.nullPtr, &state.debugMessenger) with
                                | Result.Success ->  Success { state with debugMessenger = debugMessenger }
                                | _ ->  Failure "Failed to set up debug messenger - couldn't create CreateDebugUtilsMessenger!"
                    | false -> Failure "Failed to set up debug messenger - couldnt get debugUtils extension!"
                    
            | false -> Success state // nothing to do

Add osx (m1) support

At this moment the samples crashed on m1, but original examples from VulkanSDK with MoltenVK are work fine

Request for Open-Source License Addition

Hello @dfkeenan,

I hope this message finds you well. I'm interested in contributing to your repository. However, I noticed it doesn't have an open-source license.

Could you please consider adding an open-source license to the repository? This would clarify the terms for contributions and usage.

Thank you!

Best regards,
Ripwin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.