Commit Graph

17636 Commits (8704c939136e88876d65fc670bce98d8250a6588)

Author SHA1 Message Date
german77 b0e83f949e service/vi: Update to 13.0.0 5 years ago
german77 321c64a122 service/am: Update to 13.0.0 5 years ago
german77 d103e2daf9 service/audio: Update to 13.0.0 5 years ago
german77 e401c77351 service/hid: Update to 13.0.0 5 years ago
german77 4b5f0af3fd service/btdrv: Update to 13.0.0 5 years ago
german77 f5b41068e6 service/usb: Update to 13.0.0 5 years ago
Morph 5114819b6b
Merge pull request #7078 from ameerj/vc-jthread-fixes
video_core: Fix jthread related hangs when stopping emulation
5 years ago
Feng Chen 7cd43b139a Fix KScopedAutoObject object leak when SendSyncRequest 5 years ago
Morph 7dd7c54add service: bsd: Stub Read
- Used by Diablo II: Resurrected
5 years ago
Morph 06f22c3d28 service: bsd: Implement Read
- Used by Diablo II: Resurrected
5 years ago
ameerj 73666fb262 general: Update style to clang-format-12 5 years ago
Morph c8512839d7
Merge pull request #7069 from lioncash/uuid
common/uuid: Add validity checking functions to interface
5 years ago
ameerj ab63a193d7 video_core: Fix jthread related hangs when stopping emulation
jthread on some compilers is more picky when it comes to the order in which objects are destroyed.
5 years ago
ameerj 1e1ecca691 vk_texture_cache: Disable cube compatibility flag on non-mesa AMD GCN4 and earlier
Fixes rainbow textures on BOTW.
5 years ago
Fernando Sahmkow d702b393a4 Vulkan Query Cache: make sure to wait for the query result. 5 years ago
Fernando Sahmkow 8fdb51ab46 QueryCache: Flush queries in order of running. 5 years ago
bunnei 326a449ef0
Merge pull request #7068 from behunin/patch-3
Debug Config Ui: Clean-up and nits
5 years ago
v1993 3e07655b1b
Use subdirectory of main data directory for QtWebEngine storage
Previously, an unrelated directory was used for this. Keep everything together for consistency.
5 years ago
bunnei 17bf40f405
Merge pull request #7045 from behunin/patch-1
Tas configure ui nits
5 years ago
Fernando Sahmkow 60a3980561 Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan. 5 years ago
Lioncash 091e141142 core/profile_select: Avoid uninitialized read in SelectProfile()
The default constructor of UUID doesn't initialize its data members, so
we need to directly initialize it to be invalid.
5 years ago
Lioncash 40314cc586 common/uuid: Add validity checking functions to interface
Given we have a function to invalidate, we should also have ones to
query the validity. Also makes the code more straightforward to read.
5 years ago
Levi Behunin 2b3c9c61db Clean-up and nits
Remove redundent label, rearange checkboxs to keep same 3 per column layout, remove unneeded properties.
5 years ago
Levi Behunin 77e327dd1a Clean-up
Numerize names, remove unneeded properties and spacer.
5 years ago
bunnei 7b22d61fb1
Merge pull request #7003 from ameerj/unlocked-present-mode
vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS is unlocked
5 years ago
Ameer J cd973d6037
Merge pull request #7017 from FernandoS27/i-am-barbie-girl
Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.
5 years ago
ameerj 24049591f6 maxwell_dma: Minor refactoring 5 years ago
ameerj 1ea8073783 buffer_cache: Minor fixes
Loop through the tmp_intervals by reference, rather than by copy, and fix gl clear buffer size calculation.
5 years ago
bunnei a9c3619d26
Merge pull request #7019 from ameerj/videocore-jthread
videocore: Use std::jthread for worker threads
5 years ago
Levi Behunin ad85689417
Tas configure ui nits
Text looked cramped on my pc (Ubuntu 21.04). Re-flowed text as well for nicer read.
5 years ago
german77 75d8ec1e9f UI: Relocate tas menu and add brief description 5 years ago
german77 5401cf6eb5 input_common/tas: new update method 5 years ago
german77 33a1d790e8 input_common/tas: Document the main class 5 years ago
german77 e6c4bf52f0 input_common/tas: Add swap controller 5 years ago
german77 9bb6580d89 input_common/tas: overwrite file dialog 5 years ago
MonsterDruide1 f078b15565 input_common/tas: Fallback to simple update 5 years ago
german77 c01a872c8e config: Move TAS options to it's own menu 5 years ago
MonsterDruide1 4297d2fea2 core: Hacky TAS syncing & load pausing
To keep the TAS inputs synced to the game speed even through lag spikes and loading zones, deeper access is required.

