aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-06-24gl_stream_buffer: Use InvalidateBufferData instead unmap and mapReinUsesLisp
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).
2020-06-24gl_rasterizer: Use NV_vertex_buffer_unified_memory for vertex buffer robustnessReinUsesLisp
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.
2020-06-24gl_buffer_cache: Mark buffers as residentReinUsesLisp
Make stream buffer and cached buffers as resident and query their address. This allows us to use GPU addresses for several proprietary Nvidia extensions.
2020-06-24gl_device: Expose NV_vertex_buffer_unified_memory except on TuringReinUsesLisp
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.
2020-06-24gl_stream_buffer: Always use a non-coherent bufferReinUsesLisp
2020-06-24gl_stream_buffer: Always use persistent memory mapsReinUsesLisp
yuzu no longer supports platforms without persistent maps.
2020-06-24Merge pull request #4129 from Morph1984/texture-shadow-lod-workaroundRodrigo Locatti
gl_shader_decompiler: Workaround textureLod when GL_EXT_texture_shadow_lod is not available
2020-06-24Move GetKeyCodeMapImpl to an anonymous namespaceDavid Marcec
2020-06-24addressed issuesDavid Marcec
2020-06-24clear mme draw modeDavid Marcec
We already draw, so we can clear it
2020-06-24Addressed issuesDavid Marcec
2020-06-24Fix constbuffer for 0217920100488FF7David Marcec
2020-06-24Macro HLE supportDavid Marcec
2020-06-24Fixed logging outputDavid Marcec
2020-06-24Implement GetKeyCodeMap & GetKeyCodeMap2David Marcec
Closes #3919
2020-06-23Merge pull request #4138 from Morph1984/GyroscopeZeroDriftModebunnei
hid: Implement Get/ResetGyroscopeZeroDriftMode
2020-06-23gl_shader_cache: Avoid use after move for program sizeReinUsesLisp
All programs had a size of zero due to this bug, skipping invalidations. While we are at it, remove some unused forward declarations.
2020-06-23Merge pull request #4128 from lioncash/move2bunnei
software_keyboard: Eliminate trivial redundant copies
2020-06-23cleanup check access, read, and factory GetNextInput funcs. Use size rather ↵Ameer
than magic number
2020-06-23Merge pull request #4127 from lioncash/dst-typobunnei
texture_cache: Fix incorrect address used in a DeduceSurface() call
2020-06-23Merge pull request #3948 from Morph1984/log-cpu-instructionsbunnei
main/common: Log/append AVX/FMA to the Host CPU string if available and add AVX512 detection
2020-06-23Fix deallocation of GC AdapterAmeer
2020-06-22yuzu_tester: Silence type conversion warningMorph
2020-06-22lm: Silence no return value warningMorph
2020-06-22Small quality of life indication that mapped button is GCAmeer
2020-06-22shader/half_set: Implement HSET2_IMMReinUsesLisp
Add HSET2_IMM. Due to the complexity of the encoding avoid using BitField unions and read the relevant bits from the code itself. This is less error prone.
2020-06-22std::array and const reference passing of non-trivial objectsAmeer
2020-06-22Update src/input_common/main.cppameerj
Co-authored-by: LC <mathew1800@gmail.com> update libusb submodule (hopefully windows build error fixed)
2020-06-22account: Update function tables and add missing classes (#4145)VolcaEM
* account: Update function tables and add missing classes * clang-format * Add missing "public" * Add missing public again * Add missing final
2020-06-22TextureCache: Fix case where layer goes off bound.Fernando Sahmkow
The returned layer is expected to be between 0 and the depth of the surface, anything larger is off bounds.
2020-06-22Reorder variables to comply with the Auzure build pipelineunknown
2020-06-22arm_dynarmic_64: Log the instruction when an exception is raisedMorph
2020-06-22arm_dynarmic_32: Log under Core_ARM instead of HW_GPUMorph
2020-06-22Merge pull request #4110 from ReinUsesLisp/direct-upload-setsRodrigo Locatti
vk_update_descriptor: Upload descriptor sets data directly
2020-06-22renderer_vulkan: Update validation layer name and test before enablingReinUsesLisp
Update validation layer string to VK_LAYER_KHRONOS_validation. While we are at it, properly check for available validation layers before enabling them.
2020-06-21Tidy up the pointers, use pair over tuple where appropriateAmeer
2020-06-21fix for sleep using stlAmeer
2020-06-21Merge pull request #4122 from lioncash/hidebunnei
video_core: Eliminate some variable shadowing
2020-06-21Merge pull request #4126 from lioncash/noexceptbunnei
vulkan/wrapper: Remove noexcept from GetSurfaceCapabilitiesKHR()
2020-06-21Merge pull request #4134 from FearlessTobi/port-5322bunnei
Port citra-emu/citra#5322: "Fix: fatal error CVT1100 when compiling manifest file"
2020-06-21shared_ptr for the GC adapter class, constexpr constantsAmeer
2020-06-21std::arrays where appropriate, clear q in adapter class, other touch upsAmeer
2020-06-21fix include threadAmeer
2020-06-21Singleton GC Adapter class, remove globals, fix naming conventionAmeer
Fix clang formatting Manual fix for configure_input_player formatting Add missing lib usb cmake command
2020-06-21hid: Implement Get/ResetGyroscopeZeroDriftModeMorph
- Used by Captain Toad Treasure Tracker
2020-06-21Clang FormattingAmeer
2020-06-21Cleanup after linterAmeer
2020-06-21GC Adapter ImplementationAmeer
2020-06-21Correct function name (2/2)VolcaEM
2020-06-21Correct function name (1/2)VolcaEM