ReinUsesLisp
98266da47c
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
89c816a3cf
fixed_pipeline_state: Pack blending state
Reduce FixedPipelineState's size to 364 bytes.
6 years ago
ReinUsesLisp
d74b3a5a50
fixed_pipeline_state: Pack rasterizer state
Reduce FixedPipelineState's size to 600 bytes.
6 years ago
ReinUsesLisp
cc6af27ae7
fixed_pipeline_state: Pack depth stencil state
Reduce FixedPipelineState's size to 632 bytes.
6 years ago
ReinUsesLisp
fd2f04bbdc
fixed_pipeline_state: Pack attribute state
Reduce FixedPipelineState's size from 1384 to 664 bytes
6 years ago
Fernando Sahmkow
74ce229ca5
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
c2bd9f729c
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
aed8e57a1b
Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL"
6 years ago
bunnei
66cb8ee64f
Merge pull request #3666 from bunnei/new-vmm
Implement a new virtual memory manager
6 years ago
bunnei
d392c4e552
Merge pull request #3682 from lioncash/uam
gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator
6 years ago
bunnei
4cdbd44f51
core: hle: Address various feedback & code cleanup.
- Should be no functional changes.
6 years ago
bunnei
2e718b26c8
core: device_memory: Remove incorrect usage of constexpr.
6 years ago
bunnei
bdf7501e7b
memory: Add copyright notice for Atmosphere where applicable.
6 years ago
bunnei
0cf0195874
kernel: Remove old VMManager class.
6 years ago
bunnei
a48860f7ba
loader: nso: Fix loader size and arguments.
6 years ago
bunnei
9b2526392a
loader: elf/kip/nro: Updates for new VMM.
6 years ago
bunnei
0707404f34
service: ldr: Updates for new VMM.
- Includes removing some service impls. that are untested.
6 years ago
bunnei
27b5b6c36f
kernel: memory: page_table: Simplify GetPhysicalAddr impl.
6 years ago
bunnei
6b40850b9a
kernel: svc: Updates for new VMM.
- Includes removing some SVC impls. that are untested.
6 years ago
bunnei
8a67b3058e
core: memory: Fix memory access on page boundaries.
- Fixes Super Smash Bros. Ultimate.
6 years ago
bunnei
5a461a7482
video_core: memory_manager: Updates for Common::PageTable changes.
6 years ago
bunnei
43321c1a69
core: memory: Updates for new VMM.
6 years ago
bunnei
08445bbd37
common: page_table: Update to use VirtualBuffer and simplify.
6 years ago
bunnei
b592621ffe
core: gdbstub: Updates for new VMM.
6 years ago
bunnei
93828bffc2
core: reporter: Updates for new VMM.
6 years ago
bunnei
88324e3513
memory: cheat_engine: Updates for new VMM.
6 years ago
bunnei
27ec77ef89
arm_test_common: Updates for new VMM.
6 years ago
bunnei
5fd6e219ea
kernel: process: Updates for new VMM.
6 years ago
bunnei
7e1001c2d3
service: pl_u: Update for new shared memory layout.
6 years ago
bunnei
38b51e2ffe
service: time: Update for new shared memory layout.
6 years ago
bunnei
410667d72a
service: hid: Update for new shared memory layout.
6 years ago
bunnei
6d110ee83c
service: irs: Update for new shared memory layout.
6 years ago
bunnei
15e751e36c
kernel: resource_limit: Reserve physical memory.
6 years ago
bunnei
76a040f50d
kernel: Initialize memory layout for new VMM.
6 years ago
bunnei
769f8cbf79
core: system: Rename GetDeviceManager -> DeviceManager.
- More consistent with other system components.
6 years ago
bunnei
d04147e731
kernel: transfer_memory: Refactor for new VMM.
6 years ago
bunnei
89776f7ef7
core: Construct/Destruct DeviceMemory on Init/Shutdown.
6 years ago
bunnei
9edd67f475
kernel: shared_memory: Refactor for new VMM.
6 years ago
bunnei
5b2cf55742
core: device_memory: Update to use VirtualBuffer class.
6 years ago
bunnei
273f8b5fc7
common: Add VirtualBuffer class, to abstract memory virtualization.
6 years ago
bunnei
6ef844fab3
kernel: errors: Add ERR_OUT_OF_RESOURCES.
6 years ago
bunnei
1717cdf811
kernel: process_capability: Update to use Memory::PageTable.
6 years ago
bunnei
6fe68ddea2
kernel: memory: Add PageTable class, to manage process address space.
6 years ago
bunnei
ea8bc8e759
kernel: memory: Add MemoryLayout class, to build physical memory layout.
6 years ago
bunnei
9b912d155a
kernel: memory: Add MemoryManager class, to manage page heaps.
6 years ago
bunnei
227e9ac5d7
kernel: memory: Add MemoryBlockManager class, to manage memory blocks.
6 years ago
bunnei
036f2f9176
kernel: memory: Add PageHeap class, to manage a heap of pages.
6 years ago
bunnei
b013b110bc
kernel: memory: Add PageLinkedList class, to manage a list of pages.
6 years ago
bunnei
b94f043b7b
kernel: memory: Add system_control code, which will be used for ASLR support.
6 years ago
bunnei
72d1cda09a
physical_memory: Add missing include for <vector>.
6 years ago