[vk, ogl/IR, dynarmic/IR] friendlier IR identity pointer chasing, inline AA passes (#2565)

- use std::optional instead of std::unique_ptr for the Antialias (FXAA, etc) passes to avoid the extra deref
- use a pattern for deferencing the IR pointer chasing loop as suggested on the intel optimization manual
- this also removes std::vector<> overhead by using boost::container::small_vector<> (not a silver bullet but in the case of this function reduces access times)

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2565
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie 2025-12-31 17:00:29 +01:00 committed by crueter
parent 55646657e1
commit 46b32b7688
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
11 changed files with 141 additions and 149 deletions

View file

@ -12,7 +12,7 @@
#include "common/common_types.h"
#include "common/expected.h"
// All the constants in this file come from <http://switchbrew.org/index.php?title=Error_codes>
// All the constants in this file come from <https://switchbrew.org/wiki/Error_codes>
/**
* Identifies the module which caused the error. Error codes can be propagated through a call
@ -43,7 +43,7 @@ enum class ErrorModule : u32 {
NCMContent = 20,
SM = 21,
RO = 22,
GC = 23,
Gc = 23,
SDMMC = 24,
OVLN = 25,
SPL = 26,
@ -72,7 +72,7 @@ enum class ErrorModule : u32 {
Bluetooth = 113,
VI = 114,
NFP = 115,
Time = 116,
TimeService = 116,
FGM = 117,
OE = 118,
BH1730FVC = 119,