| Age | Commit message (Collapse) | Author |
|
This makes constant buffer uploads safer and more accurate by updating the GPU memory as soon as the CB Data method is invoked. The previous implementation was deferring the updates until a different maxwell 3d method was detected, then writing all CB data at once.
|
|
Initial support for Wii Hagi emulator
|
|
|
|
|
|
This fixes some incorrect rendering in Sunshine
|
|
|
|
|
|
|
|
I can't see how this would be useful, but Galaxy uses it.
|
|
This allows Galaxy and Sunshine to render for the first time.
|
|
core, video_core: Fix two crashes when failing to create the emulated GPU instance
|
|
When CreateRenderer fails, the GraphicsContext that was std::move'd into
it is destroyed before the Scoped that was created to manage its
currency. In that case, the GraphicsContext::Scoped will still call its
destructor at the ending of the function. And because the context is
destroyed, the Scoped will cause a crash as it attempts to call a
destroyed object's DoneCurrent function.
Since we know when the call would be invalid, call the Scoped's Cancel
method. This prevents it from calling a method on a destroyed object.
|
|
MaxwellDMA: Implement semaphore operations
|
|
|
|
(#7969)
* gl_graphics_pipeline: Improve shader builder synchronization
Make use of GLsync objects to ensure better synchronization between shader builder threads and the main context
* gl_graphics_pipeline: Make built_fence access threadsafe
* gl_graphics_pipeline: Use GLsync objects only when building in parallel
* gl_graphics_pipeline: Replace GetSync calls with non-blocking waits
The spec states that a ClientWait on a Fence object ensures the changes propagate to the calling context
|
|
Per the spec, bufSize is the number of integers that will be written, in this case, 1.
Also, the length argument is optional if the information of the number of elements written is not needed.
|
|
vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_state
|
|
maxwell_to_(gl/vk): Add 11_11_10 float vertex format
|
|
RDNA2 devices running under the RADV driver were crashing when VK_EXT_vertex_input_dynamic_state was enabled.
Blacklisting these devices until a proper fix is established.
|
|
- Used by パワプロクンポケットR
|
|
|
|
Currently Mesa's ANV driver does not support
VK_FORMAT_B5G6R5_UNORM_PACK16, implement an alternative for it.
|
|
Vulkan: Fix Scheduler Chunks when their FuncType is 0.
|
|
Resolves a -Wmaybe_uninitialized warning
|
|
Since these were being copied by value, none of the changes applied in
the loop would be reflected.
However, from the looks of it, this would already be applied within
CopyImage() anyways, so this can be removed.
|
|
|
|
|
|
video_core/shader_cache: Take std::span in RemoveShadersFromStorage()
|
|
|
|
Same behavior, but without the need to move into the function to avoid
an allocation.
|
|
|
|
|
|
|
|
|
|
|
|
The existing stream buffer optimization accounts for size increases at the end of the allocated buffer.
This adds the same optimization, increasing the size from the beginning of the buffer as well to reduce buffer allocations when expanding the same buffer from the left.
|
|
This allows us to eliminate any static constructors that would have been
emitted due to the function not being constexpr.
|
|
video_core/macro: Move impl classes into their cpp files
|
|
gpu: Remove obsoleted CDmaPusher() accessors
|
|
Necessary since memcpy is used.
|
|
Keeps the implementation hidden from the intended API and lessens the
header dependencies on the interpreter's header.
|
|
Same behavior, but less code and header dependencies.
|
|
Simplifies the function interface.
|
|
Reduces the size of the impl class a tiny bit.
|
|
This doesn't depend on class state and can just be a regular function.
|
|
Keeps the implementation internalized and also reduces API-facing header
dependencies.
Notably, this fully internalizes all of the xbyak externals.
|
|
Given it's intended to be an internal implementation class, we can move
it into the cpp file to ensure that.
This also lets us move some header dependencies into the cpp file as
well.
|
|
Over time a few forward declarations became unnecessary, so we can
remove these to tidy up the header a little bit.
|
|
These were obsoleted in 2c47f8aa1886522898b5b3a73185b5662be3e9f3 but
were accidentally overlooked.
|
|
Generally, we should be ending statements with a semicolon not a comma
Resolves a clang diagnostic.
|