github FelipePrado0/gow3_pc windows-v2.1.7-intel-test1
Intel test build 1 on 2.1.7: GOW3_VK_DISABLE_EXT extension bisection (2.1.7-intel-test1)

pre-release3 hours ago

Intel test build 1 on 2.1.7, not a release. Built from branch worktree-gpu-intel (PR #105, commit fc3f460) on top of 2.1.7. Tracking issue: #28 (#39, #96 and #99 are closed as duplicates of it).

What it is

2.1.7 with nothing changed by default, plus test switches. Without any variable it runs exactly like 2.1.7. New in this build:

  • GOW3_VK_DISABLE_EXT: a comma-separated list of optional Vulkan device extension names that the game then treats as unavailable, so every fallback the port already has for GPUs without that extension kicks in. The four required extensions (VK_KHR_swapchain, VK_KHR_push_descriptor, VK_EXT_vertex_attribute_divisor, VK_EXT_robustness2) can never be turned off. While the variable turns anything off, the pipeline cache on disk and the pipeline binaries are skipped for that run (shaders compile again, nothing to clear by hand).
  • Two lines in user\last_run.log at any log level: GPU: device <name>, driver <id> <version>, Vulkan <api>; extensions off: <list|none> (GOW3_VK_DISABLE_EXT=<value|unset>) and GPU: optional extensions unavailable: <list>; ignored names: <list|none>. ignored names other than none means a name had no effect: mistyped, or not supported by this GPU (compare with the unavailable line of run A).

The LDS barriers and the 32-lane subgroup pin from the earlier Intel test builds (windows-v2.1.6-intel-test1, windows-v2.1.6-test2, windows-v2.1.6-test3, windows-v2.1.7-test3, windows-v2.1.7-test4) are off by default: they did not change the picture on the B580 or the B390. Their opt-in switches (GOW3_SUBGROUP_PIN, GOW3_LDS_BARRIERS) are still in the build but are not used in these runs; leave them out of the .bat.

What we learned so far

On a GeForce GTX 1650, turning off the three extensions that Intel's driver lacks (VK_KHR_maintenance8, VK_EXT_attachment_feedback_loop_dynamic_state, VK_NV_framebuffer_mixed_samples) puts NVIDIA on the same fallback paths Intel takes, and the main menu renders correctly. So the port's logic in those fallbacks is fine when NVIDIA runs it; an Intel driver issue in the same path (for example the depth-to-colour copy through a buffer) stays possible, and only a RenderDoc capture on Intel can show it. The next lead is an extension Intel does expose, which is what the runs below bisect.

GOW3_VK_DISABLE_EXT=all is not used: on NVIDIA it kills the game right after boot, traced to one or more of the four extensions in run D (not yet isolated).

Setup

  1. Extract into a new folder; choose the game folder once in the launcher (God of War III.exe).
  2. Press Clear shader cache in the launcher.
  3. Create one .bat per run next to Play God of War III.exe (that executable writes user\last_run.log) and start the game by double-clicking it. Play to the main menu (the 3D Kratos scene behind the menu is where the corruption shows).

Runs

A. Baseline (confirms the symptom and records the extension list of your GPU):

@echo off
set GOW3_GPU_LOG=info
start "" "Play God of War III.exe"

B. First half:

@echo off
set GOW3_GPU_LOG=info
set GOW3_VK_DISABLE_EXT=VK_KHR_workgroup_memory_explicit_layout,VK_EXT_shader_stencil_export,VK_EXT_image_2d_view_of_3d,VK_EXT_vertex_input_dynamic_state,VK_EXT_extended_dynamic_state3,VK_EXT_provoking_vertex,VK_EXT_image_view_min_lod,VK_EXT_depth_range_unrestricted
start "" "Play God of War III.exe"

C. Second half:

@echo off
set GOW3_GPU_LOG=info
set GOW3_VK_DISABLE_EXT=VK_KHR_fragment_shader_barycentric,VK_EXT_shader_atomic_float,VK_EXT_shader_atomic_float2,VK_KHR_maintenance5,VK_EXT_memory_budget,VK_KHR_compute_shader_derivatives,VK_KHR_shader_clock
start "" "Play God of War III.exe"

D. The four crash candidates (this run may crash, as all does on NVIDIA; a crash here is not a fix, it is the known crash; if it reaches the menu, what the scene shows counts):

@echo off
set GOW3_GPU_LOG=info
set GOW3_VK_DISABLE_EXT=VK_EXT_custom_border_color,VK_EXT_depth_clip_control,VK_EXT_depth_clip_enable,VK_EXT_primitive_topology_list_restart
start "" "Play God of War III.exe"

What to report in #28

For each run: whether the main menu scene is still shredded (a screenshot helps), and user\last_run.log attached. The GPU: device ...; extensions off: line proves which run the log belongs to. If B or C fixes the scene, we split that half next and post the new .bat files. Each run with the variable compiles the shaders again (the cache is skipped for that run), so the first minute is slower; run A (no GOW3_VK_DISABLE_EXT line, so the log says unset) uses the cache as usual.

SHA-256 of gow3-windows.zip: 770156188d875d2f83c686b3e05eba894d2e751b8264956226d434cc0bec1f39.

Don't miss a new gow3_pc release

NewReleases is sending notifications on new releases.