-
-
Notifications
You must be signed in to change notification settings - Fork 33
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
Vulkan validator prints error on fragment compilation (vkCreateShaderModule) #139
Comments
I am remembering some changes being made to this file that I may not have pulled in yet |
I pulled in those changes and still seem to get the error. I did rebuild but I'll update my json to pull in the master so all changes are applied since that spv change. |
A change I had to make in order to get this going this far was an upgrade to VMA version as I use it already in a specific version that is greater than the one used in VkVG. So, I had to pass the instance in vkvg_device.c as well as vh_device.c:
In the ion.git repo there is a project.json which pulls in externals and lets you compile them how you want. The CMake reads the JSON expanded from a python script. So you've got a fields format such as:
I had it not installing the libs but found that to make it do so. So the format need not require the 'libs' and 'includes' ultimately. I cant do it now because work is required to 'finish' install scripts like glm's which doesnt seem to have one. |
Undefining VKVG_ENABLE_VK_SCALAR_BLOCK_LAYOUT lets it pass the validator as it doesnt use that method in the main fragment. I am onto another issue now. vkvg_device_internal.c @ ~358: (last vkCreateGraphicsPipelines call in function: _device_setupPipelines) code executed:
validation error:
|
The above was due to my mistake at Vulkan Device creation. I needed to add the following. 'aa' is unlikely to ever be false as I assume that would break vkvg's pipeline requirements VkPhysicalDeviceFeatures features { |
Important to note that VKVG_ENABLE_VK_SCALAR_BLOCK_LAYOUT should be OFF (not defined) for current version of vulkan validator not to error. Perhaps it could be default or we fix by padding the float[16] |
You should call 'vkvg_get_device_requirements' to populate the 'VkPhysicalDeviceFeatures' struct.
What is you vulkan version? What is your platform, driver and gpu? SCALAR block layout could be unsupported by driver, vulkan side should be ok. |
If 'glslc' and 'xxd' binaries are found by cmake, shaders should be compiled by the cmake build. I've stored in the git tree a default version of pre-compiled spir-v shaders, but macros are forwarded to glslc compile command depending on cmake options. So, if you use the pre-compiled shaders from the git tree, cmake options and spir-v macros may be out of sync. |
line 300 in vkvg_device_internal.c:
This is inside the _device_setupPipelines(vkvg_device) function
Validator error:
I suppose for me this means find the fragment & vertex sources and compile them with my own glslc. I was reasonably certain that VkVG did this during its build process, though? At any rate I am having this error and am trying to get it going..
I really appreciate your work on this!
The text was updated successfully, but these errors were encountered: