Repository navigation
fix(texture): reduce sampled ASTC mip working sets on Minimum - #96
Merged
Merged
Conversation
Source: NotRexed/Hookshot#1414 Original head: d8a46e651395c03c30d3a8df6394e48323363dea Exact source tree: 3f615a7 Recreated import commit; original author information is recorded below. Co-authored-by: notquiteog <104785131+notquiteog@users.noreply.github.com>
Source: NotRexed/Hookshot#1009 Original head: 9390d68afff33046a0529c3b37c23d39926d1bd0 Exact source tree: 3c14197 Recreated import commit; original authors are credited below. Co-authored-by: pablotz <76465032+pablitorockz@users.noreply.github.com>
Source: NotRexed/Hookshot#1090 Original head: d08aaed17bb606c4aacd9f6b7bd5f296151de6f4 Exact source tree: 9eedc4c Recreated import commit; original authors are credited below. Co-authored-by: Corentin Bonjour <volgazmo@proton.me>
Replace the landing page and contribution guide, remove Discord requirements, preserve historical notices separately, and record the 93 migrated issues and upstream PR queue. Move the control reference and update its existing check. Assisted-by: OpenAI Codex
Source: NotRexed/Hookshot#1201 Original proposal by: notquiteog Original head: 07bd7fd093632f8846d7daf46aa5773021c635cc Verified source tree: 7bb2af4 Reconstructed import commit, not a claim of original authorship. Source head author: notquiteog <104785131+notquiteog@users.noreply.github.com>
Implement both float-parameter splitter filter imports through the queued renderer update. Filter each destination independently, with delay history owned by its voice, destination, filter and channel. Reset stale history on routing or enable changes. Adapted from the splitter portion of NotRexed/Hookshot#1544 (source 72f705ef1f246a7b58cbfc916ad8845a5170ddb8), keeping the broader Aux/effects work separate. Related: Longshot#2, Hookshot#599. Add authored-PCM regression coverage around the real setters, queue and render_voice. The base outputs 1.0 where 0.25 is requested; the fix passes. Assisted-by: OpenAI Codex Co-authored-by: OpenAI Codex <codex@openai.com>
Observe finite condition-variable waits instead of scheduler-sensitive latency. Match the production CRT deprecation policy in the uniform-buffer fixture.
…dles Adapted from NotRexed/Hookshot#1880 commits f002c9048991003b7f4e5253a6a55403f9d83141 and fa04b6fcab179eb51062fe57d0e3fd8a861f1b21. Add production-function fault-injection regression coverage. Co-authored-by: oscarlosu-lab <251827664+oscarlosu-lab@users.noreply.github.com>
fix(audio): apply splitter destination biquad filters
test: repair Windows logger and uniform-buffer harnesses
fix(bake): detect usable C++23 compilers and reuse test translator
fix(bake): use cross-platform Zstandard for archives and fixtures
fix(vk): release modules from failed shader variants
docs: replace inherited worklist with Longshot's issue queue
fix(vk): recover from failed masked-clear pipeline creation
fix(builder): support redirected AppData and destination disk queries
fix(vk): unwind temporary shader-cache resources on failures
fix(builder): limit the Show details toggle hit area
Adopt and adapt NotRexed/Hookshot#1414 by notquiteog (original head d8a46e651395c03c30d3a8df6394e48323363dea). Use Longshot defaults, cover the Python builder and repository-aware app reuse, and validate native endpoints and package metadata without network/game data. Co-authored-by: notquiteog <104785131+notquiteog@users.noreply.github.com>
fix: keep Longshot updates and cached builders on their owning repository
Adopts NotRexed/Hookshot#1201, original head 07bd7fd093632f8846d7daf46aa5773021c635cc. Co-authored-by: notquiteog <104785131+notquiteog@users.noreply.github.com>
fix(setup): explain missing tar.exe and system-file recovery
fix(vulkan): stop retaining cache generations after failed saves
fix(release): load the configured preset and target Longshot
Adopts and adapts NotRexed/Hookshot#1090 by corentinbonjour, original head d08aaed17bb606c4aacd9f6b7bd5f296151de6f4. Preserve Longshot documentation and reject MB conversion overflow.
fix(vulkan): release partial stages from failed cached translations
feat(builder): expose a saved compiler memory budget
Adopts and adapts NotRexed/Hookshot#1009 by pablitorockz, original head 9390d68afff33046a0529c3b37c23d39926d1bd0. Preserve current size guards, legacy skip override and Longshot docs.
This was referenced Nov 11, 2026
soltros
marked this pull request as ready for review
November 11, 2026 19:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A mipmapped 3072-square ASTC texture is about 48 MiB decoded, below the existing 64 MiB trimming threshold. Several such images can crowd a small GPU's working set. On Minimum with a known driver budget at most 4.5 GiB, use a 1024 dimension limit and 8 MiB threshold for sampled ASTC mip trimming.
Adopts and adapts NotRexed/Hookshot#1009 by pablitorockz, original head 9390d68afff33046a0529c3b37c23d39926d1bd0. The reconstructed import remains an ancestor. Existing Longshot texture-size validation, create/as_target signature, profiler scope, test discovery and independent README are retained. The imported unrelated answer-domain test changes were omitted.
Reuse the existing mip/view remapping and retain at least one mip. A 3072-square texture uses its 768-square level under the new default. Other presets, unknown budgets and budgets over 4.5 GiB keep existing defaults. Uncompressed/depth handling and the separate allocation-size policy are unchanged. This intentionally trades sampled-texture detail for a smaller working set; it does not promise lower total driver allocation or fix every texture-corruption report (#3/#61).
RX_VK_LOW_VRAM_MIPS=0 opts out. RX_VK_TEX_MAX_DIM still overrides dimensions. Valid RX_VK_TEX_TRIM_MB=1..1536 overrides the decoded-size threshold. Integration preserves the existing RX_VK_TEX_SKIP_MB override, including zero and values above 1536: valid TRIM_MB takes precedence; absent/invalid TRIM_MB falls back to the legacy override, then the tier default. Restart to recreate existing textures after changing the preset or environment; the current preset affects newly created textures rather than restoring existing mip levels automatically.
The authored fixture executes the production selection block with real NVN/Vulkan types and a stubbed GPU-budget query. Expanded from 12 to 22 configurations: budget boundary/just above, preset changes, opt-out, overrides and invalid values, legacy compatibility/precedence, UI-sized images, final mip and representative render/depth images. All pass with GCC and UBSan using the workflow's pinned Vulkan-Headers 74d8a6cb930c68ef617b202c3ff3c59d919e086b. The unchanged main source fails the new default selection case. No driver, game assets or gameplay were used. Upstream's historical RTX 2050 measurements remain source-author claims at the original PR, not new Longshot performance evidence. No current GPU screenshots or performance measurements were collected here.
Published full tree matches local HEAD e724e87415a8ed56591d501ac7010d164eb30fd7. Full local suite: 281 passed, 12 unchanged host/tool-dependent failures, 56 skipped; failure paths match the prior run. The new header-dependent fixture was skipped by automatic discovery in that run, and was separately executed successfully with the explicit pinned header path and UBSan as described above. Fresh hosted checks are pending. Keep draft for platform validation and review of the visual tradeoff; the broad hardware reports remain open.
Platform follow-up: the initial Linux suite passed 338/0/11; Windows passed 327 with one fixture compile failure (getenv deprecation under warnings-as-errors). The fixture now uses _CRT_SECURE_NO_WARNINGS on Windows, matching the other native fixtures and retaining -Wall/-Wextra/-Werror. All 22 cases still pass locally; fresh Windows checks are pending at 31179ad. No texture-policy code changed in this follow-up. Linux packaging has the separate Launchpad bootstrap blockage tracked by #126.
Final integrated validation
The corrected Windows fixture passes. Validation-only #127 tested this component head with #124/#125 and #126's repaired Linux bootstrap at cd33b08, tree d2336ac28805e8097b20547b13f7360cfdd2da70. Windows: 329 passed/0 failed/22 skipped; Linux: 340 passed/0 failed/11 skipped. Both packaging builds, Linux backend/player checks, Vulkan/DLSS, actionlint and focused shader jobs all passed. The conditional Minimum-preset policy and override compatibility are accepted based on these regression/build checks; this is not a new GPU performance result. #3 and #61 remain open. Final main will be compared with the integrated tested tree.