-
Notifications
You must be signed in to change notification settings - Fork 862
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
HLSL SPIR-V source language rejected by Vulkan runtime debug layer #462
Comments
Right. Maybe we have to avoid validation layers or lie about what the source language was. Generally, we weren't trying to extend SPIR-V for this first round, and extending the source languages broke that, so should probably not be done. |
I hacked it up to use unknown as a language and got past that check. Should I do a Pr? |
Sure, a PR to move to Unknown is good. Thanks. |
Commit 6fa1764 (from 7.04) reverses this, but seems like "my" Vulkan still does not recognize HLSL, because after updating SDK (from LunarG) and glslang (from this repo) I receiving exactly the same error message from the validation layer. |
Validators need to be fixed to accept this, and old validators should get replaced with up-to-date validators. Can you submit bugs against whatever validator does not accept this? |
Since I'm using SDK 1.0.46.0 I assume it would be correct to submit bug directly to |
I believe it is the SPIR-V validator at
https://github.com/KhronosGroup/SPIRV-Tools
Karen Ghavam
CEO and Engineering Director
LunarG, Inc. - 3D Graphics Software Innovations
[email protected]
970-988-9043
…On Mon, Apr 24, 2017 at 10:25 AM, Sergey ***@***.***> wrote:
Since I'm using SDK 1.0.46.0 I assume it would be correct to submit bug
directly to
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers
Correct me if I'm wrong
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#462 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AQcGKLCO9sFFsJmMkrJhMYz18_9S7XF_ks5rzMzygaJpZM4Jj71D>
.
|
@KarenGhavam-lunarG that validator tracks the header changes very closely; it's almost automatic to keep it up to date. The problem is almost certainly something else that involves more manual changes or that latches-on to out-of-date copies. (Also, if you look at this GitHub discussion on the web page, it seems you are doing email, and might want to see how the discussion flows on the web page.) |
Addendum: It was reported elsewhere that SPIR-V tools was not the problem, but rather an out-of-date copy. |
I had created SPIRV files from HLSL. Its working fine on Windows but on Android its giving same error : "SPIR-V module not valid: Invalid source language operand: 5". Any clues for the reason here and how can we fix this on Android. To generate SPIRV from HLSL I used latest glslc in Vulkan SDK version 1.0.51. @johnkslang |
@chrisforbes Do you have any information on this for android? |
This looks like the android bits include a too-old spirv-tools. @ajaybedi where are you getting your layers from, for Android? |
@chrisforbes |
You're probably better off building the layers from source. The layers are moving much faster than NDK at the moment... |
@chrisforbes |
@ajaybedi what device is this running on? |
@chrisforbes its Samsung S7 with Mali GPU. Samsung S7 has two versions: one with Mali and one with Adreno. This stack trace is with Mali. |
@chrisforbes @johnkslang Any update on this? Is this fixed? We are still getting same issue. Now tried with Huwei P9 (Mali G72) and still same issue. |
To be clear, are you saying something is complaining about the OpSource being 5? It's a long established enumerant, implying either something is old or thinking a particular version is not allowed to accept that. |
@chrisforbes @johnkslang : I am also seeing this error from validation layers: "SPIR-V module not valid: Invalid source language operand: 5". This happens when we try to create shader module. ShaderModuleCreateInfo shaderInfo ({}, ThrowIfFailed (shaderModule = std::move (vkDevice->createShaderModuleUnique (shaderInfo))); The original shaders are in HLSL and we use glslangValidator to create the SPIR-V file. This works fine on desktop. |
This has been fixed in SPIRV-Tools a long time ago. If there are still issues with a source language enumerant being 5, please open a new issue against the appropriate repository. |
When I try to actually create a shader via VkCreateShaderModule, I get;
SC (ERROR): object: 0x0 type: 0 location: 8648 msgCode: 5: SPIR-V module not valid: Invalid source language operand: 5
Which seams like validator doesn't like the source language?
The text was updated successfully, but these errors were encountered: