Commit Graph

15333 Commits (505c206eb84783eabbf9e751d7726fb8916e1623)
 

Author SHA1 Message Date
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
David Marcec e3d2b646e0 Fixed logging output 5 years ago
David Marcec 5226610a15 Implement GetKeyCodeMap & GetKeyCodeMap2
Closes #3919
5 years ago
bunnei 3bab5a5e4a
Merge pull request #4138 from Morph1984/GyroscopeZeroDriftMode
hid: Implement Get/ResetGyroscopeZeroDriftMode
5 years ago
ReinUsesLisp 9f54cd4dad gl_shader_cache: Avoid use after move for program size
All programs had a size of zero due to this bug, skipping invalidations.

While we are at it, remove some unused forward declarations.
5 years ago
bunnei 1d1489da80
Merge pull request #4128 from lioncash/move2
software_keyboard: Eliminate trivial redundant copies
5 years ago
Ameer 743e1f02a0 cleanup check access, read, and factory GetNextInput funcs. Use size rather than magic number 5 years ago
bunnei bfe2e40882
Merge pull request #4135 from FearlessTobi/port-5324
Port citra-emu/citra#5324: "Update manifest file to include new elements that are introduced with Windows 10 later versions"
5 years ago
bunnei 15aeae3dd3
Merge pull request #4127 from lioncash/dst-typo
texture_cache: Fix incorrect address used in a DeduceSurface() call
5 years ago
bunnei 60da57b518
Merge pull request #3948 from Morph1984/log-cpu-instructions
main/common: Log/append AVX/FMA to the Host CPU string if available and add AVX512 detection
5 years ago
Ameer d4e07fd95e Fix deallocation of GC Adapter 5 years ago
Rodrigo Locatti 2ce3aedda8
Merge pull request #4148 from Morph1984/silence-warnings
Silence miscellaneous warnings
5 years ago