mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-07-01 11:25:21 +02:00
[hle] inline HLE cmif request to not allocate on heap stuff (#3605)
so basically each construction of HLEContext and whatever would result in a heap allocation (atleast 1) so what if instead of that we did a memset() at ctor time and we avoided heap allocations altogether? reminder that std::vector<> CAN do small object optimisation but it's not guaranteed Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3605 Reviewed-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
parent
975aa4e2f2
commit
413c7543ba
4 changed files with 48 additions and 41 deletions
|
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: 2016 Citra Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
|
@ -13,6 +16,16 @@ namespace IPC {
|
|||
/// Size of the command buffer area, in 32-bit words.
|
||||
constexpr std::size_t COMMAND_BUFFER_LENGTH = 0x100 / sizeof(u32);
|
||||
|
||||
/// Must match bitfields
|
||||
constexpr std::size_t MAX_BUFFER_DESCRIPTORS = 16;
|
||||
constexpr std::size_t MAX_INCOMING_MOVE_HANDLERS = 16;
|
||||
constexpr std::size_t MAX_INCOMING_COPY_HANDLERS = 16;
|
||||
|
||||
/// Doesn't need to match bitfields but usually not big enough
|
||||
constexpr std::size_t MAX_OUTGOING_COPY_OBJECTS = 16;
|
||||
constexpr std::size_t MAX_OUTGOING_MOVE_OBJECTS = 16;
|
||||
constexpr std::size_t MAX_OUTGOING_DOMAIN_OBJECTS = 16;
|
||||
|
||||
enum class ControlCommand : u32 {
|
||||
ConvertSessionToDomain = 0,
|
||||
ConvertDomainToSession = 1,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue