diff --git a/DEV_README.md b/DEV_README.md index 3292dc6c..f798f475 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 | `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 | `src/dxvk/dxvk_memory.cpp` — 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. diff --git a/README.md b/README.md index f5f0f2d2..6f24bf8e 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 `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 | + --- ## Upstream README