ReinUsesLisp
d62f57cf5a
fixed_pipeline_state: Hash and compare the whole structure
Pad FixedPipelineState's size to 384 bytes to be a multiple of 16.
Compare the whole struct with std::memcmp and hash with CityHash. Using
CityHash instead of a naive hash should reduce the number of collisions.
Improve used type traits to ensure this operation is safe.
With these changes the improvements to the hashable pipeline state are:
Optimized structure
Hash: 89 ns
Comparison: 103 ns
Construction*: 164 ns
Struct size: 384 bytes
Original structure
Hash: 148 ns
Equal: 174 ns
Construction*: 281 ns
Size: 1384 bytes
* Attribute state initialization is not measured
These measures are averages taken with std::chrono::high_accuracy_clock
on MSVC shipped on Visual Studio 16.6.0 Preview 2.1.
6 years ago
ReinUsesLisp
b571c92dfd
fixed_pipeline_state: Pack blending state
Reduce FixedPipelineState's size to 364 bytes.
6 years ago
ReinUsesLisp
548dd27f45
fixed_pipeline_state: Pack rasterizer state
Reduce FixedPipelineState's size to 600 bytes.
6 years ago
ReinUsesLisp
7790144a55
fixed_pipeline_state: Pack depth stencil state
Reduce FixedPipelineState's size to 632 bytes.
6 years ago
ReinUsesLisp
ab6704f20c
fixed_pipeline_state: Pack attribute state
Reduce FixedPipelineState's size from 1384 to 664 bytes
6 years ago
Fernando Sahmkow
2133482a17
Merge pull request #3703 from yuzu-emu/revert-3656-glsl-full-decompile
Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL"
6 years ago
Fernando Sahmkow
775ecc7d05
Merge pull request #3672 from lioncash/null
file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero
6 years ago
Rodrigo Locatti
990c0b184f
Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL"
6 years ago
bunnei
b8f5c71f2d
Merge pull request #3666 from bunnei/new-vmm
Implement a new virtual memory manager
6 years ago
bunnei
ca3af2961c
Merge pull request #3682 from lioncash/uam
gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator
6 years ago
bunnei
8bbe74a8dc
core: hle: Address various feedback & code cleanup.
- Should be no functional changes.
6 years ago
bunnei
92caa003a8
core: device_memory: Remove incorrect usage of constexpr.
6 years ago
bunnei
6f3266e98b
memory: Add copyright notice for Atmosphere where applicable.
6 years ago
bunnei
02547a0cb4
kernel: Remove old VMManager class.
6 years ago
bunnei
bebfb05c1b
loader: nso: Fix loader size and arguments.
6 years ago
bunnei
83761d5316
loader: elf/kip/nro: Updates for new VMM.
6 years ago
bunnei
37b79ebe85
service: ldr: Updates for new VMM.
- Includes removing some service impls. that are untested.
6 years ago
bunnei
a8292f6cd9
kernel: memory: page_table: Simplify GetPhysicalAddr impl.
6 years ago
bunnei
c629e544a7
kernel: svc: Updates for new VMM.
- Includes removing some SVC impls. that are untested.
6 years ago
bunnei
ff5d5b6f41
core: memory: Fix memory access on page boundaries.
- Fixes Super Smash Bros. Ultimate.
6 years ago
bunnei
32fc2aae3c
video_core: memory_manager: Updates for Common::PageTable changes.
6 years ago
bunnei
f7c03610e1
core: memory: Updates for new VMM.
6 years ago
bunnei
4c1812ae37
common: page_table: Update to use VirtualBuffer and simplify.
6 years ago
bunnei
1d5923e150
core: gdbstub: Updates for new VMM.
6 years ago
bunnei
c7bc7986bb
core: reporter: Updates for new VMM.
6 years ago
bunnei
18c4bb6f5c
memory: cheat_engine: Updates for new VMM.
6 years ago
bunnei
d95ceaa8ec
arm_test_common: Updates for new VMM.
6 years ago
bunnei
108564df57
kernel: process: Updates for new VMM.
6 years ago
bunnei
77382ac2b2
service: pl_u: Update for new shared memory layout.
6 years ago
bunnei
67b3df683b
service: time: Update for new shared memory layout.
6 years ago
bunnei
8eca0f9cd2
service: hid: Update for new shared memory layout.
6 years ago
bunnei
8bbc38a7bd
service: irs: Update for new shared memory layout.
6 years ago
bunnei
fc61cb44ee
kernel: resource_limit: Reserve physical memory.
6 years ago
bunnei
8f75524e55
kernel: Initialize memory layout for new VMM.
6 years ago
bunnei
11c02a50e9
core: system: Rename GetDeviceManager -> DeviceManager.
- More consistent with other system components.
6 years ago
bunnei
3fcc4cab4f
kernel: transfer_memory: Refactor for new VMM.
6 years ago
bunnei
c53454ff46
core: Construct/Destruct DeviceMemory on Init/Shutdown.
6 years ago
bunnei
d0162fc3d7
kernel: shared_memory: Refactor for new VMM.
6 years ago
bunnei
a040a15246
core: device_memory: Update to use VirtualBuffer class.
6 years ago
bunnei
4ba2428c86
common: Add VirtualBuffer class, to abstract memory virtualization.
6 years ago
bunnei
a238d08f71
kernel: errors: Add ERR_OUT_OF_RESOURCES.
6 years ago
bunnei
ffc3de762b
kernel: process_capability: Update to use Memory::PageTable.
6 years ago
bunnei
84f1b6d530
kernel: memory: Add PageTable class, to manage process address space.
6 years ago
bunnei
cfae8a1c1a
kernel: memory: Add MemoryLayout class, to build physical memory layout.
6 years ago
bunnei
5d6e8a5b44
kernel: memory: Add MemoryManager class, to manage page heaps.
6 years ago
bunnei
548ef190ab
kernel: memory: Add MemoryBlockManager class, to manage memory blocks.
6 years ago
bunnei
3927012734
kernel: memory: Add PageHeap class, to manage a heap of pages.
6 years ago
bunnei
dc720311cc
kernel: memory: Add PageLinkedList class, to manage a list of pages.
6 years ago
bunnei
81cb4d3c7f
kernel: memory: Add system_control code, which will be used for ASLR support.
6 years ago
bunnei
fc040b5b70
physical_memory: Add missing include for <vector>.
6 years ago