First, the `TAS::UpdateThread` has to be executed exactly once per frame. This is done by connecting it to the service method the game calls to pass parameters to the GPU: `Service::VI::QueueBuffer`.

Second, the loading time of new subareas and/or kingdoms (SMO) can vary. To counteract that, the `CPU_BOOST_MODE` can be detected: In the `APM`-interface, the call to enabling/disabling the boost mode can be caught and forwarded to the TASing system, which can pause the script execution if neccessary and enabled in the settings.
5 years ago
MonsterDruide1 3a7b37238b main: TAS Playback state label
During script playback/recording, the user has to see what happens currently. For that, a new label has been added to the bottom-left corner, always displaying the current state of the TASing system.
5 years ago
MonsterDruide1 f25d6ebc45 settings: File selector & other settings
First of all, TASing requires a script to play back. The user can select the parent directory at `System -> Filesystem`, next to an option to pause TAS during loads: This requires a "hacky" setup deeper in the code and will be added in the last commit.

Also, Hotkeys are being introduced: CTRL+F5 for playback start/stop, CTRL+F6 for re-reading the script and CTRL+F7 for recording a new script.
5 years ago
MonsterDruide1 b42c3ce21d input_common/tas: Base playback & recording system
The base playback system supports up to 8 controllers (specified by `PLAYER_NUMBER` in `tas_input.h`), which all change their inputs simulataneously when `TAS::UpdateThread` is called.

The recording system uses the controller debugger to read the state of the first controller and forwards that data to the TASing system for recording. Currently, this process sadly is not frame-perfect and pixel-accurate.

Co-authored-by: Naii-the-Baf <sfabian200@gmail.com>
Co-authored-by: Narr-the-Reg <juangerman-13@hotmail.com>
5 years ago
bunnei 35f46fc079
Merge pull request #7020 from Moonlacer/remove_audio_stretching
Remove audio stretching
5 years ago
Valeri 738cd1896b
If not on Windows, disable raw input
This way, if someone copies their Windows config to other OS, they won't be stuck without web applet for no apparent reason.
5 years ago
Valeri b54bf126f7
Hide XInput bypass on non-Windows OSes
Follow-up to #6950. This option is a no-op on other OSes and only serves to spread confusion there.
5 years ago
bunnei 6d7801deb7
Merge pull request #6950 from german77/multiplay
input_common: Add advanced setting for 8 player support
5 years ago
bunnei d4ee94165f
Merge pull request #7015 from german77/NotGoodForTerra
ngct: Stub Match
5 years ago
bunnei ff54d9615f
Merge pull request #7011 from ameerj/vk-validation-0x0
vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors
5 years ago
ameerj 22162f906b host_shaders: Remove opengl_copy_bgra.comp 5 years ago
ameerj ab808fe7cf gl_texture_cache: Migrate BGRCopyPass from util_shaders
The BGR copies no longer use shaders.
5 years ago
Fernando S a606b1448b
Merge pull request #7027 from ameerj/sorry-amd
vulkan_device: Reorder Float16Int8 declaration
5 years ago
ameerj e3c153efa4 vulkan_device: Reorder Float16Int8 declaration
This variable was going out of scope before its usage in the vulkan device creation, causing a crash on very specific drivers.
5 years ago
ameerj 5601e1cb00 Revert "Merge pull request #7006 from FernandoS27/a-motherfucking-driver"
This reverts commit 62e88d0e74, reversing
changes made to edf3da346f.
5 years ago
bunnei f6d5444293
Merge pull request #7010 from Morph1984/fs-timestamp
vfs: Partially implement GetFileTimeStampRaw
5 years ago
Moonlacer 371feaa635 fix_clang_error 5 years ago
ameerj 7f737b022a util_shaders: Unify BGRA copy passes 5 years ago
Moonlacer 09ab819040 fix_accidental_deletion 5 years ago
Moonlacer 44135b011f remove-audio-stretching-setting 5 years ago
ameerj 84f7e7e91c vk_scheduler: Use std::jthread 5 years ago
ameerj 877cd60b00 gpu: Use std::jthread for async gpu thread 5 years ago
ameerj c2ddda2f51 threadsafe_queue: Add std::stop_token overload to PopWait
Useful for jthreads which make use of the threadsafe queues.
5 years ago
lat9nq 7bc07195c5 audin_u: Return a buffer event in RegisterBufferEvent
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
5 years ago
lat9nq 17b0955f9a audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
This also moves IAudioIn's definition to the header.

Required for Splatoon 2 LAN play.
5 years ago
Fernando Sahmkow 13471ddf86 Build System: Build with JCC Erratum Mitigation 5 years ago
Fernando Sahmkow 8984abfc76 Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan. 5 years ago
Narr the Reg b34b3efbb2
ngct: Stub Match
Needed for  Cruis'n Blast
5 years ago
Morph 2df2b3719a renderers: Log total pipeline count 5 years ago
Morph 8d63ebcb64 vfs: Partially implement GetFileTimeStampRaw
Gets rid of homebrew warnings using this func
5 years ago
bunnei 081ccc6441
Merge pull request #7009 from ameerj/main_process_cleanup
core: Destroy main_process during shutdown
5 years ago
ameerj 67f7a6c398 core: Destroy main_process during shutdown
The main_process was never being cleaned up, causing a noticeable memory leak after subsequent launches. This change cleans up the memory during Core Shutdown, mitigating the leak.
5 years ago
ameerj db1c4b125f vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors
This validation error is spammed on some titles, asserting that VkDescriptorSet 0x0[] was destroyed.

This is likely a validation layer bug when using VK_KHR_push_descriptor, which can avoid using traditional VkDescriptorSet. It should be safe to ignore for now.
5 years ago
Morph d86a9b9a4b
Merge pull request #6943 from FernandoS27/omae-wa-mou-shindeiru
Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD
5 years ago
Fernando Sahmkow 7a712da2b3 Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD since it's broken. 5 years ago
Morph 62e88d0e74
Merge pull request #7006 from FernandoS27/a-motherfucking-driver
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
5 years ago
Mai M edf3da346f
Merge pull request #7005 from Morph1984/enum-bitwise-shift-ops
common_funcs: Add enum flag bitwise shift operator overloads
5 years ago
Morph fde9b84b21
Merge pull request #6944 from FernandoS27/dear-drunk-me
Vulkan/Descriptors: Increase sets per pool on AMD propietary driver.
5 years ago
Fernando Sahmkow e7c8a0bb23 Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1 5 years ago
Fernando S 1bb28dfe2c
Merge pull request #7001 from ameerj/wario-fix
vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled
5 years ago
Fernando Sahmkow e7ca37b1e5 Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver. 5 years ago
Morph 3512cae623 common_funcs: Add enum flag bitwise shift operator overloads
This adds bitwise shift operator overloads (<<, >>, <<=, >>=) in the macro DECLARE_ENUM_FLAG_OPERATORS(type)
5 years ago
Ameer J d180fd7c36
Merge pull request #7000 from Morph1984/create-dir-comment
FS: Mark recursive CreateDirectory as inaccurate and temporary
5 years ago
ameerj 35e5a67a83 vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS is unlocked
Allows drivers that do not support VK_PRESENT_MODE_MAILBOX_KHR the ability to present at a framerate higher than the monitor's refresh rate when the FPS is unlocked.
5 years ago
Mai M e4318d2207
Merge pull request #7002 from ameerj/vk-state-unused
vk_state_tracker: Remove unused function
5 years ago
ameerj 678f73069f vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled
This function was incorrectly using the stencil_two_side_enable register when dynamically updating the StencilOp.
5 years ago
ameerj 8e289ade15 vk_state_tracker: Remove unused function 5 years ago
Morph 727f607e00 FS: Mark recursive CreateDirectory as inaccurate and temporary 5 years ago
Morph 9248442bb2
Merge pull request #6948 from ameerj/amd-warp-fix
shaders: Fix warp instructions on 64-thread warp devices
5 years ago
Morph 4ab549e62a
Merge pull request #6975 from ogniK5377/acc-async-ctx
account: EnsureTokenIdCacheAsync
5 years ago
Morph f0f416e85c
Merge pull request #6974 from ogniK5377/fs-recursive-createdir
FS: Recursively create directories for CreateDirectory
5 years ago
Morph 9907302465
Merge pull request #6997 from ameerj/stop-emulation-confirmation
main: Apply confirm exit setting in exit locked scenarios
5 years ago
Morph 3428232bca
Merge pull request #6992 from german77/brains
hid/am: Stub SetTouchScreenConfiguration and implement GetNotificationStorageChannelEvent
5 years ago
Morph 74030eb427
Merge pull request #6987 from Morph1984/common-error
common: Move error handling functions out of common_funcs
5 years ago
Morph 47b6f522bd
Merge pull request #6986 from Morph1984/version-update
api_version: Update and add AtmosphereTargetFirmware
5 years ago
ameerj 188cf1aed2 main: Apply confirm exit setting in exit locked scenarios
Some titles set an exit lock through HLE, which prompts an exit confirmation when stopping emulation if the system is locked.
This change allows bypassing this confirmation if the setting to confirm exits has been disabled by the user.
5 years ago
Morph e67463df24 shader_environment: Add missing <algorithm> include 5 years ago
Morph 63b4c8f9f7 vk_descriptor_pool: Add missing <algorithm> include 5 years ago
Morph 76abf55f25 slot_vector: Add missing <algorithm> include 5 years ago
Morph 554c46d186 video_core/memory_manager: Add missing <algorithm> include 5 years ago
Morph 6f307f1521 kernel: Add missing <functional> include 5 years ago
Morph 4a6a73e887 file_sys/kernel_executable: Add missing <string> include 5 years ago
Morph ae028ddf22 codec: Add missing <string_view> include 5 years ago
Morph eb1e3f19bb common_funcs: Replace <algorithm> with <iterator> 5 years ago
Morph 290afc00d3 common: Move error handling to error.cpp/h
This allows us to avoid implicitly including <string> every time common_funcs.h is included.
5 years ago
Fernando S be4e192903
Merge pull request #6846 from ameerj/nvdec-gpu-decode
nvdec: Add GPU video decoding for all capable drivers and platforms
5 years ago
Fernando S 82c867164b
Merge pull request #6901 from ameerj/vk-clear-bits
vk_rasterizer: Only clear depth/stencil buffers when specified in attachment aspect mask
5 years ago
Fernando S ec6490f5ad
Merge pull request #6941 from ameerj/swapchain-srgb
vk_swapchain: Prefer linear swapchain format when presenting sRGB images
5 years ago
Fernando S 472aad69db
Merge pull request #6953 from ameerj/anv-semaphore
renderer_vulkan: Wait on present semaphore at queue submit
5 years ago
Fernando S 55854c807d
Merge pull request #6981 from ameerj/nvflinger-hb-format
nvflinger: Use external surface format for framebuffer creation
5 years ago
german77 9bddcdac69 am: Implement GetNotificationStorageChannelEvent 5 years ago
german77 a7bbd37f81 hid: Stub SetTouchScreenConfiguration 5 years ago
german77 5798537ce4 input_common: Enable steam controllers and 8 player support 5 years ago
Morph c9710f6c78 api_version: Update and add AtmosphereTargetFirmware 5 years ago
bunnei 7e9163779d
Merge pull request #6962 from vonchenplus/spirv_support_legacy_attribute
renderer_vulkan: Spirv support glsl  legacy attribute
5 years ago
Chloe 005b0e68db
Addressed issues
Co-authored-by: Mai M. <mathew1800@gmail.com>
5 years ago
Chloe Marcec 543081e4a1 Mark is_complete as atomic 5 years ago
Chloe Marcec 89958e27aa Addressed issues 5 years ago
Fernando S 6b16f7807e
Merge pull request #6980 from vonchenplus/fix_blend_equation_error
Fix blend equation enum error
5 years ago
Ameer J eb1ba45c39
Merge pull request #6971 from bunnei/buffer-queue-kevent
core: hle: service: buffer_queue: Improve management of KEvent.
5 years ago
Feng Chen b1e655f898 Detail adjustment 5 years ago
Feng Chen bbc1800c1b Detail adjustment 5 years ago
Feng Chen e5ca733722 Re-implement get unused location 5 years ago
Feng Chen 9cdf2383e9 Move attribute related definitions to spirv anonymous namespace 5 years ago
german77 4bc3c788f5 input_common: Add alternative string for joycons 5 years ago
ameerj 9e2bf49677 nvflinger: Use external surface format for framebuffer creation
The format member the IGBPBuffer may not always specify the correct desired format. Using the external format member ensures a valid format is provided when creating the framebuffer.

