Lime3DS/src/video_core
Wunk bb1301b98e shader_jit_a64: Compact host executable memory (#230)
* common/aarch64: Allow generic code generator types

Use the templated `BasicCodeGenerator` type rather than the specialized
`CodeGenerator` type.
Allows `VectorCodeGenerator` to work with these functions.

* common/aarch64: Add `VectorCodeGenerator` to `CallFarFunction`

`VectorCodeGenerator` will always do far-calls since we cannot resolve any absolute addresses here.

* shader_jit_a64: Implement position-independent VectorCodeGenerator

Generates more position-independent assembly to allow for code to be
generated within a resizable vector before copying into executable
memory, allowing for more compact memory allocations and usage rather
than a statically defined worst-case for all-cases.

`VectorCodeGenerator` will need to generate position-independent code
rather than use absolute addresses. Assumes all far function calls in the
case of `VectorCodeGenerator` to use absolute addresses rather than
potentially use a relative `BL` branch after memory relocation.
2024-11-07 14:47:30 +01:00
..
custom_textures renderer_vulkan: Rewrite descriptor set management and various small fixes (#77) 2024-11-07 14:43:54 +01:00
debug_utils pica: Move mutex lock below tracing check on register write (#210) 2024-11-07 14:47:27 +01:00
host_shaders renderer_vulkan: Disable dynamic index conditionally (#20) 2024-11-07 14:41:31 +01:00
pica shader_jit: Fix/optimize conditional evaluation (#234) 2024-11-07 14:47:27 +01:00
rasterizer_cache Fix crash when cubemap face id is invalid (#154) 2024-11-07 14:44:04 +01:00
renderer_opengl Workaround a performance bug in older Mali GPUs (#185) 2024-11-07 14:44:07 +01:00
renderer_software Fix gcc 13+ compilation and update fmt. (#142) 2024-11-07 14:44:03 +01:00
renderer_vulkan Refactor Vulkan stream buffer memory type selection (#238) 2024-11-07 14:47:29 +01:00
shader shader_jit_a64: Compact host executable memory (#230) 2024-11-07 14:47:30 +01:00
texture video_core: Refactor GPU interface (#7272) 2023-12-28 11:46:57 +01:00
CMakeLists.txt renderer_vulkan: Rewrite descriptor set management and various small fixes (#77) 2024-11-07 14:43:54 +01:00
gpu_debugger.h misc: fix issues pointed out by msvc (#7316) 2024-01-07 12:37:42 -08:00
gpu.cpp video_core: Fix crash when no debug context is provided. (#7324) 2024-01-07 10:29:43 -08:00
gpu.h core: Eliminate more uses of Core::System::GetInstance(). (#7313) 2024-01-05 12:07:28 -08:00
pica_types.h Refactor software renderer (#6621) 2023-06-24 00:59:18 +02:00
precompiled_headers.h Port yuzu-emu/yuzu#9300: "CMake: Use precompiled headers to improve compile times" (#6213) 2022-12-17 16:06:38 +01:00
rasterizer_accelerated.cpp video_core: Use source3 when GPU_PREVIOUS is used in first stage (#7411) 2024-02-05 09:53:54 -08:00
rasterizer_accelerated.h video_core: Refactor GPU interface (#7272) 2023-12-28 11:46:57 +01:00
rasterizer_interface.h video_core: Refactor GPU interface (#7272) 2023-12-28 11:46:57 +01:00
renderer_base.cpp video_core: Refactor GPU interface (#7272) 2023-12-28 11:46:57 +01:00
renderer_base.h renderer_vulkan: Fix screenshots under NVIDIA vulkan (#7082) 2023-10-22 22:53:14 +03:00
utils.h Update the entire application to use the new clang format style 2018-03-09 10:54:43 -07:00
video_core.cpp build: Add flags to toggle specific renderer backends. (#7375) 2024-01-21 23:29:46 -08:00
video_core.h video_core: Refactor GPU interface (#7272) 2023-12-28 11:46:57 +01:00