You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
simply0001
54046ac60e
[video_core/macro] check HLE hashes before compiling ( #4236 )
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions ).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md )
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md ) to the best of my ability.
-------------------
Known HLE macros are identified by a hash, but MacroEngine compiled them first and and afterwards it threw the compiled program away when the hash matched. This fix makes it so it checks the hash first and caches the HLE implementation directly, so it only compiles when the hash is unknown or if HLE is disabled.
Cached macros were also constantly checking the hash again and walking through each `std::get_if` until their variant matched. So I dispatched them through `std::visit` instead, and keep one resolved code span for hashing, compiling, and dumping so mid-method uploads use the right range.
Continues the macro hot path work from [#4067 ](https://git.eden-emu.dev/eden-emu/eden/pulls/4067 )
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4236
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
4 hours ago
..
cpm
[cmake] Fix CPMUtil on Windows by avoiding a temp dir (#4195)
3 weeks ago
maxwell-disas
[fmt] use {#:x} instead of 0x{:#x} (#4170)
5 days ago
maxwell-ir
[vk] Clamp dynamic descriptors based on device limits (#4115)
1 month ago
maxwell-spirv
[vk] Clamp dynamic descriptors based on device limits (#4115)
1 month ago
translations
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
windows
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
README.md
[qt] fix various crashes due to invalid/corrupted/outdated settings (#4070)
2 months ago
VectorDrawable2Svg.py
[android] Android 7.0 support (#2654)
10 months ago
clang-format.sh
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
cpm-fetch-all.sh
[cmake, docs, tools] update CPMUtil (#3183)
7 months ago
cpmutil.sh
[cmake] CPMUtil rewrite of the day number 852 (#4130)
3 weeks ago
cpp-lint.sh
[*] basic in-house cpp linting (#4039)
2 months ago
dtrace-tool.pl
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
fuzzsettings.cpp
[qt] fix various crashes due to invalid/corrupted/outdated settings (#4070)
2 months ago
fuzzsettings.sh
[qt] fix various crashes due to invalid/corrupted/outdated settings (#4070)
2 months ago
gendynarm.cpp
[dynarmic] cleanup duplicate code and reimpls of std::* bit stuff (#4017)
2 months ago
generate_converters.py
[tools, hle/kernel] generate condensed version of svc.cpp; move svc_generator.py and generate_converters.py to tools (#2791)
9 months ago
lanczos-gen.pl
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
llvmpipe-run.sh
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
optimize-assets.sh
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
shellcheck.sh
[cmake, tools, docs] Update CPMUtil (#2790)
9 months ago
stale-translations.sh
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
svc_generator.py
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
unused-strings.sh
[tools] refactor, use #!/bin/sh, update license files (#3998)
2 months ago
update-icons.sh
[dist] New 2026 Saint Patrick's icon; drop named variants (#3617)
5 months ago
Tools
Tools for Eden and other subprojects. When adding new scripts please use #!/bin/sh -e or #!/usr/bin/env <interpreter> (for .py, .rb, or .perl). Keep scripts POSIX compliant (i.e not require hard bash to run, just plain old sh).
Third-Party
Binaries
maxwell-spirv: Converts Maxwell shaders (dumped from .ash files) into SPIR-V code (emitted into STDOUT).
maxwell-disas: Dumb raw Maxwell dissasembler.
maxwell-ir: Dump generated IR of Maxwell shaders.
Scripts
generate_converters.py: Generates converters for given formats of textures (C++ helper).
svc_generator.py: Generates the files src/core/hle/kernel/svc.cpp and src/core/hle/kernel/svc.h based off prototypes.
shellcheck.sh: Ensure POSIX compliance (and syntax sanity) for all tools in this directory and subdirectories.
llvmpipe-run.sh: Sets environment variables needed to run any command (or Eden) with llvmpipe.
optimize-assets.sh: Optimizes PNG assets with OptiPng.
update-cpm.sh: Updates CPM.cmake to the latest version.
update-icons.sh: Rebuild all icons (macOS, Windows, bitmaps) based on the master SVG file (dist/dev.eden_emu.eden.svg)
Also optimizes the master SVG
Requires: png2icns (libicns), ImageMagick, svgo
dtrace-tool.sh
lanczos-gen.pl: Generates constants for the Lanczos filter.
clang-format.sh: Runs clang-format on the entire codebase.
find-unused-strings.sh: Find any unused strings in the Android app (XML -> Kotlin).
cpp-lint.sh: Homemade dumb C++ linter.
fuzzsettings.cpp: Fuzz settings files.
Android
It's recommended to run these scritps after almost any Android change, as they are relatively fast and important both for APK bloat and CI.
unused-strings.sh: Finds unused strings in strings.xml files.
stale-translations.sh: Finds translated strings that aren't present in the source strings.xml file.
Translations