Fixes homebrew using the wrong framebuffer format.
5 years ago
Ameer J ab73787d8f
Merge pull request #6977 from Moonlacer/master
Second part of Golden's PR #6976
5 years ago
Feng Chen 0292374807 Fix blend equation enum error 5 years ago
Moonlacer bdd153bc0d Second part of Golden's PR 5 years ago
Matías Locatti 296fa4e06e
Rename all shader cache references to pipeline cache
After Hades, both OpenGL and Vulkan use a pipeline cache instead of single stages of the graphics pipeline. Renamed the Remove menu entries to match.
5 years ago
Chloe Marcec 9141816b10 address name shadowing with system 5 years ago
Chloe Marcec 4e2aa50cef account: EnsureTokenIdCacheAsync
Closes #2547, #6946
5 years ago
bunnei 51ccc29cdd
Merge pull request #6965 from bunnei/cpu_manager_jthread
core: cpu_manager: Use jthread.
5 years ago
Chloe Marcec 0b891c9245 FS: Recursively create directories for CreateDirectory
Originally we only created the parent directory, this caused issues for creating directories which also contained subdirectories, eg `/Folder1/Folder2`

This allows the ultimate mod manager homebrew to at least boot
5 years ago
Feng Chen 1de9e4e121 Dynamic get unused location 5 years ago
Feng Chen d994466a08 Implement intput and output fixed fnc textures 5 years ago
bunnei e05bfd2f54 core: hle: service: buffer_queue: Improve management of KEvent. 5 years ago
bunnei fb3e9314b9 core: hle: service: nvflinger/vi: Improve management of KEvent. 5 years ago
bunnei 25a97e0139 core: cpu_manager: Use jthread. 5 years ago
Feng Chen a7bbaa4897 Rename parameters 5 years ago
Feng Chen cf26f375ff Fix create GraphicsPipelines crash 5 years ago
ameerj 7d854fbdb0 renderer_vulkan: Wait on present semaphore at queue submit
The present semaphore is being signalled by the call to acquire the
swapchain image. This semaphore is meant to be waited on when rendering
to the swapchain image. Currently it is waited on when presenting, but
moving its usage to be waited on in the command buffer submission allows
for proper usage of this semaphore.

