Morph
a4cd747122
Merge pull request #9530 from liamwhite/vk-feature-init
...
vulkan_device: refactor feature testing
2023-01-09 16:23:04 -05:00
Morph
3be8312120
Merge pull request #9569 from liamwhite/shutdown-wars
...
qt: additional fixes for reentrant shutdown
2023-01-09 16:21:27 -05:00
Liam
279005448a
vulkan_device: refactor feature testing
2023-01-09 16:12:16 -05:00
Liam
0df43e4e07
renderer_vulkan: disable turbo by default
2023-01-08 11:38:30 -05:00
Fernando Sahmkow
efbb6fe288
VideoCore: Fix OGL cache invalidation.
2023-01-07 21:56:17 -05:00
bunnei
a5693afa03
Revert "Revert "k_page_group: synchronize""
2023-01-07 15:32:10 -08:00
bunnei
66e4a48b75
Merge pull request #9563 from german77/crash_not_allowed
...
input_common: Create an update engine
2023-01-07 13:41:27 -08:00
Liam
505923f0f3
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
...
This reverts commit 8804a4eb23
.
2023-01-07 15:50:58 -05:00
Liam
57a4388e2d
Revert "Vulkan, OpenGL: Hook up storage buffer alignment code"
...
This reverts commit 9e2997c4b6
.
2023-01-07 15:48:50 -05:00
MonsterDruide1
115bf20448
TAS: Show all script lengths for multiplayer
2023-01-07 21:15:37 +01:00
Liam
c19c8ac92c
renderer_vulkan: pause turbo submissions on inactive queue
2023-01-07 14:35:11 -05:00
Billy Laws
d34275a260
Avoid OOB array access reading passthrough attr mask
...
YFC 1.5 extended the size of the varying mask used to hold passthrough attrs without considering this
2023-01-07 18:38:21 +00:00
Narr the Reg
432d48d9c8
Merge pull request #9570 from liamwhite/less-clock-boost
...
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-07 10:41:37 -06:00
Liam
444b25bae1
vulkan_device: avoid attempt to access empty optional
2023-01-06 21:23:21 -05:00
Liam
2e4dde12c7
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-06 19:07:47 -05:00
Liam
9ed4c13758
qt: additional fixes for reentrant shutdown
2023-01-06 18:50:01 -05:00
Narr the Reg
4bda2b475f
opengl: Sanitize antialiasing config
2023-01-06 13:42:20 -06:00
Wollnashorn
457826a83b
video_core/vulkan: Fixed loading of Vulkan driver pipeline cache
...
The header size of the Vulkan driver pipeline cache files was incorrectly in PipelineCache::LoadVulkanPipelineCache, for which the pipeline cache wasn't read correctly and got invalidated on each load.
2023-01-06 16:52:41 +01:00
Fernando S
8b251fc3f6
Merge pull request #9535 from bylaws/master
...
Port over several shader-compiler fixes from skyline
2023-01-06 10:06:45 -05:00
liamwhite
3c05988df2
Merge pull request #9561 from liamwhite/update-dynarmic
...
externals: update dynarmic, xbyak
2023-01-06 10:00:18 -05:00
liamwhite
6d74490139
Merge pull request #9558 from MonsterDruide1/network-timeout-noerror
...
net: Silently translate ETIMEDOUT network error
2023-01-06 10:00:09 -05:00
liamwhite
020dbcdbc7
Merge pull request #9552 from liamwhite/turbo
...
vulkan: implement 'turbo mode' clock booster
2023-01-06 09:59:59 -05:00
Fernando S
5bcbb8de45
Merge pull request #9559 from FernandoS27/cached-writes
...
VideoCore: Implement Cached Writes, use fastmem for reading GPU memory and eliminate old stuffs
2023-01-06 07:31:39 -05:00
Fernando Sahmkow
f6245dc40a
MacroHLE: eliminate 2 rushed macros.
2023-01-05 20:53:31 -05:00
Narr the Reg
8042ce7e19
input_common: Create an update engine
2023-01-05 19:24:29 -06:00
liamwhite
eaca61e073
Merge pull request #9528 from liamwhite/mvk-nulldesc
...
renderer_vulkan: implement fallback path for null buffer descriptors
2023-01-05 18:31:55 -05:00
liamwhite
3e33a878dc
Merge pull request #9536 from liamwhite/debug-utils
...
vulkan_common: unify VK_EXT_debug_utils and selection of validation layer
2023-01-05 18:31:45 -05:00
Liam
1ee0540f82
externals: update dynarmic, xbyak
2023-01-05 18:06:06 -05:00
Billy Laws
58fec43768
Run clang-format
2023-01-05 22:18:10 +00:00
Billy Laws
68ed60cee4
shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUs
...
The existing implementation only supports 64 invoc-per-subgroup GPUs, and misbehaves on adreno when invocations need to be split into 4 emulated subgroups.
2023-01-05 22:13:07 +00:00
Billy Laws
6c812a0c84
Vulkan, OpenGL: Hook up geometry shader passthrough emulation
2023-01-05 22:13:07 +00:00
Billy Laws
625a4af73a
shader_recompiler: Add support for lowering geometry passthrough
...
Reuses most of the existing code for generating the gl_Layer passthrough. Fixes geometry in Nier: Automata on GPUs without HW passthrough support.
2023-01-05 22:13:07 +00:00
Billy Laws
9e2997c4b6
Vulkan, OpenGL: Hook up storage buffer alignment code
2023-01-05 22:13:07 +00:00
Billy Laws
8804a4eb23
shader_recompiler: Align SSBO offsets to meet host requirements
...
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
2023-01-05 22:13:07 +00:00
Billy Laws
3f0985c7b0
shader_recompiler: SPIRV: Only enable int64 feature when supported
2023-01-05 22:13:07 +00:00
Billy Laws
c1cc99584c
shader_recompiler: Add comparison operators to descriptor types
2023-01-05 22:13:07 +00:00
Billy Laws
bbfad79c89
Vulkan: Add a workaround for input_position on Adreno drivers
...
Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct.
2023-01-05 22:13:07 +00:00
Wollnashorn
e07976a22b
video_core/vulkan: Vulkan driver pipelines now contain cache version
...
So that old cache can get deleted when the cache version changes and does not grow infinitely
2023-01-05 21:03:01 +01:00
Wollnashorn
9c9008ac81
video_core/vulkan: Driver pipeline cache will now be deleted with the shader cache
2023-01-05 21:03:01 +01:00
Wollnashorn
8945fafcc0
config: Set the Vulkan driver pipeline cache option to be global
2023-01-05 21:03:01 +01:00
Wollnashorn
f2aa816679
video_core/vulkan: Added check if Vulkan pipeline path has been set
2023-01-05 21:03:01 +01:00
Wollnashorn
f4626512ff
config: Better wording for VK pipeline cache option and enable by default
2023-01-05 21:03:01 +01:00
Wollnashorn
67d4f190f7
yuzu-cmd: Removed use_vulkan_driver_pipeline_cache
from default_ini.h
...
The addition of the use_vulkan_driver_pipeline_cache option into the default ini string literal caused the 16,384-byte limit of the MSVC compiler to be exceeded.
2023-01-05 21:03:01 +01:00
Wollnashorn
16809c1fa7
video_core/vulkan: Added VkPipelineCache
to store Vulkan pipelines
...
As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk.
These vendor specific pipeline cache files are located at `/shader/GAME_ID/vulkan_pipelines.bin`. This feature was mainly added because of an issue with the AMD driver (see yuzu-emu#8507) causing invalidation of the cache files the driver builds automatically.
2023-01-05 21:02:44 +01:00
Fernando Sahmkow
b56ad93bbc
BufferBase: Don't ignore GPU pages.
2023-01-05 14:00:10 -05:00
Fernando Sahmkow
2d0c4f2b1d
Fermi2D: sync cache flushes
2023-01-05 06:43:28 -05:00
Fernando Sahmkow
af5ecb0b15
MemoryManager: use fastmem directly.
2023-01-05 06:06:33 -05:00
MonsterDruide1
688a9fbfa6
net: Silently translate ETIMEDOUT network error
2023-01-05 11:54:36 +01:00
Fernando Sahmkow
6c7eb81f7d
video_core: Cache GPU internal writes.
2023-01-05 05:23:39 -05:00
Fernando Sahmkow
4d9af4a9d2
Vulkan: Fix drivers that don't support dynamic_state_2 up
2023-01-05 00:11:16 -05:00
Feng Chen
013b689153
video_core: Implement opengl/vulkan draw_texture
2023-01-05 12:41:33 +08:00
Feng Chen
1e8cee2ddf
video_core: Implement maxwell3d draw texture method
2023-01-05 12:41:28 +08:00
Alexandre Bouvier
d0fe27708e
tests: update catch2 to 3.0.1
2023-01-05 04:58:31 +01:00
Liam
a4269c285a
common: add setting for renderer clock workaround
2023-01-04 22:22:01 -05:00
Liam
301e9bbc03
vulkan: implement 'turbo mode' clock booster
2023-01-04 22:22:01 -05:00
Liam
66ae79de13
renderer_vulkan: implement fallback path for null descriptors
2023-01-04 22:14:01 -05:00
liamwhite
b78328f19a
Merge pull request #9501 from FernandoS27/yfc-rel-2
...
Yuzu Fried Chicken Part 1.5: MacroHLE Rework and Dynamic State
2023-01-04 21:20:00 -05:00
Fernando Sahmkow
3ecc03ec1b
yuzu-ui: Add setting for disabling macro HLE
2023-01-04 14:56:52 -05:00
Fernando Sahmkow
a0c697124c
Video_core: Address feedback
2023-01-04 14:39:42 -05:00
Fernando Sahmkow
03ccd8bf43
Texture Cache: Implement async texture downloads.
2023-01-03 22:52:15 -05:00
liamwhite
bbeb6e460c
Merge pull request #9518 from gidoly/revert-9504-pg2
...
Revert "k_page_group: synchronize"
2023-01-03 21:40:57 -05:00
Fernando Sahmkow
ddbf851ef6
Vulkan: Update blacklisting to latest driver versions.
2023-01-03 21:16:43 -05:00
Fernando Sahmkow
a045e860dd
ShaderCompiler: Inline driver specific constants.
2023-01-03 16:29:25 -05:00
Fernando Sahmkow
b62ffb612d
Vulkan: rework stencil tracking.
2023-01-03 16:29:16 -05:00
MonsterDruide1
04cb05fce0
TAS: Immediately switch stick to TAS on input
...
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2023-01-03 20:08:25 +01:00
Alexandre Bouvier
eceee8c3d9
cmake: move find-modules to root cmake dir
2023-01-02 18:22:07 +01:00
liamwhite
6804a43f49
Merge pull request #9540 from MonsterDruide1/tas-sanitized-record
...
TAS: Record sanitized instead of raw stick inputs
2023-01-02 09:51:29 -05:00
german77
80bcc18788
service: nifm: Initialize request state
2023-01-01 20:58:08 -06:00
german77
ebd811b535
service: nifm: Match documentation names
2023-01-01 20:58:01 -06:00
Liam
f9c6d39a6c
vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1
2023-01-01 16:43:58 -05:00
Liam
4814d87385
video_core: fix build
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
d09aa0182f
MacroHLE: Final cleanup and fixes.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
581a7d785b
Rasterizer: Setup skeleton for Host Conditional rendering
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
3630bfaef3
RasterizerMemory: Add filtering for flushing/invalidation operations.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
2793304117
Vulkan: Allow stagging buffer deferrals.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
8d694701bc
MacroHLE: Add OpenGL Support
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
4c82e47edd
Vulkan: Add other additional pipeline specs
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
d33251db93
Vulkan: Implement Dynamic State 3
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
f800e485c9
Vulkan Implement Dynamic State 2 LogicOp and PatchVertices
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
c897c55e3c
Vulkan: Implement Dynamic States 2
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
cb1497d0d7
DMAPusher: Improve collection of non executing methods
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
ce448ce770
Revert Buffer cache changes and setup additional macros.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
18637766ef
MacroHLE: Reduce massive calculations on sizing estimation.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
aad0cbf024
MacroHLE: Add HLE replacement for base vertex and base instance.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
93ac5a6a6d
MacroHLE: Add Index Buffer size estimation.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
c541559767
MacroHLE: Refactor MacroHLE system.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
0f89828073
MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
a5a94f52ff
MacroHLE: Add MultidrawIndirect HLE Macro.
2023-01-01 16:43:57 -05:00
MonsterDruide1
d46c9c4659
TAS: Record sanitized instead of raw stick inputs
...
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2023-01-01 22:39:18 +01:00
Merry
bee395d2f0
vfs: Replace cstr concat with char concat
2023-01-01 18:52:02 +00:00
Liam
aa13ee5c4a
vulkan_common: unify VK_EXT_debug_utils and selection of validation layer
2023-01-01 11:59:47 -05:00
liamwhite
92103d4ff3
Merge pull request #9533 from merryhime/overcommit
...
host_memory: mmap changes for virtual_base
2023-01-01 10:24:07 -05:00
liamwhite
0b228fde15
Merge pull request #9514 from ColinKinloch/en_gb
...
settings: warn on invalid regon/language combinations
2023-01-01 10:23:46 -05:00
Merry
fd1831b65b
host_memory: Use transparent huge pages where available
2023-01-01 11:40:35 +00:00
Merry
4d7be85e73
host_memory: Allocate virtual_base with MAP_NORESERVE
...
Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
2023-01-01 11:40:35 +00:00
Colin Kinloch
28cfc2146f
settings: comment language blocklist columns
2022-12-30 13:51:35 +00:00
bunnei
05c709bebe
core: hid: emulated_console: Avoid a crash if frontend does not configure touch_from_button_maps.
2022-12-30 00:14:53 -08:00
bunnei
c3af6d8372
Merge pull request #9515 from liamwhite/cmake-refactor
...
CMake: make more features optional
2022-12-29 23:37:25 -05:00
Wollnashorn
1df5d12b19
config: Save multiplayer settings only globally
...
Saved multiplayer settings like the nickname, remote address, etc. were reset everytime a game was booted up and the game-specific config files were loaded, as these values will never be set.
2022-12-30 02:32:58 +01:00
Colin Kinloch
8594f287b8
settings: added regon/language warning bounds check
2022-12-29 15:55:24 +00:00
gidoly
10eaf31af3
Revert "k_page_group: synchronize"
2022-12-29 17:39:42 +09:00
liamwhite
9fdacb5e3a
Merge pull request #9423 from vonchenplus/vulkan_quad_strip
...
video_core: Implement all vulkan topology
2022-12-28 20:59:23 -05:00
ameerj
b0722591c9
hle_ipc: Use thread_local ReadBuffer
2022-12-28 18:46:54 -05:00
ameerj
a1490d77ac
hle_ipc: Rename ReadBufferSpan to ReadBuffer
2022-12-28 18:46:54 -05:00
ameerj
59c0f85407
hle_ipc: Rename ReadBuffer to ReadBufferCopy
...
Indicates explicitly that a copy is occurring
2022-12-28 18:46:54 -05:00
ameerj
7c1bf68bb4
bsd: Use std::span for read payloads
...
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:54 -05:00
ameerj
f517f82416
nvdrv: Use std::span for inputs
...
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:53 -05:00
ameerj
e7032d9e64
hidbus: Use ReadBufferSpan
2022-12-28 18:46:53 -05:00
Liam
c18cf05a06
cmake: make cubeb and SDL2 optional
2022-12-28 17:29:32 -05:00
bunnei
60419dd35e
Merge pull request #9504 from liamwhite/pg2
...
k_page_group: synchronize
2022-12-28 17:28:31 -05:00
Liam
be43b62d79
cmake: make libusb optional
2022-12-28 17:26:46 -05:00
Liam
106cf27135
cmake: make room server optional
2022-12-28 17:18:27 -05:00
Colin Kinloch
2ccf175324
settings: warn on invalid regon/language combinations
2022-12-28 20:34:28 +00:00
bunnei
c5de54d509
Merge pull request #9490 from ameerj/texture-cache-prealloc
...
texture_cache: Use pre-allocated heap buffer for texture swizzles
2022-12-27 00:07:35 -05:00
bunnei
343c01b87a
Merge pull request #9495 from german77/no_refresh
...
yuzu: Automatically refresh device list
2022-12-27 00:07:13 -05:00
Alexandre Bouvier
dce2649daf
tests: add missing header
...
<cstring> is needed for std::memcpy
2022-12-26 04:26:31 +00:00
FengChen
6a397bc8ed
video_core: Implement other missing vulkan topology
2022-12-26 12:20:49 +08:00
FengChen
86d5b4e556
video_core: Implement vulkan QuadStrip topology
2022-12-26 11:37:34 +08:00
ameerj
32d01a39b0
nvflinger: Split Parcel class into InputParcel and OutputParcel
...
The usages of the Parcel class were already unique to either Read or Write operations.
Avoids needing a vector of the input payload for the InputParcel use-case, instead it can remain as a span.
2022-12-25 17:19:10 -05:00
ameerj
7ffd624248
service: Use ReadBufferSpan where it is trivial to do so
2022-12-25 17:04:02 -05:00
MonsterDruide1
bc4126acd7
TAS: Increase accuracy of Stick inputs
2022-12-25 21:49:09 +01:00
ameerj
7584d36922
texture_cache: Use Common::ScratchBuffer for swizzle buffers
2022-12-25 15:47:41 -05:00
ameerj
1209d428f1
texture_cache: Use pre-allocated buffer for texture downloads
2022-12-25 15:38:36 -05:00
ameerj
c448b3af2f
texture_cache: Use pre-allocated buffer for texture uploads
2022-12-25 15:38:36 -05:00
Liam
28d9c30861
k_page_table: remove HACK_OpenPages/ClosePages
2022-12-25 13:43:49 -05:00
ameerj
fbc375f0de
fsp_srv: Use ReadBufferSpan
2022-12-25 13:21:15 -05:00
ameerj
9349f06963
hle_ipc: Add ReadBufferSpan function
...
Returns a std::span to the buffer address, rather than create a copy of the memory into a std::vector
2022-12-25 13:20:59 -05:00
Liam
3392fdac9b
k_page_group: synchronize
2022-12-25 12:55:21 -05:00
liamwhite
9933121256
Merge pull request #9500 from liamwhite/reentrant-shutdown
...
qt: prevent reentrant shutdown
2022-12-25 12:51:25 -05:00
liamwhite
c6767704fb
Merge pull request #9496 from liamwhite/shm3
...
kernel: workaround static shared memory initialization
2022-12-25 12:51:16 -05:00
liamwhite
ea70d9c79e
Merge pull request #9487 from liamwhite/look-at-the-time
...
time: add LockFreeAtomicType
2022-12-25 12:50:57 -05:00
Fernando S
3e6850f00b
Merge pull request #9453 from ameerj/scratch-vector
...
common: Add ScratchBuffer Class
2022-12-24 20:26:06 -05:00
Liam
cb7f0c2ec3
qt: prevent reentrant shutdown
2022-12-24 17:31:34 -05:00
liamwhite
c86e21abe4
qt: fix 'Pause' menu item ( #9497 )
2022-12-23 21:44:53 -05:00
Chris Oboe
201733d1b5
Disable automatically opening the console on windows yuzu-cmd builds ( #9485 )
...
* don't automatically open the console on windows build of yuzu-cmd
* fix formatting
2022-12-23 21:39:59 -05:00
liamwhite
db15142ac9
Merge pull request #9476 from liamwhite/async-shutdown
...
qt: continue event loop during game close
2022-12-23 21:05:10 -05:00
Liam
646656412f
qt: fix uninitialized memory usage
2022-12-23 20:57:36 -05:00
german77
c3a5522830
yuzu: Automatically refresh device list
2022-12-23 18:26:48 -06:00
Liam
99eccf581e
kernel: workaround static shared memory initialization
2022-12-23 13:40:30 -05:00
Liam
80670a5b6c
time: add LockFreeAtomicType
2022-12-21 22:36:55 -05:00
Liam
60ce34aa80
qt: exit properly on guest-initiated close
2022-12-21 19:55:01 -05:00
Liam
ae6015a69b
qt: use main window as close overlay parent
2022-12-21 19:27:11 -05:00
Liam
053ad04d3f
qt: continue event loop during game close
2022-12-20 09:16:08 -05:00
liamwhite
1b11e0f0d3
Merge pull request #9463 from liamwhite/manager-events
...
EmuThread: refactor
2022-12-20 09:10:41 -05:00
ameerj
c6590ad07b
scratch_buffer: Explicitly defing resize and resize_destructive functions
...
resize keeps previous data intact when the buffer grows
resize_destructive destroys the previous data when the buffer grows
2022-12-19 22:40:50 -05:00
liamwhite
6cb6b2da8e
Merge pull request #9480 from jbeich/vk-238
...
externals: update Vulkan-Headers to v1.3.238 to fix -Werror=switch with system package
2022-12-19 18:16:41 -05:00
ameerj
64869807e2
tests: Add ScratchBuffer tests
2022-12-19 18:08:04 -05:00
ameerj
61e4f2d931
dma_pusher: Rework command_headers usage
...
Uses ScratchBuffer and avoids overwriting the command_headers buffer with the prefetch_command_list
2022-12-19 18:08:04 -05:00
ameerj
bdef22ff85
buffer_cache: Use Common::ScratchBuffer for ImmediateBuffer usage
2022-12-19 18:08:04 -05:00
ameerj
4bc2d82130
video_core: Add usages of ScratchBuffer
2022-12-19 18:08:04 -05:00
ameerj
cfc34dd41d
common: Add ScratchBuffer class
...
This class creates a default initialized heap allocated buffer for cases where value initializing members during allocation or resize
is redundant.
2022-12-19 18:07:51 -05:00
ameerj
88ba5a7f22
common: add make_unique_for_overwrite
2022-12-19 18:07:42 -05:00
Matías Locatti
e44d1fe73c
Merge pull request #9474 from liamwhite/timer
...
kernel: add KHardwareTimer
2022-12-19 18:37:34 -03:00
Jan Beich
b60a93a936
externals: update Vulkan-Headers to v1.3.238
2022-12-19 17:14:29 +00:00
liamwhite
42d81aab32
Merge pull request #9471 from german77/input
...
input_common: Cleanup project
2022-12-19 11:09:00 -05:00
Morph
690a4c9438
overlay_dialog: Avoid starting the input thread if non-interactive
2022-12-19 00:00:03 -05:00
Morph
190ded7f48
overlay_dialog: Hide button dialog box when both buttons are hidden
...
This allows for the creation of a non-interactive dialog overlay to display system messages.
2022-12-18 23:54:56 -05:00
Liam
c770f25ccb
kernel: remove TimeManager
2022-12-18 20:21:24 -05:00
Liam
67c0d714c5
kernel: add KHardwareTimer
2022-12-18 16:37:19 -05:00
german77
cf01a507fb
input_common: Cleanup project
2022-12-18 15:33:11 -06:00
liamwhite
fcc93a445f
Merge pull request #9470 from german77/silenceIkillYou
...
service: nfc: Silence ListDevices
2022-12-18 15:11:13 -05:00
german77
79f1f326c7
service: nfc: Silence ListDevices
2022-12-18 11:57:33 -06:00
liamwhite
2724ffd6e3
Merge pull request #9469 from Rubo3/patch-1
...
Use execlp instead of execl to avoid failure
2022-12-18 11:46:43 -05:00
liamwhite
ee71404d71
Merge pull request #9467 from german77/folder
...
yuzu: Remember last selected directory
2022-12-18 10:21:33 -05:00
Marco Rubin
56b0f979eb
Use execlp instead of execl to avoid failure
2022-12-18 14:03:26 +00:00
german77
c218c7d4da
yuzu: Remember last selected directory
2022-12-18 00:37:06 -06:00
german77
f999d268f9
bootmanager: Use proper camera size
2022-12-18 00:13:18 -06:00
german77
c489cbee29
bootmanager: Encapsulate all QCamera code
2022-12-17 23:54:47 -06:00
german77
dffeca66fa
yuzu: fix device name setting
2022-12-17 23:54:36 -06:00
Matías Locatti
fd1ea0fd84
Enable compiler optimizations and enforce x86-64-v2 on GCC/Clang ( #9442 )
...
* Testing LTO (#4 )
* Testing LTO
* clang
* linux
* Added the rest of Blinkhawk's optimizations
* Unlikely asserts
* Removing LTO from Linux builds - GCC
* Removing LTO from Linux builds - Clang
2022-12-17 17:16:52 -08:00
bunnei
48108a8c9b
Merge pull request #9456 from german77/virtual_gamepad
...
input_common: Add virtual gamepad
2022-12-17 17:16:13 -08:00
Liam
92ce241d4d
qt: use _exit instead of exit on SIGINT
2022-12-17 16:26:25 -05:00
Liam
d3123079e8
EmuThread: refactor
2022-12-17 16:26:24 -05:00
liamwhite
5da72a891f
Merge pull request #7450 from FernandoS27/ndc-vulkan
...
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-17 16:08:10 -05:00
Mai
f8a7d6a0ae
Merge pull request #9461 from liamwhite/wanative
...
qt: avoid setting WA_DontCreateNativeAncestors on all platforms
2022-12-17 21:07:01 +00:00
Mai
da31326c17
Merge pull request #9454 from liamwhite/wayland-egl
...
qt: handle wayland-egl platform name
2022-12-17 21:05:46 +00:00
Liam
45672d43e3
qt: avoid setting WA_DontCreateNativeAncestors on all platforms
2022-12-17 10:41:20 -05:00
liamwhite
a3bac5550d
Merge pull request #9451 from ameerj/camera-data-array
...
camera: Use pre-allocated vector for camera data
2022-12-17 10:21:50 -05:00
liamwhite
4faea2bbf4
Merge pull request #9452 from ameerj/hle-read-buffer-resreve
...
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
2022-12-17 10:21:30 -05:00
liamwhite
fa10374d39
Merge pull request #9455 from Kelebek1/audio_signal
...
[audio_core] Signal buffer event on audio in/out system stop
2022-12-17 10:21:19 -05:00
liamwhite
98135dee16
Merge pull request #9457 from Kelebek1/silence_tfb
...
Remove unimplemented geometry transform feedback log spam
2022-12-17 10:21:05 -05:00
german77
243404bf34
input_common: Add virtual gamepad
2022-12-16 18:26:11 -06:00
ameerj
7bf4bec257
camera: Use pre-allocated vector for camera data
...
And avoid an unnecessary copy
2022-12-16 18:00:47 -05:00
Kelebek1
f7d95d0a3a
Remove unimplemented transform feedback geometry spam, it should be implemented
2022-12-16 22:52:29 +00:00
liamwhite
bbb202ceed
Merge pull request #6354 from ogniK5377/device-name
...
Set: Allow setting device nickname
2022-12-16 14:05:00 -05:00
liamwhite
789da737af
Merge pull request #9450 from ameerj/hle-ipc-vector-reserve
...
hle_ipc: Reserve vectors before populating
2022-12-16 11:57:48 -05:00
liamwhite
b541a35e27
Merge pull request #9444 from german77/free_threads
...
kernel: process: Implement GetFreeThreadCount
2022-12-16 11:57:42 -05:00
liamwhite
6bc1a477bf
Merge pull request #8605 from devsnek/graceful-shutdown
...
let games gracefully exit
2022-12-16 11:57:33 -05:00
liamwhite
9bfd4d880e
Merge pull request #6769 from lat9nq/create-shortcut-2
...
yuzu qt, common: Add option to create game shortcuts on Linux
2022-12-16 11:57:16 -05:00
Kelebek1
6a56f42f5d
Signal buffer event on audio in/out system stop, and force remove all registered audio buffers
2022-12-16 16:07:24 +00:00
Liam
b81caf1879
qt: handle wayland-egl platform name
2022-12-16 08:47:22 -05:00
ameerj
b1d633532f
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
...
Initializing the vector size during initialization is more efficient than a later call to resize()
2022-12-15 23:22:11 -05:00
ameerj
12c0f682e6
hle_ipc: Reserve vectors before populating
2022-12-15 22:30:42 -05:00
Narr the Reg
9ff891ce71
Merge pull request #9431 from liamwhite/sixty-five-oh-two
...
vulkan_common: declare storageBuffer8BitAccess
2022-12-15 17:52:16 -06:00
Matías Locatti
82d80869fc
Merge pull request #9430 from liamwhite/capable
...
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
2022-12-15 20:52:05 -03:00
Narr the Reg
20cbf6f3db
kernel: svc: Fix duplicated InfoType enum
2022-12-15 14:18:30 -06:00
Narr the Reg
dca4f0687a
kernel: process: Implement GetFreeThreadCount
...
Used by Just Dance® 2023 Edition
2022-12-15 13:44:21 -06:00
liamwhite
3ff7a5de1a
Merge pull request #7410 from Nefsen402/wayland-fixes
...
Wayland fixes
2022-12-15 12:05:01 -05:00
bunnei
beba9c9b61
Revert "hle: service: audio: Use default service thread."
2022-12-14 14:57:33 -08:00
liamwhite
a222f02c7a
Merge pull request #6688 from yzct12345/valid-intel-max
...
render_vulkan: Fix validation errors on less compatible Intel GPUs
2022-12-14 15:33:10 -05:00
FernandoS27
0104e28fe4
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-13 21:39:18 -05:00
Chloe Marcec
c5f519e1e4
Set: Allow setting device nickname
2022-12-13 19:54:17 -05:00
lat9nq
5a5bb91f40
main: Address review feedback
...
Moves icon path to ~/.local/share/icons, though I'm opting to avoid
using the game title for the icon and desktop entry name as that would
cause filenames such as
"yuzu-cadence-of-hyrule-crypt-of-the-necrodancer-featuring-the-legend-of-zelda-demo.desktop".
2022-12-13 19:23:54 -05:00
Liam
4fce72c902
vulkan_common: declare storageBuffer8BitAccess
2022-12-13 18:28:50 -05:00
Liam
77b0d01639
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
2022-12-13 18:25:53 -05:00
lat9nq
18bdf45868
yuzu qt: Create shortcuts on Linux
...
This creates a Desktop Entry file and a PNG icon for the entry when the
user right-clicks a game and selects "Create Shortcut -> Create
{Application,Desktop} Shortcut". This uses the current executable's path
to create the shortcut.
yuzu qt: Add more error checking and OS gating for shortcuts
main: Remove FreeBSD gating for shortcuts
I'm not going to test FreeBSD, so I don't know if they follow
Freedesktop.org or not. I just have to let someone else verify that it
works there and let them enable it.
main: Move shortcut function to its own function
This function should really be in a common library, at least among
frontends.
main: Remove image manip references
main: Fix difference in MinGW and native GCC versions
main: Fix negation in creat shortcut
Addresses review comment
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
main: Re-enable freedesktop shorcuts for FreeBSD
2022-12-13 16:42:00 -05:00
Alexander Orzechowski
09e3029c11
gl_device: Use a more robust way to use strict context mode
...
Instead of checking a environment variable which may not actually
exist or is just wrong, ask QT if it's running on the wayland
platform.
2022-12-13 15:01:51 -05:00
Alexander Orzechowski
2221afaf26
OpenGL: Check for threading support
...
We need this.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski
45fcde817e
wayland: Always use exclusive fullscreen
...
Wayland does not allow clients to choose their own size and position
on the screen. The concept of fullscreening an application by sizing
it to the screen and removing decorations does not exist. Use
exclusive fullscreen instead.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski
29fbce9fe6
RenderWidget: Set WA_DontCreateNativeAncestors
...
Some windowing systems like wayland are designed to show hardware accellerated
surfaces as subsurfaces and not native windows.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski
5754456292
emu_window_sdl2: Respect hidpi
...
Use SDL_GL_GetDrawableSize instead of SDL_GetWindowSize which
will return the true size our swapchain needs to be in even
for hidpi displays.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski
3cc3176ad6
video_core/vulkan: Explicity check swapchain size when deciding to recreate
...
Vulkan for whatever reason does not return VK_ERROR_OUT_OF_DATE_KHR when
the swapchain is the wrong size. Explicity make sure the size is indeed
up to date to workaround this.
2022-12-13 13:23:35 -05:00
Liam
d5f53da79d
renderer_opengl: refactor context acquire
2022-12-13 13:23:23 -05:00
Liam
179adee396
emu_thread: properly force shutdown for unresponsive guest programs
2022-12-12 21:38:20 -05:00
Gus Caplan
f44c60321e
let games gracefully exit
2022-12-12 21:18:32 -05:00
yzct12345
f6868ae4dd
Fix validation errors on less compatible Intel GPU
2022-12-12 20:53:05 -05:00
Narr the Reg
0ed80c9818
yuzu: Make unlimited frame rate non persistent between game boots
2022-12-12 19:21:30 -06:00
bunnei
339a37f8cb
Merge pull request #9398 from liamwhite/fail
...
general: improve handling of system startup failure
2022-12-12 14:37:42 -08:00
bunnei
da58eb6208
Merge pull request #9406 from vonchenplus/topology
...
video_core: Adjust topology update logic and Adjust Clear Manage
2022-12-12 14:37:06 -08:00
Narr the Reg
3e1e6c66c0
input_common: Filter SDL GUID
2022-12-12 10:37:55 -06:00
Mai
8ef9075b1b
Merge pull request #9420 from liamwhite/aniso
...
video_core: fix off by one in anisotropic filtering amount
2022-12-12 03:34:09 +00:00
Mai
0c531ff911
Merge pull request #9419 from liamwhite/no-gl
...
cmake: make OpenGL loader optional
2022-12-11 21:09:52 +00:00
Mai
d5684dbe7d
Merge pull request #9415 from liamwhite/dc
...
memory: correct semantics of data cache management operations
2022-12-11 21:09:31 +00:00
Liam
ed37192441
memory: correct semantics of data cache management operations
2022-12-11 12:46:34 -05:00
Matías Locatti
623429a27e
Merge pull request #9409 from liamwhite/smaa2
...
video_core: Integrate SMAA
2022-12-11 01:38:28 -03:00
Liam
456322dde6
video_core: fix off by one in anisotropic filtering amount
2022-12-10 20:54:45 -05:00
Liam
8d1d6e149f
cmake: make OpenGL loader optional
...
Co-authored-by: liushuyu <liushuyu@users.noreply.github.com>
2022-12-10 15:12:27 -05:00
Mai
a5bc86a9ac
Merge pull request #9417 from liamwhite/debug-assert
...
memory: remove DEBUG_ASSERT pointer test
2022-12-10 19:08:45 +00:00
Liam
e532b74e11
audio_core: remove explicitly defaulted and implicitly deleted constructors
2022-12-10 13:05:15 -05:00
Liam
985ed1e160
memory: remove DEBUG_ASSERT pointer test
2022-12-10 13:02:38 -05:00
liamwhite
f6e705737a
Merge pull request #9412 from Saalvage/fix/trace-log-compilation
...
Fix compilation error
2022-12-09 17:03:19 -05:00
Salvage
c586ac9be2
Remove the lock entirely as per PR discussion
...
Correctly unlock mutex before its destruction
As per https://en.cppreference.com/w/cpp/thread/mutex/~mutex destroying a locked mutex is undefined behavior and MSVC++ decides to throw in this case
Swap out unique for scoped lock and readd comment
2022-12-09 16:39:59 +01:00
Salvage
0e265db873
Fix compilation error
2022-12-09 14:49:15 +01:00
Liam
5b837157bd
video_core: Integrate SMAA
...
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com>
Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
2022-12-08 17:17:45 -05:00
FengChen
37014e9127
video_core: Add vertex_array_instance_* sbubbed called warning
2022-12-08 23:19:31 +08:00
FengChen
1e64b5e2ec
video_core: The draw manager manages whether Clear is required.
2022-12-08 23:10:52 +08:00
FengChen
15d63c3d3d
video_core: Adjust topology update logic
2022-12-08 22:40:28 +08:00
Fernando S
41461514d6
Merge pull request #9401 from vonchenplus/draw_manager
...
video_core: Implement maxwell3d draw manager and split draw logic
2022-12-08 12:41:39 +01:00
Feng Chen
bf0b957c05
video_core: Implement maxwell3d draw manager and split draw logic
2022-12-08 10:12:19 +08:00
Morph
bfdd512787
Merge pull request #9365 from liamwhite/val
...
vulkan_common: quiet some validation errors
2022-12-06 21:08:14 -05:00
Liam
9704acb982
general: improve handling of system startup failure
2022-12-06 16:13:42 -05:00
merry
e1f5f4bdea
Merge pull request #9370 from liamwhite/break-unmapped
...
core: add option to break on unmapped access
2022-12-06 20:20:20 +00:00
Fernando S
08d4e7c7af
Merge pull request #9393 from liamwhite/more-vulkan
...
vulkan_common: further initialization tweaks
2022-12-06 17:45:08 +01:00
liamwhite
4b7e73e0a6
Merge pull request #9392 from lioncash/reporter
...
reporter: Eliminate undefined behavior in SaveErrorReport
2022-12-06 11:27:00 -05:00
liamwhite
d8534ea140
Merge pull request #9390 from lioncash/keyboard
...
applets: Extract callback types into aliases
2022-12-06 11:26:53 -05:00
liamwhite
bbdb6d391e
Merge pull request #9389 from lioncash/emumove
...
emulated_console/emulated_controller: std::move ParamPackage instances where applicable
2022-12-06 11:26:46 -05:00
liamwhite
a86af1b776
Merge pull request #9386 from lioncash/init
...
kernel: Ensure relevant class members are always initialized on construction
2022-12-06 11:26:38 -05:00
liamwhite
a225ba4cda
Merge pull request #9391 from abouvier/cmake-sdl
...
cmake: use sdl2 imported target
2022-12-06 09:58:48 -05:00
liamwhite
e86e144a7c
Merge pull request #9387 from abouvier/cmake-libusb
...
cmake: prefer system libusb
2022-12-06 09:58:37 -05:00
Lioncash
dba84458be
configure_graphics: Make SPIRV backend string translatable
...
The parenthetical needs to be translatable, like with GLASM
2022-12-06 00:13:07 -05:00
Alexandre Bouvier
f385175aa2
cmake: prefer system libusb
2022-12-06 05:30:40 +01:00
liamwhite
04779b3d2a
Merge pull request #9369 from german77/mifare
...
service: nfc: Implement mifare service
2022-12-05 22:17:32 -05:00
liamwhite
90145c424d
Merge pull request #9360 from Kelebek1/R-E-S-P-E-C-T
...
Respect render mode override
2022-12-05 22:17:22 -05:00
Liam
7e7a23363a
vulkan_common: further initialization tweaks
2022-12-05 22:06:35 -05:00
Lioncash
eadc1ae1e7
reporter: Pass by const reference where applicable
...
Same behavior, but without memory churn.
2022-12-05 21:48:42 -05:00
Lioncash
e7f9f58fa4
reporter: Eliminate undefined behavior in SaveErrorReport
...
The optionals are unconditionally dereferenced when setting the custom
error text, and in a few cases this function is called using the default
value of the optionals.
This means we'd be dereferencing uninitialized storage.
Since they're used unconditionally, we can use value_or to set a default
when storage is uninitialized.
2022-12-05 21:31:34 -05:00
Alexandre Bouvier
e6ae720c33
cmake: use sdl2 imported target
2022-12-06 01:26:30 +01:00
Lioncash
fedd857054
applets/controller: Use aliases for callbacks
2022-12-05 19:06:04 -05:00
Lioncash
d8da9a2afd
applets/error: Use aliases for callbacks
2022-12-05 19:06:04 -05:00
Lioncash
2b40cdf04f
applets/mii_edit: Use aliases for callbacks
2022-12-05 19:06:04 -05:00
Lioncash
a84676c2aa
applets/profile_select: Use aliases for callbacks
...
Deduplicates callback definitions and situates it in one place.
2022-12-05 19:06:04 -05:00
Lioncash
e26c86a6e7
applets/web_browser: Use aliases for callbacks
...
Deduplicates a lot of long callback declarations
2022-12-05 19:06:04 -05:00
Lioncash
9bbb77637e
applets/software_keyboard: Use aliases for callbacks
...
Deduplicates really long std::function declarations to make the
interface nicer to read.
2022-12-05 19:06:01 -05:00
Lioncash
e4a16f50ef
emulated_controller: Remove unused parameter in GetMappedDevices()
...
This isn't used, so it can be removed to make the function a little
nicer.
2022-12-05 18:27:18 -05:00
Lioncash
87543b9dea
emulated_controller: Use std::move() in GetMappedDevices()
...
Avoids churning allocations in a loop.
2022-12-05 18:27:15 -05:00
Lioncash
7bf4b45349
emulated_console: Amend cast in SetTouch()
...
id is an int value, not a u32.
2022-12-05 18:15:23 -05:00
Lioncash
4255e30722
emulated_console: std::move() ParamPackages and callbacks where applicable
2022-12-05 18:15:19 -05:00
Lioncash
efa8711bf3
kernel/k_shared_memory: Ensure device_memory is always initialized
2022-12-05 15:27:57 -05:00
Lioncash
c3fd211b43
kernel/k_memory_block: Ensure members are always initialized
2022-12-05 15:27:47 -05:00
Lioncash
dcca650599
kernel/physical_core: Ensure is_interrupted is always initialized
2022-12-05 15:19:37 -05:00
Lioncash
dddc9bb8f1
kernel/thread: Ensure stack_top and argument are always initialized
2022-12-05 15:19:36 -05:00
Lioncash
4769d798f9
kernel/kernel: Ensure shutdown threads are always initialized
2022-12-05 15:19:36 -05:00
liamwhite
3b19f741bd
Merge pull request #6833 from abouvier/unbundle
...
cmake: prefer system libraries
2022-12-05 12:26:09 -05:00
Fernando Sahmkow
6352c5dc31
Vulkan: Implement Alpha coverage
2022-12-05 12:33:12 +01:00
Narr the Reg
752236caad
input_common: Allow mifare files
2022-12-04 20:02:48 -06:00
Mai
a52d0b82a6
Merge pull request #9381 from liamwhite/uninit
...
service_thread: fix uninitialized memory usage
2022-12-04 22:30:16 +00:00
Liam
cec3a3cd5a
service_thread: fix uninitialized memory usage
2022-12-04 16:02:24 -05:00
liamwhite
3b9db85646
Merge pull request #9232 from bunnei/audio-default-thread
...
hle: service: audio: Use default service thread.
2022-12-04 15:31:40 -05:00
liamwhite
522e7c5663
Merge pull request #9273 from ameerj/per-game-profile
...
Configuration: Add per-game input profiles
2022-12-04 13:38:01 -05:00
liamwhite
ec547824f1
Merge pull request #9372 from liamwhite/vk12
...
vulkan_common: promote extension usages to core when possible
2022-12-04 12:14:06 -05:00
Alexandre Bouvier
8e17b5469f
cmake: prefer system libraries
2022-12-04 17:09:25 +01:00
Liam
0cbfdf7ecb
yuzu-cmd: link SDL2 correctly
2022-12-04 10:59:58 -05:00
Liam
157981cac5
vulkan_common: add feature test for shaderDrawParameters
2022-12-04 10:55:13 -05:00
Liam
18831e0933
vulkan_common: clean up extension usage
2022-12-04 10:55:13 -05:00
Liam
ea56d8f388
vulkan_common: correct usage of timeline semaphore fallbacks
2022-12-04 10:55:13 -05:00
Liam
f23f875dd8
vulkan_common: ensure all mandatory features are tested in feature report
2022-12-04 10:55:13 -05:00
Liam
06a67d2bbd
vulkan_common: unsuffix 16-bit storage feature test structure
2022-12-04 10:55:13 -05:00
Liam
bbc1809951
vulkan_common: unsuffix timeline semaphore feature test structure
2022-12-04 10:55:13 -05:00
Liam
a9633ba8b2
vulkan_common: add logicOp to feature report
2022-12-04 10:55:13 -05:00
Liam
7fc6514be1
vulkan_common: promote host query reset usage to core
2022-12-04 10:55:13 -05:00
Liam
e44a804ec7
vulkan_common: promote descriptor update template usage to core
2022-12-04 10:55:13 -05:00
Liam
a948ab3e48
vulkan_common: promote timeline semaphore usage to core
2022-12-04 10:55:13 -05:00
liamwhite
02b10a6e4d
Merge pull request #9374 from liamwhite/externals
...
externals: update dynarmic, SDL2
2022-12-04 10:44:12 -05:00
Liam
6d2c597371
externals: update dynarmic, SDL2
2022-12-04 10:12:26 -05:00
bunnei
f77cc6c412
Merge pull request #9344 from liamwhite/null
...
video_core: add null backend
2022-12-03 11:23:25 -08:00
liamwhite
75e16547f8
Merge pull request #9300 from ameerj/pch
...
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
liamwhite
22aff09b33
Merge pull request #9289 from liamwhite/fruit-company
...
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
liamwhite
ac0721a4bc
Merge pull request #9353 from vonchenplus/draw_indexed
...
video_core: Fine tuning the index drawing judgment logic
2022-12-03 10:43:34 -05:00
Matías Locatti
c043ba8467
Merge pull request #9303 from liamwhite/new-vulkan-init
...
Vulkan: update initialization
2022-12-02 18:32:54 -03:00
Matías Locatti
9a5d8b356a
Merge pull request #9363 from liamwhite/gs
...
shader_recompiler: add gl_Layer translation GS for older hardware
2022-12-02 16:08:12 -03:00
Liam
6072b22a0b
core: add option to break on unmapped access
2022-12-02 08:25:45 -05:00
liamwhite
d8bd52c6f1
Merge pull request #9348 from Morph1984/when-the-network-is-down
...
service: nifm: Update stubs for Submit/GetRequestState/GetResult
2022-12-01 22:14:43 -05:00
Narr the Reg
a4725bcb73
service: nfc: Implement mifare service
2022-12-01 20:43:59 -06:00
Liam
3ef006b5ab
shader_recompiler: add gl_Layer translation GS for older hardware
2022-12-01 09:51:27 -05:00
Feng Chen
cb5400b34d
video_core: Fine tuning the index drawing judgment logic
2022-12-01 19:14:58 +08:00
Liam
be05cb640c
vulkan_common: quiet some validation errors
2022-11-30 19:18:05 -05:00
ameerj
5b5612c1cc
CMake: Consolidate common PCH headers
2022-11-30 18:30:30 -05:00
ameerj
3c39c0ac3e
string_util: Fix Mingw compile error
...
Co-Authored-By: liamwhite <9658600+liamwhite@users.noreply.github.com>
2022-11-30 18:26:26 -05:00
Fernando S
4e89979c87
Merge pull request #9320 from yuzu-emu/fix-audio-suspend
...
AudioCore: Take suspend lock when stalling the running process.
2022-11-30 16:41:32 +01:00
bunnei
8fd4e44014
audio_core: sink_stream: Hold the suspend lock when process is stalled.
...
- Prevents us from clashing with other callers trying to un/stall.
2022-11-29 20:32:06 -08:00
ameerj
51358d2b5e
CMake: Disable PCH on MSVC + Buildcache configs
2022-11-29 23:01:32 -05:00
Kelebek1
a78372110c
Respect render mode override
2022-11-30 01:43:36 +00:00
Morph
49219b8a86
Merge pull request #9349 from lat9nq/cmake-322
...
CMakeLists: Bump minimum required CMake version to 3.22
2022-11-29 19:41:47 -05:00
ameerj
37bc5118ea
CMake: Use precompiled headers
2022-11-29 18:50:49 -05:00
ameerj
cae6c13ffb
value.h: remove recursive include
2022-11-29 18:50:49 -05:00
liamwhite
d6b63239ae
Merge pull request #9308 from lat9nq/from-scratch
...
startup_checks: Use Windows flow for *nix
2022-11-29 18:45:39 -05:00
liamwhite
cafca891ea
Merge pull request #9322 from german77/pump_events
...
input_common: Pump SDL events from main thread
2022-11-29 18:45:25 -05:00
liamwhite
c845d8a9e8
Merge pull request #9352 from lioncash/vidcast
...
engines: Remove unnecessary casts
2022-11-29 18:45:16 -05:00
Lioncash
b6d93b2c77
host1x/syncpoint_manager: Eliminate unnecessary std::function construction
...
We can just pass the function object through, and if it's a valid
function, then it will automatically be converted.
2022-11-29 08:58:50 -05:00
Lioncash
c4af7b3f5c
host1x/syncpoint_manager: Pass DeregisterAction() handle as const-ref
...
The handle is only compared against and not modified in any way, so we
can pass it by const reference.
This also allows us to mark the respective parameters for
DeregisterGuestAction() and DeregisterHostAction() as const references
as well.
2022-11-29 08:55:33 -05:00
Lioncash
96ffc174aa
maxwell_3d: Mark shifted value as unsigned
...
Otherwise this is technically creating a signed int result that gets
converted. Just a consistency change.
While we're in the area, we can mark Samples() as const.
2022-11-29 08:39:33 -05:00
Lioncash
d7ec031419
engines: Remove unnecessary casts
...
In a few cases we have some casts that can be trivially removed.
2022-11-29 08:38:46 -05:00
liamwhite
55a3cbfa0d
Merge pull request #9340 from lioncash/nvdrv
...
nvdrv: Simplify builder declarations
2022-11-29 08:27:13 -05:00
liamwhite
55b546a110
Merge pull request #9347 from lioncash/vcast
...
video_core/surface: Eliminate casts in GetFormatType()
2022-11-29 08:26:39 -05:00
liamwhite
6b8ab9ed8f
Merge pull request #9346 from lioncash/vtable
...
producer_listener: Add virtual destructor to IProducerListener
2022-11-29 08:26:32 -05:00
liamwhite
a7f1fa7bfc
Merge pull request #9345 from lioncash/fence
...
consumer_base: Pass std::shared_ptr by const reference
2022-11-29 08:26:25 -05:00
liamwhite
b6373c5ea5
Merge pull request #9343 from lioncash/bounds
...
syncpoint_manager: Reduce redundant bounds checks
2022-11-29 08:26:16 -05:00
lat9nq
0941ae0b61
CMake: Directly link to SDL2-static when appropriate
...
Trying to be lazy and alias SDL2 to SDL2-static causes issues in later
versions of CMake. Just use the same condition to tell which one to use.
2022-11-28 23:21:14 -05:00
Morph
00fdffec58
service: nifm: Update stubs for Submit/GetRequestState/GetResult
2022-11-28 22:58:10 -05:00
Lioncash
a9efea8ae9
video_core/surface: Eliminate casts in GetFormatType()
...
We can just compare directly and get rid of verbose casting.
2022-11-28 20:25:44 -05:00
Liam
89dd7dc180
video_core: add null backend
2022-11-28 19:49:09 -05:00
Lioncash
25dda06f49
producer_listener: Add virtual destructor to IProducerListener
...
Several member variables are shared_ptr's to this base class. Even
though producer listeners are still unimplemented, this ensures we
always have consistent deletion behavior once this ends up being used
polymorphically.
2022-11-28 19:39:13 -05:00
ameerj
4cbbf590e3
configure_input_player: Fix profile saving when using handheld controller type
2022-11-28 19:22:18 -05:00
ameerj
3de05726eb
config: Custom profile detection fixes
...
Also only reads/writes applicable configs for the custom profiles.
2022-11-28 19:22:18 -05:00
ameerj
b1b20ad84a
configure_input_per_game: Allow configuring all 8 players
2022-11-28 19:22:18 -05:00
Lioncash
ae74f46e78
buffer_item_consumer: Pass fence by const-ref in ReleaseBuffer()
...
This isn't directly modified.
Also allows rvalues to be used with it.
2022-11-28 19:16:20 -05:00
Lioncash
3020f72b0c
buffer_queue_consumer: std::move std::shared_ptr in Connect()
...
Avoids an unnecessary reference count increment and decrement
2022-11-28 19:12:26 -05:00
Lioncash
c0c4f6dfa6
consumer_base: Pass shared_ptr by const reference
...
Avoids churning atomic reference count increments and decrements.
2022-11-28 19:09:44 -05:00
Lioncash
260a495a23
consumer_base: Remove redundant virtual
...
override already serves this purpose
2022-11-28 19:06:34 -05:00
Lioncash
7a329ae56c
syncpoint_manager: Mark IsSyncpointAllocated() as const
...
This doesn't modify class state at all.
2022-11-28 16:08:21 -05:00
Lioncash
d0883027d6
syncpoint_manager: Reduce number of bounds checks
...
The only time we need to check bounds is on the first access.
2022-11-28 16:06:01 -05:00
Morph
bbb963a31a
Merge pull request #9339 from lioncash/cacheheader
...
common/cache_management: Amend header includes
2022-11-28 13:12:20 -05:00
Morph
51abe35e05
Merge pull request #9338 from lioncash/properties
...
input_common/helpers: Mark analog property structs members as static constexpr
2022-11-28 13:12:14 -05:00
Morph
64ff79f919
Merge pull request #9337 from lioncash/pbr
...
common/input: Add helper functions for constructing input and output devices
2022-11-28 13:12:08 -05:00
Lioncash
ad787b20ca
nvdrv: Simplify builder declarations
...
We can just use auto here. If one of these ever happens to not be
derived from nvdevice, then this will cause a compilation error.
We can also move the devices into the collection to get rid of an
unnecessary atomic reference count increment and decrement.
2022-11-28 10:43:48 -05:00
Lioncash
c2c9b44749
common/cache_management: Amend header includes
...
Narrows the include in the header to <cstddef>, since that's what houses
size_t's definition, meanwhile the <cstdint> include can be moved into
the cpp file.
2022-11-28 10:19:53 -05:00
Lioncash
8265c167d3
input_common/helpers: Mark analog property structs members as static constexpr
...
These are const with no dependency on any other data members, so we can
make these static constexpr to reduce the overall object size.
2022-11-28 10:10:37 -05:00
Lioncash
780ae92265
core/hid/emulated_controller: Use ranges version of transform
...
Makes the transform calls much nicer to read.
2022-11-28 10:00:42 -05:00
Lioncash
2ec7d0b5fd
common/input: Add helpers functions for creating input and output devices
...
Avoids the redundancy of needing to explictly specify the common
namespace and the type.
2022-11-28 10:00:37 -05:00
Lioncash
7f42432f42
common/input: Pass ParamPackage by const reference in CreateDevice
...
This was previously being passed by value, which was unnecessary and
created more allocations than necessary.
2022-11-28 09:11:58 -05:00
Lioncash
e96f55b6e2
yuzu/main: Merge variable declaration into ifdef
...
This is only used in the non-Windows path.
2022-11-28 08:40:41 -05:00
liamwhite
6291eec700
Merge pull request #9325 from german77/default_by_default
...
yuzu-cmd: Fix default config value
2022-11-28 08:14:32 -05:00
german77
aaada241dc
yuzu-cmd: Fix default config value
2022-11-27 20:43:34 -06:00
liamwhite
6b64557ad6
Merge pull request #8829 from Docteh/qt6_0002
...
CMake: rework for Qt6 support
2022-11-27 17:56:22 -05:00
liamwhite
a2fde04da9
Merge pull request #9317 from german77/input-crash
...
yuzu-cmd: Fix input callback crash on close
2022-11-27 15:39:24 -05:00
Liam
2956a33463
Vulkan: update initialization
...
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
liamwhite
71f2b4ba8f
Merge pull request #9323 from german77/intructions
...
yuzu-cmd: Update configuration file description
2022-11-27 12:54:01 -05:00
german77
7d8095d944
input_common: Pump sdl events from main thread
2022-11-27 11:09:40 -06:00
german77
a67e776af9
yuzu-cmd: Fix input callback crash on close
2022-11-27 10:53:22 -06:00
bunnei
3ab8d9ac7c
Merge pull request #9276 from goldenx86/fsrSlider
...
FSR Sharpening Slider
2022-11-27 00:13:15 -08:00
Valeri
278c0e6e8d
crypto: use user-provided keys whenever possible
...
Solves an issue where autogenerated title keys would take precedence over those provided by user.
2022-11-27 05:08:25 +03:00
german77
4a46da6fb5
yuzu-cmd: Update configuration file description
2022-11-26 19:48:22 -06:00
bunnei
8f6245be9a
core: Use atomic instead of a lock to protect is_paused.
...
- This allows us to call IsPaused() elsewhere if we are holding the suspend lock.
2022-11-26 13:46:38 -08:00
Matías Locatti
701ca96827
Oops
2022-11-26 17:39:43 -03:00
Matías Locatti
26211ac339
Replace GLSL as the default OpenGL shader backend
...
GLASM is not very compatible with the latest games, and too many people have the special superpower to break their Vulkan support.
2022-11-26 17:27:04 -03:00
liamwhite
3e53d8138c
Merge pull request #9288 from vonchenplus/deferred_draw
...
video_core: Fine tune maxwell drawing trigger mechanism
2022-11-26 09:35:45 -05:00
liamwhite
ddca512f3f
Merge pull request #9307 from Morph1984/not-used-correctly
...
maxwell_to_vk: Fix format usage bits and add R16_SINT
2022-11-26 09:08:55 -05:00
Matías Locatti
972bd6cb54
Sharpness instead of Sharpening
2022-11-26 02:14:10 -03:00
lat9nq
19a640286c
configure_graphics: Implement custom FSR Sharpening setting
2022-11-25 22:42:54 -05:00
lat9nq
b670c350e4
settings: Reset FSR sharpening global state with the others
2022-11-25 22:42:24 -05:00
liamwhite
e16d1b85f1
Merge pull request #9297 from Kelebek1/sink_oob
...
[audio_core] Fix an OoB with sample sinking
2022-11-25 12:53:29 -05:00
bunnei
e8cbc3b4c5
Merge pull request #9304 from liamwhite/menu-roll
...
Qt: assign menuRole properties for actions
2022-11-25 00:38:50 -08:00
bunnei
64965cc658
Merge pull request #9305 from lioncash/request
...
hle_ipc: Add helper function for determining element counts
2022-11-25 00:38:17 -08:00
liamwhite
20b62dbd30
Merge pull request #9194 from FernandoS27/yfc-fermi2d
...
YFC - Fermi2D: Rework blit engine and add a software blitter.
2022-11-24 21:48:41 -05:00
Fernando Sahmkow
826e0785bf
Fermi2D: Cleanup and address feedback.
2022-11-24 21:00:48 +01:00
Fernando Sahmkow
3b582d5fb2
GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation.
2022-11-24 20:57:16 +01:00
Fernando Sahmkow
7356ab1de6
GPU: Implement additional render target formats.
2022-11-24 20:35:44 +01:00
Fernando Sahmkow
daf2ef8f1c
MaxwellDMA: Implement BlockLinear to BlockLinear copies.
2022-11-24 20:35:44 +01:00
Fernando Sahmkow
5fbd6954ef
Fermi2D: Implement Bilinear software filtering and address feedback.
2022-11-24 20:35:44 +01:00
Fernando Sahmkow
957840be91
Fermi2D: Rework blit engine and add a software blitter.
2022-11-24 20:35:44 +01:00
Kyle Kienapfel
a75542ad2d
CMake: rework for Qt6 support
...
This PR rearranges things in the CMake system to make compiling with Qt6 possible
1. Camera API has changed in Qt6, so the camera feature is disabled
2. A previous fix involving QLocale is now version gated.
3. QRegExp replaced with QRegularExpression, see #5343
4. Qt6_LOCATION option added to specify a location to search for Qt6
(see examples below)
5. windeployqt is used to copy Qt6 files into the build directory on Windows
Notes for Arch Linux
Arch install happened to have qt6-base qt6-declarative qt6-translations installed
mkdir build && cd build
cmake .. -GNinja -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF -DENABLE_QT6=YES -DYUZU_USE_BUNDLED_QT=NO
Windows (MSVC)
Qt wants users to download precompiled libraries via an online installer,
it is worth noting that the GPL/LGPL takes precendence over any ...
In the Qt Maintenance tool, under a version, such as 6.3.1
Select "MSVC 2019 64-bit"
Under Additional Libraries Qt Multimedia may be of use for Camera support
For the Web Applet I had to select the following:
PDF Positioning WebChannel WebEngine
mkdir build && cd build
cmake -G "Visual Studio 16 2019" -DQt6_LOCATION=C:/Qt/6.4.0/msvc2019_64/ \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=YES -DYUZU_USE_BUNDLED_QT=NO \
-DENABLE_QT_TRANSLATION=YES -DENABLE_QT6=YES ..
Some numbers for reference (msvc2019_64)
Qt5 (slimmed down) 508 MB
Qt5.15.2 all in 929 MB
Qt6.3.1 1.71 GB
Qt6.3.2 1.73 GB
Qt6.4.0-beta3 1.83 GB
Qt6.4.0 1.67 GB
2022-11-24 06:28:42 -08:00
Matías Locatti
f209e976f4
FSR Sharpening Slider part 1 - only a global slider
2022-11-24 04:22:13 -05:00
lat9nq
35319ca3a5
startup_checks: Use fmt::print, fix exec error handling
...
Uses fmt::print opposed to std::fprintf for error printing.
Call exit instead of returning to caller to prevent a like issue the
previous commit was trying to solve.
Removes unneeded comment.
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
Co-authored-by: Lioncash <mathew1800@gmail.com>
2022-11-23 21:59:24 -05:00
lat9nq
3e6c835a64
startup_checks: Use Windows flow for *nix
...
Spawns a child using fork and exec as opposed to fork alone. Workaround
for the macos file manager complaining about not supporting fork without
exec.
Control flow for *nix is now roughly the same as for Windows.
2022-11-23 21:35:47 -05:00
Morph
852de7a771
maxwell_to_vk: Add R16_SINT
...
This was somehow missed when the format was added to GL
2022-11-23 21:30:58 -05:00
Morph
ca154d466a
maxwell_to_vk: Fix format usage bits
...
- VK_FORMAT_B8G8R8A8_UNORM supports the STORAGE_IMAGE_BIT
- VK_FORMAT_R4G4B4A4_UNORM_PACK16 does not support the COLOR_ATTACHMENT_BIT
2022-11-23 21:29:43 -05:00
Lioncash
97f273e94e
service: Make use of buffer element count helpers
2022-11-23 13:43:20 -05:00
Lioncash
59335f6796
hle_ipc: Add helper functions for getting number of buffer elements
2022-11-23 13:15:19 -05:00
Lioncash
c31f19b6d1
hle_ipc: Mark relevant member functions as [[nodiscard]]
...
Will allow the compiler to complain about cases where ignoring the
return value would be a bug.
2022-11-23 13:08:52 -05:00
Liam
9abceaed61
Qt: assign menuRole properties for actions
2022-11-23 12:41:56 -05:00
Liam
9737615948
general: fix compile for Apple Clang
2022-11-22 22:22:28 -05:00
liamwhite
168c9ee341
Merge pull request #9299 from lioncash/cast
...
k_handle_table: Remove cast to void* in GetObjectForIpc
2022-11-22 17:47:53 -05:00
Lioncash
8d99aae45b
k_handle_table: Remove cast to void* in GetObjectForIpc
...
This was used to get around the KProcess class being incomplete. We can
just move this to the cpp file and eliminate the cast entirely, letting
the compiler do its work.
2022-11-22 13:58:42 -05:00
bunnei
f047f376d4
Merge pull request #9219 from german77/nfc_impl
...
service: nfc: Implement NFC IUser service
2022-11-22 10:28:38 -08:00
Kelebek1
84d4da89a5
Use the maximum input index for samples buffer span size, not just the input count
2022-11-22 15:32:11 +00:00
FengChen
1d57851fc7
video_core: Optimize maxwell drawing trigger mechanism
2022-11-22 17:53:26 +08:00
Morph
7e0f70e5a1
qt_amiibo_settings: Use WebClient only if ENABLE_WEB_SERVICE is enabled
...
Resolves compilation errors when ENABLE_WEB_SERVICE is disabled in CMake configuration
2022-11-21 15:22:17 -05:00
ameerj
9efdad6a27
Configuration: Add per-game input profiles
2022-11-20 14:06:31 -05:00
Morph
aab68674c0
Merge pull request #9279 from liamwhite/this-would-have-never-happened-in-rust
...
dmnt:cht: fix copy-paste error
2022-11-20 13:30:35 -05:00
liamwhite
7f1c6def1f
Merge pull request #9216 from vonchenplus/reimp_inline_index_buffer
...
video_core: Reimplement inline index buffer binding
2022-11-20 12:08:08 -05:00