bunnei
5ed13304e1
Merge pull request #3758 from H27CK/vk-cmd
...
Introduce dummy context for yuzu-cmd VK support
2020-04-22 12:37:01 -04:00
Fernando Sahmkow
afae40a99e
Merge pull request #3653 from ReinUsesLisp/nsight-aftermath
...
renderer_vulkan: Integrate Nvidia Nsight Aftermath on Windows
2020-04-22 11:39:01 -04:00
Fernando Sahmkow
4e37f1b113
Address Feedback.
2020-04-22 11:36:27 -04:00
Fernando Sahmkow
39e5b72948
Async GPU: Correct flushing behavior to be similar to old async GPU behavior.
2020-04-22 11:36:26 -04:00
Fernando Sahmkow
1b3be8a8f8
MaxwellDMA: Correct copying on accuracy level.
2020-04-22 11:36:25 -04:00
Fernando Sahmkow
644588fd88
ShaderCache/PipelineCache: Cache null shaders.
2020-04-22 11:36:25 -04:00
Fernando Sahmkow
f616dc0b59
Address Feedback.
2020-04-22 11:36:24 -04:00
Fernando Sahmkow
ec2f3e48e1
Fix GCC error.
2020-04-22 11:36:23 -04:00
Fernando Sahmkow
7f44f22451
Correct Linux Compile Error.
2020-04-22 11:36:22 -04:00
Fernando Sahmkow
d2d4a6cbcf
Clang format.
2020-04-22 11:36:22 -04:00
Fernando Sahmkow
b3e5f177ba
QueryCache: Only do async flushes on async gpu.
2020-04-22 11:36:21 -04:00
Fernando Sahmkow
f4ab223ef0
Async GPU: Only do reactive flushing on Extreme Level.
2020-04-22 11:36:20 -04:00
ReinUsesLisp
b752faf2d3
vk_fence_manager: Initial implementation
2020-04-22 11:36:19 -04:00
Fernando Sahmkow
0649f05900
QueryCache: Implement Async Flushes.
2020-04-22 11:36:18 -04:00
Fernando Sahmkow
131b342130
OpenGL: Guarantee writes to Buffers.
2020-04-22 11:36:18 -04:00
Fernando Sahmkow
1fb516cd97
GPU: Implement Flush Requests for Async mode.
2020-04-22 11:36:17 -04:00
Fernando Sahmkow
b7bc3c2549
FenceManager: Manage syncpoints and rename fences to semaphores.
2020-04-22 11:36:16 -04:00
Fernando Sahmkow
96bb961a64
BufferCache: Refactor async managing.
2020-04-22 11:36:15 -04:00
Fernando Sahmkow
b10db7e4a5
FenceManager: Implement async buffer cache flushes on High settings
2020-04-22 11:36:15 -04:00
Fernando Sahmkow
4adfc9bb08
Rasterizer: Document SignalFence & ReleaseFences and setup skeletons on Vulkan.
2020-04-22 11:36:14 -04:00
Fernando Sahmkow
a081a7c855
GPU: Fix rebase errors.
2020-04-22 11:36:13 -04:00
Fernando Sahmkow
e84eb64e51
Rasterizer: Disable fence managing in synchronous gpu.
2020-04-22 11:36:12 -04:00
Fernando Sahmkow
165ae823f5
ThreadManager: Sync async reads on accurate gpu.
2020-04-22 11:36:12 -04:00
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
ReinUsesLisp
6f47bd9641
vk_memory_manager: Remove unified memory model flag
...
All drivers (even Intel) seem to have a device local memory type that is
not host visible. Remove this flag so all devices follow the same path.
This fixes a crash when trying to map to host device local memory on
integrated devices.
2020-04-21 22:06:38 -03: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
ReinUsesLisp
488ed8bd02
vk_rasterizer: Add lazy default buffer maker and use it for empty buffers
...
Introduce a default buffer getter that lazily constructs an empty
buffer. This is intended to match OpenGL's buffer 0.
Use this for disabled vertex and uniform buffers.
While we are at it, include vertex buffer usages for staging buffers to
silence validation errors.
2020-04-21 19:55:52 -03:00
ReinUsesLisp
0bbae63300
gl_rasterizer: Fix buffers without size
...
On NVN buffers can be enabled but have no size. According to deko3d and
the behavior we see in Animal Crossing: New Horizons these buffers get
the special address of 0x1000 and limit themselves to 0xfff.
Implement buffers without a size by binding a null buffer to OpenGL
without a side.
1d1930beea/source/maxwell/gpu_3d_vbo.cpp (L62-L63)
2020-04-21 19:55:44 -03: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
Lioncash
99eaa2e6f2
service: Update function tables
...
Keeps the service function tables up to date.
Updated based off information on SwitchBrew.
2020-04-20 15:53:49 -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