Skip to content

import: upload ASTC textures re-encoded as BC3 over several submissions (#900 rebased) (upstream #1130) - #104

Draft
soltros wants to merge 1 commit into
mainfrom
upstream/pr-1130
Draft

soltros wants to merge 1 commit into
mainfrom
upstream/pr-1130

Conversation

@soltros

@soltros soltros commented Nov 10, 2026

Copy link
Copy Markdown
Owner

Longshot is preserving this upstream proposal for review. This draft is not an adopted or functionally verified fix.

Source: NotRexed/Hookshot#1130
Original contributor: metroid98.
Original head: b4fed0ce92702e28cc22521c9cbac3d0ed6e3ac9.
Exact source tree: d29876d5442050bb0074d60639df0e62c4a7582c.
Import parent: 082886303bb3580b153ca5c60a0e4d4704ff21eb (common ancestor with the migration base).

The source-tree checksum matches exactly. Original commits after the common ancestor are represented by one reconstructed import commit; source links and authorship are recorded. This snapshot can contain prerequisites beyond our migration base. Review its complete diff and overlapping proposals before merging.

Validation here: copying fidelity only. Platform builds, gameplay, functional behavior and the upstream author's claims have not been independently verified. Keep draft until reviewed, rebased and tested.

Original proposal

This is NotRexed/Hookshot#900 by @ZurielAtr, rebased onto current main because it was closed only for conflicts ("please rebase on current main and reopen"). Their commit is kept as is (authorship preserved); the conflict resolution is part of that cherry-picked commit. The original description and hardware test (RX 7700S, Windows 11, Adrenalin 26.10.1: Castle Town to Hyrule Field reset the driver 3 out of 3 times before, no reset after) are in NotRexed/Hookshot#900.

It belongs to the AMD-on-Windows tracker NotRexed/Hookshot#996 ("device lost after minutes of play"). It has no Fixes line, because the original did not have one.

What was resolved

Two conflicts, nothing else changed:

  • tests/run_all.py: kept main's three newer ARGS entries and added tests/test_bc_parts.py. The original workflow-file registration is not needed, since the runner discovers tests.
  • gpu/vk/vk_texture.cpp: the #include list (kept main's includes plus bc_parts.h), and the layer-run loop in upload_astc_gpu. Since fix(vk): upload ASTC textures re-encoded as BC3 over several submissions NotRexed/Hookshot#900, main made BC3 uploads one layer a run by default (RX_VK_BC_LAYERS, default 1, to stop the dark lines on Hyrule Field's terrain). The loop now takes its run length from that same run value, passed to bc_parts::run_end instead of kBcLayers, so main's behaviour is kept and only the per-recording budget (RX_VK_BC_PART_MTEXELS) is added.

tests/test_bc_parts.py's source checks still match the resolved files (I compared the needles by reading).

Not run

Nothing was compiled or run locally: this was code-only work and no tests, game or build were executed. The behaviour is the original author's tested one; only the merge was done here. It needs a build, tests/run_all.py, and ideally a repeat of the Castle Town to Hyrule Field test on AMD, with the one-layer-a-run default in place.

AI-assisted (Claude Code) on behalf of metroid98.

🤖 Generated with Claude Code

https://claude.ai/code/session_015DmSMGJSY9hHswALy4eqtQ

Source: NotRexed/Hookshot#1130
Original proposal by: metroid98
Original head: b4fed0ce92702e28cc22521c9cbac3d0ed6e3ac9
Verified source tree: d29876d

Reconstructed import commit, not a claim of original authorship.
Source head author: Jacob Cosgrave <metroid98@bazzite.fritz.box>
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