Fernando Sahmkow
a3f4f92e7e
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
5 years ago
Fernando Sahmkow
dbe8a4fc2f
Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver.
5 years ago
ameerj
184de8c1ca
vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS is unlocked
Allows drivers that do not support VK_PRESENT_MODE_MAILBOX_KHR the ability to present at a framerate higher than the monitor's refresh rate when the FPS is unlocked.
5 years ago
ameerj
bf366c1738
vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled
This function was incorrectly using the stencil_two_side_enable register when dynamically updating the StencilOp.
5 years ago
ameerj
14612971ef
vk_state_tracker: Remove unused function
5 years ago
Morph
fc29159ac7
shader_environment: Add missing <algorithm> include
5 years ago
Morph
5d3d9560e1
vk_descriptor_pool: Add missing <algorithm> include
5 years ago
Morph
244017d3aa
slot_vector: Add missing <algorithm> include
5 years ago
Morph
421ff5ea79
video_core/memory_manager: Add missing <algorithm> include
5 years ago
Morph
84b969a442
codec: Add missing <string_view> include
5 years ago
Feng Chen
63acf10871
Fix blend equation enum error
5 years ago
ameerj
f22d524c39
renderer_vulkan: Wait on present semaphore at queue submit
The present semaphore is being signalled by the call to acquire the
swapchain image. This semaphore is meant to be waited on when rendering
to the swapchain image. Currently it is waited on when presenting, but
moving its usage to be waited on in the command buffer submission allows
for proper usage of this semaphore.
Fixes the device lost when launching titles on the Intel Linux Mesa driver.
5 years ago
ameerj
e9a8e011f6
structured_control_flow: Conditionally invoke demote reorder pass
This is only needed on select drivers when a fragment shader discards/demotes.
5 years ago
Fernando Sahmkow
133f72c3f4
Garbage Collection: Make it more agressive on high priority mode.
5 years ago
Fernando Sahmkow
129bcd1b85
Garbage Collection: Adress Feedback.
5 years ago
ameerj
584fc3cb71
vulkan_device: Enable VK_KHR_swapchain_mutable_format if available
Silences validation errors when creating sRGB image views of linear swapchain images
5 years ago
ameerj
cc38b85948
vk_swapchain: Prefer linear swapchain format when presenting sRGB images
Fixes broken sRGB when presenting from a secondary GPU.
5 years ago
Fernando Sahmkow
9a785765d8
Garbage Collection: enable as default, eliminate option.
5 years ago
Fernando Sahmkow
7d22f79cf0
VideoCore: Rework Garbage Collection.
5 years ago
ameerj
8b0a45defd
vp9_types: Minor refactor of VP9 info structs.
5 years ago
ameerj
01ac464999
vp9_types: Remove unused Vp9PictureInfo members
5 years ago
ameerj
56cabe631b
vulkan_device: Add a check for int8 support
Silences validation errors when shaders use int8 without specifying its support to the API
5 years ago
ameerj
64369cceca
vk_rasterizer: Only clear depth and stencil buffers when set in attachment aspect mask
Silences validation errors for clearing the depth/stencil buffers of framebuffer attachments that were not specified to have depth/stencil usage.
5 years ago
Fernando Sahmkow
c01e168072
GPU_MemoryManger: Fix GetSubmappedRange.
5 years ago
Valeri
42b0e8cadf
video_core: eliminate constant ternary
`via_header_index` is already checked above, so it would never be true in this branch
5 years ago
ameerj
681b194e24
h264: Lower max_num_ref_frames
GPU decoding seems to be more picky when it comes to the maximum number of reference frames.
5 years ago
ameerj
82906e26a5
configure_graphics: Add GPU nvdec decoding as an option
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference.
Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
5 years ago
ameerj
7cd52be8c4
codec: Improve libav memory alloc and cleanup
5 years ago
ameerj
5fd82a4ec1
codec: Fallback to CPU decoding if no compatible GPU format is found
5 years ago
lat9nq
3714fd580f
cmake: Add VDPAU and NVDEC support to FFmpeg
Adds {h264_,vp9_}{nvdec,vdpau} hwaccels.
5 years ago
ameerj
899cf73819
vk_blit_screen: Fix non-accelerated texture size calculation
Addresses the potential OOB access in UnswizzleTexture.
5 years ago
Merry
891e19ef4c
xbyak: Update include path
5 years ago
ameerj
f885866fba
codec: Replace deprecated av_init_packet usage
5 years ago
ameerj
561fd5f7a4
nvdec: Implement GPU accelerated decoding for all platforms
Supplements the VAAPI intel gpu decoder by implementing the D3D11VA decoder for Windows, and CUVID/VDPAU for Nvidia and AMD on drivers linux respectively.
5 years ago
yzct12345
4f7ee3d7c6
decoders: Templates allow memcpy optimizations
5 years ago
ameerj
8236b4f4d7
vic: Specify sws_scale height stride.
Silences a sws_scale runtime warning about unaligned strides.
5 years ago
ameerj
4cd45cf374
vp9: Ensure the first frame is complete
Silences a runtime error due to the first frame missing the frame data, and being set to hidden despite being a key-frame.
5 years ago
yzct12345
3c7d3363c1
texture_cache: Address ameerj's review
5 years ago
Robin Kertels
f8f27b6caf
vulkan_memory_allocator: Respect bufferImageGranularity
5 years ago
ameerj
f52a3de990
nvdec: Better logging for unimplemented codecs
5 years ago
yzct12345
0cef80ec92
texture_cache: Address ameerj's review
5 years ago
ameerj
b34ded024c
vp9: Cleanup unused variables
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.
5 years ago
ameerj
27969c5943
vp9: Fix reference frame refreshes
This resolves the artifacting when decoding VP9 streams.
5 years ago
yzct12345
e99a125e19
texture_cache: Don't change copyright year
5 years ago
yzct12345
4436e63616
texture_cache: Address ameerj's review
5 years ago
yzct12345
e85149c507
texture_cache: Split templates out
5 years ago
yzct12345
e13e98d99d
nvdec: Implement VA-API hardware video acceleration ( #6713 )
* 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>
5 years ago
yzct12345
46e4e6707f
decoders: Optimize swizzle copy performance ( #6790 )
This makes UnswizzleTexture up to two times faster. It is the main bottleneck in NVDEC video decoding.
5 years ago
ameerj
bfb2325618
astc_decoder: Reduce workgroup size
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
5 years ago
ameerj
2ff4eb5def
astc_decoder: Compute offset swizzles in-shader
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
5 years ago