-
-
Notifications
You must be signed in to change notifi 8000 cation settings - Fork 173
3D rendering not working on AMD linux machines. #800
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
Comments
Did some quick tinkering, and on Linux, it is indeed that easy... maybe. After exporing On my AMD machine, it now crashes without an error message here: Shader.CreateShaderFromStrs() at /home/rei/oden/home/rei/source/nu/Nu/Nu/OpenGL/OpenGL.Shader.fs:line 34
Shader.CreateShaderFromFilePath() at /home/rei/oden/home/rei/source/nu/Nu/Nu/OpenGL/OpenGL.Shader.fs:line 63
Filter.CreateFilterBoxShader()
GlRenderer3d.make()
RendererInline.Nu.RendererProcess.Start()
WorldModule3.World.tryMake.Static()
WorldModule3.World.run.Static()
Program.main() Sadly, this isn't as far as it was making it before, which was here: Gl.GetTextureHandleARB() at /home/rei/.config/JetBrains/Rider2024.1/resharper-host/DecompilerCache/decompiler/414ce548b1474721b05451b5df65cc5022d800/8a/8896862c/Gl.cs:line 25,810
Texture.TryCreateTextureHandle() at /home/rei/oden/home/rei/source/nu/Nu/Nu/OpenGL/OpenGL.Texture.fs:line 373
Texture.CreateTextureHandle()
Framebuffer.TryCreateShadowBuffers()
GlRenderer3d.make()
RendererInline.Nu.RendererProcess.Start()
WorldModule3.World.tryMake.Static()
WorldModule3.World.run.Static()
Program.main() So we can't be sure if it's an improvement or not, or if this is insurmountable again. Getting Zink working on Windows seems to be a whole other thing, so I'll have to investigate further. This is probably a good starting point for getting Zink on windows. |
The only reasonable approach remaining was to rip out bindless texture utilization. But it is done and can be tested on other AMD machines. |
Reopening and renaming this issue because AMD rendering has regressed a while back without us noticing. Even with non-bindless textures, it's still not working in many cases. The regression seems to have happened around here - UPDATE: At the time of the regression, one thing we did was increase the number of texture slots in use to accommodate more shadows in deferred lighting. This might be one reason that rendering in master no longer works in AMD as perhaps AMD doesn't informally support greater than 32 texture slots like NV seems to. |
UPDATE: now the issue is just in AMD Linux. |
As for bindless textures on AMD, there's this guide - https://gist.icoder.workers.dev/JuanDiegoMontoya/55482fc04d70e83729bb9528ecdc1c61 |
EDIT: We spent many months trying to get AMD's opengl drivers to work with our renderer once we switched over to bindless textures. Here's where I landed at before giving up -
Nu/Nu/Nu.Gaia/Assets/Default/PhysicallyBasedDeferredLightMapping.glsl
Line 68 in 536a402
The text was updated successfully, but these errors were encountered: