Ameer J
370e480c8c
gl_graphics_pipeline: Improve shader builder synchronization using fences ( #7969 )
...
* gl_graphics_pipeline: Improve shader builder synchronization
Make use of GLsync objects to ensure better synchronization between shader builder threads and the main context
* gl_graphics_pipeline: Make built_fence access threadsafe
* gl_graphics_pipeline: Use GLsync objects only when building in parallel
* gl_graphics_pipeline: Replace GetSync calls with non-blocking waits
The spec states that a ClientWait on a Fence object ensures the changes propagate to the calling context
2022-03-06 16:46:49 +01:00
Fernando S
5192c64991
Merge pull request #7973 from Morph1984/debug-crash
...
host_memory: Fix fastmem crashes in debug builds
2022-03-06 04:49:27 +01:00
bunnei
a31c195749
Merge pull request #7935 from Wunkolo/logging-join-fix
...
logging: Convert `backend_thread` into an `std::jthread`
2022-03-02 19:09:26 -08:00
bunnei
3ab82e7582
Merge pull request #7956 from bunnei/improve-mem-manager
...
Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes
2022-03-02 17:55:51 -08:00
Morph
b33f23cc46
host_memory: Fix fastmem crashes in debug builds
...
It is possible for virtual_offset to not be 0 when the iterator is at the beginning, and thus, std::prev(it) may be evaluated, leading to a crash in debug mode.
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
2022-03-02 18:36:59 -05:00
Fernando S
e06a133717
Merge pull request #7959 from merryhime/cmpxchg
...
dynarmic: Inline exclusive memory accesses
2022-03-01 22:50:52 +01:00
Mai M
3c47570563
Merge pull request #7967 from zhaobot/tx-update-20220301023432
...
Update translations (2022-03-01)
2022-03-01 00:50:28 -05:00
The yuzu Community
b4c919eba8
Update translations (2022-03-01)
2022-03-01 02:34:54 +00:00
Mai M
96dbb9233a
Merge pull request #7963 from ameerj/gl_fence_nit
...
gl_fence_manager: Minor optimization to signal querying
2022-02-28 19:53:24 -05:00
Mai M
fdf81cd112
Merge pull request #7966 from merryhime/cmake-ffmpeg-endif
...
ffmpeg: Fix mis-maching argument warning for endif
2022-02-28 19:51:10 -05:00
Merry
c4df0d8cdc
ffmpeg: Fix mis-maching argument warning for endif
2022-02-28 21:08:12 +00:00
merry
ec9689f200
dynarmic: Update to latest master
2022-02-28 20:10:13 +00:00
bunnei
14d28a043d
hle: kernel: Re-create memory layout at initialization.
...
- As this can only be derived once.
2022-02-27 18:00:09 -08:00
bunnei
16e5954fcb
hle: kernel: Remove unused pool locals.
2022-02-27 18:00:09 -08:00
bunnei
f87f076162
hle: kernel: k_memory_manager: Rework for latest kernel behavior.
...
- Updates the KMemoryManager implementation against latest documentation.
- Reworks KMemoryLayout to be accessed throughout the kernel.
- Fixes an issue with pool sizes being incorrectly reported.
2022-02-27 18:00:09 -08:00
Wunkolo
913c2bd2cb
logging: Convert `backend_thread` into an `std::jthread`
...
Was getting an unhandled `invalid_argument` [exception](https://en.cppreference.com/w/cpp/thread/thread/join ) during
shutdown on my linux machine. This removes the need for a `StopBackendThread` function entirely since `jthread`
[automatically handles both checking if the thread is joinable and stopping the token before attempting to join](https://en.cppreference.com/w/cpp/thread/jthread/~jthread ) in the case that `StartBackendThread` was never called.
2022-02-27 16:23:52 -08:00
ameerj
7f7df43da2
gl_fence_manager: Minor optimization to signal querying
...
Per the spec, bufSize is the number of integers that will be written, in this case, 1.
Also, the length argument is optional if the information of the number of elements written is not needed.
2022-02-27 17:57:33 -05:00
merry
16784e5bb3
dynarmic: Inline exclusive memory accesses
...
Inlines implementation of exclusive instructions into JITted code,
improving performance of applications relying heavily on these
instructions.
We also fastmem these instructions for additional speed, with
support for appropriate recompilation on fastmem failure.
An unsafe optimization to disable the intercore global_monitor is also
provided, should one wish to rely solely on cmpxchg semantics for
safety.
See also: merryhime/dynarmic#664
2022-02-27 19:40:05 +00:00
bunnei
adbb9c2b00
hle: kernel: k_page_heap: GetPhysicalAddr can be const.
2022-02-27 10:34:02 -08:00
bunnei
f7e65eb971
hle: kernel: k_page_heap: Remove superfluous consexpr.
2022-02-27 10:34:02 -08:00
bunnei
06e2b76c75
hle: kernel: k_page_heap: Various updates and improvements.
...
- KPageHeap tracks physical addresses, not virtual addresses.
- Various updates and improvements to match latest documentation for this type.
2022-02-27 10:34:02 -08:00
bunnei
5d1a81520c
hle: kernel: Add initial_process.h header.
2022-02-27 10:34:02 -08:00
bunnei
a6496deeed
hle: kernel: board: nx: Add k_memory_layout.h header.
2022-02-27 10:34:02 -08:00
bunnei
9b5e7971dc
hle: kernel: k_system_control: Add GetRealMemorySize and update GetKernelPhysicalBaseAddress.
2022-02-27 10:34:02 -08:00
bunnei
18e77a54c3
hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion.
2022-02-27 10:34:02 -08:00
bunnei
06a21ac229
hle: kernel: k_memory_region_types: Update for new regions.
2022-02-27 10:34:02 -08:00
bunnei
96d90be59f
Merge pull request #7955 from bunnei/update-dynarmic
...
externals: Dynarmic: Update to latest rev.
2022-02-26 10:52:47 -08:00
bunnei
ce46aa4721
externals: Dynarmic: Update to latest rev.
...
- Fixes inaccurate size reporting in SpaceRemaining, which caused crashes in yuzu with SSBU.
2022-02-26 09:51:41 -08:00
bunnei
20e9501b0d
Merge pull request #7932 from bunnei/extended-mem-layout
...
Add extended memory layout (6GB) support and improve KResourceLimit management
2022-02-26 01:41:08 -08:00
bunnei
56d9052b73
Merge pull request #7953 from ameerj/radv-rdna2-crash
...
vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_state
2022-02-26 01:19:13 -08:00
Mai M
91d802f68d
Merge pull request #7948 from Morph1984/11-11-10-float
...
maxwell_to_(gl/vk): Add 11_11_10 float vertex format
2022-02-26 00:09:44 -05:00
Ameer J
5f8d6bc504
vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_state
...
RDNA2 devices running under the RADV driver were crashing when VK_EXT_vertex_input_dynamic_state was enabled.
Blacklisting these devices until a proper fix is established.
2022-02-25 23:09:03 -05:00
Morph
e292b2d991
maxwell_to_(gl/vk): Add 11_11_10 float vertex format
...
- Used by パワプロクンポケットR
2022-02-25 17:11:17 -05:00
bunnei
6c9b9b72da
Merge pull request #7939 from asLody/fb-format-gbra8
...
vk_blit_screen: Add missing framebuffer format
2022-02-25 00:58:28 -08:00
bunnei
f582a4482d
Merge pull request #7927 from german77/amiibo
...
yuzu: Disconnect amiibos on drag and drop
2022-02-24 23:13:32 -08:00
bunnei
1079215871
Merge pull request #7859 from german77/battery_again
...
input_common: Remove battery duplicated struct and update every button press
2022-02-24 11:42:51 -08:00
Lody
6978093404
vk_blit_screen: Add missing format bgra8
2022-02-24 19:25:39 +08:00
Mai M
2f45e999d8
Merge pull request #7933 from german77/am_update
...
service: am: Update enum names to match documentation
2022-02-21 20:42:01 -05:00
Narr the Reg
d44464829b
service: am: Update enum names to match documentation
2022-02-21 18:00:50 -06:00
bunnei
efe50d88ec
Merge pull request #7913 from voidanix/anv-fix
...
vulkan_device: fix missing format in ANV
2022-02-21 14:34:27 -07:00
bunnei
71f62a346d
hle: kernel: KSystemControl: Use 6GB memory layout when "use_extended_memory_layout" setting is enabled.
...
- This uses a larger 6GB DRAM memory layout, which is useful for some mods that require more memory.
2022-02-21 13:07:19 -08:00
bunnei
c0e45a3c78
core: device_memory: Use memory size reported by KSystemControl.
...
- That way, we can consolidate the memory layout to one place.
2022-02-21 13:07:19 -08:00
bunnei
70482e6b26
settings: Add a new "use_extended_memory_layout" setting.
...
- This will be used to enable emulation of a larger memory arrangement.
2022-02-21 13:07:19 -08:00
bunnei
ca5e843bf6
core: hle: kernel: Remove resource limit hack for PhysicalMemory.
...
- With prior changes, we now report the correct amount of physical memory available to the emulated process.
2022-02-21 12:41:31 -08:00
bunnei
a74fddc98f
core: hle: kernel: KProcess: Pass in KResourceLimit on process creation.
...
- This allows us to have a resource limit per process, rather than use the global system resource limit.
2022-02-21 12:41:31 -08:00
bunnei
57ebcbf2c4
core: hle: kernel: KEvent: Pass in owner KProcess on event creation.
...
- This is necessary to ensure resource limits are freed from the right process.
2022-02-21 12:41:06 -08:00
bunnei
c7019db6f4
core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process.
2022-02-21 12:40:09 -08:00
bunnei
21f5912ec9
Merge pull request #7919 from bunnei/phys-mem-updates
...
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-21 13:39:05 -07:00
bunnei
8d46c3cc66
Merge pull request #7920 from bunnei/fix-unmap-pages
...
core: hle: kernel: KPageTable: Fix UnmapPages.
2022-02-21 13:38:52 -07:00
voidanix
7712e46d64
vulkan_device: fix missing format in ANV
...
Currently Mesa's ANV driver does not support
VK_FORMAT_B5G6R5_UNORM_PACK16, implement an alternative for it.
2022-02-21 09:21:41 +01:00