aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2021-08-15Merge pull request #6861 from yzct12345/const-mempy-is-all-the-speedbunnei
decoders: Optimize memcpy for the other functions
2021-08-12Merge pull request #6838 from ameerj/sws-alignbunnei
vic: Specify sws_scale height stride.
2021-08-12decoders: Templates allow memcpy optimizationsyzct12345
2021-08-10Merge pull request #6820 from yzct12345/split-cacheFernando S
texture_cache: Split out template definitions
2021-08-09vic: Specify sws_scale height stride.ameerj
Silences a sws_scale runtime warning about unaligned strides.
2021-08-08Merge pull request #6844 from ameerj/vp9-empty-frameMai M
vp9: Ensure the first frame is complete
2021-08-08vp9: Ensure the first frame is completeameerj
Silences a runtime error due to the first frame missing the frame data, and being set to hidden despite being a key-frame.
2021-08-08texture_cache: Address ameerj's reviewyzct12345
2021-08-08Merge pull request #6834 from K0bin/buffer-image-granularityFernando S
Respect Vulkan bufferImageGranularity
2021-08-07Merge pull request #6830 from ameerj/nvdec-unimpld-codecbunnei
nvdec: Better logging for unimplemented codecs
2021-08-07vulkan_memory_allocator: Respect bufferImageGranularityRobin Kertels
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