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