From b9e56ff493992215e59d410650af64eb0617ff39 Mon Sep 17 00:00:00 2001 From: AGBOOLA ISRAEL OLUWAGBOGO Date: Tue, 2 Jun 2026 01:07:34 +0100 Subject: [PATCH 1/7] Add Unity compat notice and Diagnostic & Stability Improvements table --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index f5f0f2d2..b76504b4 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ > **⚠️ Important:** This is a downstream fork. All improvements specific to this build are additive and fully config-gated — stock DXVK behavior is preserved when no StarEngine config options are set. +> **⚠️ Unity Compatibility:** This build is stable for non-Unity games (Unreal Engine, Source, etc.) but is currently unstable / non-functional for Unity-based titles on Adreno. + --- ## StarEngine Features @@ -91,6 +93,16 @@ When `dxvk.starPersona` is set (or auto-detected), the engine masks the GPU iden | STUTTERING | Orange | Delta > 0.75× target | | OVERHEATING | Red | Load ≥ 95% + frame time > 3× target | +## Diagnostic & Stability Improvements + +| Improvement | Description | +|-------------|-------------| +| Adreno detection ordering | Adreno is now detected before persona masking, ensuring all Adreno-specific memory and optimization workarounds activate on real hardware | +| Persona gating | GPU identity masking applies only at the API query layer — the Vulkan driver sees the real Adreno, fixing memory type selection and host-visible heap access | +| Memory allocator diagnostics | Failed calls now log the returned , surfacing driver-level OOM errors in the output | +| Unity compatibility gate | VRAM inflation is deferred for Unity titles to avoid memory pressure on shared-memory systems | +| KGSL allocation cap | Maximum allocation chunk size capped at 64 MiB on Adreno KGSL drivers to prevent driver-level allocation failures | + --- ## Upstream README From 6e6dd0ff7663030b8661e3d8558d837e7368ca02 Mon Sep 17 00:00:00 2001 From: AGBOOLA ISRAEL OLUWAGBOGO Date: Tue, 2 Jun 2026 01:07:37 +0100 Subject: [PATCH 2/7] =?UTF-8?q?Fix=20typo=20(Vegasa=E2=86=92Vegas),=20add?= =?UTF-8?q?=20Unity=20compat=20notice,=20add=20Diagnostic=20&=20Stability?= =?UTF-8?q?=20Improvements=20table?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEV_README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/DEV_README.md b/DEV_README.md index 3292dc6c..8be65406 100644 --- a/DEV_README.md +++ b/DEV_README.md @@ -2,6 +2,8 @@ **vsg branch: 5 new Adreno performance features on top of vegas.** +> **⚠️ Unity Compatibility:** This build is stable for non-Unity games (Unreal Engine, Source, etc.) but is currently unstable / non-functional for Unity-based titles on Adreno. + --- ## Build @@ -29,7 +31,7 @@ --- -# Vegasa Features (Original StarEngine) +# Vegas Features (Original StarEngine) 25 files changed (7 new, 18 modified), ~1850 lines delta over upstream DXVK. @@ -211,6 +213,18 @@ All vsg features use a consistent pattern in `src/dxvk/dxvk_star_engine.cpp`: --- +## Diagnostic & Stability Improvements + +| Improvement | Description | +|-------------|-------------| +| Adreno detection ordering | , , — Adreno is now detected before persona masking, ensuring all Adreno-specific memory and optimization workarounds activate on real hardware | +| Persona gating | , — GPU identity masking applies only at the API query layer; the Vulkan driver sees the real Adreno, fixing memory type selection and host-visible heap access | +| Memory allocator diagnostics | — Failed calls now log the returned , surfacing driver-level OOM errors in the output | +| Unity compatibility gate | — VRAM inflation is deferred for Unity titles to avoid memory pressure on shared-memory systems | +| KGSL allocation cap | — Maximum allocation chunk size capped at 64 MiB on Adreno KGSL drivers to prevent driver-level allocation failures | + +--- + # Key Gotchas - **`VK_IMG_filter_cubic` not available on Turnip (Adreno 610).** HAAE cubic filter removed from `dxvk_context.cpp`. Do not re-enable without confirmation. From a9231b031ff4fe26818b67973def36a57c65d048 Mon Sep 17 00:00:00 2001 From: AGBOOLA ISRAEL OLUWAGBOGO Date: Tue, 2 Jun 2026 01:14:37 +0100 Subject: [PATCH 3/7] Fix backtick-wrapped code refs in Diagnostic table --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b76504b4..6f24bf8e 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ When `dxvk.starPersona` is set (or auto-detected), the engine masks the GPU iden |-------------|-------------| | Adreno detection ordering | Adreno is now detected before persona masking, ensuring all Adreno-specific memory and optimization workarounds activate on real hardware | | Persona gating | GPU identity masking applies only at the API query layer — the Vulkan driver sees the real Adreno, fixing memory type selection and host-visible heap access | -| Memory allocator diagnostics | Failed calls now log the returned , surfacing driver-level OOM errors in the output | +| Memory allocator diagnostics | Failed `vkAllocateMemory` calls now log the returned `VkResult`, surfacing driver-level OOM errors in the output | | Unity compatibility gate | VRAM inflation is deferred for Unity titles to avoid memory pressure on shared-memory systems | | KGSL allocation cap | Maximum allocation chunk size capped at 64 MiB on Adreno KGSL drivers to prevent driver-level allocation failures | From 231d815375a288e2a8fa77ef3ac5b90b3536966a Mon Sep 17 00:00:00 2001 From: AGBOOLA ISRAEL OLUWAGBOGO Date: Tue, 2 Jun 2026 01:14:39 +0100 Subject: [PATCH 4/7] Fix backtick-wrapped file paths in Diagnostic table --- DEV_README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/DEV_README.md b/DEV_README.md index 8be65406..c798af6b 100644 --- a/DEV_README.md +++ b/DEV_README.md @@ -217,10 +217,10 @@ All vsg features use a consistent pattern in `src/dxvk/dxvk_star_engine.cpp`: | Improvement | Description | |-------------|-------------| -| Adreno detection ordering | , , — Adreno is now detected before persona masking, ensuring all Adreno-specific memory and optimization workarounds activate on real hardware | -| Persona gating | , — GPU identity masking applies only at the API query layer; the Vulkan driver sees the real Adreno, fixing memory type selection and host-visible heap access | -| Memory allocator diagnostics | — Failed calls now log the returned , surfacing driver-level OOM errors in the output | -| Unity compatibility gate | — VRAM inflation is deferred for Unity titles to avoid memory pressure on shared-memory systems | +| Adreno detection ordering | `src/dxvk/dxvk_device_info.cpp`, `src/dxvk/dxvk_device_info.h`, `src/dxvk/dxvk_adapter.h` — Adreno is now detected before persona masking, ensuring all Adreno-specific memory and optimization workarounds activate on real hardware | +| Persona gating | `src/dxgi/dxgi_adapter.cpp`, `src/d3d9/d3d9_adapter.cpp` — GPU identity masking applies only at the API query layer; the Vulkan driver sees the real Adreno, fixing memory type selection and host-visible heap access | +| Memory allocator diagnostics | `src/dxvk/dxvk_memory.cpp` — Failed `vkAllocateMemory` calls now log the returned `VkResult`, surfacing driver-level OOM errors in the output | +| Unity compatibility gate | `src/dxvk/dxvk_star_engine.cpp` — VRAM inflation is deferred for Unity titles to avoid memory pressure on shared-memory systems | | KGSL allocation cap | — Maximum allocation chunk size capped at 64 MiB on Adreno KGSL drivers to prevent driver-level allocation failures | --- From 6da636f05313f5da14714d40b38bf443e25d4d0c Mon Sep 17 00:00:00 2001 From: AGBOOLA ISRAEL OLUWAGBOGO Date: Tue, 2 Jun 2026 01:22:18 +0100 Subject: [PATCH 5/7] Fix backtick-wrapped code refs in Diagnostic table From 79e2f162751e388348d6f23a9480808e93ab3773 Mon Sep 17 00:00:00 2001 From: AGBOOLA ISRAEL OLUWAGBOGO Date: Tue, 2 Jun 2026 01:24:42 +0100 Subject: [PATCH 6/7] Fix backtick-wrapped code refs in Diagnostic table From 44575690afb7c5da14b9d4d75f6b75ccaad0ed7d Mon Sep 17 00:00:00 2001 From: AGBOOLA ISRAEL OLUWAGBOGO Date: Tue, 2 Jun 2026 01:31:16 +0100 Subject: [PATCH 7/7] Fix KGSL file path ref in Diagnostic table --- DEV_README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEV_README.md b/DEV_README.md index c798af6b..f798f475 100644 --- a/DEV_README.md +++ b/DEV_README.md @@ -221,7 +221,7 @@ All vsg features use a consistent pattern in `src/dxvk/dxvk_star_engine.cpp`: | Persona gating | `src/dxgi/dxgi_adapter.cpp`, `src/d3d9/d3d9_adapter.cpp` — GPU identity masking applies only at the API query layer; the Vulkan driver sees the real Adreno, fixing memory type selection and host-visible heap access | | Memory allocator diagnostics | `src/dxvk/dxvk_memory.cpp` — Failed `vkAllocateMemory` calls now log the returned `VkResult`, surfacing driver-level OOM errors in the output | | Unity compatibility gate | `src/dxvk/dxvk_star_engine.cpp` — VRAM inflation is deferred for Unity titles to avoid memory pressure on shared-memory systems | -| KGSL allocation cap | — Maximum allocation chunk size capped at 64 MiB on Adreno KGSL drivers to prevent driver-level allocation failures | +| KGSL allocation cap | `src/dxvk/dxvk_memory.cpp` — Maximum allocation chunk size capped at 64 MiB on Adreno KGSL drivers to prevent driver-level allocation failures | ---