Fernando Sahmkow
57fdbd9b89
FenceManager: Implement should wait.
2020-04-22 11:36:11 -04:00
Fernando Sahmkow
1f345ebe3a
GPU: Implement a Fence Manager.
2020-04-22 11:36:10 -04:00
Fernando Sahmkow
487379c593
OpenGL: Implement Fencing backend.
2020-04-22 11:36:10 -04:00
Fernando Sahmkow
ed7e965712
TextureCache: Flush linear textures after finishing rendering.
2020-04-22 11:36:09 -04:00
Fernando Sahmkow
339d0d9d6c
GPU: Delay Fences.
2020-04-22 11:36:08 -04:00
Fernando Sahmkow
8b1eb44b3e
BufferCache: Implement OnCPUWrite and SyncGuestHost
2020-04-22 11:36:07 -04:00
Fernando Sahmkow
da8f17715d
GPU: Refactor synchronization on Async GPU
2020-04-22 11:36:06 -04:00
Fernando Sahmkow
a60a22d9c2
Texture Cache: Implement OnCPUWrite and SyncGuestHost
2020-04-22 11:36:05 -04:00
Fernando Sahmkow
084ceb925a
UI: Replasce accurate GPU option for GPU Accuracy Level
2020-04-22 11:36:04 -04:00
Morph
91f1ffd283
Add a trailing separator to the string path
...
Fixes #3643
2020-04-22 07:33:14 -04:00
H27CK
c883cd103e
Init SDL info structure and add dummy context
2020-04-22 07:47:21 +02:00
bunnei
e84f82a028
Merge pull request #3699 from FearlessTobi/port-5185
...
Port citra-emu/citra#5185 : "gdbstub: Fix some gdbstub jankiness"
2020-04-21 22:26:10 -04:00
bunnei
d64290884a
Merge pull request #3714 from lioncash/copies
...
gl_shader_decompiler: Avoid copies where applicable
2020-04-21 20:16:02 -04:00
bunnei
cd47ccec49
Merge pull request #3745 from bunnei/fix-homebrew-load
...
Fix process memory initialization for ELF and NRO
2020-04-21 18:59:16 -04:00
Rodrigo Locatti
f293b15611
Merge pull request #3718 from ReinUsesLisp/better-pipeline-state
...
fixed_pipeline_state: Pack structure, use memcmp and CityHash on it
2020-04-21 18:17:58 -03:00
bunnei
9bf3abcb63
Merge pull request #3698 from lioncash/warning
...
General: Resolve minor assorted warnings
2020-04-21 14:11:18 -04:00
bunnei
48b670d132
Merge pull request #3724 from bunnei/fix-unicorn
...
core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page.
2020-04-20 23:28:23 -04:00
David
11c63ca969
audio_renderer: Preliminary BehaviorInfo ( #3736 )
...
* audio_renderer: Preliminary BehaviorInfo
* clang format
* Fixed IsRevisionSupported
* fixed IsValidRevision
* Fixed logic error & spelling errors & crash
* Addressed issues
2020-04-20 22:57:30 -04:00
bunnei
d3e0cefa60
Merge pull request #3695 from ReinUsesLisp/default-attributes
...
maxwell_3d: Initialize format attributes constant as one
2020-04-20 21:40:18 -04:00
ReinUsesLisp
8734ccb0cb
shader/arithmetic_integer: Fix LEA_IMM encoding
...
The operand order in LEA_IMM was flipped compared to nvdisasm. Fix that
using nxas as reference:
8dbc389957/table.h (L122)
2020-04-20 21:54:59 -03:00
Mat M
cb5b8ca886
Merge pull request #3733 from ambasta/patch-2
...
Initialize quad_indexed_pass before uint8_pass
2020-04-20 20:36:46 -04:00
bunnei
9c12aef2f8
loader: nro: Fix process initialization using ProgramMetadata default.
2020-04-20 18:19:45 -04:00
bunnei
68039addbc
loader: elf: Fix process initialization using ProgramMetadata default.
2020-04-20 18:19:45 -04:00
bunnei
f0a7f05070
file_sys: program_metadata: Add a helper function for generating reasonable default metadata.
...
- We need this for homebrew process initialization.
2020-04-20 18:19:45 -04:00
Mat M
200f69d2ff
Merge pull request #3739 from MerryMage/disable_cpu_opt
...
dynarmic: Add option to disable CPU JIT optimizations
2020-04-20 14:19:18 -04:00
FearlessTobi
4e99a06c70
npad: Lower log level for VibrateController to Debug
2020-04-20 18:44:57 +02:00
FearlessTobi
6ce0f3575a
audren: Lower log level for RequestUpdateImpl to Debug
2020-04-20 18:44:41 +02:00
Fernando Sahmkow
ec2f8f4272
Merge pull request #3700 from ReinUsesLisp/stream-buffer-sizes
...
vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers
2020-04-20 09:37:42 -04:00
MerryMage
a3a12deecc
dynarmic: Add option to disable CPU JIT optimizations
2020-04-20 13:36:26 +01:00
bunnei
6de36f0b61
Merge pull request #3712 from lioncash/remove
...
service: Remove unused RequestParser instances
2020-04-20 01:04:04 -04:00
bunnei
e3977243e2
Merge pull request #3709 from lioncash/am
...
am: Resolve ineffective moves
2020-04-20 00:15:00 -04:00
Amit Prakash Ambasta
5324b1d01e
Initialize quad_indexed_pass before uint8_pass
...
Fixes Werror=reorder in gcc
2020-04-20 04:53:52 +05:30
Rodrigo Locatti
4932010c6f
Merge pull request #3729 from lioncash/globals
...
dma_pusher: Remove reliance on the global system instance
2020-04-19 19:12:40 -03:00
bunnei
85c17a2c35
Merge pull request #3694 from ReinUsesLisp/indexed-quads
...
vk_compute_pass: Implement indexed quads
2020-04-19 16:52:40 -04:00
Lioncash
bfee33cce3
service/time: Remove reliance on the global system accessor
...
Eliminates usages of the global system accessor and instead passes the
existing system instance into the interfaces.
2020-04-19 16:31:28 -04:00
Lioncash
44e959157b
dma_pusher: Remove reliance on the global system instance
...
With this, the video core is now has no calls to the global system
instance at all.
2020-04-19 16:12:08 -04:00
bunnei
2ea7a70da0
Merge pull request #3686 from lioncash/table
...
texture_cache/format_lookup_table: Fix incorrect green, blue, and alpha indices
2020-04-19 15:33:33 -04:00
bunnei
10fb26f69c
Merge pull request #3696 from lioncash/cast-size
...
hle_ipc: Remove std::size_t casts where applicable
2020-04-19 14:24:15 -04:00
MerryMage
2bfac7b61d
thread: FPCR.FZ is likely not 1
2020-04-19 08:37:20 +01:00
bunnei
779a3b222a
Merge pull request #3655 from FearlessTobi/ui-retext-yuzu
...
yuzu/main: Add better popup texts and remove duplicated actions
2020-04-19 02:16:50 -04:00
bunnei
73db83c0ab
Merge pull request #3679 from lioncash/track
...
track: Eliminate redundant copies
2020-04-19 01:22:47 -04:00
bunnei
74c27fd1b5
core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page.
2020-04-19 00:53:23 -04:00
Jan Beich
afcc84a172
renderer_vulkan: assume X11 if not Windows/macOS after bf1d66b7c0
...
Render.Vulkan <Error> video_core/renderer_vulkan/renderer_vulkan.cpp:CreateInstance:131: Presentation not supported on this platform
Render.Vulkan <Error> video_core/renderer_vulkan/renderer_vulkan.cpp:CreateSurface:378: Presentation not supported on this platform
Core <Critical> core/core.cpp:Load:199: Failed to initialize system (Error 5)!
2020-04-19 00:32:23 +00:00
ReinUsesLisp
c81bf06d03
vulkan/wrapper: Sort physical devices
...
Sort discrete GPUs over the rest, Nvidia over AMD, AMD over Intel, Intel
over the rest. This gives us a somewhat consistent order when Optimus
is removed (renderdoc does this when it's attached).
This can break the configuration of users with an Intel GPU that
manually remove Optimus on yuzu. That said, it's a very unlikely to
happen.
2020-04-18 21:31:15 -03:00
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.
2020-04-18 19:57:26 -03:00
ReinUsesLisp
b571c92dfd
fixed_pipeline_state: Pack blending state
...
Reduce FixedPipelineState's size to 364 bytes.
2020-04-18 19:23:35 -03:00
ReinUsesLisp
548dd27f45
fixed_pipeline_state: Pack rasterizer state
...
Reduce FixedPipelineState's size to 600 bytes.
2020-04-18 19:22:57 -03:00
ReinUsesLisp
7790144a55
fixed_pipeline_state: Pack depth stencil state
...
Reduce FixedPipelineState's size to 632 bytes.
2020-04-18 19:22:11 -03:00
ReinUsesLisp
ab6704f20c
fixed_pipeline_state: Pack attribute state
...
Reduce FixedPipelineState's size from 1384 to 664 bytes
2020-04-18 19:21:19 -03:00
Mat M
5305806071
Merge pull request #3716 from bunnei/fix-another-impl-fallthrough
...
video_core: gl_shader_decompiler: Fix implicit fallthrough errors.
2020-04-18 15:17:52 -04:00
bunnei
03726fb7f5
video_core: gl_shader_decompiler: Fix implicit fallthrough errors.
2020-04-18 15:15:21 -04:00
bunnei
89e512ca8d
Merge pull request #3710 from lioncash/nso
...
loader/nso: Resolve moves not occurring in DecompressSegment
2020-04-18 14:44:42 -04:00
Mat M
45964e6fec
Merge pull request #3715 from bunnei/fix-impl-fallthrough
...
service: hid: npad: Fix implicit fallthrough errors.
2020-04-18 14:44:20 -04:00
bunnei
a8d5d08e2e
service: hid: npad: Fix implicit fallthrough errors.
2020-04-18 14:41:08 -04:00
bunnei
907ba8794e
Merge pull request #3713 from lioncash/time
...
service/time: Minor changes
2020-04-17 21:04:43 -04:00
bunnei
90ddb13372
Merge pull request #3711 from lioncash/cast
...
memory/slab_heap: Make use of static_cast over reinterpret_cast
2020-04-17 21:04:11 -04:00
Lioncash
bf328ed35a
gl_shader_decompiler: Avoid copies where applicable
...
Avoids unnecessary reference count increments where applicable and also
avoids reallocating a vector.
Unlikely to make a huge difference, but given how trivial of an
amendment it is, why not?
2020-04-17 20:48:52 -04:00
Lioncash
7714b02d95
time/system_clock_core: Remove unnecessary initializer
...
This is already initialized within the class body.
2020-04-17 20:04:06 -04:00
Lioncash
b533f18ab9
service/time: Mark IsStandardNetworkSystemClockAccuracySufficient as const
...
This doesn't modify internal member state.
2020-04-17 20:02:45 -04:00
Lioncash
0cfd3b94db
service/time: Add virtual destructors where applicable
...
Many of these implementations are used to implement a polymorphic
interface. While not directly used polymorphically, this prevents
virtual destruction from ever becoming an issue.
2020-04-17 19:59:31 -04:00
Lioncash
4d8a8a8033
service: Remove unused RequestParser instances
...
These aren't used, so they should be removed to reduce compilation
warnings.
2020-04-17 19:47:43 -04:00
bunnei
7438d36d0e
Merge pull request #3630 from benru/open-windows-network-files
...
common/file_util: Allow access to files on network shares
2020-04-17 19:47:11 -04:00
Lioncash
7e585bce28
memory/slab_heap: Make use of static_cast over reinterpret_cast
...
Casting from void* with static_cast is permitted by the standard, so we
can just make use of that instead.
2020-04-17 19:38:59 -04:00
Lioncash
441a2812ed
loader/nso: Resolve moves not occurring in DecompressSegment
...
Given the std::vector was const, an automatic move out of the function
could not occur.
We can allow automatic return value optimizations to occur by making the
buffer non-const.
2020-04-17 19:26:50 -04:00
Lioncash
64f226889c
am: Resolve ineffective moves
...
Previously const objects were being std::moved, which results in no move
actually occurring. This resolves that.
2020-04-17 19:22:46 -04:00
Markus Wick
07fbef1776
video_code: Fix implicit switch fallthrough.
...
Since yesterday, this breaks the build on linux.
So let's fix it.
2020-04-17 23:43:35 +02:00
ReinUsesLisp
a7b6bd56d7
vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers
...
Nvidia recently introduced a new memory type for data streaming
(awesome!), but yuzu was assuming that all heaps had enough memory
for the assumed stream buffer size (256 MiB).
This worked fine on AMD but Nvidia's new memory heap was smaller than
256 MiB. This commit changes this assumption and allocates a bit less
than the size of the preferred heap, with a maximum of 256 MiB (to avoid
allocating all system memory on integrated devices).
- Fixes a crash on NVIDIA 450.82.0.0
2020-04-17 18:12:48 -03:00
Fernando Sahmkow
2133482a17
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
775ecc7d05
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
990c0b184f
Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL"
2020-04-17 17:41:48 -03:00
bunnei
b8f5c71f2d
Merge pull request #3666 from bunnei/new-vmm
...
Implement a new virtual memory manager
2020-04-17 16:33:08 -04:00
bunnei
ca3af2961c
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
8bbe74a8dc
core: hle: Address various feedback & code cleanup.
...
- Should be no functional changes.
2020-04-17 00:59:36 -04:00
bunnei
92caa003a8
core: device_memory: Remove incorrect usage of constexpr.
2020-04-17 00:59:36 -04:00
bunnei
6f3266e98b
memory: Add copyright notice for Atmosphere where applicable.
2020-04-17 00:59:35 -04:00
bunnei
02547a0cb4
kernel: Remove old VMManager class.
2020-04-17 00:59:35 -04:00
bunnei
bebfb05c1b
loader: nso: Fix loader size and arguments.
2020-04-17 00:59:35 -04:00
bunnei
83761d5316
loader: elf/kip/nro: Updates for new VMM.
2020-04-17 00:59:35 -04:00
bunnei
37b79ebe85
service: ldr: Updates for new VMM.
...
- Includes removing some service impls. that are untested.
2020-04-17 00:59:35 -04:00
bunnei
a8292f6cd9
kernel: memory: page_table: Simplify GetPhysicalAddr impl.
2020-04-17 00:59:35 -04:00
bunnei
c629e544a7
kernel: svc: Updates for new VMM.
...
- Includes removing some SVC impls. that are untested.
2020-04-17 00:59:34 -04:00
bunnei
ff5d5b6f41
core: memory: Fix memory access on page boundaries.
...
- Fixes Super Smash Bros. Ultimate.
2020-04-17 00:59:34 -04:00
bunnei
32fc2aae3c
video_core: memory_manager: Updates for Common::PageTable changes.
2020-04-17 00:59:34 -04:00
bunnei
f7c03610e1
core: memory: Updates for new VMM.
2020-04-17 00:59:34 -04:00
bunnei
4c1812ae37
common: page_table: Update to use VirtualBuffer and simplify.
2020-04-17 00:59:34 -04:00
bunnei
1d5923e150
core: gdbstub: Updates for new VMM.
2020-04-17 00:59:34 -04:00
bunnei
c7bc7986bb
core: reporter: Updates for new VMM.
2020-04-17 00:59:33 -04:00
bunnei
18c4bb6f5c
memory: cheat_engine: Updates for new VMM.
2020-04-17 00:59:33 -04:00
bunnei
d95ceaa8ec
arm_test_common: Updates for new VMM.
2020-04-17 00:59:33 -04:00
bunnei
108564df57
kernel: process: Updates for new VMM.
2020-04-17 00:59:33 -04:00
bunnei
77382ac2b2
service: pl_u: Update for new shared memory layout.
2020-04-17 00:59:33 -04:00
bunnei
67b3df683b
service: time: Update for new shared memory layout.
2020-04-17 00:59:33 -04:00
bunnei
8eca0f9cd2
service: hid: Update for new shared memory layout.
2020-04-17 00:59:33 -04:00
bunnei
8bbc38a7bd
service: irs: Update for new shared memory layout.
2020-04-17 00:59:32 -04:00
bunnei
fc61cb44ee
kernel: resource_limit: Reserve physical memory.
2020-04-17 00:59:32 -04:00
bunnei
8f75524e55
kernel: Initialize memory layout for new VMM.
2020-04-17 00:59:32 -04:00
bunnei
11c02a50e9
core: system: Rename GetDeviceManager -> DeviceManager.
...
- More consistent with other system components.
2020-04-17 00:59:32 -04:00
bunnei
3fcc4cab4f
kernel: transfer_memory: Refactor for new VMM.
2020-04-17 00:59:32 -04:00
bunnei
c53454ff46
core: Construct/Destruct DeviceMemory on Init/Shutdown.
2020-04-17 00:59:32 -04:00
bunnei
d0162fc3d7
kernel: shared_memory: Refactor for new VMM.
2020-04-17 00:59:32 -04:00