Fernando Sahmkow
0e8cf38f39
Texture Cache: Implement Blacklisting.
2021-11-16 22:11:28 +01:00
ReinUsesLisp
d2388dd0d0
vulkan: Implement rescaling shader patching
2021-11-16 22:11:28 +01:00
ReinUsesLisp
dc72d4d4f5
vk_texture_cache: Properly scale blit source images
2021-11-16 22:11:28 +01:00
ReinUsesLisp
baf0993d5c
vk_graphics_pipeline: Use Shader::NumDescriptors when possible
2021-11-16 22:11:28 +01:00
ReinUsesLisp
6f3a41abe2
opengl: Use Shader::NumDescriptors when possible
2021-11-16 22:11:28 +01:00
ReinUsesLisp
74efa57c1b
texture_cache: Add image getters
2021-11-16 22:11:28 +01:00
ameerj
fad2c92a39
gl_texture_cache: Simplify rescaling
2021-11-16 22:11:28 +01:00
ameerj
d5143c83a9
texture_cache: Fix typo in aliased image rescaling
2021-11-16 22:11:28 +01:00
ReinUsesLisp
0fb4b84383
vk_texture_cache: Simplify and optimize scaling blits
2021-11-16 22:11:28 +01:00
ReinUsesLisp
520c4a44f6
vk_texture_cache: Fix scaling blit validation errors
2021-11-16 22:11:28 +01:00
ameerj
fddf372c68
gl_texture_cache: Implement ScaleDown
2021-11-16 22:11:27 +01:00
ameerj
0a6c895af7
gl_texture_cache: Rescale fixes for multi-layered textures
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
dfc65cd0a3
Texture Cache: Implement Rescaling on Aliases and Blits.
2021-11-16 22:11:27 +01:00
ReinUsesLisp
d464b122d5
Fix blits with mips
2021-11-16 22:11:27 +01:00
ReinUsesLisp
973f8f1d08
Fix blits
2021-11-16 22:11:27 +01:00
ameerj
de66a69ed4
renderer_gl: Resolution scaling fixes
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
8704c93913
TextureCache: Fix rescaling of ImageCopies
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
778700ff9d
TextureCache: Modify Viewports/Scissors according to Rescale.
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
71ca84d829
Settings: eliminate rescaling_factor.
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
84f2aea896
Texture Cache: More rescaling fixes.
2021-11-16 22:11:27 +01:00
ameerj
10e5065a5c
gl_texture_cache: WIP texture rescale
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
ba18047e8d
Texture Cache: Implement Vulkan UpScaling & DownScaling
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
22f4b290b6
VideoCore: Initial Setup for the Resolution Scaler.
2021-11-16 22:11:27 +01:00
ameerj
c50f170597
codes: Rename ComposeFrameHeader to ComposeFrame
...
These functions were composing the entire frame, not just the headers. Rename to more accurately describe them.
2021-11-12 23:52:19 -05:00
ameerj
d35391b9f4
vp8: Implement header composition
...
Enables frame decoding with FFmpeg
2021-11-12 23:52:18 -05:00
ameerj
b39b33b1fe
codecs: Add VP8 codec class
2021-11-12 19:49:45 -05:00
Feng Chen
70d51f72ec
vulkan_device: Add missing vulkan image format R5G6B5 in GetFormatProperties
...
- Used by Dragon Quest Builders
2021-11-05 10:31:40 -04:00
Morph
d607ceacf4
gl_rasterizer: Remove unused includes
...
This removes unused includes, especially the core includes which were causing this file to be recompiled every time files included by those headers are modified.
2021-10-31 23:57:51 -04:00
lat9nq
61121d1b22
gl_device: Force GLASM on NVIDIA drivers 495-496
...
GLSL shaders currently do not render correctly on the recent NVIDIA
drivers. This adds a check that forces assembly shaders for these
drivers since they seem unaffected and adds a warning informing of the
decision.
Developers can disable the check by enabling graphics debugging.
2021-10-28 19:38:49 -04:00
Fernando S
5299554bb0
Merge pull request #7206 from vonchenplus/fix_vulkan_viewport_issue
...
Vulkan Rasterizer: Fix viewport issue
2021-10-24 01:53:04 +02:00
Ameer J
494e34af6a
Merge pull request #7070 from FernandoS27/want-you-bad
...
Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan.
2021-10-23 18:02:23 -04:00
Fernando Sahmkow
ad8afaf1ef
Vulran Rasterizer: address feedback.
2021-10-23 23:46:29 +02:00
Feng Chen
b769bea61b
Fix vulkan viewport issue
2021-10-22 22:56:31 +08:00
bunnei
c871320760
Merge pull request #7198 from ameerj/settings-chrono
...
settings: Remove std::chrono usage
2021-10-19 09:55:50 -07:00
ameerj
ef811c6425
settings: Remove std::chrono usage
...
Alleviates the dependency on chrono for all files that include settings.h
2021-10-17 00:37:49 -04:00
Ameer J
3791c7ca82
Merge pull request #7077 from FernandoS27/face-down
...
A series of fixes to queries and indexed samplers.
2021-10-16 21:41:54 -04:00
Ameer J
5b735a4c9d
Merge pull request #7127 from FernandoS27/i-saw-a-wabbit
...
A few fixes on Vulkan and Rasterizer Caching
2021-10-16 21:37:43 -04:00
Morph
894b483a0d
Merge pull request #7157 from ameerj/vic-surface-size
...
vic: Use the minimum of surface/frame dimensions when writing the final frame to the GPU
2021-10-13 20:41:17 -04:00
Ameer J
018cf3853e
Merge pull request #7109 from vonchenplus/fix_h264_max__reference_num_error
...
h264: Use max allowed max_num_ref_frames when using CPU decoding
2021-10-12 14:08:37 -04:00
ameerj
f346b04d12
vic: Use the minimum of surface/frame dimensions when writing the final frame to the GPU
...
Addresses possible buffer overflow behavior.
2021-10-10 18:44:16 -04:00
Feng Chen
ba8be75037
h264: Use max allowed max_num_ref_frames when using CPU decoding
2021-10-10 20:07:19 +08:00
Valeri
0394e4bb8e
vic: Allow surface to be higher than frame
...
Touhou Genso Wanderer Lotus Labyrinth R decodes 1920x1080 videos into 1920x1088 surface.
Only allow mismatch for height, since larger width would result in increasingly offset rows and somewhat defeat entire purpose of this check.
2021-10-09 20:22:09 +03:00
ameerj
403fc86c11
vic: Avoid memory corruption when multiple streams with different dimensions are decoded
...
This is a work around to avoid buffer overflow errors until multi channel/multi stream decoding is supported.
2021-10-08 01:22:38 -04:00
ameerj
5aae61775f
vic: Refactor frame writing methods
2021-10-07 14:56:44 -04:00
ameerj
899fdb9c44
vic: Implement RGBX frame format
2021-10-07 11:06:57 -04:00
Fernando S
f84328934f
Merge pull request #7118 from ameerj/vc-gpu-impl
...
gpu: Migrate implementation to the cpp file
2021-10-06 20:02:31 +02:00
bunnei
5b2fa8dd41
Merge pull request #7115 from ameerj/log-compile
...
common/logging: Reduce dependent header include overhead
2021-10-05 10:05:46 -07:00
bunnei
158a693111
Merge pull request #7101 from ameerj/vk-tess-topology
...
vk_graphics_pipeline: Force patch list topology when tessellation is used
2021-10-04 15:37:32 -07:00
Fernando Sahmkow
0498669b4b
Vulkan: Fix failing barrier on refresh.
2021-10-04 20:56:15 +02:00
FernandoS27
bb8bf740e9
RasterizerInterface: Correct size of CPU addresses to cache.
2021-10-04 20:47:31 +02:00
FernandoS27
7f4de3466a
Vulkan: Fix the master Semaphore
2021-10-04 20:46:58 +02:00
ameerj
6c0d902373
nvhost_ctrl: Refactor usage of gpu.LockSync()
...
This seems to only be used to protect a later gpu function call. So we can move the lock into that call instead.
2021-10-03 00:35:57 -04:00
ameerj
427bf76e62
gpu: Migrate implementation to the cpp file
2021-10-03 00:35:57 -04:00
ameerj
5daf3abe65
common/logging: Move Log::Entry declaration to a separate header
...
This reduces the load of requiring to include std::chrono in all files which include log.h
2021-10-01 20:48:49 -04:00
bunnei
8bd5742349
Merge pull request #7061 from ameerj/dma-buffer-misc
...
buffer_cache, maxwell_dma: Minor refactoring and code fixes
2021-09-30 12:34:28 -07:00
bunnei
91341b421d
Merge pull request #7036 from ameerj/ogl-bgr-v2
...
gl_texture_cache: Unify BGR copy passes using PBOs
2021-09-29 16:10:56 -07:00
ameerj
6f35fb8d26
vk_graphics_pipeline: Force patch list topology when tessellation is used
...
Fixes a crash on some drivers when tessellation is used but the IA topology is not patch list.
2021-09-28 16:39:42 -04:00
bunnei
24c0dde958
Merge pull request #7076 from ameerj/amd-botw
...
vk_texture_cache: Disable cube compatibility flag on non-mesa AMD GCN4 and earlier
2021-09-28 10:46:56 -07:00
Morph
5114819b6b
Merge pull request #7078 from ameerj/vc-jthread-fixes
...
video_core: Fix jthread related hangs when stopping emulation
2021-09-26 16:40:13 -04:00
ameerj
73666fb262
general: Update style to clang-format-12
2021-09-24 15:52:05 -04:00
ameerj
ab63a193d7
video_core: Fix jthread related hangs when stopping emulation
...
jthread on some compilers is more picky when it comes to the order in which objects are destroyed.
2021-09-23 20:34:02 -04:00
ameerj
1e1ecca691
vk_texture_cache: Disable cube compatibility flag on non-mesa AMD GCN4 and earlier
...
Fixes rainbow textures on BOTW.
2021-09-23 19:40:53 -04:00
Fernando Sahmkow
d702b393a4
Vulkan Query Cache: make sure to wait for the query result.
2021-09-24 01:14:17 +02:00
Fernando Sahmkow
8fdb51ab46
QueryCache: Flush queries in order of running.
2021-09-24 01:13:42 +02:00
Fernando Sahmkow
60a3980561
Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan.
2021-09-23 03:49:10 +02:00
bunnei
7b22d61fb1
Merge pull request #7003 from ameerj/unlocked-present-mode
...
vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS is unlocked
2021-09-20 14:34:21 -07:00
ameerj
24049591f6
maxwell_dma: Minor refactoring
2021-09-19 20:36:41 -04:00
ameerj
1ea8073783
buffer_cache: Minor fixes
...
Loop through the tmp_intervals by reference, rather than by copy, and fix gl clear buffer size calculation.
2021-09-19 20:35:07 -04:00
bunnei
a9c3619d26
Merge pull request #7019 from ameerj/videocore-jthread
...
videocore: Use std::jthread for worker threads
2021-09-18 20:37:40 -07:00
bunnei
ff54d9615f
Merge pull request #7011 from ameerj/vk-validation-0x0
...
vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors
2021-09-16 17:17:04 -07:00
ameerj
22162f906b
host_shaders: Remove opengl_copy_bgra.comp
2021-09-16 19:49:13 -04:00
ameerj
ab808fe7cf
gl_texture_cache: Migrate BGRCopyPass from util_shaders
...
The BGR copies no longer use shaders.
2021-09-16 19:49:12 -04:00
Fernando S
a606b1448b
Merge pull request #7027 from ameerj/sorry-amd
...
vulkan_device: Reorder Float16Int8 declaration
2021-09-16 07:05:58 +02:00
ameerj
e3c153efa4
vulkan_device: Reorder Float16Int8 declaration
...
This variable was going out of scope before its usage in the vulkan device creation, causing a crash on very specific drivers.
2021-09-16 00:54:24 -04:00
ameerj
5601e1cb00
Revert "Merge pull request #7006 from FernandoS27/a-motherfucking-driver"
...
This reverts commit 62e88d0e74
, reversing
changes made to edf3da346f
.
2021-09-16 00:51:22 -04:00
ameerj
7f737b022a
util_shaders: Unify BGRA copy passes
2021-09-15 21:10:52 -04:00
ameerj
84f7e7e91c
vk_scheduler: Use std::jthread
2021-09-15 20:49:07 -04:00
ameerj
877cd60b00
gpu: Use std::jthread for async gpu thread
2021-09-15 20:49:07 -04:00
Morph
2df2b3719a
renderers: Log total pipeline count
2021-09-14 13:18:26 -04:00
ameerj
db1c4b125f
vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors
...
This validation error is spammed on some titles, asserting that VkDescriptorSet 0x0[] was destroyed.
This is likely a validation layer bug when using VK_KHR_push_descriptor, which can avoid using traditional VkDescriptorSet. It should be safe to ignore for now.
2021-09-13 23:08:59 -04:00
Morph
d86a9b9a4b
Merge pull request #6943 from FernandoS27/omae-wa-mou-shindeiru
...
Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD
2021-09-13 17:33:15 -04:00
Fernando Sahmkow
7a712da2b3
Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD since it's broken.
2021-09-13 23:29:57 +02:00
Morph
62e88d0e74
Merge pull request #7006 from FernandoS27/a-motherfucking-driver
...
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
2021-09-13 17:25:56 -04:00
Morph
fde9b84b21
Merge pull request #6944 from FernandoS27/dear-drunk-me
...
Vulkan/Descriptors: Increase sets per pool on AMD propietary driver.
2021-09-13 17:20:07 -04:00
Fernando Sahmkow
e7c8a0bb23
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
2021-09-13 23:17:37 +02:00
Fernando S
1bb28dfe2c
Merge pull request #7001 from ameerj/wario-fix
...
vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled
2021-09-13 23:16:59 +02:00
Fernando Sahmkow
e7ca37b1e5
Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver.
2021-09-13 23:09:18 +02:00
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.
2021-09-12 20:32:23 -04:00
Mai M
e4318d2207
Merge pull request #7002 from ameerj/vk-state-unused
...
vk_state_tracker: Remove unused function
2021-09-12 17:31:56 -04:00
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.
2021-09-12 16:19:12 -04:00
ameerj
8e289ade15
vk_state_tracker: Remove unused function
2021-09-12 15:28:24 -04:00
Morph
e67463df24
shader_environment: Add missing <algorithm> include
2021-09-11 17:19:16 -04:00
Morph
63b4c8f9f7
vk_descriptor_pool: Add missing <algorithm> include
2021-09-11 17:19:16 -04:00
Morph
76abf55f25
slot_vector: Add missing <algorithm> include
2021-09-11 17:19:15 -04:00
Morph
554c46d186
video_core/memory_manager: Add missing <algorithm> include
2021-09-11 17:19:15 -04:00
Morph
ae028ddf22
codec: Add missing <string_view> include
2021-09-11 17:19:14 -04:00
Fernando S
be4e192903
Merge pull request #6846 from ameerj/nvdec-gpu-decode
...
nvdec: Add GPU video decoding for all capable drivers and platforms
2021-09-11 23:11:32 +02:00
Fernando S
82c867164b
Merge pull request #6901 from ameerj/vk-clear-bits
...
vk_rasterizer: Only clear depth/stencil buffers when specified in attachment aspect mask
2021-09-11 22:36:22 +02:00
Fernando S
ec6490f5ad
Merge pull request #6941 from ameerj/swapchain-srgb
...
vk_swapchain: Prefer linear swapchain format when presenting sRGB images
2021-09-11 22:36:03 +02:00
Fernando S
472aad69db
Merge pull request #6953 from ameerj/anv-semaphore
...
renderer_vulkan: Wait on present semaphore at queue submit
2021-09-11 22:35:52 +02:00