github FelipePrado0/gow3_pc windows-v2.1.8-intel-hd630-test1
Test build intel-hd630-test1 on 2.1.8: 3D black or blue on Intel HD/UHD (2.1.8-intel-hd630-test1)

pre-release3 hours ago

Test build for Intel HD/UHD Graphics on Windows (issue #35): the 3D scene rendering black or blue only.

What changes

  • Vulkan dynamic vertex input is off by default on Intel's Windows driver (VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, integrated and Arc alike). On an HD 630 the driver draws every 3D object black or blue with VK_EXT_vertex_input_dynamic_state and correctly without it (#35, run B1 of the reporter's bisection); ANGLE and yuzu turn the extension off on every Intel Windows driver for the same reason. NVIDIA, AMD, RADV (Linux, Steam Deck), Mesa ANV and MoltenVK are unchanged. The log says which way it went: GPU: vertex input dynamic state off (Intel Windows driver; GOW3_VERTEX_INPUT_DYNAMIC=1 turns it on) or ... on.
  • GOW3_VERTEX_INPUT_DYNAMIC=1 forces the extension on, =0 forces it off on any card. Performance → GPU data → Dynamic vertex input in the launcher shows the same choice; Automatic names the card and the decision, as Game multisampling does.
  • GOW3_VK_DISABLE_EXT=<ext,...>|all (the test knob of the intel-test1 build) is in this build too and wins over the default: use it to bisect the New Game crash below.
  • The static vertex path (the one these cards now use) no longer stops with SurfaceFormat: Assertion Failed! Unknown data_format=15 and num_format=5 when a draw-preparation worker reads a vertex descriptor the game is still writing (the cause of the 480p stop in #35); the worker leaves that draw to the GPU thread, as the dynamic path already did.
  • The log warns once per vertex attribute format the GPU does not accept as a vertex buffer: Vertex attribute format <format> lacks VertexBuffer support on this GPU (#35). Please include any such line in your report; it decides between a driver bug and a port bug.
  • The pipeline cache records the vertex input mode. Every GPU rebuilds its shader cache once on the first launch of this build (longer first-launch stutter, nothing else).

How to test (Intel HD/UHD/Iris on Windows)

Unzip into a new folder, point the launcher at your game files, and in the launcher clear the shader cache once. Put a teste.bat next to God of War III.exe and start the game through it so the log keeps the GPU details:

Run A, the new default:

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

Run B, control (the old behaviour; the scene should be black or blue again on the HD 630):

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

On the HD 630, run A fixes the menu but New Game crashed in the Intel shader compiler (igc64.dll) when only the vertex input extension was off; the other four extensions of the intel-test1 "first half" made it load. To find which one matters, run New Game with each of these, in order, and stop at the first that loads the level:

set GOW3_VK_DISABLE_EXT=VK_EXT_provoking_vertex,VK_EXT_shader_stencil_export
set GOW3_VK_DISABLE_EXT=VK_KHR_workgroup_memory_explicit_layout,VK_EXT_image_2d_view_of_3d
set GOW3_VK_DISABLE_EXT=VK_EXT_provoking_vertex
set GOW3_VK_DISABLE_EXT=VK_EXT_shader_stencil_export
set GOW3_VK_DISABLE_EXT=VK_KHR_workgroup_memory_explicit_layout
set GOW3_VK_DISABLE_EXT=VK_EXT_image_2d_view_of_3d

(GOW3_VK_DISABLE_EXT skips the pipeline cache, so those runs compile every shader again.) Also please run A twice through New Game: it tells whether the crash is deterministic.

Reply on #35 with: which run did what (menu correct? New Game loads?), user\last_run.log of each run, and for any Fault: or Assertion Failed the twenty lines before it.

Validation so far

  • GTX 1650 (NVIDIA): default unchanged (GPU: vertex input dynamic state on); forced static path (GOW3_VERTEX_INPUT_DYNAMIC=0) rebuilds the cache (Pipeline cache isn't compatible with current system: rebuilding it) and loads the game without an assertion or Vulkan error (the menu was not visually checked).
  • gow3-gpu-capabilities --list prints the sixth column (on/off); the launcher's Automatic label reads it.
  • Unit tests: vertex-format-test, shader-profile-test, vertex-input-default-test, extension-policy-test, no-msaa-test; Python test_launcher_vertex_input.py (6), test_launcher_no_msaa.py (8), test_launcher_controls.py (22).
  • Not run on Intel hardware: that is what this build is for.

You still need your own God of War III Remastered game files. No game files are included.

Don't miss a new gow3_pc release

NewReleases is sending notifications on new releases.