Fernando Sahmkow
25565dffd5
ARM: Addapt to new Exclusive Monitor Interface.
5 years ago
Fernando Sahmkow
1a5f2e290b
CPU_Manager: Correct stopping on SingleCore.
5 years ago
Fernando Sahmkow
db68fba4a6
Scheduler: Correct yielding interaction with SetThreadActivity.
5 years ago
Fernando Sahmkow
7020d498c5
General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
5 years ago
Fernando Sahmkow
e6f8bde74b
General: Fix Stop function
5 years ago
Fernando Sahmkow
f370de84b1
Kernel: Rewind on SVC change.
5 years ago
Fernando Sahmkow
d494b074e8
Kernel: Preempt Single core on redudant yields.
5 years ago
Fernando Sahmkow
a439cdf22e
CPU_Manager: Unload/Reload threads on preemption on SingleCore
5 years ago
Fernando Sahmkow
8a78fc2580
Synchronization: Correct wide Assertion.
5 years ago
Fernando Sahmkow
ab9aae28bf
General: Initial Setup for Single Core.
5 years ago
Fernando Sahmkow
391f5f360d
Scheduler: Set last running time on thread.
5 years ago
Fernando Sahmkow
9e9c287f8b
Kernel: Corrections to TimeManager, Scheduler and Mutex.
5 years ago
Fernando Sahmkow
6515c6e8c6
Kernel: Fixes, corrections and asserts to scheduler and different svcs.
5 years ago
Fernando Sahmkow
4217e58a10
Scheduler: Correct yields.
5 years ago
Fernando Sahmkow
445b4342b3
Mutex: Revert workaround due to poor exclusive memory.
5 years ago
Fernando Sahmkow
cd1c38be8d
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
5 years ago
Fernando Sahmkow
535c542d84
SVC: WaitSynchronization add Termination Pending Result.
5 years ago
Fernando Sahmkow
725bac1404
Scheduler: Remove arm_interface lock and a few corrections.
5 years ago
Fernando Sahmkow
38c6c497f6
Yuzu/Debuggers: Correct Wait Tree for Paused threads.
5 years ago
Fernando Sahmkow
83c7ba1ef7
SVC: Correct SetThreadActivity.
5 years ago
Fernando Sahmkow
a66c61ca2d
SCC: Small corrections to CancelSynchronization
5 years ago
Fernando Sahmkow
44cb9997b3
Scheduler: Correct locking for hle threads.
5 years ago
Fernando Sahmkow
6ed28e15fa
Scheduler: Fix HLE Threads on guard
5 years ago
Fernando Sahmkow
3de33348e4
Scheduler: Protect on closed threads.
5 years ago
Fernando Sahmkow
19847d4d42
Scheduler: Correct assert.
5 years ago
Fernando Sahmkow
a33fbaddec
Core: Correct rebase.
5 years ago
Fernando Sahmkow
1c672128c4
Scheduler: Release old thread fiber before trying to switch to the next thread fiber.
5 years ago
Fernando Sahmkow
c43e559734
NVDRV: Remove frame limiting as Host Timing already takes care.
5 years ago
Fernando Sahmkow
a6bce296ad
Mutex: Correct Result writting to clear exclusivity.
5 years ago
Fernando Sahmkow
e4b175ade2
SVC: Correct svcWaitForAddress and svcSignalToAddress.
5 years ago
Fernando Sahmkow
1e987dbe8d
Scheduler: Correct Select Threads Step 2.
5 years ago
Fernando Sahmkow
07993ac8c8
Kernel: Corrections to Scheduling.
5 years ago
Fernando Sahmkow
b4dc01f16a
Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for Debugging
5 years ago
Fernando Sahmkow
75e10578f1
Core: Correct HLE Event Callbacks and other issues.
5 years ago
Fernando Sahmkow
de5b521c09
Process: Protect TLS region and Modules.
5 years ago
Fernando Sahmkow
2a8837ff51
General: Add Asserts
5 years ago
Fernando Sahmkow
04e0f8776c
General: Add better safety for JIT use.
5 years ago
Fernando Sahmkow
bd36eaf15d
SVC: Correct races on physical core switching.
5 years ago
Fernando Sahmkow
cc3aa95926
NVFlinger: Lock race condition between CPU, Host Timing, VSync.
5 years ago
Fernando Sahmkow
3902067008
SVC: Add locks to the memory management.
5 years ago
Fernando Sahmkow
d4ebb510a0
SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.
5 years ago
Fernando Sahmkow
5b6a67f849
SVC: Cleanup old methods.
5 years ago
Fernando Sahmkow
3d9fbb8226
CPU_Manager: Reconfigre guest threads for dynamrmic downsides
5 years ago
Fernando Sahmkow
15a79eb0d7
SVC: Correct SendSyncRequest.
5 years ago
Fernando Sahmkow
203e706302
SVC: Correct ArbitrateUnlock
5 years ago
Fernando Sahmkow
3b5b950c89
SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock
5 years ago
Fernando Sahmkow
ef4afa9760
SVC: Remove global HLE Lock.
5 years ago
Fernando Sahmkow
589f9cf108
SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber
5 years ago
Fernando Sahmkow
49ba563995
SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.
5 years ago
Fernando Sahmkow
18dcb09342
HostTiming: Pause the hardware clock on pause.
5 years ago
Fernando Sahmkow
6bf137a0e8
AudioCore: Use nanoseconds instead of cycles for buffer time.
5 years ago
Fernando Sahmkow
dc58058203
General: Setup yuzu threads' microprofile, naming and registry.
5 years ago
Fernando Sahmkow
a5c58a25ef
CPU_Manager: remove debugging code.
5 years ago
Fernando Sahmkow
9e4b9f1afd
YuzuCMD/Tester: Correct execution
5 years ago
Fernando Sahmkow
e31425df38
General: Recover Prometheus project from harddrive failure
...
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and
Suspended State, Recreates the bootmanager, Initializes Multicore
system.
5 years ago
David
0ea4a8bcc4
Merge pull request #3396 from FernandoS27/prometheus-1
...
Implement SpinLocks, Fibers and a Host Timer
5 years ago
VolcaEM
23515e0ccc
nfc: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/NFC_services
5 years ago
VolcaEM
c56414b80d
ncm: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/NCM_services
ILocationResolver's 16, 17, 18 and 19 have unofficial names
5 years ago
VolcaEM
b829643946
mm: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/Display_services
5 years ago
VolcaEM
5219424226
mig: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/Migration_services
5 years ago
VolcaEM
b9be484a51
ldn: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/LDN_services
5 years ago
VolcaEM
a8d17adb7c
Oops (fix typo)
5 years ago
VolcaEM
73b035d2e2
lbl: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/Backlight_services
5 years ago
VolcaEM
64fa9b9f57
grc: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/GRC_services
5 years ago
VolcaEM
af88767508
friend: Update function table
5 years ago
Kewlan
323eb86c9f
Fix issues caused when changing the fullscreen hotkey
5 years ago
bunnei
6205965df9
Merge pull request #4097 from kevinxucs/kevinxucs/device-pixel-scaling-float
...
Fix framebuffer size on fractional scaling display
5 years ago
bunnei
9eaccac674
Merge pull request #4164 from Kewlan/mute-audio-hotkey
...
hotkeys: Add a "Mute Audio" hotkey
5 years ago
bunnei
6f16f54f10
Merge pull request #4158 from Morph1984/caps
...
caps: Use enum classes and check struct sizes on compile time
5 years ago
Ameer J
bd697bef03
left const auto&, comment punctuation.
...
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
5 years ago
bunnei
a91f92a89d
Merge pull request #4152 from ogniK5377/ipc-err
...
Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSG
5 years ago
bunnei
705cccb1e4
Merge pull request #4154 from ogniK5377/swkbd-nullptr
...
Prevent nullptr dereference on swkbd error case
5 years ago
bunnei
efef7b1517
Merge pull request #4147 from ReinUsesLisp/hset2-imm
...
shader/half_set: Implement HSET2_IMM
5 years ago
David
b32b7c6e74
Merge pull request #4178 from VolcaEM/patch-6
...
es: Update function table
5 years ago
VolcaEM
2d82b7f1a1
Use better names for "Unknown"s
5 years ago
VolcaEM
bc51a9365b
Update function names
5 years ago
David Marcec
0b23ce6ef2
btm: Give better names for unknown functions
5 years ago
VolcaEM
032b7d490d
btdrv: Update function table ( #4174 )
...
* btdrv: Update function table
5 years ago
VolcaEM
6e14edbcc2
bpc: Update function tables ( #4173 )
...
* bpc: Update function tables
This was based on Switchbrew page: https://switchbrew.org/wiki/PCV_services
5 years ago
VolcaEM
e6fee39ae7
bcat: Update function tables and add missing classes ( #4172 )
...
* bcat: Update function tables and add missing classes
5 years ago
VolcaEM
ca25a3845e
am: Update function tables and add missing classes ( #4169 )
...
* am: Update function tables and add missing classes
* Remove comments (1/5)
* Remove comments (2/5)
* Remove comments (3/5)
* Remove comments (4/5)
* Remove comments (5/5)
* Remove unused classes (1/2)
* Remove unused classes (2/2)
5 years ago
VolcaEM
b5d54619cc
aoc: Update function table ( #4170 )
...
* aoc: Update function table
* Remove comments
5 years ago
LC
98bbab8030
Merge pull request #4177 from VolcaEM/patch-5
...
btm: Update function tables
5 years ago
VolcaEM
0f4a611129
eupld: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/Error_Upload_services
5 years ago
VolcaEM
3828aa4927
es: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/ETicket_services
5 years ago
VolcaEM
b1f4de7874
Update FAQ function name (2/2)
5 years ago
VolcaEM
db96b5ee3b
Update FAQ function name (1/2)
5 years ago
VolcaEM
d3e9b45ce0
btm: Update function tables
...
This was based on Switchbrew page: https://switchbrew.org/wiki/BTM_services
"No comment" edition
5 years ago
ReinUsesLisp
9d55e5586f
vk_rasterizer: Use nullptr for <pSizes> in CmdBindVertexBuffers2EXT
...
Disable this temporarily.
5 years ago
ReinUsesLisp
8584a77eb2
vk_pipeline_cache: Avoid hashing and comparing dynamic state when possible
...
With extended dynamic states, some bytes don't have to be collected from
the pipeline key, hence we can avoid hashing and comparing them on
lookups.
5 years ago
ReinUsesLisp
1a84209418
vulkan/fixed_pipeline_state: Move state out of individual structures
5 years ago
ReinUsesLisp
c94b398f14
vk_rasterizer: Use VK_EXT_extended_dynamic_state
5 years ago
ReinUsesLisp
a6db8e5f4d
renderer_vulkan/wrapper: Add VK_EXT_extended_dynamic_state functions
5 years ago
ReinUsesLisp
c387a72c76
fixed_pipeline_state: Add requirements for VK_EXT_extended_dynamic_state
...
This moves dynamic state present in VK_EXT_extended_dynamic_state to a
separate structure in FixedPipelineState. This is structure is at the
bottom allowing us to hash and memcmp only when the extension is not
supported.
5 years ago
ReinUsesLisp
7527402a46
vk_device: Enable VK_EXT_extended_dynamic_state when available
5 years ago
ReinUsesLisp
bb2cbdf704
texture_cache: Test format compatibility before copying
...
Avoid illegal copies. This intercepts the last step of a copy to avoid
generating validation errors or corrupting the driver on some instances.
We can create views and emit copies accordingly in future commits and
remove this last-step validation.
5 years ago
bunnei
3579db425e
Merge pull request #4144 from FernandoS27/tt-fix
...
TextureCache: Fix case where layer goes off bound.
5 years ago
bunnei
78d3b54ea7
Merge pull request #4111 from ReinUsesLisp/preserve-contents-vk
...
vk_rasterizer: Don't preserve contents on full screen clears
5 years ago
ReinUsesLisp
1d6be9febf
video_core/compatible_formats: Table to test if two formats are legal to view or copy
...
Add a flat table to test if it's legal to create a texture view between
two formats or copy betweem them.
This table is based on ARB_copy_image and ARB_texture_view. Copies are
more permissive than views.
5 years ago
ReinUsesLisp
6481d91e4a
gl_buffer_cache: Copy to buffers created as STREAM_READ before downloading
...
After marking buffers as resident, Nvidia's driver seems to take a
slow path. To workaround this issue, copy to a STREAM_READ buffer and
then call GetNamedBufferSubData on it.
This is a temporary solution until we have asynchronous flushing.
5 years ago
VolcaEM
9e1975a166
Update function name again
5 years ago
VolcaEM
0b86c7eb6a
Update function name (2/2)
5 years ago
VolcaEM
f8247826fa
Update function name (1/2)
5 years ago
Fernando Sahmkow
7b893c7963
Common: Fix non-conan build
5 years ago
Morph
72f14ae21f
caps_u: Fix GetAlbumContentsFileListForApplication stub
5 years ago
Morph
3017be7855
caps: Use enum classes and check struct sizes on compile time
5 years ago
Morph
02a33feef4
caps: Update copyright headers
...
Updated to "yuzu Emulator Project"
5 years ago
Kewlan
3eb8efc095
Add a "Mute Audio" hotkey
5 years ago
bunnei
c4fe83a7bc
Merge pull request #4159 from ogniK5377/mem-manager-dumb-assert
...
memory_manager: Remove useless assertion
5 years ago
Rodrigo Locatti
5872fc21fe
Merge pull request #4151 from ReinUsesLisp/gl-invalidations
...
gl_shader_cache: Avoid use after move for program size
5 years ago
Ameer J
ecbc813711
const& to button in button array
...
Co-authored-by: VolcaEM <63682805+VolcaEM@users.noreply.github.com>
5 years ago
Ameer
3f739514e3
Stop reading loop if error is encountered
5 years ago
VolcaEM
7d08d548a9
Clang-format again
5 years ago
VolcaEM
b9f0b9dd06
Clang-format
5 years ago
VolcaEM
6582857356
Remove unnecessary newline
5 years ago
VolcaEM
0f4512291a
Merge branch 'master' into quickstart-faq
5 years ago
VolcaEM
a46df40939
Fix typo 2: electric boogaloo
5 years ago
VolcaEM
9e7ac6a009
Use QUrl (2/2)
5 years ago
VolcaEM
5c6adea222
Use QUrl (1/2)
5 years ago
VolcaEM
04497d9e4a
Fix formatting
5 years ago
VolcaEM
5f6e44552a
Fix typo
5 years ago
VolcaEM
57b93395a8
Add "Open Quickstart Guide" and "FAQ" buttons to the Help menu
...
While we're at it, also refactor the function used by OnOpenModsPage to be compatible with other URLs
5 years ago
bunnei
a980b4cbc1
Merge pull request #4136 from VolcaEM/mods
...
Add a "Open Mods Page" button to the GUI
5 years ago
Rodrigo Locatti
ae1f709658
Merge pull request #4160 from ogniK5377/IsASTCSupported-fix
...
gl_device: Fix IsASTCSupported to scan all targets instead of just GL_TEXTURE_2D
5 years ago
David
d11baf8bf8
Merge pull request #4141 from Morph1984/SevenSixAxisSensor
...
hid: Stub a series of "SevenSixAxisSensor" service commands
5 years ago
David Marcec
a927d8be52
gl_device: Fix IsASTCSupported
...
Other targets were never actually checked
5 years ago
David Marcec
38868e5750
memory_manager: Remove useless assertion
...
num_pages is an std::size_t. It will always be >= 0
5 years ago
ReinUsesLisp
bc8d3b8f82
gl_device: Enable NV_vertex_buffer_unified_memory on Turing devices
...
Once we make sure not to corrupt Nvidia's driver, we can safely use
resident buffers on Turing devices.
See GitHub pull request #4156
5 years ago
Morph
2c9308954c
hid: Stub a series of "SevenSixAxisSensor" service commands
...
- Used by Captain Toad: Treasure Tracker Update 1.3.0
While we're at it, fix the input parameters for SetIsPalmaAllConnectable and SetPalmaBoostMode
5 years ago
bunnei
0e1268e507
Merge pull request #4105 from ReinUsesLisp/resident-buffers
...
gl_rasterizer: Use NV_vertex_buffer_unified_memory for vertex buffer robustness
5 years ago
Ameer
c18dc9c707
padbutton enum class and struct initiailization
5 years ago
bunnei
2f2df9a4a7
Merge pull request #4083 from Morph1984/B10G11R11F
...
decode/image: Implement B10G11R11F
5 years ago
David Marcec
510838759f
Prevent nullptr dereference on swkbd error case
5 years ago
David Marcec
2f0b322e72
prepo: : Don't read extra buffer from report unless passed
...
Prepo doesn't always pass a secondary buffer, we assume it always does which leads to a bad read.
5 years ago
Fernando Sahmkow
32343d820d
Merge pull request #4046 from ogniK5377/macro-hle-prod
...
Add support for HLEing Macros
5 years ago
David Marcec
82ecdd0104
Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSG
...
Previously if applications would send faulty buffers(example homebrew) it would lead to us returning uninitalized data. Switching from ASSERT_MSG to ASSERT_OR_EXECUTE_MSG allows us to have a fail safe to prevent crashes but also continue execution without introducing undefined behavior
5 years ago
ReinUsesLisp
32a2dcd415
buffer_cache: Use buffer methods instead of cache virtual methods
5 years ago
ReinUsesLisp
39c97f1b65
gl_stream_buffer: Use InvalidateBufferData instead unmap and map
...
Making the stream buffer resident increases GPU usage significantly on
some games. This seems to be addressed invalidating the stream buffer
with InvalidateBufferData instead of using a Unmap + Map (with
invalidation flags).
5 years ago
ReinUsesLisp
41a4090320
gl_rasterizer: Use NV_vertex_buffer_unified_memory for vertex buffer robustness
...
Switch games are allowed to bind less data than what they use in a
vertex buffer, the expected behavior here is that these values are read
as zero. At the moment of writing this only D3D12, OpenGL and NVN through
NV_vertex_buffer_unified_memory support vertex buffer with a size limit.
In theory this could be emulated on Vulkan creating a new VkBuffer for
each (handle, offset, length) tuple and binding the expected data to it.
This is likely going to be slow and memory expensive when used on the
vertex buffer and we have to do it on all draws because we can't know
without analyzing indices when a game is going to read vertex data out
of bounds.
This is not a problem on OpenGL's BufferAddressRangeNV because it takes
a length parameter, unlike Vulkan's CmdBindVertexBuffers that only takes
buffers and offsets (the length is implicit in VkBuffer). It isn't a
problem on D3D12 either, because D3D12_VERTEX_BUFFER_VIEW on
IASetVertexBuffers takes SizeInBytes as a parameter (although I am not
familiar with robustness on D3D12).
Currently this only implements buffer ranges for vertex buffers,
although indices can also be affected. A KHR_robustness profile is not
created, but Nvidia's driver reads out of bound vertex data as zero
anyway, this might have to be changed in the future.
- Fixes SMO random triangles when capturing an enemy, getting hit, or
looking at the environment on certain maps.
5 years ago
ReinUsesLisp
32485917ba
gl_buffer_cache: Mark buffers as resident
...
Make stream buffer and cached buffers as resident and query their
address. This allows us to use GPU addresses for several proprietary
Nvidia extensions.
5 years ago
ReinUsesLisp
73fb3a304b
gl_device: Expose NV_vertex_buffer_unified_memory except on Turing
...
Expose NV_vertex_buffer_unified_memory when the driver supports it.
This commit adds a function the determine if a GL_RENDERER is a Turing
GPU. This is required because on Turing GPUs Nvidia's driver crashes
when the buffer is marked as resident or on DeleteBuffers. Without a
synchronous debug output (single threaded driver), it's likely that
the driver will crash in the first blocking call.
5 years ago
ReinUsesLisp
00c66a7289
gl_stream_buffer: Always use a non-coherent buffer
5 years ago
ReinUsesLisp
da79ec9565
gl_stream_buffer: Always use persistent memory maps
...
yuzu no longer supports platforms without persistent maps.
5 years ago
Rodrigo Locatti
b66ccaa376
Merge pull request #4129 from Morph1984/texture-shadow-lod-workaround
...
gl_shader_decompiler: Workaround textureLod when GL_EXT_texture_shadow_lod is not available
5 years ago
David Marcec
380fbd8cb7
Move GetKeyCodeMapImpl to an anonymous namespace
5 years ago
David Marcec
f5e2aec422
addressed issues
5 years ago
David Marcec
52340e94ac
clear mme draw mode
...
We already draw, so we can clear it
5 years ago
David Marcec
fabdf5d385
Addressed issues
5 years ago
David Marcec
74b4334d51
Fix constbuffer for 0217920100488FF7
5 years ago
David Marcec
6ce5f3120b
Macro HLE support
5 years ago