Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Old resolvers causing issue #16

Open
anchpop opened this issue Oct 3, 2018 · 1 comment
Open

Old resolvers causing issue #16

anchpop opened this issue Oct 3, 2018 · 1 comment

Comments

@anchpop
Copy link

anchpop commented Oct 3, 2018

The resolver in vulkan-examples can be updated to lts-12.11, in my testing on Windows all the examples work fine except 5, which fails with this error:

VUID-VkPipelineVertexInputStateCreateInfo-pVertexAttributeDescriptions-parameter(ERROR / SPEC): msgNum: 279077889 - vkCreateGraphicsPipelines: required parameter pCreateInfos[0].pVertexInputState->pVertexAttributeDescriptions specified as NULL. The spec valid usage text states 'If vertexAttributeDescriptionCount is not 0, pVertexAttributeDescriptions must be a valid pointer to an array of vertexAttributeDescriptionCount valid VkVertexInputAttributeDescription structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkPipelineVertexInputStateCreateInfo-pVertexAttributeDescriptions-parameter)
    Objects: 1
       [0] 0x0, type: 0, name: (null)
Validation(ERROR): msg_code: 279077889:  [ VUID-VkPipelineVertexInputStateCreateInfo-pVertexAttributeDescriptions-parameter ]  [ VUID-VkPipelineVertexInputStateCreateInfo-pVertexAttributeDescriptions-parameter ] Object: VK_NULL_HANDLE (Type = 0) | vkCreateGraphicsPipelines: required parameter pCreateInfos[0].pVertexInputState->pVertexAttributeDescriptions specified as NULL. The spec valid usage text states 'If vertexAttributeDescriptionCount is not 0, pVertexAttributeDescriptions must be a valid pointer to an array of vertexAttributeDescriptionCount valid VkVertexInputAttributeDescription structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkPipelineVertexInputStateCreateInfo-pVertexAttributeDescriptions-parameter)
VUID-VkPipelineVertexInputStateCreateInfo-vertexAttributeDescriptionCount-00614(ERROR / SPEC): msgNum: 278922444 - vkCreateGraphicsPipelines: pararameter pCreateInfo[0].pVertexInputState->vertexAttributeDescriptionCount (0) is greater than VkPhysicalDeviceLimits::maxVertexInputAttributes (16). The spec valid usage text states 'vertexAttributeDescriptionCount must be less than or equal to VkPhysicalDeviceLimits::maxVertexInputAttributes' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkPipelineVertexInputStateCreateInfo-vertexAttributeDescriptionCount-00614)
    Objects: 1
       [0] 0x0, type: 0, name: (null)
Validation(ERROR): msg_code: 278922444:  [ VUID-VkPipelineVertexInputStateCreateInfo-vertexAttributeDescriptionCount-00614 ]  [ VUID-VkPipelineVertexInputStateCreateInfo-vertexAttributeDescriptionCount-00614 ] Object: VK_NULL_HANDLE (Type = 0) | vkCreateGraphicsPipelines: pararameter pCreateInfo[0].pVertexInputState->vertexAttributeDescriptionCount (0) is greater than VkPhysicalDeviceLimits::maxVertexInputAttributes (16). The spec valid usage text states 'vertexAttributeDescriptionCount must be less than or equal to VkPhysicalDeviceLimits::maxVertexInputAttributes' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkPipelineVertexInputStateCreateInfo-vertexAttributeDescriptionCount-00614)

With the old resolver, I could not get vulkan-examples to compile.

I can't get vulkan-triangles to work with the resolver it had (nightly-2018-04-12) or with lts-12.11. In both cases I get the following error:

vulkan-api-1.1.3.0: configure (lib)
Progress 1/3

--  While building custom Setup.hs for package vulkan-api-1.1.3.0 using:
      C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_2.2.0.1_ghc-8.4.3.exe --builddir=.stack-work\dist\7d103d30 configure --with-ghc=C:\Users\hyper\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.3\bin\ghc.EXE --with-ghc-pkg=C:\Users\hyper\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.3\bin\ghc-pkg.EXE --user --package-db=clear --package-db=global --package-db=C:\sr\snapshots\bbeb756e\pkgdb --package-db=C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\install\96fd7a97\pkgdb --libdir=C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\install\96fd7a97\lib --bindir=C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\install\96fd7a97\bin --datadir=C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\install\96fd7a97\share --libexecdir=C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\install\96fd7a97\libexec --sysconfdir=C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\install\96fd7a97\etc --docdir=C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\install\96fd7a97\doc\vulkan-api-1.1.3.0 --htmldir=C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\install\96fd7a97\doc\vulkan-api-1.1.3.0 --haddockdir=C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\install\96fd7a97\doc\vulkan-api-1.1.3.0 --dependency=base=base-4.11.1.0 -fuseNativeFFI-1-0 -f-useNativeFFI-1-1 -fuseUnsafeFFIDefault --ghc-options -O2 --extra-include-dirs=C:\Users\hyper\AppData\Local\Programs\stack\x86_64-windows\msys2-20180531\mingw64\include --extra-lib-dirs=C:\Users\hyper\AppData\Local\Programs\stack\x86_64-windows\msys2-20180531\mingw64\bin --extra-lib-dirs=C:\Users\hyper\AppData\Local\Programs\stack\x86_64-windows\msys2-20180531\mingw64\lib --enable-tests --enable-benchmarks
    Process exited with code: ExitFailure 1
    Logs have been written to: C:\Users\hyper\Desktop\vulkan-master\vulkan-triangles\.stack-work\logs\vulkan-api-1.1.3.0.log

    Configuring vulkan-api-1.1.3.0...
    Cabal-simple_Z6RU0evB_2.2.0.1_ghc-8.4.3.exe: Missing dependency on a foreign
    library:
    * Missing (or bad) C library: vulkan-1
    This problem can usually be solved by installing the system package that
    provides this library (you may need the "-dev" version). If the library is
    already installed but in a non-standard location then you can use the flags
    --extra-include-dirs= and --extra-lib-dirs= to specify where it is.If the
    library file does exist, it may contain errors that are caught by the C
    compiler at the preprocessing stage. In this case you can re-run configure
    with the verbosity flag -v3 to see the error messages.
@achirkin
Copy link
Owner

achirkin commented Oct 4, 2018

The latter problem is due to missing header files or vulkan loader static files. You may try either to specify --extra-lib-dirs= to match the folder containing vulkan-1.lib on your machine or disable useNativeFFI flags in the stack file.

The former looks interesting. It surprises me, because the haskell dependencies should have nothing todo with it. Gladly, the validation layer shows a hint where to look for an error, so you may try to fix it :) Look at function vkCreateGraphicsPipelines and around in the example code. Unfortunately, I am overloaded and I cannot work on this right now. A pull request is very welcome!

@anchpop anchpop changed the title Old resolvers causing Old resolvers causing issue Oct 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants