aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-06-26vulkan/fixed_pipeline_state: Move state out of individual structuresReinUsesLisp
2020-06-26vk_rasterizer: Use VK_EXT_extended_dynamic_stateReinUsesLisp
2020-06-26renderer_vulkan/wrapper: Add VK_EXT_extended_dynamic_state functionsReinUsesLisp
2020-06-26fixed_pipeline_state: Add requirements for VK_EXT_extended_dynamic_stateReinUsesLisp
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.
2020-06-26vk_device: Enable VK_EXT_extended_dynamic_state when availableReinUsesLisp
2020-06-26texture_cache: Test format compatibility before copyingReinUsesLisp
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.
2020-06-26Merge pull request #4144 from FernandoS27/tt-fixbunnei
TextureCache: Fix case where layer goes off bound.
2020-06-26Merge pull request #4111 from ReinUsesLisp/preserve-contents-vkbunnei
vk_rasterizer: Don't preserve contents on full screen clears
2020-06-26video_core/compatible_formats: Table to test if two formats are legal to ↵ReinUsesLisp
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.
2020-06-26gl_buffer_cache: Copy to buffers created as STREAM_READ before downloadingReinUsesLisp
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.
2020-06-26Update function name againVolcaEM
2020-06-26Update function name (2/2)VolcaEM
2020-06-26Update function name (1/2)VolcaEM
2020-06-26Common: Fix non-conan buildFernando Sahmkow
2020-06-26caps_u: Fix GetAlbumContentsFileListForApplication stubMorph
2020-06-26caps: Use enum classes and check struct sizes on compile timeMorph
2020-06-26caps: Update copyright headersMorph
Updated to "yuzu Emulator Project"
2020-06-26Add a "Mute Audio" hotkeyKewlan
2020-06-25Merge pull request #4159 from ogniK5377/mem-manager-dumb-assertbunnei
memory_manager: Remove useless assertion
2020-06-25Merge pull request #4151 from ReinUsesLisp/gl-invalidationsRodrigo Locatti
gl_shader_cache: Avoid use after move for program size
2020-06-25const& to button in button arrayAmeer J
Co-authored-by: VolcaEM <63682805+VolcaEM@users.noreply.github.com>
2020-06-25Stop reading loop if error is encounteredAmeer
2020-06-25Clang-format againVolcaEM
2020-06-25Clang-formatVolcaEM
2020-06-25Remove unnecessary newlineVolcaEM
2020-06-25Merge branch 'master' into quickstart-faqVolcaEM
2020-06-25Fix typo 2: electric boogalooVolcaEM
2020-06-25Use QUrl (2/2)VolcaEM
2020-06-25Use QUrl (1/2)VolcaEM
2020-06-25Fix formattingVolcaEM
2020-06-25Fix typoVolcaEM
2020-06-25Add "Open Quickstart Guide" and "FAQ" buttons to the Help menuVolcaEM
While we're at it, also refactor the function used by OnOpenModsPage to be compatible with other URLs
2020-06-25Merge pull request #4136 from VolcaEM/modsbunnei
Add a "Open Mods Page" button to the GUI
2020-06-25Merge pull request #4160 from ogniK5377/IsASTCSupported-fixRodrigo Locatti
gl_device: Fix IsASTCSupported to scan all targets instead of just GL_TEXTURE_2D
2020-06-25Merge pull request #4141 from Morph1984/SevenSixAxisSensorDavid
hid: Stub a series of "SevenSixAxisSensor" service commands
2020-06-25gl_device: Fix IsASTCSupportedDavid Marcec
Other targets were never actually checked
2020-06-25memory_manager: Remove useless assertionDavid Marcec
num_pages is an std::size_t. It will always be >= 0
2020-06-25gl_device: Enable NV_vertex_buffer_unified_memory on Turing devicesReinUsesLisp
Once we make sure not to corrupt Nvidia's driver, we can safely use resident buffers on Turing devices. See GitHub pull request #4156
2020-06-24hid: Stub a series of "SevenSixAxisSensor" service commandsMorph
- Used by Captain Toad: Treasure Tracker Update 1.3.0 While we're at it, fix the input parameters for SetIsPalmaAllConnectable and SetPalmaBoostMode
2020-06-24Merge pull request #4105 from ReinUsesLisp/resident-buffersbunnei
gl_rasterizer: Use NV_vertex_buffer_unified_memory for vertex buffer robustness
2020-06-24padbutton enum class and struct initiailizationAmeer
2020-06-24Merge pull request #4083 from Morph1984/B10G11R11Fbunnei
decode/image: Implement B10G11R11F
2020-06-25Prevent nullptr dereference on swkbd error caseDavid Marcec
2020-06-24prepo: : Don't read extra buffer from report unless passedDavid Marcec
Prepo doesn't always pass a secondary buffer, we assume it always does which leads to a bad read.
2020-06-24Merge pull request #4046 from ogniK5377/macro-hle-prodFernando Sahmkow
Add support for HLEing Macros
2020-06-24Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSGDavid Marcec
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
2020-06-24buffer_cache: Use buffer methods instead of cache virtual methodsReinUsesLisp
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.