Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance, and optimization
21589 Discussions

OpenGL: SPIR-V compiler failed to link shaders

kirill146
Novice
2,315 Views

glLinkProgram() failed to link SPIR-V shaders, created through glShaderBinary().

I added a minimal repro on GitHub. I have 2 simple shaders there which link fine for the first time, producing correct gl program. However when I link the same 2 shaders for the 2nd time, linker fails with an empty info log. Also OpenGL's debug callback is called with non-descriptive message

SHADER_ID_LINK error has been generated. GLSL link failed for program 5, "":

Initially I've had different sets of shaders, but result was the same: only the first pair was linked correctly.

I have an i7-13650HX CPU with iGPU and the latest driver.

Please fix the driver

0 Kudos
3 Replies
DeividA_Intel
Employee
2,280 Views

Hello kirill146,  


  

Thank you for posting on the Intel® communities. I am sorry to know that you are having issues with your Intel® UHD Graphics for 13th Gen Intel® Processors.  


  

In order to better assist you, please provide the following:  


1. Are you working on a personal or business project? Can you provide more details?

2. Are you using a laptop or desktop computer?

3. What is the operating system installed as well as the version and build?



Regards,  

Deivid A.  

Intel Customer Support Technician  


0 Kudos
kirill146
Novice
2,265 Views

Hello Deivid,
I'm working on a personal rendering engiine which, for the time being, has 4 rendering backends: Vulkan, DirectX 12, DirectX 11 and OpenGL. All of these APIs have different native shader format (SPIR-V, DXIL, DXBC and GLSL respectively). It's very time consuming to maintain 4 different "physical" shaders for single "logical" one, so I decided to work on unified shader pipeline. Microsoft's DirectX Shader Compiler is able to produce DXIL or SPIR-V as an output, so I can use these binaries with DX12 and Vulkan. Also I can decompile SPIR-V to GLSL or HLSL via SPIRV-Cross to run on legacy APIs. However, OpenGL 4.6 also has support for loading SPIR-V shaders directly, so I can skip decompilation and compilation steps. For now I have to maintain separate decompilation/compilation path for Intel GPUs because of aforementioned issue though.
I've tested this on ASUS ROG Strix G16 laptop with i7-13650HX integrated graphics, which announces support for OpenGL 4.6. OS version is Windows 11 Build 10.0.22621. Also I've tested it on a desktop computer with i5-7400 integrated graphics, which announces support for GL_ARB_gl_spirv extension and results are the same (OS Windows 10 Build 10.0.19044)

0 Kudos
DeividA_Intel
Employee
2,238 Views

Hello kirill146,  



Thanks for your response. Based on your scenario, I would like to let you know that Intel has a specific forum for this kind of issue and product, it is called the Intel Developer Zone. There you will receive the appropriate support on this and other concerns you may have related to this product.  


 

Here you will find the links to access the website and the community forums:  



Please keep in mind that this thread will no longer be monitored by Intel.  


Regards,   

Deivid A.  

Intel Customer Support Technician  


0 Kudos
Reply