summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | | | | | | yuzu: Add motion and touch configurationGravatar FearlessTobi2020-08-2918-3/+1889
| | |_|_|_|_|_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | |
* | | | | | | | | | | | | | | Merge pull request #4588 from ReinUsesLisp/tsan-eventGravatar bunnei2020-08-311-4/+5
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | common/thread: Fix data race in is_set
| * | | | | | | | | | | | | | | common/thread: Fix data race in is_setGravatar ReinUsesLisp2020-08-261-4/+5
| | |_|_|_|/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As report by tsan, Event::Set can write is_set while WaitFor and friends are reading from it. To address this issue, make is_set an atomic.
* | | | | | | | | | | | | | | Merge pull request #4589 from ReinUsesLisp/tsan-hostGravatar bunnei2020-08-311-1/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hle/kernel: Fix data race in GetCurrentHostThreadID
| * | | | | | | | | | | | | | | hle/kernel: Fix data race in GetCurrentHostThreadIDGravatar ReinUsesLisp2020-08-261-1/+2
| |/ / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported by tsan, host_thread_ids could be read while any of the RegisterHostThread variants were called. To fix this, lock the register mutex when yuzu is running in multicore mode and GetCurrentHostThreadID is called.
* | | | | | | | | | | | | | | Merge pull request #4461 from comex/thread-namesGravatar LC2020-08-312-1/+13
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix thread naming on Linux, which limits names to 15 bytes.
| * | | | | | | | | | | | | | | Fix thread naming on Linux, which limits names to 15 bytes.Gravatar comex2020-08-052-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - In `SetCurrentThreadName`, when on Linux, truncate to 15 bytes, as (at least on glibc) `pthread_set_name_np` will otherwise return `ERANGE` and do nothing. - Also, add logging in case `pthread_set_name_np` returns an error anyway. This is Linux-specific, as the Apple and BSD versions of `pthread_set_name_np return `void`. - Change the name for CPU threads in multi-core mode from "yuzu:CoreCPUThread_N" (19 bytes) to "yuzu:CPUCore_N" (14 bytes) so it fits into the Linux limit. Some other thread names are also cut off, but I didn't bother addressing them as you can guess them from the truncated versions. For a CPU thread, truncation means you can't see which core it is!
* | | | | | | | | | | | | | | | vk_device: Fix driver id check on AMD for VK_EXT_extended_dynamic_stateGravatar ReinUsesLisp2020-08-301-6/+9
| |_|_|_|_|_|/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'driver_id' can only be known on Vulkan 1.1 after creating a logical device. Move the driver id check to disable VK_EXT_extended_dynamic_state after the logical device is successfully initialized. The Vulkan device will have the extension enabled but it will not be used.
* | | | | | | | | | | | | | | Merge pull request #4601 from lioncash/const3Gravatar bunnei2020-08-291-52/+62
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sdl_impl: Minor cleanup
| * | | | | | | | | | | | | | | sdl_impl: Reduce allocations in GetButtonMappingForDevice()Gravatar Lioncash2020-08-281-31/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These maps can be constexpr arrays of std::pair.
| * | | | | | | | | | | | | | | sdl_impl: Make use of std::move on std::string where applicableGravatar Lioncash2020-08-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids redundant copies.
| * | | | | | | | | | | | | | | sdl_impl: Make use of insert_or_assign() where applicableGravatar Lioncash2020-08-281-14/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids churning ParamPackage instances.
| * | | | | | | | | | | | | | | sdl_impl: Prevent type truncation in BuildAnalogParamPackageForButton() ↵Gravatar Lioncash2020-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | default arguments We need to add the 'f' suffix to make the right hand side a float and not a double.
| * | | | | | | | | | | | | | | sdl_impl: Simplify make_tuple callGravatar Lioncash2020-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of make_tuple is that you don't need to explicitly type out the types of the things that comprise said tuple. Given this just returns default values, we can simplify this a bit.
| * | | | | | | | | | | | | | | sdl_impl: Mark FromEvent() as a const member functionGravatar Lioncash2020-08-281-2/+2
| | |_|_|_|_|_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't modify internal member state, so it can be marked as const.
* | | | | | | | | | | | | | | Merge pull request #4605 from lioncash/copy3Gravatar bunnei2020-08-291-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / / / / / |/| | | | | | | | | | | | | | bootmanager: Prevent unnecessary copies in TouchUpdateEvent()
| * | | | | | | | | | | | | | bootmanager: Prevent unnecessary copies in TouchUpdateEvent()Gravatar Lioncash2020-08-291-1/+1
| |/ / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The list of points is returned by const reference, so we don't need to make a copy of every element in the list.
* | | | | | | | | | | | | | Merge pull request #4604 from lioncash/lifetimeGravatar LC2020-08-294-7/+8
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | yuzu/main: Amend lifetime issues with InputSubsystem
| * | | | | | | | | | | | | | yuzu/main: Amend lifetime issues with InputSubsystemGravatar Lioncash2020-08-294-7/+8
| |/ / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the way Qt performs destruction of parent/child widgets, we need to make the lifetime of the input subsystem shared across the main window and the render window.
* / / / / / / / / / / / / / yuzu/configuration: Fix index out of bounds for default_analogsGravatar Morph2020-08-293-12/+13
|/ / / / / / / / / / / / /
* | | | | | | | | | | | | Merge pull request #4600 from lioncash/prototypeGravatar LC2020-08-283-8/+11
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | input_common/main: Remove unimplemented prototype
| * | | | | | | | | | | | | input_common/main: Remove unnecessary headersGravatar Lioncash2020-08-283-5/+11
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | input_common/main: Remove unimplemented prototypeGravatar Lioncash2020-08-281-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I forgot to remove this in the rebase when removing most of the global variables within the input common codebase.
* | | | | | | | | | | | | | vk_device: Blacklist AMD proprietary from VK_EXT_extended_dynamic_stateGravatar ReinUsesLisp2020-08-281-1/+6
|/ / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Vertex binding's <stride> is bugged on AMD's proprietary drivers when using VK_EXT_extended_dynamic_state. Blacklist it for now while we investigate how to report this issue to AMD.
* | | | | | | | | | | | | Merge pull request #4544 from lioncash/input-subGravatar bunnei2020-08-2825-242/+396
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | input_common: Eliminate most global state
| * | | | | | | | | | | | | input_common: Eliminate most global stateGravatar Lioncash2020-08-2725-242/+396
| | |_|/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Abstracts most of the input mechanisms under an InputSubsystem class that is managed by the frontends, eliminating any static constructors and destructors. This gets rid of global accessor functions and also allows the frontends to have a more fine-grained control over the lifecycle of the input subsystem. This also makes it explicit which interfaces rely on the input subsystem instead of making it opaque in the interface functions. All that remains to migrate over is the factories, which can be done in a separate change.
* | | | | | | | | | | | | Merge pull request #4586 from yuzu-emu/tsan-cpu-interruptGravatar bunnei2020-08-282-5/+4
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / |/| | | | | | | | | | | | cpu_interrupt_handler: Make is_interrupted an atomic
| * | | | | | | | | | | | cpu_interrupt_handler: Misc style changesGravatar ReinUsesLisp2020-08-262-5/+3
| | | | | | | | | | | | |
| * | | | | | | | | | | | cpu_interrupt_handler: Make is_interrupted an atomicGravatar ReinUsesLisp2020-08-262-2/+3
| | |/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a race condition detected from tsan
* | | | | | | | | | | | Merge pull request #4530 from Morph1984/mjolnir-p1Gravatar bunnei2020-08-2744-3191/+8385
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Project Mjölnir: Part 1 - Input Rewrite
| * | | | | | | | | | | | input_common/main: Add "/Mouse" to the display nameGravatar Morph2020-08-261-1/+1
| | | | | | | | | | | | |
| * | | | | | | | | | | | configure_input_player: Fix modifier scale button mappingGravatar Morph2020-08-262-20/+19
| | | | | | | | | | | | |
| * | | | | | | | | | | | configuration/input: Add support for mouse button clicksGravatar Morph2020-08-265-11/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Supports the Left, Right, Middle, Backward and Forward mouse buttons.
| * | | | | | | | | | | | controllers/npad: Fix inconsistencies with controller connection statusesGravatar Morph2020-08-261-1/+7
| | | | | | | | | | | | |
| * | | | | | | | | | | | controllers/npad: Fix LibNX controller connection statusesGravatar Morph2020-08-261-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows homebrew applications to be able to properly detect connected controllers.
| * | | | | | | | | | | | controllers/npad: Fix LedPattern for P1-4Gravatar Morph2020-08-261-3/+3
| | | | | | | | | | | | |
| * | | | | | | | | | | | input_common: Fix directional deadzone valuesGravatar Morph2020-08-262-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hardware tested value is 0.5 which translates to SHRT_MAX / 2
| * | | | | | | | | | | | Address feedbackGravatar Morph2020-08-2613-96/+77
| | | | | | | | | | | | |
| * | | | | | | | | | | | Project Mjölnir: Part 1Gravatar Morph2020-08-2643-3177/+8306
| |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: James Rowe <jroweboy@gmail.com> Co-authored-by: Its-Rei <kupfel@gmail.com>
* | | | | | | | | | | | Merge pull request #4577 from lioncash/assertsGravatar bunnei2020-08-271-3/+4
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | common/assert: Make use of C++ attribute syntax
| * | | | | | | | | | | | common/assert: Make use of C++ attribute syntaxGravatar Lioncash2020-08-241-3/+4
| | |_|_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normalizes the syntax used for attributes
* | | | | | | | | | | | Merge pull request #4524 from lioncash/memory-logGravatar bunnei2020-08-271-1/+2
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | shader/memory: Amend UNIMPLEMENTED_IF_MSG without a message
| * | | | | | | | | | | | shader/memory: Amend UNIMPLEMENTED_IF_MSG without a messageGravatar Lioncash2020-08-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to provide a message for this variant of the macro, so we can simply log out the type being used.
* | | | | | | | | | | | | Merge pull request #4569 from ReinUsesLisp/glsl-cmakeGravatar bunnei2020-08-2612-51/+127
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | video_core/host_shaders: Add CMake integration for string shaders
| * | | | | | | | | | | | | video_core/host_shaders: Add CMake integration for string shadersGravatar ReinUsesLisp2020-08-237-42/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the necessary CMake code to copy the contents in a string source shader (GLSL or GLASM) to a header file then consumed by video_core files. This allows editting GLSL in its own files without having to maintain them in source files. For now, only OpenGL presentation shaders are moved, but we can add GLASM presentation shaders and static SPIR-V generation through glslangValidator in the future.
| * | | | | | | | | | | | | gl_shader_util: Use std::string_view instead of star pointerGravatar ReinUsesLisp2020-08-235-9/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us passing any type of string and hinting the length of the string to the OpenGL driver.
* | | | | | | | | | | | | | Merge pull request #4555 from ReinUsesLisp/fix-primitive-topologyGravatar bunnei2020-08-263-13/+14
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vk_state_tracker: Fix primitive topology
| * | | | | | | | | | | | | | vk_state_tracker: Fix primitive topologyGravatar ReinUsesLisp2020-08-203-13/+14
| | |_|_|_|_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | State track the current primitive topology with a regular comparison instead of using dirty flags. This fixes a bug in dirty flags for this particular state and it also avoids unnecessary state changes as this property is stored in a frequently changed bit field.
* | | | | | | | | | | | | | memory_manager: Make use of [[nodiscard]] in the interfaceGravatar Lioncash2020-08-261-17/+17
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | memory_manager: Make operator+ const qualifiedGravatar Lioncash2020-08-261-1/+1
| |_|_|_|/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't modify member state, so it can be marked as const.