aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2022-03-07MaxwellDMA: Implement semaphore operationsLody
2022-03-06gl_graphics_pipeline: Improve shader builder synchronization using fences ↵Ameer J
(#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
2022-02-27gl_fence_manager: Minor optimization to signal queryingameerj
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.
2022-02-26Merge pull request #7953 from ameerj/radv-rdna2-crashbunnei
vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_state
2022-02-26Merge pull request #7948 from Morph1984/11-11-10-floatMai M
maxwell_to_(gl/vk): Add 11_11_10 float vertex format
2022-02-25vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_stateAmeer J
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.
2022-02-25maxwell_to_(gl/vk): Add 11_11_10 float vertex formatMorph
- Used by パワプロクンポケットR
2022-02-24vk_blit_screen: Add missing format bgra8Lody
2022-02-21vulkan_device: fix missing format in ANVvoidanix
Currently Mesa's ANV driver does not support VK_FORMAT_B5G6R5_UNORM_PACK16, implement an alternative for it.
2022-02-02Merge pull request #7814 from FernandoS27/another-bug-in-my-schedulebunnei
Vulkan: Fix Scheduler Chunks when their FuncType is 0.
2022-02-02texture_cache: Ensure has_blacklisted is always initializedLioncash
Resolves a -Wmaybe_uninitialized warning
2022-02-02texture_cache: Remove dead code within SynchronizeAliasesLioncash
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.
2022-02-02texture_cache: Amend unintended bitwise OR in SynchronizeAliasesLioncash
2022-02-02general: Replace NonCopyable struct with equivalentsLioncash
2022-02-01Merge pull request #7824 from lioncash/scacheMorph
video_core/shader_cache: Take std::span in RemoveShadersFromStorage()
2022-02-01video_core/shader_cache: Remove unused algorithm includeLioncash
2022-02-01video_core/shader_cache: Take std::span in RemoveShadersFromStorage()Lioncash
Same behavior, but without the need to move into the function to avoid an allocation.
2022-02-01Rasterizer: Refactor inlineToMemory.Fernando Sahmkow
2022-01-31Vulkan: Fix Scheduler Chunks when their FuncType is 0.Fernando Sahmkow
2022-01-29GPU: Improve syncing.Fernando Sahmkow
2022-01-29Rasterizer: Implement Inline2Memory Acceleration.Fernando Sahmkow
2022-01-29Inline2Memory: Flush before writting buffer.Fernando Sahmkow
2022-01-27buffer_cache: Reduce stream buffer allocations when expanding from the leftameerj
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.
2022-01-26common/xbyak_api: Make BuildRegSet() constexprLioncash
This allows us to eliminate any static constructors that would have been emitted due to the function not being constexpr.
2022-01-26Merge pull request #7780 from lioncash/macrobunnei
video_core/macro: Move impl classes into their cpp files
2022-01-25Merge pull request #7779 from lioncash/gpu-ifaceMorph
gpu: Remove obsoleted CDmaPusher() accessors
2022-01-25video_core/macro: Add missing <cstring> headerLioncash
Necessary since memcpy is used.
2022-01-25video_core/macro_interpreter: Move impl class to the cpp fileLioncash
Keeps the implementation hidden from the intended API and lessens the header dependencies on the interpreter's header.
2022-01-25video_core/macro_hle: Return unique_ptr directly from GetHLEProgram()Lioncash
Same behavior, but less code and header dependencies.
2022-01-25video_core/macro: Remove unused parameter from Execute()Lioncash
Simplifies the function interface.
2022-01-25video_core/macro_jit_x64: Remove unused impl class memberLioncash
Reduces the size of the impl class a tiny bit.
2022-01-25video_core/macro_jit_x64: Decouple PersistentCallerSavedRegs() from implLioncash
This doesn't depend on class state and can just be a regular function.
2022-01-25video_core/macro_jit_x64: Move impl class into cpp fileLioncash
Keeps the implementation internalized and also reduces API-facing header dependencies. Notably, this fully internalizes all of the xbyak externals.
2022-01-25video_core/macro_hle: Move impl class into cpp fileLioncash
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.
2022-01-25gpu: Tidy up forward declarationsLioncash
Over time a few forward declarations became unnecessary, so we can remove these to tidy up the header a little bit.
2022-01-25gpu: Remove obsoleted CDMAPusher() accessorsLioncash
These were obsoleted in 2c47f8aa1886522898b5b3a73185b5662be3e9f3 but were accidentally overlooked.
2022-01-25vk_fsr: Replace comma operator with semicolonLioncash
Generally, we should be ending statements with a semicolon not a comma Resolves a clang diagnostic.
2022-01-20video_core: constify AVCodec for ffmpeg >= 5.0Jan Beich
src/video_core/command_classes/codecs/codec.cpp:177:16: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers av_codec = avcodec_find_decoder(codec); ^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-19vulkan_device: Fix sType for VkPhysicalDeviceShaderAtomicInt64FeaturesGeorg Lehmann
2022-01-16astc_decoder: Combine FastReplicate functions to work around new NV driver bugameerj
The new Nvidia drivers have a bug where the FastReplicateTo6 function produces a lookup into the REPLICATE_TO_8 table rather than the REPLICATE_TO_6 table. This seems to be an optimization gone wrong. Combining the logic of the FastReplicate functions seems to address the bug.
2022-01-06Merge pull request #7658 from ameerj/sparse-fixesFernando S
video_core/memory_manager: Fixes for sparse memory management
2022-01-05Merge pull request #7673 from german77/no_returnMai M
glsl: Remove unreachable return
2022-01-04video_core: Remove unnecesary maybe_unused flagNarr the Reg
2022-01-04Merge pull request #7636 from vonchenplus/buffer_queue_querybunnei
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-04Merge pull request #7670 from ameerj/vsync-blockFernando S
gpu: Add shut down method to synchronize threads before destruction
2022-01-03Merge pull request #7251 from FernandoS27/shader-dumpbunnei
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-03gpu: Add shut down method to synchronize threads before destructionameerj
2022-01-04ShaderDecompiler: Add a debug option to dump the game's shaders.Fernando Sahmkow
2022-01-03Revert "Merge pull request #7668 from ameerj/fence-stop-token"ameerj
This reverts commit e7733544779f2706d108682dd027d44e7fa5ff4b, reversing changes made to abbbdc2bc027ed7af236625ae8427a46df63f7e7.
2022-01-03gpu: Use std::stop_token in WaitFence for VSync threadameerj
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.