ameerj
35e5a67a83
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
678f73069f
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
8e289ade15
vk_state_tracker: Remove unused function
5 years ago
Morph
e67463df24
shader_environment: Add missing <algorithm> include
5 years ago
Morph
63b4c8f9f7
vk_descriptor_pool: Add missing <algorithm> include
5 years ago
Morph
76abf55f25
slot_vector: Add missing <algorithm> include
5 years ago
Morph
554c46d186
video_core/memory_manager: Add missing <algorithm> include
5 years ago
Morph
ae028ddf22
codec: Add missing <string_view> include
5 years ago
Feng Chen
0292374807
Fix blend equation enum error
5 years ago
ameerj
7d854fbdb0
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
4fda7f1c82
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
fe0acec539
Garbage Collection: Make it more agressive on high priority mode.
5 years ago
Fernando Sahmkow
ff48f06fb9
Garbage Collection: Adress Feedback.
5 years ago
ameerj
27f8f3333f
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
3c65c8580f
vk_swapchain: Prefer linear swapchain format when presenting sRGB images
Fixes broken sRGB when presenting from a secondary GPU.
5 years ago
Fernando Sahmkow
ba82bb359b
Garbage Collection: enable as default, eliminate option.
5 years ago
Fernando Sahmkow
d540d284b5
VideoCore: Rework Garbage Collection.
5 years ago
ameerj
eb2624ed65
vp9_types: Minor refactor of VP9 info structs.
5 years ago
ameerj
3de38c9a70
vp9_types: Remove unused Vp9PictureInfo members
5 years ago
ameerj
4d535799eb
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
e0397f00d0
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
ef2066b272
GPU_MemoryManger: Fix GetSubmappedRange.
5 years ago
Valeri
4fd655cb46
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
b384129c63
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
cd016d3cb5
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
a832aa699f
codec: Improve libav memory alloc and cleanup
5 years ago
ameerj
bc3efb79cc
codec: Fallback to CPU decoding if no compatible GPU format is found
5 years ago
lat9nq
92bc51b66a
cmake: Add VDPAU and NVDEC support to FFmpeg
Adds {h264_,vp9_}{nvdec,vdpau} hwaccels.
5 years ago
ameerj
537c6ac8fe
vk_blit_screen: Fix non-accelerated texture size calculation
Addresses the potential OOB access in UnswizzleTexture.
5 years ago
Merry
1770503185
xbyak: Update include path
5 years ago
ameerj
356e10898f
codec: Replace deprecated av_init_packet usage
5 years ago
ameerj
659039ca6d
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
430255caf8
decoders: Templates allow memcpy optimizations
5 years ago
ameerj
a779cede7c
vic: Specify sws_scale height stride.
Silences a sws_scale runtime warning about unaligned strides.
5 years ago
ameerj
fa22695705
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
c4eafcc861
texture_cache: Address ameerj's review
5 years ago
Robin Kertels
bb29dcb7f2
vulkan_memory_allocator: Respect bufferImageGranularity
5 years ago
ameerj
928b64d2ce
nvdec: Better logging for unimplemented codecs
5 years ago
yzct12345
e80323b8b0
texture_cache: Address ameerj's review
5 years ago
ameerj
e3688f0627
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
a3f80a97a3
vp9: Fix reference frame refreshes
This resolves the artifacting when decoding VP9 streams.
5 years ago
yzct12345
02e98f6c93
texture_cache: Don't change copyright year
5 years ago
yzct12345
5566f3dbc0
texture_cache: Address ameerj's review
5 years ago
yzct12345
f9563c8f24
texture_cache: Split templates out
5 years ago
yzct12345
2868d4ba84
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
f56d0db5bd
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
c439fc9be9
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
5ab8053511
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
ameerj
b2862e4772
astc_decoder: Make use of uvec4 for payload data
5 years ago
ameerj
a75d70fa90
astc_decoder: Simplify Select2DPartition
5 years ago