Fixes the device lost when launching titles on the Intel Linux Mesa driver.
5 years ago
Feng Chen 1e2a89d306 Add input/output location 5 years ago
bunnei b2572a56d3
Merge pull request #6900 from ameerj/attr-reorder
structured_control_flow: Add DemoteCombinationPass
5 years ago
german77 c57e0b3b24 common/logging: Add missing include 5 years ago
ameerj d956fb3c7c emit_glsl_warp: Fix shuffle ops for 64-thread warp sizes 5 years ago
ameerj 5b45dfe971 emit_glsl_warp: Fix ballot related ops for 64-thread warp sizes 5 years ago
ameerj a5d9dcf3d9 emit_spirv_warp: Fix shuffle ops for 64-thread warp sizes 5 years ago
ameerj 95213270ef emit_spirv_warp: Fix ballot related ops for 64-thread warp sizes 5 years ago
bunnei 956171f024
Merge pull request #6897 from FernandoS27/pineapple-does-not-belong-in-pizza
Project <tentative title>: Rework Garbage Collection.
5 years ago
Feng Chen 73b11f390e Add colorfront and txtcoord support 5 years ago
bunnei 122eb3cbd0
Merge pull request #6928 from ameerj/spirv-get-frontface
emit_spirv_context_get_set: Fix Get FrontFace return value
5 years ago
bunnei ec19d9594f
Merge pull request #6879 from ameerj/decoder-assert
vk_blit_screen: Fix non-accelerated texture size calculation
5 years ago
ameerj 907dfbea71 structured_control_flow: Skip reordering nested demote branches.
Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being.
5 years ago
ameerj 4fda7f1c82 structured_control_flow: Conditionally invoke demote reorder pass
This is only needed on select drivers when a fragment shader discards/demotes.
5 years ago
Fernando Sahmkow fe0acec539 Garbage Collection: Make it more agressive on high priority mode. 5 years ago
Fernando Sahmkow ff48f06fb9 Garbage Collection: Adress Feedback. 5 years ago
bunnei 5f19b66189
Merge pull request #6905 from Morph1984/nifm-misc
nifm/network_interface: Cleanup and populate fields in GetCurrentNetworkProfile
5 years ago
ameerj 27f8f3333f vulkan_device: Enable VK_KHR_swapchain_mutable_format if available
Silences validation errors when creating sRGB image views of linear swapchain images
5 years ago
ameerj 3c65c8580f vk_swapchain: Prefer linear swapchain format when presenting sRGB images
Fixes broken sRGB when presenting from a secondary GPU.
5 years ago
bunnei 4e88989435
Merge pull request #6921 from ameerj/vp9-unused
vp9_types: Remove unusued VP9 info struct members
5 years ago
Morph 7d2265b6a8
Merge pull request #6927 from german77/ngct
ngct: Stub NGCT:U service
5 years ago
Fernando Sahmkow ba82bb359b Garbage Collection: enable as default, eliminate option. 5 years ago
Fernando Sahmkow d540d284b5 VideoCore: Rework Garbage Collection. 5 years ago
ameerj 862dc2b2b3 structured_control_flow: Add DemoteCombinationPass
Some drivers misread data when demotes are interleaved in the program. This moves demote branches to be checked at the end of the program.
Fixes "wireframe" issue in Pokemon SwSh on some drivers
5 years ago
german77 f134a5e56c ngct: Stub NGCT:U service 5 years ago
Morph 790a09bc93
Revert "logging: Display backtrace on crash" 5 years ago
Morph c1e2063c0d service: nifm: Populate fields in GetCurrentNetworkProfile
Populates the current_address, subnet_mask, and gateway fields from the selected network interface.
5 years ago
Morph 878d0225c5 service: nifm: Cleanup GetCurrentIpConfigInfo 5 years ago
Morph 871e1c6315 network_interface: Cleanup code 5 years ago
Morph a32a7dacf4 network_interface: Replace default return value with std::nullopt 5 years ago
ameerj 6e407c02d8 emit_spirv_context_get_set: Fix Get FrontFace return value
The IR expects GetAttribute to return an F32 value. This case was returning a U32 instead.
5 years ago
bunnei d10d480642
Merge pull request #6870 from yzct12345/trace-back-stack-back-stack-back
logging: Display backtrace on crash
5 years ago
bunnei 0c8594b225
Revert "kernel: Various improvements to scheduler" 5 years ago
ameerj eb2624ed65 vp9_types: Minor refactor of VP9 info structs. 5 years ago
ameerj 3de38c9a70 vp9_types: Remove unused Vp9PictureInfo members 5 years ago
Fernando S 3843995ceb
Merge pull request #6919 from ameerj/vk-int8-capability
vulkan_device: Add a check for int8 support
5 years ago
Ameer J de71a4d70d
Merge pull request #6894 from FernandoS27/bunneis-left-ear
GPU_MemoryManger: Fix GetSubmappedRange.
5 years ago
ameerj 4d535799eb vulkan_device: Add a check for int8 support
Silences validation errors when shaders use int8 without specifying its support to the API
5 years ago
ameerj 84b4ac5729 logging: Fix log filter during initialization
The log filter was being ignored on initialization due to the logging instance being initialized before the config instance, so the log filter was set to its default value.

This fixes that oversight, along with using descriptive exceptions instead of abort() calls.
5 years ago
Ameer J bed0c3c92a
Merge pull request #6878 from BreadFish64/optimize-GetHostThreadID
kernel: Optimize GetHostThreadID
5 years ago
bunnei 7eb4542c1d
Merge pull request #6912 from lioncash/plural
CMakeLists: Ensure proper numerusform tags are generated for pluralized translations
5 years ago
bunnei f65f8b9097
Merge pull request #6869 from yzct12345/shiny-logs-in-the-fireplace
logging: Simplify and make thread-safe
5 years ago
Lioncash 6fef91ce4c CMakeLists: Ensure proper numerusform tags are generated for pluralized translations
If we don't set an explicit source and target language for the base
english translation, then we'll generate an incorrect number of
<numerusform> tags (which Transifex doesn't like).
5 years ago
Morph c4a1d3cbf4 settings: Amend language_index maximum setting range
The maximum is now 17 with the addition of Brazilian Portuguese
5 years ago
ameerj e0397f00d0 vk_rasterizer: Only clear depth and stencil buffers when set in attachment aspect mask
Silences validation errors for clearing the depth/stencil buffers of framebuffer attachments that were not specified to have depth/stencil usage.
5 years ago
Ameer J bde6b899a1
Merge pull request #6888 from v1993/patch-3
video_core: eliminate constant ternary
5 years ago
bunnei 455e28790a
Merge pull request #6877 from MerryMage/dyn-ignore-asserts
dynarmic: Update and enable DYNARMIC_IGNORE_ASSERTS
5 years ago
Mai M 519978ce70
Merge pull request #6887 from v1993/patch-2
SPIR-V: Merge two ifs in EmitGetAttribute
5 years ago
Mai M 0821d95399
Merge pull request #6886 from Morph1984/error-code-64
applet_error: Fix 64-bit error code conversion
5 years ago
Fernando Sahmkow ef2066b272 GPU_MemoryManger: Fix GetSubmappedRange. 5 years ago
Valeri d82fc52cea
Replace QPoint with QPointF where applicable
Previously, floats were implicitly cast to integers
5 years ago
Valeri 40674b8e22
qt_software_keyboard: fix copy-paste error 5 years ago
Valeri 4fd655cb46
video_core: eliminate constant ternary
`via_header_index` is already checked above, so it would never be true in this branch
5 years ago
Morph 9cb376f8c2 applet_error: Fix 64-bit error code conversion 5 years ago
Valeri beb7305b73
SPIR-V: Merge two ifs in EmitGetAttribute 5 years ago
Valeri ab02addde3
Fix crash in logging in CreateStrayLayer
It was trying to log value of layer_id which is specifically known not to exist, potentially leading to segfault. Log display_id instead.
5 years ago
Valeri 0b3d12be40
Fix check is thread current in GetThreadContext
Misplaced break made it only check for the first core.
5 years ago
bunnei aa40084c24
Merge pull request #6832 from bunnei/scheduler-improvements
kernel: Various improvements to scheduler
5 years ago
ameerj b384129c63 h264: Lower max_num_ref_frames
GPU decoding seems to be more picky when it comes to the maximum number of reference frames.
5 years ago
ameerj cd016d3cb5 configure_graphics: Add GPU nvdec decoding as an option
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference.

Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
5 years ago
ameerj a832aa699f codec: Improve libav memory alloc and cleanup 5 years ago
ameerj bc3efb79cc codec: Fallback to CPU decoding if no compatible GPU format is found 5 years ago
lat9nq 92bc51b66a cmake: Add VDPAU and NVDEC support to FFmpeg
Adds {h264_,vp9_}{nvdec,vdpau} hwaccels.
5 years ago
ameerj 537c6ac8fe vk_blit_screen: Fix non-accelerated texture size calculation
Addresses the potential OOB access in UnswizzleTexture.
5 years ago
Fernando S 521e6ac174
Merge pull request #6863 from spholz/fix-lan-play
Fix LAN Play
5 years ago
BreadFish64 14e93f133a kernel: Optimize GetHostThreadID 5 years ago
Sönke Holz 356dbf4d1d network_interface: correct formatting 5 years ago
spholz dc47b5a5bf network_interface: fix mingw-w64 build 5 years ago
Sönke Holz 70419f7a17 network: retrieve subnet mask and gateway info 5 years ago
Merry 1770503185 xbyak: Update include path 5 years ago
bunnei 87d63b858a
Merge pull request #6861 from yzct12345/const-mempy-is-all-the-speed
decoders: Optimize memcpy for the other functions
5 years ago
bunnei aef0ca6f0d core: hle: kernel: Disable dispatch count tracking on single core.
- This would have limited value, and would be a mess to handle properly.
5 years ago
yzct12345 0ba521e634
threadsafe_queue: Fix deadlock
This fixes a lost wakeup in SPSCQueue. If the reader is in just the right position, the writer's notification will be lost and this will be a problem if the writer then does something to wait on the reader.

This was discovered to affect my upcoming stacktrace PR. I don't think any performance decrease will be noticeable because an uncontended mutex is smart enough to skip the syscall. This PR might also resolve some rare deadlocks but I don't know of any examples.
5 years ago
yzct12345 81ed54d13e
logging: Display backtrace on crash
This implements backtraces so we don't have to tell users how to use gdb anymore.

This prints a backtrace after abort or segfault is detected. It also fixes the log getting cut off with the last line containing only a bracket. This change lets us know what caused a crash not just what happened the few seconds before it.

I only know how to add support for Linux with GCC. Also this doesn't work outside of C/C++ such as in dynarmic or certain parts of graphics drivers. The good thing is that it'll try and just crash again but the stack frames are still there so the core dump will work just like before.
5 years ago
yzct12345 001675dced
logging: Simplify and make thread-safe
This simplifies the logging system.

This also fixes some lost messages on startup.

The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation.

With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
5 years ago
Sönke Holz 068c66672d configuration: fix mingw-w64 build 5 years ago
spholz deb65a5717 network: don't use reinterpret_cast in GetAvailableNetworkInterfaces 5 years ago
Sönke Holz e660334a21 network: fix mingw-w64 build
The header "combaseapi.h" of mingw-w64 defines "interface" as "struct".
5 years ago
Sönke Holz b18e1d031f network: don't use assert to check if no network interfaces are returned 5 years ago
bunnei 71d8d84b59
Merge pull request #6862 from german77/badsdl
input_common: Disable sdl raw input mode
5 years ago
Sönke Holz 0476751ee2 configuration: move network_interface include to source file 5 years ago
Sönke Holz a0c4c1a23a network: use Common::BitCast instead of std::bit_cast 5 years ago
Sönke Holz 8513e59431 network: narrow down scope of "result" in win32 code for
GetAvailableNetworkInterfaces
5 years ago
Sönke Holz 04ec426201 configuration: use tr instead of QStringLiteral for "None" item in
network interface combobox
5 years ago
Sönke Holz 771de32af1 network: use explicit bool conversions in GetAvailableNetworkInterfaces 5 years ago
Sönke Holz 765e97c347 network: initialize ip_addr in GetHostIPv4Address() 5 years ago
Sönke Holz acca8aca8c nifm: use operator*() instead of .value() to get value of std::optional 5 years ago
Sönke Holz 970d81abfc nifm: treat a missing host IP address as a non-critical error 5 years ago
spholz 78a8249593
Merge branch 'yuzu-emu:master' into fix-lan-play 5 years ago
Sönke Holz 21743daf38 network: correct formatting in network.cpp and network_interface.cpp 5 years ago
spholz 1e98e73828 configuration: add option to select network interface
This commit renames the "Services" tab to "Network" and adds a combobox that allows the user to select the network interface that yuzu should use. This new setting is now used to get the local IP address in Network::GetHostIPv4Address. This prevents yuzu from selecting the wrong network interface and thus using the wrong IP address. The return type of Network::GetHostIPv4Adress has also been changed.
5 years ago
bunnei 0509fe3377
Merge pull request #6838 from ameerj/sws-align
vic: Specify sws_scale height stride.
5 years ago
german77 2a2f0bfe9e input_common: Disable sdl raw input mode 5 years ago
ameerj 356e10898f codec: Replace deprecated av_init_packet usage 5 years ago
ameerj 659039ca6d nvdec: Implement GPU accelerated decoding for all platforms
Supplements the VAAPI intel gpu decoder by implementing the D3D11VA decoder for Windows, and CUVID/VDPAU for Nvidia and AMD on drivers linux respectively.
5 years ago
yzct12345 430255caf8
decoders: Templates allow memcpy optimizations 5 years ago
lat9nq 5be2d6fd28 settings: Fix MSVC issues
According to https://stackoverflow.com/questions/469508, we run into a
MSVC bug (since VS 2005) when using diamond inheritance for
RangedSetting.

This explicitly implements those functions in RangedSetting. GetValue is
implemented as just calling the inherited version. The explicit
converson operator is reimplemented. I opted for this over ignoring the
warning with a pragma since this specifies the inherited behavior, and I
have now less faith in MSVC to pick the right one.

In addition, we mark destructors as virtual to silence what I believe is
a fair MSVC compilation error.
5 years ago
bunnei e6b80c2cf8
Merge pull request #6776 from lat9nq/ranged-settings
settings: Implement settings ranges
5 years ago
Fernando S 6a082df427
Merge pull request #6820 from yzct12345/split-cache
texture_cache: Split out template definitions
5 years ago
Ameer J 9fbe188c01
Merge pull request #6837 from german77/no-pause-screenshot
main: Avoid stopping emulation when taking a screenshot
5 years ago
ameerj a779cede7c vic: Specify sws_scale height stride.
Silences a sws_scale runtime warning about unaligned strides.
5 years ago
bunnei 7df790f1ae
Merge pull request #6823 from yzct12345/memory-cleanup
memory: Clean up code
5 years ago
bunnei 3e3bd425c1
Merge pull request #6839 from ameerj/frame-cap-positon
configure_general: Swap positions of speed limit and frame limit options
5 years ago
Mai M 2da91ec75b
Merge pull request #6844 from ameerj/vp9-empty-frame
vp9: Ensure the first frame is complete
5 years ago
Fernando Sahmkow 23ca1eb82e yuzu-cmd/CMakeLists: Correct attribution for this function. 5 years ago
ameerj fa22695705 vp9: Ensure the first frame is complete
Silences a runtime error due to the first frame missing the frame data, and being set to hidden despite being a key-frame.
5 years ago
yzct12345 c4eafcc861
texture_cache: Address ameerj's review 5 years ago
Fernando S 859deda3bb
Merge pull request #6834 from K0bin/buffer-image-granularity
Respect Vulkan bufferImageGranularity
5 years ago
bunnei b023413c98
Merge pull request #6698 from german77/SDL_QoL
input_common: Improve SDL joystick and hide toggle option
5 years ago
bunnei 00358e2098
Merge pull request #6817 from gidoly/patch-1
Add description to fast gpu time option
5 years ago
ameerj 8e0cc3e59a configure_general: Swap positions of speed limit and frame limit options 5 years ago
german77 48b6d41f1b input_common: Improve SDL joystick and hide toggle option 5 years ago