aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
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-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
2020-10-28shader: Partially implement texture cube array shadowReinUsesLisp
This implements texture cube arrays with shadow comparisons but doesn't fix the asserts related to it. Fixes out of bounds reads on swizzle constructors and makes them use bounds checked ::at instead of the unsafe operator[].
2020-10-28shader/arithmetic: Implement FCMP immediate + register variantReinUsesLisp
Trivially add the encoding for this.
2020-10-28Merge pull request #4848 from ReinUsesLisp/type-limitsLC
video_core: Enforce -Werror=type-limits
2020-10-28video_core: Enforce -Wredundant-move and -Wpessimizing-moveReinUsesLisp
Silence three warnings and make them errors to avoid introducing more in the future.
2020-10-28video_core: Enforce -Werror=type-limitsReinUsesLisp
Silences one warning and avoids introducing more in the future.
2020-10-27sync_manager: Amend parameter order of calls to SyncptIncr constructorLioncash
Corrects some cases where the arguments would be incorrectly swapped.
2020-10-27h264: Make WriteUe take a u32Lioncash
Enforces the type of the desired value in calling code.
2020-10-27vp9: std::move buffer within ComposeFrameHeader()Lioncash
We can move the buffer here to avoid a heap reallocation
2020-10-27vp9: Remove dead codeLioncash