aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2021-08-30structured_control_flow: Conditionally invoke demote reorder passameerj
This is only needed on select drivers when a fragment shader discards/demotes.
2021-08-25Merge pull request #6919 from ameerj/vk-int8-capabilityFernando S
vulkan_device: Add a check for int8 support
2021-08-25Merge pull request #6894 from FernandoS27/bunneis-left-earAmeer J
GPU_MemoryManger: Fix GetSubmappedRange.
2021-08-24vulkan_device: Add a check for int8 supportameerj
Silences validation errors when shaders use int8 without specifying its support to the API
2021-08-21Merge pull request #6888 from v1993/patch-3Ameer J
video_core: eliminate constant ternary
2021-08-19GPU_MemoryManger: Fix GetSubmappedRange.Fernando Sahmkow
2021-08-19video_core: eliminate constant ternaryValeri
`via_header_index` is already checked above, so it would never be true in this branch
2021-08-15xbyak: Update include pathMerry
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.