Liam
a595e9e8a7
nvnflinger/gpu: implement layer stack composition
2024-01-31 11:27:21 -05:00
Liam
10cf058518
renderer_opengl: implement layer stack composition
2024-01-31 11:27:21 -05:00
Liam
9bdf09bd76
renderer_vulkan: implement layer stack composition
2024-01-31 11:27:21 -05:00
Liam
d4de04584f
renderer_opengl: split up blit screen resources into antialias and window adapt passes
2024-01-31 11:27:21 -05:00
Liam
dd2918efd8
renderer_opengl: move out ownership of FSR resources
2024-01-31 11:27:21 -05:00
Liam
2ed9586130
renderer_vulkan: convert FSR to graphics pipeline
2024-01-31 11:27:21 -05:00
Liam
b78900e956
renderer_opengl: move out FSR shader source construction
2024-01-31 11:27:20 -05:00
Liam
60ee29aac3
renderer_opengl: split out FXAA
2024-01-31 11:27:20 -05:00
Liam
b90eff4bc6
renderer_opengl: split out SMAA
2024-01-31 11:27:20 -05:00
Liam
0c2e5b64c9
renderer_vulkan: split up blit screen resources into separate antialias and window adapt passes
2024-01-31 11:27:20 -05:00
Liam
9568b310be
renderer_vulkan: isolate FXAA from blit screen
2024-01-31 11:27:20 -05:00
Liam
2b1dd3bef5
renderer_opengl: isolate core presentation code
2024-01-31 11:27:20 -05:00
Liam
453091f611
video_core: consistently account for resolution scaling when rendering
2024-01-31 11:27:20 -05:00
Liam
80de01a5b4
video_core: simplify accelerated surface fetch and crop handling between APIs
2024-01-31 11:27:20 -05:00
Fernando Sahmkow
a7c1306e2d
Texture Cache: make sparse texture table per channel
2024-01-31 16:38:51 +01:00
liamwhite
90cb852908
Merge pull request #12814 from Kelebek1/time_new_ipc
...
Move time services to new IPC and add debug printing
2024-01-29 09:08:46 -05:00
liamwhite
278dd589ec
Merge pull request #12439 from FireBurn/vkresult
...
Simplify VkResult lookup
2024-01-29 09:08:32 -05:00
Kelebek1
da410506a4
Move time services to new IPC.
...
Add some fixes/improvements to usage with the new IPC
2024-01-27 03:30:09 +00:00
liamwhite
d45561ace0
Merge pull request #12499 from Kelebek1/time
...
Rework time services
2024-01-25 14:19:01 -05:00
Matías Locatti
807f421752
Demote Mesa dozen to the bottom of the device list
2024-01-24 23:36:14 -03:00
Kelebek1
e4915fb7d2
Rework time service to fix time passing offline.
2024-01-24 04:26:55 +00:00
liamwhite
8bd10473d6
Merge pull request #12579 from FernandoS27/smmu
...
Core: Implement Device Mapping & GPU SMMU
2024-01-22 10:55:39 -05:00
Mike Lothian
23e074ff14
Simplify VkResult lookup
2024-01-22 03:10:43 +00:00
Mike Lothian
f854ffd015
Add Vulkan-Utility-Libraries dependency
2024-01-22 01:30:44 +00:00
Fernando Sahmkow
23430e6772
Core: Eliminate core/memory dependancies.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
a874ab0133
SMMU: Fix 8Gb layout.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
590d9b7e1d
Core: Clang format and other small issues.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
9b11b9dce5
SMMU: Simplify and remove old code.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
303cd31162
SMMU: Add Android compatibility
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
0adc09e0af
GPU-SMMU: Estimate game leak and preallocate device region.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
96fd1348ae
GPU SMMU: Expand to 34 bits
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
34a8d0cc8e
SMMU: Implement physical memory mirroring
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
0a2536a0df
SMMU: Initial adaptation to video_core.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
c85d7ccd79
SMMU: Implement backing CPU page protect/unprotect
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
7a9d1ad2f8
NVDRV: Implement sessions and initial implementation of SMMU
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
2f0418c101
Core: Initial implementation of device memory mapping
2024-01-18 21:12:30 -05:00
Liam
e9eb017aac
renderer_vulkan: recreate swapchain when frame size changes
2024-01-16 16:09:39 -05:00
Viktor Szépe
e8671ed04e
Fix one more typo
2024-01-15 23:34:11 +00:00
Viktor Szépe
53085a45e0
Fix typos in video_core
2024-01-07 22:44:55 +00:00
liamwhite
92a331af76
Merge pull request #12437 from ameerj/gl-amd-fixes
...
OpenGL: Fixes and workaround updates for AMD
2024-01-04 15:53:44 -05:00
Fernando Sahmkow
737e6e531c
Vulkan: Only recreate swapchain if the frame is bigger than the swap image.
2023-12-31 21:03:46 +01:00
Fernando Sahmkow
d07397931a
MaxwellDMA: Don't flush the outputs of a dma copy.
2023-12-31 21:00:01 +01:00
Fernando S
f02a8d0ae9
Merge pull request #12479 from GPUCode/linear-bcn
...
video_core: Fix buffer_row_length for linear compressed textures
2023-12-30 06:56:08 +01:00
liamwhite
69b7100dac
Merge pull request #12449 from liamwhite/debug-utils
...
renderer_vulkan: skip SetObjectNameEXT on unsupported driver
2023-12-26 11:45:39 -05:00
liamwhite
14dc41d4b3
Merge pull request #12448 from liamwhite/format-assert
...
renderer_vulkan: demote format assert to error log
2023-12-26 11:45:33 -05:00
liamwhite
ad049f13aa
Merge pull request #12415 from ameerj/ogl-draw-auto
...
gl_rasterizer: Implement DrawTransformFeedback macro
2023-12-26 11:45:25 -05:00
GPUCode
20e0407235
video_core: Fix buffer_row_length computation for linear compressed textures
2023-12-26 16:33:03 +02:00
Liam
6a1ddc5028
renderer_vulkan: skip SetObjectNameEXT on unsupported driver
2023-12-23 11:08:02 -05:00
Liam
b1d4804c07
renderer_vulkan: demote format assert to error log
2023-12-23 11:04:02 -05:00
liamwhite
91290b9be4
Merge pull request #12412 from ameerj/gl-query-prims
...
OpenGL: Add GL_PRIMITIVES_GENERATED and GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries
2023-12-22 11:42:05 -05:00
Fernando S
373a1ff2ce
Merge pull request #12410 from liamwhite/more-mali-null
...
renderer_vulkan: don't pass null view when nullDescriptor is not supported
2023-12-22 17:40:47 +01:00
Liam
9e9aed41be
shader_recompiler: use float image operations on load/store when required
2023-12-21 14:34:46 -05:00
Ameer J
b4b301d22e
gl_device: Remove AMD blacklists that are no longer applicable
2023-12-20 18:19:15 -05:00
liamwhite
bedc758fe7
Merge pull request #12414 from jbeich/vk274
...
externals: update Vulkan-Headers to v1.3.274
2023-12-20 12:46:50 -05:00
liamwhite
76701185ad
Merge pull request #12400 from ameerj/vk-query-prefix-fix
...
vk_query_cache: Fix prefix sum max_accumulation_limit logic
2023-12-20 12:46:41 -05:00
Fernando S
9e5b4052ed
Merge pull request #12403 from liamwhite/clipdistance
...
shader_recompiler: use minimal clip distance array
2023-12-20 18:45:20 +01:00
Fernando S
234867b84d
Merge pull request #12390 from liamwhite/binding-insanity
...
renderer_vulkan: work around turnip binding bug in a610
2023-12-20 18:44:47 +01:00
Ameer J
61e8c5f798
gl_rasterizer: Less spammy log for unimplemented resets
2023-12-20 11:51:44 -05:00
Ameer J
bbc0ed118d
gl_rasterizer: Implement DrawTransformFeedback macro
2023-12-19 19:54:57 -05:00
Jan Beich
310834aea2
vulkan_common: unbreak build with Vulkan-Headers 1.3.274
...
src/video_core/vulkan_common/vulkan_wrapper.cpp:293:13: error: enumeration value 'VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR' not handled in switch [-Werror,-Wswitch]
switch (result) {
^~~~~~
2023-12-20 01:12:41 +01:00
Ameer J
db8a601cf8
OpenGL: Add GL_PRIMITIVES_GENERATED and GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries
2023-12-19 17:32:31 -05:00
Ameer J
1bb76201e6
gl_rasterizer: Silence spammy logs
2023-12-19 17:13:23 -05:00
Ameer J
372bca5945
gl_buffer_cache: Reintroduce NV_vertex_buffer_unified_memory
...
Workaround Nvidia drivers complaining when a buffer is bound as both a vertex buffer and transform feedback buffer
2023-12-19 17:13:23 -05:00
Liam
d0a75580da
renderer_vulkan: don't pass null view when nullDescriptor is not supported
2023-12-19 15:13:10 -05:00
Fernando S
efe52db690
Merge pull request #12382 from liamwhite/image-limit
...
renderer_vulkan: allow up to 7 swapchain images
2023-12-19 16:15:40 +01:00
Liam
94244437de
shader_recompiler: ignore clip distances beyond driver support level
2023-12-18 22:25:14 -05:00
Ameer J
a2b567dfd6
vk_query_cache: Fix prefix sum max_accumulation_limit logic
2023-12-18 12:37:55 -05:00
liamwhite
65e646eeba
Revert "video_core: use interval map for page count tracking"
2023-12-17 18:59:49 -05:00
Liam
fba3fa705d
renderer_vulkan: work around turnip binding bug in a610
2023-12-17 15:45:09 -05:00
Liam
7fc06260d1
renderer_vulkan: allow up to 7 swapchain images
2023-12-16 18:59:44 -05:00
liamwhite
225f4f40cb
Merge pull request #12377 from ameerj/tfb-batch-oopsie
...
gl_buffer_cache: Fix tfb binding typo
2023-12-16 13:58:06 -05:00
liamwhite
927be75616
Merge pull request #12345 from liamwhite/a-flock-of-seagulls
...
renderer_vulkan: cap async presentation frame count
2023-12-16 13:58:00 -05:00
Ameer J
2b0cf73bf0
gl_buffer_cache: Fix tfb binding typo
2023-12-16 12:48:21 -05:00
Liam
2a3f84aaf2
video_core: lock interval map update
2023-12-14 22:10:21 -05:00
Liam
030e6b3980
video_core: use interval map for page count tracking
2023-12-14 21:54:36 -05:00
Liam
b560ade663
renderer_vulkan: bound async presentation queue growth
2023-12-14 15:54:56 -05:00
liamwhite
52e6b8a2d3
Merge pull request #12274 from liamwhite/srgb-nonsense
...
renderer_vulkan: do not recreate swapchain for srgb
2023-12-08 12:26:13 -05:00
lat9nq
4cd3f9f4f9
codec: Update to use av frame flags
...
Resolves Clang -Wdeprecated-declarations warning from interlaced_frame
2023-12-05 21:10:38 -05:00
liamwhite
90e87c40e8
Merge pull request #12235 from liamwhite/flip-clip
...
renderer_vulkan: adjust window origin and swizzle independently
2023-12-03 21:59:11 -05:00
Liam
6b7dc587cf
texture_cache: fix max_element comparison function
2023-12-03 18:40:19 -05:00
Liam
f05cb69d4f
renderer_opengl: remove srgb conversion logic
2023-12-03 17:08:25 -05:00
Liam
382cf087a0
renderer_vulkan: do not recreate swapchain for srgb
2023-12-03 16:43:54 -05:00
liamwhite
5fb1a83e4c
Merge pull request #12094 from ameerj/gl-buffer-cache-batch-vtx
...
gl_buffer_cache: Batch vertex/tfb buffer binding
2023-12-03 16:27:22 -05:00
liamwhite
69529a748c
Merge pull request #12261 from liamwhite/fruit-company
...
texture_cache: use pedantic type names
2023-12-02 09:28:43 -05:00
Liam
345ea568ba
texture_cache: use pedantic type names
2023-12-01 22:46:33 -05:00
GPUCode
d74dd4faf9
vk_blit_screen: Use correct format for fxaa renderpass
2023-12-01 22:55:50 +02:00
liamwhite
1c21d6c2c2
Merge pull request #12056 from ameerj/opengl-neglect
...
OpenGL: Implement async downloads in buffer and texture caches
2023-12-01 09:16:56 -05:00
Liam
e7dd968ac4
renderer_vulkan: adjust window origin and swizzle independently
2023-11-30 12:33:26 -05:00
Liam
8f62e8e63f
renderer_vulkan: exclude more qcom drivers from extensions
2023-11-29 21:06:06 -05:00
liamwhite
91ad6b7098
Merge pull request #12194 from liamwhite/fruit-company
...
video_core: fix mac compile
2023-11-29 12:33:41 -05:00
liamwhite
df49795bcb
Merge pull request #12154 from liamwhite/more-drivers
...
vulkan_device: add names for more driverID enumeration values
2023-11-29 12:33:34 -05:00
Ameer J
1d11fe00a3
Merge branch 'master' into ssbo-align
2023-11-26 21:08:53 -05:00
Liam
7c1cb5e8c9
video_core: fix mac compile
2023-11-26 20:04:06 -05:00
Fernando S
f21340f7aa
Merge pull request #11535 from GPUCode/upload_cmdbuf
...
renderer_vulkan: Introduce separate cmd buffer for uploads
2023-11-26 18:33:05 +01:00
liamwhite
090ea0281c
Merge pull request #12153 from liamwhite/deck2
...
renderer_vulkan: exclude steam deck oled from force max clock setting
2023-11-25 10:17:18 -05:00
liamwhite
2993d3bb49
Merge pull request #12110 from liamwhite/mali-nullview
...
vk_texture_cache: add workaround for nullDescriptor on Mali
2023-11-25 10:17:00 -05:00
Liam
dee792937f
vulkan_device: add names for more driverID enumeration values
2023-11-24 12:00:41 -05:00
Liam
4a278b69b1
renderer_vulkan: exclude steam deck oled from force max clock setting
2023-11-24 11:38:39 -05:00
Liam
453fd47030
query_cache: demote report synced unreachable to assert
2023-11-23 09:33:02 -05:00
liamwhite
e69118042f
Merge pull request #12045 from liamwhite/codec-refactor
...
video_core: refactor video frame and packet parsing
2023-11-21 09:19:26 -05:00
Liam
e7878e3cf8
vk_texture_cache: add workaround for nullDescriptor on Mali
2023-11-20 20:09:12 -05:00
Ameer J
a595ed499d
gl_buffer_cache: Batch vertex/tfb buffer binding
2023-11-19 17:17:16 -05:00
Liam
473caaff5b
renderer_vulkan: ignore viewport stores on non-supporting drivers
2023-11-19 11:27:12 -05:00
liamwhite
787552f832
Merge pull request #12081 from FernandoS27/check-out-on-your-broke-crypto-friends
...
Vulkan: Be more generous with pipeline workers for Android
2023-11-19 11:16:19 -05:00
liamwhite
5f945e2fcd
Merge pull request #12036 from FernandoS27/you-should-have-more-than-one-towel
...
Query Cache: Disable write syncing on Android
2023-11-19 09:52:22 -05:00
liamwhite
61fed8a3a6
Merge pull request #12068 from ameerj/glasm-xfb-fixes
...
gl_graphics_pipeline: GLASM: Fix transform feedback attribs buffer mode
2023-11-19 09:49:38 -05:00
Fernando Sahmkow
a493ba76b4
Vulkan: Be more generous with pipeline workers for Android
2023-11-19 14:54:15 +01:00
Fernando Sahmkow
ae60a5657e
Buffer Cache: Eliminate clears on Indirect buffers
2023-11-18 19:26:14 +01:00
Ameer J
feb60de5c3
shader_recompiler: Fix spelling of "derivate" ( #12067 )
2023-11-18 13:39:47 +01:00
Ameer J
c67644f1da
gl_graphics_pipeline: GLASM: Fix transform feedback attribs buffer mode
...
GL_SEPARATE_ATTRIBS only applies when multiple buffers are being used, else GL_INTERLEAVED_ATTRIBS handles the cases for a single buffer with potentially more than one attribute
2023-11-18 00:44:05 -05:00
Liam
4055a476aa
video_core: refactor video frame and packet parsing
2023-11-16 17:01:38 -05:00
Fernando Sahmkow
c9437e5244
Query Cache: Disable write syncing on Android
2023-11-15 02:23:39 +01:00
Fernando Sahmkow
50bcfa5fb9
Vulkan: Add a final barrier to the upload command buffer
2023-11-12 20:58:30 +01:00
GPUCode
efc50485b8
renderer_vulkan: Introduce separate cmd buffer for uploads
2023-11-12 20:27:39 +01:00
Fernando Sahmkow
f1806d237f
Memory: Fix invalidation handling from the CPU/Services
2023-11-12 14:10:40 +01:00
Fernando Sahmkow
1d03a0fa75
Revert "renderer_vulkan: add locks to avoid scheduler flushes from CPU"
...
This reverts commit d9dde7e6f3
.
2023-11-10 15:40:48 +01:00
liamwhite
40357098a2
Merge pull request #11896 from liamwhite/crop
...
renderer_vulkan: fix cropping for presentation
2023-11-06 12:08:03 -05:00
liamwhite
a423e0f9e0
renderer_vulkan: render on bottom of surface clip when flipped ( #11894 )
2023-11-05 21:47:35 +01:00
Liam
75de0cadcf
renderer_null: fix
2023-11-03 20:54:38 -04:00
Liam
41701052d3
renderer_vulkan: minimize transform feedback support log
2023-11-01 20:47:08 -04:00
Ameer J
75c5be55af
shader_recompiler: Align SSBO offsets in GlobalMemory functions
2023-10-31 20:14:18 -04:00
Ameer J
735612c9b3
buffer_cache: Apply storage buffer alignment only to the offset
2023-10-31 20:10:54 -04:00
Ameer J
7d34800531
shader_recompiler: Align SSBO offsets to meet host requirements
...
Co-Authored-By: Billy Laws <blaws05@gmail.com>
2023-10-31 20:10:54 -04:00
liamwhite
1836e62d33
Merge pull request #11910 from liamwhite/surface-lost-on-creation
...
renderer_vulkan: ensure exception on surface loss
2023-10-30 09:59:37 -04:00
liamwhite
ed2d77ddbc
Merge pull request #11893 from liamwhite/swizzle
...
renderer_vulkan: fix viewport swizzle dirty state tracking
2023-10-29 19:46:20 -04:00
Liam
8427b9d49d
renderer_vulkan: ensure exception on surface loss
2023-10-29 15:31:05 -04:00
liamwhite
4da2105a32
Merge pull request #11862 from liamwhite/pascal-robust
...
Manually robust on Pascal and earlier
2023-10-29 11:25:15 -04:00
liamwhite
1f9684eaf9
Merge pull request #11859 from Kelebek1/compute_findbuffer
...
Add missing loop around compute FindBuffer calls
2023-10-29 11:25:09 -04:00
Liam
6513a356f0
renderer_vulkan: fix FSR cropping
2023-10-28 11:43:00 -04:00
Liam
65d4a16afd
renderer_vulkan: fix cropping for presentation
2023-10-28 00:05:06 -04:00
Liam
21c631b33b
renderer_vulkan: fix viewport swizzle dirty state tracking
2023-10-27 14:23:47 -04:00
Liam
e0834ee50b
vulkan_common: use highest API version
2023-10-24 17:04:17 -04:00
Kelebek1
68f25217b8
Add missing dowhile loops around FindBuffer calls
2023-10-23 15:08:56 +01:00
Liam
0604b14263
Manually robust on Pascal and earlier
2023-10-23 09:08:57 -04:00
liamwhite
4b06bcc82c
Merge pull request #11789 from Kelebek1/spirv_shift_right
...
Manually robust on Maxwell and earlier
2023-10-21 18:21:53 -04:00
liamwhite
b56c7397ad
Merge pull request #11806 from liamwhite/needs-more-locking
...
renderer_vulkan: add locks to avoid scheduler flushes from CPU
2023-10-20 10:26:03 -04:00
Kelebek1
e02ee8e59d
Manually robust on Maxwell and earlier
2023-10-19 19:54:31 +01:00
liamwhite
134ecca9b0
Merge pull request #11810 from liamwhite/clang-17
...
general: fix build failure on clang 17
2023-10-18 19:30:29 -04:00
liamwhite
c5f1ec8040
Merge pull request #11795 from Squall-Leonhart/D32FToOther
...
[Vulkan]Implement missing copy formats for D32, ARGB8_SRGB and BGRA8_Unorm/SRGB
2023-10-18 09:22:14 -04:00
Liam
c5bdc0054c
general: fix build failure on clang 17
2023-10-17 22:44:21 -04:00
liamwhite
fa56518f20
Merge pull request #11747 from Kelebek1/image_alias_sample_names
...
Small things
2023-10-17 11:48:57 -04:00
liamwhite
b577d7a55f
Merge pull request #11349 from vonchenplus/buffer_cache_crash
...
video_core: Fix moltenvk crash on macos
2023-10-17 11:48:44 -04:00
Liam
d9dde7e6f3
renderer_vulkan: add locks to avoid scheduler flushes from CPU
2023-10-17 10:00:25 -04:00
Fernando S
2244b613cf
Merge pull request #11788 from Squall-Leonhart/IFREMOVED
...
[crash fix]brings back the removed if statement in util.cpp and adds the num_level test to it like previous discontinued PR
2023-10-17 14:36:36 +02:00
Squall-Leonhart
326ebbb2fa
Changes based on hardware tests
...
Removes unnecessary d32f to bgra shader and blit functions,
update vk_texture_cache to use abgr shader for d32f to BGRA formats
updates abgr to d32f shader to comply with hardware tests
2023-10-17 02:42:40 +11:00
Squall Leonhart
07143ce15c
Make Clang happy.
2023-10-17 00:26:19 +11:00
Squall Leonhart
dbc73c6c6c
Added missing BuildShader line
...
Adds `convert_abgr8_to_d32f_frag(BuildShader(device, CONVERT_ABGR8_TO_D32F_FRAG_SPV)),`
2023-10-17 00:15:31 +11:00
Squall Leonhart
90c56f5dc1
added missing trailing line.
2023-10-16 06:07:26 +11:00
Squall Leonhart
4b0291172e
meant to add the unorms as well
2023-10-16 04:29:24 +11:00
Squall-Leonhart
12e4757cf3
use texelfetch instead of texturelod
2023-10-16 04:20:45 +11:00