| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
TextureCache: Fix case where layer goes off bound.
|
|
vk_rasterizer: Don't preserve contents on full screen clears
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Updated to "yuzu Emulator Project"
|
|
|
|
memory_manager: Remove useless assertion
|
|
gl_shader_cache: Avoid use after move for program size
|
|
Co-authored-by: VolcaEM <63682805+VolcaEM@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
While we're at it, also refactor the function used by OnOpenModsPage to be compatible with other URLs
|
|
Add a "Open Mods Page" button to the GUI
|
|
gl_device: Fix IsASTCSupported to scan all targets instead of just GL_TEXTURE_2D
|
|
hid: Stub a series of "SevenSixAxisSensor" service commands
|
|
Other targets were never actually checked
|
|
num_pages is an std::size_t. It will always be >= 0
|
|
Once we make sure not to corrupt Nvidia's driver, we can safely use
resident buffers on Turing devices.
See GitHub pull request #4156
|
|
- Used by Captain Toad: Treasure Tracker Update 1.3.0
While we're at it, fix the input parameters for SetIsPalmaAllConnectable and SetPalmaBoostMode
|
|
gl_rasterizer: Use NV_vertex_buffer_unified_memory for vertex buffer robustness
|
|
|
|
decode/image: Implement B10G11R11F
|
|
|
|
Prepo doesn't always pass a secondary buffer, we assume it always does which leads to a bad read.
|
|
Add support for HLEing Macros
|
|
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
|
|
|
|
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).
|
|
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.
|
|
Make stream buffer and cached buffers as resident and query their
address. This allows us to use GPU addresses for several proprietary
Nvidia extensions.
|