Skip to content

wrapper: preserve mutable format for emulated BC texture views - #45

Open
butilly wants to merge 1 commit into
wrapper-25from
fix/crash4-wrapper-bc1-view-fix
Open

butilly wants to merge 1 commit into
wrapper-25from
fix/crash4-wrapper-bc1-view-fix

Conversation

@butilly

@butilly butilly commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

Game: Crash Bandicoot 4: Its About Time; executable CrashBandicoot4.exe; app thread 1565508642940264524. Mali-G615 MC6, Wrapper driver 44.1.0, DXVK 2.4.1-1-gplasync, Proton 10 arm64ec. Both BCn Auto and Full fail with D3D11 Cannot create shader resource view, resource format 70 (BC1_TYPELESS), view format 72 (BC1_UNORM_SRGB), resource usage 8; Unreal D3D11Texture.cpp:895 reports E_INVALIDARG. No thermal or memory-pressure signal.

Preserve VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT when translating emulated BC images. BC1 UNORM and SRGB map to compatible backing formats, and CreateImageView translates them separately; clearing the mutable bit makes the alternate host view invalid. The current base also copies the translated image format list rather than changing caller-owned storage, which is important because DXVK retains that list for CheckViewCompatibility. The observed D3D11 guard failure precedes host view creation, so the member run must validate the combined current-base path; do not claim the flag change alone proves the reported rejection cause. No DXVK/Proton upgrade, no settings changes, no validation bypass.

Validation: git diff --check passes; traced BC1 family mapping, CreateImage list copy, and CreateImageView format substitution. CI compiles the package. Device acceptance: install this Wrapper only, rerun startup, verify the format 70/72 rejection disappears and the game renders with correct texture colours. Device validation pending.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant