diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/constants.h | 1 | ||||
| -rw-r--r-- | src/core/hle/kernel/address_arbiter.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 7 | ||||
| -rw-r--r-- | src/core/hle/kernel/synchronization.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/kernel/thread.h | 2 | ||||
| -rw-r--r-- | src/video_core/macro/macro.h | 3 | ||||
| -rw-r--r-- | src/video_core/macro/macro_hle.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_texture_cache.cpp | 10 |
8 files changed, 10 insertions, 18 deletions
diff --git a/src/core/constants.h b/src/core/constants.h index 6d0ec022a..81c5cb279 100644 --- a/src/core/constants.h +++ b/src/core/constants.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <array> | ||
| 7 | #include "common/common_types.h" | 8 | #include "common/common_types.h" |
| 8 | 9 | ||
| 9 | // This is to consolidate system-wide constants that are used by multiple components of yuzu. | 10 | // This is to consolidate system-wide constants that are used by multiple components of yuzu. |
diff --git a/src/core/hle/kernel/address_arbiter.cpp b/src/core/hle/kernel/address_arbiter.cpp index 4d2a9b35d..df0debe1b 100644 --- a/src/core/hle/kernel/address_arbiter.cpp +++ b/src/core/hle/kernel/address_arbiter.cpp | |||
| @@ -24,7 +24,6 @@ namespace Kernel { | |||
| 24 | // Wake up num_to_wake (or all) threads in a vector. | 24 | // Wake up num_to_wake (or all) threads in a vector. |
| 25 | void AddressArbiter::WakeThreads(const std::vector<std::shared_ptr<Thread>>& waiting_threads, | 25 | void AddressArbiter::WakeThreads(const std::vector<std::shared_ptr<Thread>>& waiting_threads, |
| 26 | s32 num_to_wake) { | 26 | s32 num_to_wake) { |
| 27 | auto& time_manager = system.Kernel().TimeManager(); | ||
| 28 | // Only process up to 'target' threads, unless 'target' is <= 0, in which case process | 27 | // Only process up to 'target' threads, unless 'target' is <= 0, in which case process |
| 29 | // them all. | 28 | // them all. |
| 30 | std::size_t last = waiting_threads.size(); | 29 | std::size_t last = waiting_threads.size(); |
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 5db19dcf3..01ae57053 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -458,9 +458,7 @@ static ResultCode WaitSynchronization(Core::System& system, Handle* index, VAddr | |||
| 458 | return ERR_OUT_OF_RANGE; | 458 | return ERR_OUT_OF_RANGE; |
| 459 | } | 459 | } |
| 460 | 460 | ||
| 461 | auto* const thread = system.CurrentScheduler().GetCurrentThread(); | ||
| 462 | auto& kernel = system.Kernel(); | 461 | auto& kernel = system.Kernel(); |
| 463 | using ObjectPtr = Thread::ThreadSynchronizationObjects::value_type; | ||
| 464 | Thread::ThreadSynchronizationObjects objects(handle_count); | 462 | Thread::ThreadSynchronizationObjects objects(handle_count); |
| 465 | const auto& handle_table = kernel.CurrentProcess()->GetHandleTable(); | 463 | const auto& handle_table = kernel.CurrentProcess()->GetHandleTable(); |
| 466 | 464 | ||
| @@ -1750,9 +1748,9 @@ static void SignalProcessWideKey(Core::System& system, VAddr condition_variable_ | |||
| 1750 | // Only process up to 'target' threads, unless 'target' is less equal 0, in which case process | 1748 | // Only process up to 'target' threads, unless 'target' is less equal 0, in which case process |
| 1751 | // them all. | 1749 | // them all. |
| 1752 | std::size_t last = waiting_threads.size(); | 1750 | std::size_t last = waiting_threads.size(); |
| 1753 | if (target > 0) | 1751 | if (target > 0) { |
| 1754 | last = std::min(waiting_threads.size(), static_cast<std::size_t>(target)); | 1752 | last = std::min(waiting_threads.size(), static_cast<std::size_t>(target)); |
| 1755 | auto& time_manager = kernel.TimeManager(); | 1753 | } |
| 1756 | for (std::size_t index = 0; index < last; ++index) { | 1754 | for (std::size_t index = 0; index < last; ++index) { |
| 1757 | auto& thread = waiting_threads[index]; | 1755 | auto& thread = waiting_threads[index]; |
| 1758 | 1756 | ||
| @@ -1763,7 +1761,6 @@ static void SignalProcessWideKey(Core::System& system, VAddr condition_variable_ | |||
| 1763 | 1761 | ||
| 1764 | const std::size_t current_core = system.CurrentCoreIndex(); | 1762 | const std::size_t current_core = system.CurrentCoreIndex(); |
| 1765 | auto& monitor = system.Monitor(); | 1763 | auto& monitor = system.Monitor(); |
| 1766 | auto& memory = system.Memory(); | ||
| 1767 | 1764 | ||
| 1768 | // Atomically read the value of the mutex. | 1765 | // Atomically read the value of the mutex. |
| 1769 | u32 mutex_val = 0; | 1766 | u32 mutex_val = 0; |
diff --git a/src/core/hle/kernel/synchronization.cpp b/src/core/hle/kernel/synchronization.cpp index 851b702a5..8b875d853 100644 --- a/src/core/hle/kernel/synchronization.cpp +++ b/src/core/hle/kernel/synchronization.cpp | |||
| @@ -19,7 +19,6 @@ Synchronization::Synchronization(Core::System& system) : system{system} {} | |||
| 19 | void Synchronization::SignalObject(SynchronizationObject& obj) const { | 19 | void Synchronization::SignalObject(SynchronizationObject& obj) const { |
| 20 | auto& kernel = system.Kernel(); | 20 | auto& kernel = system.Kernel(); |
| 21 | SchedulerLock lock(kernel); | 21 | SchedulerLock lock(kernel); |
| 22 | auto& time_manager = kernel.TimeManager(); | ||
| 23 | if (obj.IsSignaled()) { | 22 | if (obj.IsSignaled()) { |
| 24 | for (auto thread : obj.GetWaitingThreads()) { | 23 | for (auto thread : obj.GetWaitingThreads()) { |
| 25 | if (thread->GetSchedulingStatus() == ThreadSchedStatus::Paused) { | 24 | if (thread->GetSchedulingStatus() == ThreadSchedStatus::Paused) { |
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h index 9808767e5..8daf79fac 100644 --- a/src/core/hle/kernel/thread.h +++ b/src/core/hle/kernel/thread.h | |||
| @@ -583,8 +583,6 @@ private: | |||
| 583 | 583 | ||
| 584 | void SetCurrentPriority(u32 new_priority); | 584 | void SetCurrentPriority(u32 new_priority); |
| 585 | 585 | ||
| 586 | void AdjustSchedulingOnAffinity(u64 old_affinity_mask, s32 old_core); | ||
| 587 | |||
| 588 | Common::SpinLock context_guard{}; | 586 | Common::SpinLock context_guard{}; |
| 589 | ThreadContext32 context_32{}; | 587 | ThreadContext32 context_32{}; |
| 590 | ThreadContext64 context_64{}; | 588 | ThreadContext64 context_64{}; |
diff --git a/src/video_core/macro/macro.h b/src/video_core/macro/macro.h index 4d00b84b0..31ee3440a 100644 --- a/src/video_core/macro/macro.h +++ b/src/video_core/macro/macro.h | |||
| @@ -103,8 +103,9 @@ public: | |||
| 103 | virtual ~CachedMacro() = default; | 103 | virtual ~CachedMacro() = default; |
| 104 | /** | 104 | /** |
| 105 | * Executes the macro code with the specified input parameters. | 105 | * Executes the macro code with the specified input parameters. |
| 106 | * @param code The macro byte code to execute | 106 | * |
| 107 | * @param parameters The parameters of the macro | 107 | * @param parameters The parameters of the macro |
| 108 | * @param method The method to execute | ||
| 108 | */ | 109 | */ |
| 109 | virtual void Execute(const std::vector<u32>& parameters, u32 method) = 0; | 110 | virtual void Execute(const std::vector<u32>& parameters, u32 method) = 0; |
| 110 | }; | 111 | }; |
diff --git a/src/video_core/macro/macro_hle.cpp b/src/video_core/macro/macro_hle.cpp index 410f99018..37f784a35 100644 --- a/src/video_core/macro/macro_hle.cpp +++ b/src/video_core/macro/macro_hle.cpp | |||
| @@ -17,8 +17,7 @@ static void HLE_771BB18C62444DA0(Engines::Maxwell3D& maxwell3d, | |||
| 17 | const u32 instance_count = parameters[2] & maxwell3d.GetRegisterValue(0xD1B); | 17 | const u32 instance_count = parameters[2] & maxwell3d.GetRegisterValue(0xD1B); |
| 18 | 18 | ||
| 19 | maxwell3d.regs.draw.topology.Assign( | 19 | maxwell3d.regs.draw.topology.Assign( |
| 20 | static_cast<Tegra::Engines::Maxwell3D::Regs::PrimitiveTopology>(parameters[0] & | 20 | static_cast<Tegra::Engines::Maxwell3D::Regs::PrimitiveTopology>(parameters[0] & 0x3ffffff)); |
| 21 | ~(0x3ffffff << 26))); | ||
| 22 | maxwell3d.regs.vb_base_instance = parameters[5]; | 21 | maxwell3d.regs.vb_base_instance = parameters[5]; |
| 23 | maxwell3d.mme_draw.instance_count = instance_count; | 22 | maxwell3d.mme_draw.instance_count = instance_count; |
| 24 | maxwell3d.regs.vb_element_base = parameters[3]; | 23 | maxwell3d.regs.vb_element_base = parameters[3]; |
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 430031665..bd93dcf20 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp | |||
| @@ -281,12 +281,10 @@ void CachedSurface::UploadBuffer(const std::vector<u8>& staging_buffer) { | |||
| 281 | VkBufferMemoryBarrier barrier; | 281 | VkBufferMemoryBarrier barrier; |
| 282 | barrier.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER; | 282 | barrier.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER; |
| 283 | barrier.pNext = nullptr; | 283 | barrier.pNext = nullptr; |
| 284 | barrier.srcAccessMask = VK_PIPELINE_STAGE_TRANSFER_BIT; | 284 | barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; |
| 285 | barrier.dstAccessMask = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT; | 285 | barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; |
| 286 | barrier.srcQueueFamilyIndex = VK_ACCESS_TRANSFER_WRITE_BIT; | 286 | barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; // They'll be ignored anyway |
| 287 | barrier.dstQueueFamilyIndex = VK_ACCESS_SHADER_READ_BIT; | 287 | barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; |
| 288 | barrier.srcQueueFamilyIndex = 0; | ||
| 289 | barrier.dstQueueFamilyIndex = 0; | ||
| 290 | barrier.buffer = dst_buffer; | 288 | barrier.buffer = dst_buffer; |
| 291 | barrier.offset = 0; | 289 | barrier.offset = 0; |
| 292 | barrier.size = size; | 290 | barrier.size = size; |