aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2020-12-28gpu: gpu_thread: Ensure MicroProfile is shutdown on exit.bunnei
2020-12-28video_core: gpu_thread: Do not wait when system is powered down.bunnei
2020-12-28video_core: gpu: Implement synchronous mode using threaded GPU.bunnei
2020-12-28video_core: gpu: Refactor out synchronous/asynchronous GPU implementations.bunnei
- We must always use a GPU thread now, even with synchronous GPU.
2020-12-25Merge pull request #5226 from ReinUsesLisp/c4715-vcRodrigo Locatti
video_core: Enforce C4715 (not all control paths return a value)
2020-12-24cmake: Always enable VulkanReinUsesLisp
Removes the unnecesary burden of maintaining separate #ifdef paths and allows us sharing generic Vulkan code across APIs.
2020-12-24video_core: Enforce C4715 (not all control paths return a value)ReinUsesLisp
Most of the time people write code that always returns a value, terminates execution, throws an exception, or uses an unconventional jump primitive. This is not always true when we build without asserts on mainline builds. To avoid introducing undefined behavior on our most used builds, enforce this warning signalling an error and stopping the build from shipping.
2020-12-24vk_shader_decompiler: Silence warning when compiling without assertsReinUsesLisp
2020-12-15Merge pull request #5157 from lioncash/array-dirtybunnei
maxwell_3d: Remove unused dirty_pointer array
2020-12-10Merge pull request #5162 from lioncash/copy-shaderbunnei
gl_shader_decompiler: Elide unnecessary copies within DeclareConstantBuffers()
2020-12-07Merge pull request #5164 from lioncash/containsRodrigo Locatti
video_core: Make use of ordered container contains() where applicable
2020-12-07video_core: Make use of ordered container contains() where applicableLioncash
With C++20, we can use the more concise contains() member function instead of comparing the result of the find() call with the end iterator.
2020-12-07ast: Improve string concat readability in operator()Lioncash
Provides an in-place format string to make it more pleasant to read.
2020-12-07gl_shader_decompiler: Elide unnecessary copies within DeclareConstantBuffers()Lioncash
Resolves a -Wrange-loop-analysis warning.
2020-12-07Merge pull request #5149 from comex/xx-map-intervalbunnei
map_interval: Change field order to address uninitialized field warning
2020-12-07Merge pull request #5159 from lioncash/move-amendRodrigo Locatti
shader_ir: std::move node within DeclareAmend()
2020-12-07buffer_block: Mark interface as nodiscard where applicableLioncash
Prevents logic errors from occurring from unused values.
2020-12-07buffer_block: Remove unnecessary includesLioncash
Reduces the amount of dependencies the header pulls in.
2020-12-07shader_ir: std::move node within DeclareAmend()Lioncash
Same behavior, but elides an unnecessary atomic reference count increment and decrement.
2020-12-07video_core: Remove unnecessary enum class casting in logging messagesLioncash
fmt now automatically prints the numeric value of an enum class member by default, so we don't need to use casts any more. Reduces the line noise a bit.
2020-12-07Merge pull request #5152 from comex/xx-overrideLC
renderer_vulkan: Add missing `override` specifier
2020-12-07Merge pull request #5136 from lioncash/video-shadow3LC
video_core: Resolve more variable shadowing scenarios pt.3
2020-12-06maxwell_3d: Move member variables to end of classLioncash
Follows our established coding style.
2020-12-06maxwell_3d: Resolve -Wdocumentation warningLioncash
Removes a documentation comment for a non-existent member.
2020-12-06maxwell_3d: Remove unused dirty_pointer arrayLioncash
This is unused and removing it shrinks the structure by 3584 bytes.
2020-12-06renderer_vulkan: Add missing `override` specifiercomex
2020-12-06map_interval: Change field order to address uninitialized field warningcomex
Clang complains about `new_chunk`'s constructor using the then-uninitialized `first_chunk` (even though it's just to get a pointer into it).
2020-12-06video_core: Adjust `NUM` macro to avoid Clang warningcomex
The previous definition was: #define NUM(field_name) (sizeof(Maxwell3D::Regs::field_name) / sizeof(u32)) In cases where `field_name` happens to refer to an array, Clang thinks `sizeof(an array value) / sizeof(a type)` is an instance of the idiom where `sizeof` is used to compute an array length. So it thinks the type in the denominator ought to be the array element type, and warns if it isn't, assuming this is a mistake. In reality, `NUM` is not used to get array lengths at all, so there is no mistake. Silence the warning by applying Clang's suggested workaround of parenthesizing the denominator.
2020-12-05maxwell_dma: Rename RenderEnable::Mode::FALSE and TRUE to avoid name conflictcomex
On Apple platforms, FALSE and TRUE are defined as macros by <mach/boolean.h>, which is included by various system headers. Note that there appear to be no actual users of the names to fix up.
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash
Cleans out the rest of the occurrences of variable shadowing and makes any further occurrences of shadowing compiler errors.
2020-12-05video_core: Resolve more variable shadowing scenarios pt.2Lioncash
Migrates the video core code closer to enabling variable shadowing warnings as errors. This primarily sorts out shadowing occurrences within the Vulkan code.
2020-12-05Merge pull request #5124 from lioncash/video-shadowbunnei
video_core: Resolve more variable shadowing scenarios
2020-12-04Merge pull request #5127 from FearlessTobi/port-5617bunnei
Port citra-emu/citra#5617: "Fix telemetry-related exit crash from use-after-free"
2020-12-05Fix telemetry-related exit crash from use-after-freeFearlessTobi
Co-Authored-By: xperia64 <xperia64@users.noreply.github.com>
2020-12-04codec: Remove deprecated usage of AVCodecContext::refcounted_framesLioncash
This was only necessary for use with the avcodec_decode_video2/avcoded_decode_audio4 APIs which are also deprecated. Given we use avcodec_send_packet/avcodec_receive_frame, this isn't necessary, this is even indicated directly within the FFmpeg API changes document here on 2017-09-26: https://github.com/FFmpeg/FFmpeg/blob/master/doc/APIchanges#L410 This prevents our code from breaking whenever we update to a newer version of FFmpeg in the future if they ever decide to fully remove this API member.
2020-12-04video_core: Resolve more variable shadowing scenariosLioncash
Resolves variable shadowing scenarios up to the end of the OpenGL code to make it nicer to review. The rest will be resolved in a following commit.
2020-12-04Merge pull request #5064 from lioncash/node-shadowbunnei
node: Eliminate variable shadowing
2020-12-03node: Mark member functions as [[nodiscard]] where applicableLioncash
Prevents logic bugs from accidentally ignoring the return value.
2020-12-03node: Eliminate variable shadowingLioncash
2020-12-03vp9/vic: Resolve pessimizing movesLioncash
Removes the usage of moves that don't result in behavior different from a copy, or otherwise would prevent copy elision from occurring.
2020-12-02Merge pull request #5002 from ameerj/nvdec-frameskipbunnei
nvdec: Queue and display all decoded frames, cleanup decoders
2020-11-30Merge pull request #5013 from ReinUsesLisp/vk-early-zbunnei
vk_shader_decompiler: Implement force early fragment tests
2020-11-26codec: Fix `pragma GCC diagnostic pop` missing corresponding pushcomex
2020-11-26vk_shader_decompiler: Implement force early fragment testsReinUsesLisp
Force early fragment tests when the 3D method is enabled. The established pipeline cache takes care of recompiling if needed. This is implemented only on Vulkan to avoid invalidating the shader cache on OpenGL.
2020-11-26Limit queue size to 10 framesameerj
Workaround for ZLA, which seems to decode and queue twice as many frames as it displays.
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-26Address PR feedbackameerj
remove some redundant moves, make deleter match naming guidelines. Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
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-25Queue decoded frames, cleanup decodersameerj
2020-11-25cleanup unneeded comments and newlinesameerj