aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2020-11-26codec: Fix `pragma GCC diagnostic pop` missing corresponding pushcomex
2020-11-26Merge pull request #4975 from comex/invalid-syncpoint-idbunnei
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
2020-11-25Merge pull request #4976 from comex/poll-eventsRodrigo Locatti
Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
2020-11-25cleanup unneeded comments and newlinesameerj
2020-11-25Refactor MaxwellToSpirvComparison. Use Common::BitCastameerj
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2020-11-24Address PR feedback from Reinameerj
2020-11-24vulkan_renderer: Alpha Test Culling Implementationameerj
Used by various textures in many titles, e.g. SSBU menu.
2020-11-24nvdrv, video_core: Don't index out of bounds when given invalid syncpoint IDcomex
- Use .at() instead of raw indexing when dealing with untrusted indices. - For the special case of WaitFence with syncpoint id UINT32_MAX, instead of crashing, log an error and ignore. This is what I get when running Super Mario Maker 2.
2020-11-24Merge pull request #3681 from lioncash/componentRodrigo Locatti
decoder/image: Fix incorrect G24R8 component sizes in GetComponentSize()
2020-11-23Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off ↵comex
main thread EmuWindow::PollEvents was called from the GPU thread (or the CPU thread in sync-GPU mode) when swapping buffers. It had three implementations: - In GRenderWindow, it didn't actually poll events, just set a flag and emit a signal to indicate that a frame was displayed. - In EmuWindow_SDL2_Hide, it did nothing. - In EmuWindow_SDL2, it did call SDL_PollEvents, but this is wrong because SDL_PollEvents is supposed to be called on the thread that set up video - in this case, the main thread, which was sleeping in a busyloop (regardless of whether sync-GPU was enabled). On macOS this causes a crash. To fix this: - Rename EmuWindow::PollEvents to OnFrameDisplayed, and give it a default implementation that does nothing. - In EmuWindow_SDL2, do not override OnFrameDisplayed, but instead have the main thread call SDL_WaitEvent in a loop.
2020-11-22Merge pull request #4954 from lioncash/compareMorph
gl_rasterizer: Make floating-point literal a float
2020-11-21Merge pull request #4955 from lioncash/move3bunnei
async_shaders: std::move data within QueueVulkanShader()
2020-11-20Merge pull request #4957 from ReinUsesLisp/alpha-test-rtLC
gl_rasterizer: Remove warning of untested alpha test
2020-11-20gl_rasterizer: Remove warning of untested alpha testReinUsesLisp
Alpha test has been proven to only affect the first render target.
2020-11-20Merge pull request #4953 from lioncash/shader-shadowbunnei
shader_bytecode: Eliminate variable shadowing
2020-11-20async_shaders: emplace threads into the worker thread vectorLioncash
Same behavior, but constructs the threads in place instead of moving them.
2020-11-20async_shaders: Simplify implementation of GetCompletedWork()Lioncash
This is equivalent to moving all the contents and then clearing the vector. This avoids a redundant allocation.
2020-11-20async_shaders: Simplify moving data into the pending queueLioncash
2020-11-20async_shaders: std::move data within QueueVulkanShader()Lioncash
Same behavior, but avoids redundant copies. While we're at it, we can simplify the pushing of the parameters into the pending queue.
2020-11-20gl_rasterizer: Make floating-point literal a floatLioncash
Gets rid of an unnecessary expansion from float to double.
2020-11-20shader_bytecode: Make use of [[nodiscard]] where applicableLioncash
Ensures that all queried values are made use of.
2020-11-20shader_bytecode: Eliminate variable shadowingLioncash
2020-11-20Merge pull request #4308 from ReinUsesLisp/maxwell-3d-funcsRodrigo Locatti
maxwell_3d: Move code to separate functions and insert instead of push_back
2020-11-17rasterizer_interface: Make use of [[nodiscard]] where applicableLioncash
2020-11-17render_base: Make use of [[nodiscard]] where applicableLioncash
2020-11-17gpu: Make use of [[nodiscard]] where applicableLioncash
2020-11-11maxwell_3d: Use insert instead of loop push_backReinUsesLisp
This reduces the overhead of bounds checking on each element. It won't reduce the cost of allocation because usually this vector's capacity is usually large enough to hold whatever we push to it.
2020-11-11maxwell_3d: Move code to separate functionsReinUsesLisp
Deduplicate some code and put it in separate functions so it's easier to understand and profile.
2020-11-07video_core: dma_pusher: Remove integrity check on command lists.bunnei
- This seems to cause softlocks in Breath of the Wild.
2020-11-06Merge pull request #4891 from lioncash/clang2bunnei
General: Fix clang build
2020-11-05Merge pull request #4854 from ReinUsesLisp/cube-array-shadowbunnei
shader: Partially implement texture cube array shadow
2020-11-05General: Fix clang buildLioncash
Allows building on clang to work again
2020-11-04Merge pull request #4858 from lioncash/initializerbunnei
General: Resolve a few missing initializer warnings
2020-11-04Merge pull request #4869 from bunnei/improve-gpu-syncChloe
Improvements to GPU synchronization & various refactoring
2020-11-03Merge pull request #4874 from lioncash/nodiscard2bunnei
nvdec: Make use of [[nodiscard]] where applicable
2020-11-02nvdec: Make use of [[nodiscard]] where applicableLioncash
Prevents bugs from occurring where the results of a function are accidentally discarded
2020-11-01Merge pull request #4865 from ameerj/async-threadcountbunnei
async_shaders: Increase Async worker thread count for >8 thread cpus
2020-11-01video_core: dma_pusher: Add support for integrity checks.bunnei
- Log corrupted command lists, rather than crash.
2020-11-01video_core: dma_pusher: Add support for prefetched command lists.bunnei
2020-11-01video_core: gpu: Implement WaitFence and IncrementSyncPoint.bunnei
2020-10-31Merge pull request #4853 from ReinUsesLisp/fcmp-immbunnei
shader/arithmetic: Implement FCMP immediate + register variant
2020-10-29vp9: Be explicit with copy and move operatorsLioncash
It's deprecated in the language to autogenerate these if the destructor for a type is specified, so we can explicitly specify how we want these to be generated.
2020-10-29vp9: Mark functions with [[nodiscard]] where applicableLioncash
Prevents values from mistakenly being discarded in cases where it's a bug to do so.
2020-10-29vp9: Provide a default initializer for "hidden" memberLioncash
The API of VP9 exposes a WasFrameHidden() function which accesses this member. Given the constructor previously didn't initialize this member, it's a potential vector for an uninitialized read. Instead, we can initialize this to a deterministic value to prevent that from occurring.
2020-10-29vp9: Make some member functions internally linkedLioncash
These helper functions don't directly modify any member state and can be hidden from view.
2020-10-29General: Resolve a few missing initializer warningsLioncash
Resolves a few -Wmissing-initializer warnings.
2020-10-29Merge pull request #4837 from lioncash/nvdec-2bunnei
nvdec: Minor tidying up
2020-10-29async_shaders: Increase Async worker thread count for 8+ thread cpusameerj
Adds 1 async worker thread for every 2 available threads above 8
2020-10-28Merge pull request #4838 from lioncash/syncmgrbunnei
sync_manager: Amend parameter order of calls to SyncptIncr constructor
2020-10-28video_core: cdma_pusher: Add missing LOG_DEBUG field in ExecuteCommand.bunnei