Commit Graph

14943 Commits (a927d8be52c343bc1025e5df822c56470eb27919)
 

Author SHA1 Message Date
David Marcec a927d8be52 gl_device: Fix IsASTCSupported
Other targets were never actually checked
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
bunnei 2f2df9a4a7
Merge pull request #4083 from Morph1984/B10G11R11F
decode/image: Implement B10G11R11F
5 years ago
Fernando Sahmkow 32343d820d
Merge pull request #4046 from ogniK5377/macro-hle-prod
Add support for HLEing Macros
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 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
bunnei 3bab5a5e4a
Merge pull request #4138 from Morph1984/GyroscopeZeroDriftMode
hid: Implement Get/ResetGyroscopeZeroDriftMode
5 years ago
bunnei 1d1489da80
Merge pull request #4128 from lioncash/move2
software_keyboard: Eliminate trivial redundant copies
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
Rodrigo Locatti 2ce3aedda8
Merge pull request #4148 from Morph1984/silence-warnings
Silence miscellaneous warnings
5 years ago
Morph b8798a995b yuzu_tester: Silence type conversion warning 5 years ago
Morph 45dac6bc5c lm: Silence no return value warning 5 years ago
VolcaEM e193aa3f53
account: Update function tables and add missing classes (#4145)
* account: Update function tables and add missing classes

* clang-format

* Add missing "public"

* Add missing public again

* Add missing final
5 years ago
LC 25174afa79
Merge pull request #4142 from Morph1984/core-arm-logging
arm_dynarmic: Minor logging changes
5 years ago
Morph f2df941e8d arm_dynarmic_64: Log the instruction when an exception is raised 5 years ago
Morph e0af4cdf98 arm_dynarmic_32: Log under Core_ARM instead of HW_GPU 5 years ago
Rodrigo Locatti 406d298457
Merge pull request #4110 from ReinUsesLisp/direct-upload-sets
vk_update_descriptor: Upload descriptor sets data directly
5 years ago
bunnei 14a1181a97
Merge pull request #4122 from lioncash/hide
video_core: Eliminate some variable shadowing
5 years ago
bunnei c27c76ed43
Merge pull request #4126 from lioncash/noexcept
vulkan/wrapper: Remove noexcept from GetSurfaceCapabilitiesKHR()
5 years ago
bunnei e8855ed0fc
Merge pull request #4134 from FearlessTobi/port-5322
Port citra-emu/citra#5322: "Fix: fatal error CVT1100 when compiling manifest file"
5 years ago
Morph 0235915baa hid: Implement Get/ResetGyroscopeZeroDriftMode
- Used by Captain Toad Treasure Tracker
5 years ago
Morph f77c897b8d gl_shader_decompiler: Enable GL_EXT_texture_shadow_lod if available
Enable GL_EXT_texture_shadow_lod if available. If this extension is not available, such as on Intel/AMD proprietary drivers, use textureGrad as a workaround.
5 years ago
Morph 1e65da971b gl_device: Check for GL_EXT_texture_shadow_lod 5 years ago
bunnei f98bf1025f
Merge pull request #4120 from lioncash/arb
gl_arb_decompiler: Avoid several string copies
5 years ago
FearlessTobi 20ed33b53b Update manifest file to include new elements that are introduced with Windows 10 later versions
Co-Authored-By: dragios <dragios@users.noreply.github.com>
5 years ago
FearlessTobi a8674a7b86 Fix: fatal error CVT1100 when compiling manifest file
Occurs when doing a local compile in MSVC build. The compiler I'm using is as below:
Microsoft Visual Studio Community 2019 Preview
Version 16.6.0 Preview 5.0

Fixes this error:
CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

I have put 0 since previous name was 1. If have other names in mind, please let me know.

Co-Authored-By: dragios <dragios@users.noreply.github.com>
5 years ago
LC c6ba7a228d
Merge pull request #4133 from MerryMage/macrojit-shifts
macro_jit_x64: Use ecx for shift register
5 years ago
MerryMage c12eb814b4 macro_jit_x64: Use ecx for shift register
shl/shr only accept cl as their second argument
5 years ago
Lioncash ef53b2fd08 texture_cache: Fix incorrect address used in a DeduceSurface() call
Previously the source was being deduced twice in a row.
5 years ago
merry 928e9c09aa
Merge pull request #4125 from lioncash/macro-shift
macro_jit_x64: Amend readability of Compile_ExtractShiftLeftRegister()
5 years ago
merry 2bd903e021
Merge pull request #4123 from lioncash/unused-var
macro_jit_x64: Remove unused variable
5 years ago
Lioncash a5ed0c3df7 software_keyboard: Eliminate trivial redundant copies
We can just make use of moves here to get rid of two redundant copies
5 years ago
Morph 9bb5bf0b2b main: Append AVX and FMA instructions to cpu string
Append AVX and FMA instructions to cpu string if the host cpu supports them
5 years ago
Morph 97ba520434 common/telemetry: Add AVX512 to telemetry 5 years ago
Morph d6474b4aca common/cpu_detect: Add AVX512 detection 5 years ago
Morph 480e1fa987 decode/image: Implement B10G11R11F
- Used by Kirby Star Allies
5 years ago
bunnei 7d1dca4c98
Merge pull request #4099 from MerryMage/macOS-build
Fix compilation on macOS
5 years ago