Age | Commit message (Collapse) | Author |
|
- Modify DmaPusher to use safe memory reads when handling compute
operations at High GPU accuracy
- Prevent potential memory corruption issues that could lead to
invalid dispatch parameters
- Previously, unsafe reads could result in corrupted launch_description
data in KeplerCompute::ProcessLaunch, causing invalid vkCmdDispatch
calls
- By enforcing safe reads specifically for compute operations, we
maintain performance for other GPU tasks while ensuring compute
dispatch stability
This change requires >= High GPU accuracy level to take effect.
|
|
- Simplify ISBERD instruction to handle register-to-register moves
- Remove incorrect CompositeConstruct usage
- Replace with direct register value passing
- Fix compilation errors in internal stage buffer handling
|
|
Simplifies the negative reciprocal calculation in FSWZADD by using the
dedicated FPRecip operation instead of manually constructing a division.
This change:
- Replaces FPDiv(Imm32(f32(1.0f)), src_b) with FPRecip(src_b)
- Results in more efficient code for calculating 1.0/x
- Fixes build errors from undefined IR emitter methods
|
|
Fixes incorrect method names in the floating point swizzled add implementation:
- FNeg -> FPNeg
- FDiv -> FPDiv
- FImm32(1.0f) -> Imm32(ir.f32(1.0f))
These changes align with the correct IR emitter interface naming conventions,
where floating-point operations use the 'FP' prefix and immediate values are
properly constructed using f32().
|
|
Implements the Internal Stage Buffer Entry Read (ISBERD) instruction in the
Maxwell shader recompiler. This replaces the previous stubbed implementation
with actual buffer reading functionality.
The implementation:
- Validates unsupported features (skew, o, mode, shift)
- Performs buffer read using IR::InternalStageBufferRead
- Stores the read value to the destination register
This removes the "(STUBBED) called" warning messages that were previously
being logged during shader compilation.
|
|
Implements the ISBERD (Internal Stage Buffer Entry Read) instruction's
mode and shift options that were previously throwing NotImplemented
exceptions. This includes:
- Patch mode for reading patch data
- Prim mode for reading primitive data
- Attr mode for reading attribute data
- U16 shift for 16-bit unsigned values
- B32 shift for 32-bit values
The implementation follows Maxwell's ISA specification for handling
different buffer read modes and data shifts.
|
|
Updates version constants to match Nintendo Switch firmware 19.0.1:
- HOS version numbers (19.0.1)
- Version hash
- Display version string
- Display title string
|
|
Added new feature support tags to track audio functionality across firmware
versions. Changes include:
- Added Audio Out/In Auto buffer support tags (3.0.0+)
- Added Final Output Recorder features including work buffer (3.0.0+, 9.0.0+)
- Added Audio Renderer features like manual execution and voice drop
- Added Audio Device features including notifications and auto volume
- Added Hardware Opus decoder features including large frame support
- Added System Audio features like master volume and hearing protection
This provides more complete feature detection for audio functionality
introduced in firmware versions 3.0.0 through 19.0.1.
|
|
- Update copyright headers to include Citron Homebrew Project
- Add 2025 to copyright years
|
|
- The personalization array in GenerateTelemetryId() was too small (18 bytes)
for the string "citron Telemetry ID" which requires 20 bytes including the
null terminator
- Increased the array size to 20 to properly accommodate the full string
|
|
- Replaced all references to the old project name with Citron.
- Added Citron copyright information alongside existing notices in all files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
service: hid: Migrate HidServer to new IPC
|
|
general: fix asan errors
|
|
texture_cache: do not track invalid addresses
|
|
|
|
|
|
|
|
|
|
|
|
renderer_opengl: declare geometry stream support in profile
|
|
core: enable error applet, add stubs for web applet
|
|
|
|
|
|
|
|
|
|
core: hid: hid_core doesn't have access to LIBUSB
|
|
core: hid: Reintroduce vibration filter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
service: set: Enable nfc and others by default and bump version
|
|
aoc: Migrate to use cmif serialization
|
|
|
|
|
|
android: Play vibrations asynchronously
|