Giter Site home page Giter Site logo

fabersanz / spirv-cross.net Goto Github PK

View Code? Open in Web Editor NEW
14.0 2.0 4.0 11.88 MB

SPIRV-Cross.NET is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.

License: MIT License

C# 56.81% GLSL 0.97% C 41.69% HLSL 0.53%
spirv-cross vulkan

spirv-cross.net's Issues

Unable to load native library on linux

It seems that the method SPIRVCross.SPIRV.LoadNativeLibrary tries to look for spirv-cross-c-shared.so but the file is actually named libspirv-cross-c-shared.so. Normally this would be fine since it should add the prefix automatically, but I guess because you give it a full path it does not do that...

I think this might also affect mac because it has the same prefix...

Unable to load native library

This is awesome - thank you so much for creating this library!

As far as I can tell, it's not loading the native library correctly though. When I run SPIRVCross.Test, I get this exception:

Unhandled exception. System.TypeInitializationException: The type initializer for 'SPIRVCross.SPIRV' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'spirv-cross-c-shared.dll' or one of its dependencies: The specified module could not be found. (0x8007007E)
   at System.Runtime.InteropServices.NativeLibrary.LoadFromPath(String libraryName, Boolean throwOnError)
   at System.Runtime.InteropServices.NativeLibrary.Load(String libraryPath)
   at SPIRVCross.LibraryLoader.LoadLocalLibrary(String libraryName) in C:\Users\Tim Jones\Downloads\SPIRV-Cross.NET-main\Src\SPIRVCross\SPIRV.cs:line 57
   at SPIRVCross.SPIRV.LoadNativeLibrary() in C:\Users\Tim Jones\Downloads\SPIRV-Cross.NET-main\Src\SPIRVCross\SPIRV.cs:line 17
   at SPIRVCross.SPIRV..cctor() in C:\Users\Tim Jones\Downloads\SPIRV-Cross.NET-main\Src\SPIRVCross\Generate\Commands.cs:line 17
   --- End of inner exception stack trace ---
   at SPIRVCross.SPIRV.spvc_context_create(spvc_context* context) in C:\Users\Tim Jones\Downloads\SPIRV-Cross.NET-main\Src\SPIRVCross\Generate\Commands.cs:line 96
   at SPIRVCross.Test.Program.Main(String[] args) in C:\Users\Tim Jones\Downloads\SPIRV-Cross.NET-main\Src\SPIRVCross.Test\Program.cs:line 62

I think this is because SPIRVCross.csproj needs to include some extra stuff to copy the native dlls to the output folder. For example, Vortice.Dxc includes a .targets file in the csproj:

https://github.com/amerkoleci/Vortice.Windows/blob/7481411e43659c6e4d25c52b705a7eadcee2cfc2/src/Vortice.Dxc/Vortice.Dxc.csproj#L28-L31

And that .targets file looks like this:

https://github.com/amerkoleci/Vortice.Windows/blob/7481411e43659c6e4d25c52b705a7eadcee2cfc2/src/Vortice.Dxc/build/netstandard2.0/Vortice.Dxc.targets#L6-L12

... unless I'm missing something, and it's working for you without doing that?

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.