-
Notifications
You must be signed in to change notification settings - Fork 232
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
Sigfault when loading The Immortal Lock #704
Comments
It's really hard to figure out anything from a stacktrace of vkQuake built with Release configuration of MoltenVK.
Unless someone wants to build vkQuake with Debug configuration MoltenVK in order to produce more useful stacktrace, I would report this to MoltenVK developers as is. |
@alexey-lysiuk Thank you very much to step up to this MacOs issue (probably) |
I have debugged this before and I'm pretty sure I came to the conclusion that this is a bug in MoltenVK |
In case this helps. Latest vkQuake 564c14d and MoltenVK edbdcf05, compiled with debug enabled. |
Report this to MoltenVK. Apparently, |
(Disclamer : I know next to nothing to Vulkan, so my suggestion may be stupid.) As far as I understand the Issue opened at MoltenVK investigation, we may exhaust a pool of descriptors Indeed instead of : Line 1506 in d5aae5a
shouldn't we have instead: pool_sizes[7].descriptorCount = 32 + (1 + MAXLIGHTMAPS * 3 / 4) * MAX_SANITY_LIGHTMAPS; The reason being, each lighmap (max MAX_SANITY_LIGHTMAPS) has a layout like this: gl_rmisc.c(1361) lightmap_compute_layout_bindings[1].descriptorCount = 1;
lightmap_compute_layout_bindings[1].descriptorType = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
lightmap_compute_layout_bindings[1].stageFlags = VK_SHADER_STAGE_COMPUTE_BIT;
lightmap_compute_layout_bindings[2].binding = num_descriptors++;
lightmap_compute_layout_bindings[2].descriptorCount = MAXLIGHTMAPS * 3 / 4;
lightmap_compute_layout_bindings[2].descriptorType = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
lightmap_compute_layout_bindings[2].stageFlags = VK_SHADER_STAGE_COMPUTE_BIT; If we compare to the similar |
@alexey-lysiuk @MrGcGamer Could you please try the suggested change above, to see if it still carshes for you ? |
@vsonnier Thanks, the map loads for me with the change you suggested and plays surprisingly well so far. diff --git a/Quake/gl_rmisc.c b/Quake/gl_rmisc.c
index 1bc0ee2..f9f6d7a 100644
--- a/Quake/gl_rmisc.c
+++ b/Quake/gl_rmisc.c
@@ -1503,7 +1503,7 @@ void R_CreateDescriptorPool ()
pool_sizes[6].type = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
pool_sizes[6].descriptorCount = 32;
pool_sizes[7].type = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
- pool_sizes[7].descriptorCount = 32;
+ pool_sizes[7].descriptorCount = 32 + (1 + MAXLIGHTMAPS * 3 / 4) * MAX_SANITY_LIGHTMAPS;
int num_sizes = 8;
if (vulkan_globals.ray_query)
{ |
Thanks @Perlence for your feedback. Looks like we really had a bug in vkQuake, that goes unoticed until now... |
Would it be a good idea to make a test build with some sort of strict mode enabled in VK and run it to potentially uncover more hidden issues like this? |
Is it with MoltenVK including KhronosGroup/MoltenVK#2291 or the "current" MoltenVK ? |
just retested with this build https://github.com/KhronosGroup/MoltenVK/actions/runs/10131781145 still getting vertex explosions from interactive things across the map (replacing the build under /usr/local/Cellar/molten-vk/1.2.10/lib/ should suffice right?) |
By "vertex explosions" do you mean artifacts appearing all over the screen when there is e.g., a health chest somewhere in the scene? If so, I see this as well when I have |
yeah, works fine on classic for me as well. |
Does it work with
|
reverting said commit does not fix the issue.
...I also noticed, that the vertex explosions are also present without the mod on 1.30.1 as well as 1.31.0. (See vid) Screen.Recording.2024-08-02.at.16.03.51.mp4 |
Thanks @MrGcGamer, that is useful info : this was the last commit approaching MD5 models related things, otherwise nothing has changed since On my side I have none of your problems runing the remaster, (Win10) but truth be told I bought Quake Remaster from GOG and only copied the necessary files for Dimension Of The Machine in my regular Quake dir like so: id1\pak[0..1].pak (Original release)
mg1\pak0.pak
QuakeEX.kpf and run it with the command : Now, if I separately install Quake Enhanced (a.k.a remaster) from GOG and copy all the necessary vkQuake executables in its directory, and run For reference, here is my configuration : |
@MrGcGamer @vsonnier Would it make sense to create a new issue to track vertex explosions? The original issue, which was the game crashing when immortal.bsp was started, is pretty much fixed as far as I can tell. I think starting a new issue would make it easier for the maintainers to track. |
Describe the bug
vkQuake v1.31.0 sigfaults on macOS when starting immortal.bsp from The Immortal Lock.
To reproduce
Full log
Expected behavior
The map loads 😄
Desktop
Additional context
I've also tried it on 38a9771 with the same result.
The text was updated successfully, but these errors were encountered: