aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2021-08-07nvdec: Better logging for unimplemented codecsameerj
2021-08-06Merge pull request #6791 from ameerj/astc-optbunnei
astc_decoder: Various performance and memory optimizations
2021-08-07texture_cache: Address ameerj's reviewyzct12345
2021-08-06Merge pull request #6799 from ameerj/vp9-fixesbunnei
nvdec: Fix VP9 reference frame refreshes
2021-08-06vp9: Cleanup unused variablesameerj
With reference frames refreshes fix, we no longer need to buffer two frames in advance. We can also remove other unused or otherwise unneeded variables.
2021-08-06vp9: Fix reference frame refreshesameerj
This resolves the artifacting when decoding VP9 streams.
2021-08-05texture_cache: Don't change copyright yearyzct12345
2021-08-05texture_cache: Address ameerj's reviewyzct12345
2021-08-05texture_cache: Split templates outyzct12345
2021-08-03nvdec: Implement VA-API hardware video acceleration (#6713)yzct12345
* nvdec: VA-API * Verify formatting * Forgot a semicolon for Windows * Clarify comment about AV_PIX_FMT_NV12 * Fix assert log spam from missing negation * vic: Remove forgotten debug code * Address lioncash's review * Mention VA-API is Intel/AMD * Address v1993's review * Hopefully fix CMakeLists style this time * vic: Improve cache locality * vic: Fix off-by-one error * codec: Async * codec: Forgot the GetValue() * nvdec: Address ameerj's review * codec: Fallback to CPU without VA-API support * cmake: Address lat9nq's review * cmake: Make VA-API optional * vaapi: Multiple GPU * Apply suggestions from code review Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com> * nvdec: Address ameerj's review * codec: Use anonymous instead of static * nvdec: Remove enum and fix memory leak * nvdec: Address ameerj's review * codec: Remove preparation for threading Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-08-02decoders: Optimize swizzle copy performance (#6790)yzct12345
This makes UnswizzleTexture up to two times faster. It is the main bottleneck in NVDEC video decoding.
2021-08-01Merge pull request #6720 from ameerj/vk-screenshotFernando S
renderer_vulkan: Implement screenshots
2021-08-01Merge pull request #6765 from ReinUsesLisp/y-negate-vkAmeer J
vk_rasterizer: Flip viewport on Y_NEGATE
2021-08-01astc_decoder: Reduce workgroup sizeameerj
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
2021-08-01astc_decoder: Compute offset swizzles in-shaderameerj
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
2021-07-31astc_decoder: Make use of uvec4 for payload dataameerj
2021-07-31astc_decoder: Simplify Select2DPartitionameerj
2021-07-31astc_decoder: Optimize the use EncodingDataameerj
This buffer was a list of EncodingData structures sorted by their bit length, with some duplication from the cpu decoder implementation. We can take advantage of its sorted property to optimize its usage in the shader. Thanks to wwylele for the optimization idea.
2021-07-31astc.h: Move data to cpp implementationameerj
Moves leftover values that are no longer used by the gpu decoder back to the cpp implementation.
2021-07-30Merge pull request #6759 from ReinUsesLisp/pipeline-statisticsbunnei
renderer_vulkan: Add setting to log pipeline statistics
2021-07-29vk_rasterizer: Flip viewport on Y_NEGATEReinUsesLisp
Matches OpenGL's behavior. I don't believe this register flips geometry, but we have to try to match behavior on both backends.
2021-07-28renderers: Add explicit invert_y bool to screenshot callbackameerj
OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
2021-07-28renderer_vulkan: Implement screenshotsameerj
2021-07-28vk_blit_screen: Add public CreateFramebuffer methodameerj
2021-07-28vk_blit_screen: Make Draw method more genericameerj
Allows specifying the framebuffer and render area dimensions, rather than being hard coded for the render window.
2021-07-27renderer_vulkan: Add setting to log pipeline statisticsReinUsesLisp
Use VK_KHR_pipeline_executable_properties when enabled and available to log statistics about the pipeline cache in a game. For example, this is on Turing GPUs when generating a pipeline cache from Super Smash Bros. Ultimate: Average pipeline statistics ========================================== Code size: 6433.167 Register count: 32.939 More advanced results could be presented, at the moment it's just an average of all 3D and compute pipelines.
2021-07-27Merge pull request #6749 from lioncash/rtargetbunnei
render_target: Add missing initializer for size extent
2021-07-27Merge pull request #6748 from lioncash/engine-initRodrigo Locatti
video_core/engine: Consistently initialize rasterizer pointers
2021-07-27Merge pull request #6745 from lioncash/copiesbunnei
video_core: Remove some unused variables
2021-07-27render_target: Add missing initializer for size extentLioncash
Everything else has a default constructor that does the straightforward thing of initializing most members to a default value, except for the size. We explicitly initialize the size (and others, for consistency), to prevent potential uninitialized reads from occurring. Particularly given the largeish surface area that this struct is used in.
2021-07-27video_core/engine: Consistently initialize rasterizer pointersLioncash
Ensures all of the engines have consistent and deterministic initialization of the rasterizer pointers.
2021-07-27vulkan_wrapper: Fix SetObjectName() always indicating objects as imagesLioncash
We should be using the passed in object type instead.
2021-07-27buffer_cache: Remove unused small_vector in CommitAsyncFlushesHigh()Lioncash
Given this is non-trivial, the constructor is required to execute, so this removes a bit of redundant codegen.
2021-07-27gl_shader_cache: Remove unused variableLioncash
2021-07-27vk_compute_pass: Remove unused capturesLioncash
Resolves two compiler warnings.
2021-07-26Merge pull request #6696 from ameerj/speed-limit-renamebunnei
general: Rename "Frame Limit" references to "Speed Limit"
2021-07-26Merge pull request #6741 from ReinUsesLisp/stream-removeRodrigo Locatti
vk_stream_buffer: Remove unused stream buffer
2021-07-26Merge pull request #6740 from K0bin/hvv-fallbackRodrigo Locatti
Handle allocation failure in Staging buffer
2021-07-26vk_staging_buffer_pool: Fall back to host memory when allocation failsRobin Kertels
2021-07-26Merge pull request #6728 from ReinUsesLisp/null-buffer-usageRodrigo Locatti
vk_buffer_cache: Add transform feedback usage to null buffer
2021-07-26vk_stream_buffer: Remove unused stream bufferReinUsesLisp
Remove unused file.
2021-07-26vk_compute_pass: Fix pipeline barrier for indexed quadsReinUsesLisp
Use an index buffer barrier instead of a vertex input read barrier.
2021-07-26vk_buffer_cache: Add transform feedback usage to null bufferReinUsesLisp
Fixes bad API usages on Vulkan.
2021-07-25Merge pull request #6585 from ameerj/hadesbunnei
Shader Decompiler Rewrite
2021-07-24Merge pull request #6690 from ReinUsesLisp/dma-clear-fixupsbunnei
buffer_cache: Misc fixups related to buffer clears
2021-07-23renderer_base: Removed redundant settingsameerj
use_framelimiter was not being used internally by the renderers. set_background_color was always set to true as there is no toggle for the renderer background color, instead users directly choose the color of their choice.
2021-07-23general: Rename "Frame Limit" references to "Speed Limit"ameerj
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate. This allows us to differentiate it from the fps unlocker setting.
2021-07-22vulkan/blit_image: Commit descriptor sets within worker threadReinUsesLisp
Fixes race condition caused. The descriptor pool is not thread safe, so we have to commit descriptor sets within the same thread.
2021-07-22vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptorReinUsesLisp
Causes crashes on Link's Awakening intro. It's hard to debug if it's our fault due to bugs in validation layers.
2021-07-22Revert "renderers: Disable async shader compilation"ReinUsesLisp
This reverts commit 4a152767286717fa69bfc94846a124a366f70065.