Commit Graph

7176 Commits

Author SHA1 Message Date
Matías Locatti 40497ab00f Merge pull request #10529 from liamwhite/critical-spacing
caches: make critical reclamation less eager and possible in more cases
2024-02-20 23:19:27 -03:00
FearlessTobi 4d55e58ee4 scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
Liam 749f0564ae shader_recompiler: throw on missing geometry streams in geometry shaders 2024-02-19 00:34:00 -05:00
Liam a956f0f4f8 vulkan_device: don't use fixed cap for memory limits 2024-02-18 18:59:13 -05:00
Liam 02430ed002 buffer_cache: use mapped range with large vertex buffer size 2024-02-13 08:27:33 -05:00
liamwhite c741b765dd Merge pull request #12975 from FernandoS27/keep-your-own-vodoo-doll-away-from-gf
Texture Cache: Fix untracking on GPU remap
2024-02-13 08:17:59 -05:00
Narr the Reg e29b241a5a Merge pull request #12756 from liamwhite/applet-multiprocess-hwc
general: applet multiprocess
2024-02-11 20:58:28 -06:00
Liam 25f5a651a9 texture_cache: tweak iteration tracking change 2024-02-11 13:41:13 -05:00
Liam 9a10c66e40 texture_cache: avoid overestimation of ASTC texture sizes 2024-02-11 13:41:13 -05:00
Liam e882f6c1c3 caches: make critical reclamation less eager and possible in more cases 2024-02-11 13:41:13 -05:00
Liam 47eeb0008b host_shaders: add vendor workaround for adreno drivers 2024-02-10 12:02:37 -05:00
Fernando Sahmkow 75847f0e8b Texture Cache: Fix untracking on GPU remap 2024-02-10 14:49:49 +01:00
Liam ba17a8c2b8 gpu: dependency-inject scaling/antialiasing filter state for capture layers 2024-02-09 09:20:53 -05:00
Liam ce72818075 nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
Liam 1c32e4157c nvnflinger/gpu: implement blending 2024-02-09 09:20:53 -05:00
Liam 85abd0243e video_core: defensively program around unmapped device pointers 2024-02-09 09:20:53 -05:00
liamwhite d26c4a5090 Merge pull request #12914 from FernandoS27/vc-refactor
VideoCore Refactor Part 1.
2024-02-08 10:59:59 -05:00
liamwhite 9e83fdcde3 Merge pull request #12883 from FernandoS27/memory_manager_mem
MemoryManager: Reduce the page table size based on last big page address.
2024-02-06 10:25:03 -05:00
Fernando Sahmkow 758d895408 Common: Rename SplitRangeSet to OverlapRangeSet 2024-02-05 23:01:17 +01:00
Fernando Sahmkow 80d505b5cf Buffer Cache: Refactor to use Range sets instead 2024-02-05 11:06:52 +01:00
Fernando Sahmkow 4d97c54676 VideoCore: Move Slot Vector to Common 2024-02-04 20:01:47 +01:00
liamwhite 3868b44440 Merge pull request #12885 from Moonlacer/eclipse-fix
structured_control_flow: Add Samsung Proprietary Driver ID to Reorder Pass
2024-02-02 09:08:54 -05:00
Fernando S 9162ecd960 Merge pull request #12761 from liamwhite/mp-composite
video_core: rewrite presentation for layer composition
2024-02-02 15:08:06 +01:00
Moonlacer 309ca2bd3b Clang Fix 2024-02-01 18:15:21 -06:00
Moonlacer 31200d0c7a Add Samsung Proprietary Driver ID to Reorder Pass
For RDNA-based Samsung Xclipse GPUs
2024-02-01 17:53:26 -06:00
Fernando Sahmkow 4d65645d80 MemoryManager: Reduce the page table size based on last big page address. 2024-02-01 13:00:36 +01:00
Fernando Sahmkow 4c68fc6ea7 SwBlitter: Fix Pitch linear reading/writting 2024-01-31 23:02:10 +01:00
Liam 5ec76db392 nvnflinger/gpu: implement layer stack composition 2024-01-31 11:27:21 -05:00
Liam d2f98ce312 renderer_opengl: implement layer stack composition 2024-01-31 11:27:21 -05:00
Liam f727f13cb9 renderer_vulkan: implement layer stack composition 2024-01-31 11:27:21 -05:00
Liam 2a314f9e2e renderer_opengl: split up blit screen resources into antialias and window adapt passes 2024-01-31 11:27:21 -05:00
Liam 64eb14d45a renderer_opengl: move out ownership of FSR resources 2024-01-31 11:27:21 -05:00
Liam cc8493ea2e renderer_vulkan: convert FSR to graphics pipeline 2024-01-31 11:27:21 -05:00
Liam dbcfa26891 renderer_opengl: move out FSR shader source construction 2024-01-31 11:27:20 -05:00
Liam bd9c228844 renderer_opengl: split out FXAA 2024-01-31 11:27:20 -05:00
Liam 5d9ae38249 renderer_opengl: split out SMAA 2024-01-31 11:27:20 -05:00
Liam 86bfa837fc renderer_vulkan: split up blit screen resources into separate antialias and window adapt passes 2024-01-31 11:27:20 -05:00
Liam f50296ab23 renderer_vulkan: isolate FXAA from blit screen 2024-01-31 11:27:20 -05:00
Liam e8fa898313 renderer_opengl: isolate core presentation code 2024-01-31 11:27:20 -05:00
Liam cd8049a5e2 video_core: consistently account for resolution scaling when rendering 2024-01-31 11:27:20 -05:00
Liam 84678c7014 video_core: simplify accelerated surface fetch and crop handling between APIs 2024-01-31 11:27:20 -05:00
Fernando Sahmkow 352f6d22e3 Texture Cache: make sparse texture table per channel 2024-01-31 16:38:51 +01:00
liamwhite 9b07313a94 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 bc857b4b5a Merge pull request #12439 from FireBurn/vkresult
Simplify VkResult lookup
2024-01-29 09:08:32 -05:00
Kelebek1 05afa94a3b 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 0ab550c726 Merge pull request #12499 from Kelebek1/time
Rework time services
2024-01-25 14:19:01 -05:00
Matías Locatti fa47a39052 Demote Mesa dozen to the bottom of the device list 2024-01-24 23:36:14 -03:00
Kelebek1 52c35521bd Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
liamwhite 5a6b3a0125 Merge pull request #12579 from FernandoS27/smmu
Core: Implement Device Mapping & GPU SMMU
2024-01-22 10:55:39 -05:00
Mike Lothian 0a3c09f2f6 Simplify VkResult lookup 2024-01-22 03:10:43 +00:00
Mike Lothian 2348a5bdab Add Vulkan-Utility-Libraries dependency 2024-01-22 01:30:44 +00:00
Fernando Sahmkow 241c64e43b Core: Eliminate core/memory dependancies. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow eda09c091a SMMU: Fix 8Gb layout. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow b206089ea7 Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 43de47538a SMMU: Simplify and remove old code. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 355bbea52d SMMU: Add Android compatibility 2024-01-18 21:12:30 -05:00
Fernando Sahmkow ff6cd1c212 GPU-SMMU: Estimate game leak and preallocate device region. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow bb7b14acd5 GPU SMMU: Expand to 34 bits 2024-01-18 21:12:30 -05:00
Fernando Sahmkow f11218a03e SMMU: Implement physical memory mirroring 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 9db159da71 SMMU: Initial adaptation to video_core. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow d0329a2c00 SMMU: Implement backing CPU page protect/unprotect 2024-01-18 21:12:30 -05:00
Fernando Sahmkow eb4f7f35ea NVDRV: Implement sessions and initial implementation of SMMU 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 04b4af6044 Core: Initial implementation of device memory mapping 2024-01-18 21:12:30 -05:00
Liam be2a32b041 renderer_vulkan: recreate swapchain when frame size changes 2024-01-16 16:09:39 -05:00
Viktor Szépe 897ff8a95c Fix one more typo 2024-01-15 23:34:11 +00:00
Viktor Szépe e895ebb546 Fix typos in video_core 2024-01-07 22:44:55 +00:00
liamwhite 8da33ba38a 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 d9b2778306 Vulkan: Only recreate swapchain if the frame is bigger than the swap image. 2023-12-31 21:03:46 +01:00
Fernando Sahmkow a81686eff8 MaxwellDMA: Don't flush the outputs of a dma copy. 2023-12-31 21:00:01 +01:00
Fernando S 64dd40ee88 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 aec8115476 Merge pull request #12449 from liamwhite/debug-utils
renderer_vulkan: skip SetObjectNameEXT on unsupported driver
2023-12-26 11:45:39 -05:00
liamwhite fd035bfd90 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 8502b07266 Merge pull request #12415 from ameerj/ogl-draw-auto
gl_rasterizer: Implement DrawTransformFeedback macro
2023-12-26 11:45:25 -05:00
GPUCode 1bc4b6c75d video_core: Fix buffer_row_length computation for linear compressed textures 2023-12-26 16:33:03 +02:00
Liam 072c63ec91 renderer_vulkan: skip SetObjectNameEXT on unsupported driver 2023-12-23 11:08:02 -05:00
Liam 188916635a renderer_vulkan: demote format assert to error log 2023-12-23 11:04:02 -05:00
liamwhite 84a1054801 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 d73d8e8471 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 a952270b5c shader_recompiler: use float image operations on load/store when required 2023-12-21 14:34:46 -05:00
Ameer J b09ab3540d gl_device: Remove AMD blacklists that are no longer applicable 2023-12-20 18:19:15 -05:00
liamwhite 154009b915 Merge pull request #12414 from jbeich/vk274
externals: update Vulkan-Headers to v1.3.274
2023-12-20 12:46:50 -05:00
liamwhite 3db4ff982c 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 18b7ed6453 Merge pull request #12403 from liamwhite/clipdistance
shader_recompiler: use minimal clip distance array
2023-12-20 18:45:20 +01:00
Fernando S 33f38c09aa 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 ecd92c9b2b gl_rasterizer: Less spammy log for unimplemented resets 2023-12-20 11:51:44 -05:00
Ameer J 2fc6f3fcfd gl_rasterizer: Implement DrawTransformFeedback macro 2023-12-19 19:54:57 -05:00
Jan Beich af5d54b6c8 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 d5b1a5f27d OpenGL: Add GL_PRIMITIVES_GENERATED and GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries 2023-12-19 17:32:31 -05:00
Ameer J 5fea802712 gl_rasterizer: Silence spammy logs 2023-12-19 17:13:23 -05:00
Ameer J 86b262e42d 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 6687915b0f renderer_vulkan: don't pass null view when nullDescriptor is not supported 2023-12-19 15:13:10 -05:00
Fernando S 0f928af7ab 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 6611ba122b shader_recompiler: ignore clip distances beyond driver support level 2023-12-18 22:25:14 -05:00
Ameer J 8a2c42c6e8 vk_query_cache: Fix prefix sum max_accumulation_limit logic 2023-12-18 12:37:55 -05:00
liamwhite 4504ee7f28 Revert "video_core: use interval map for page count tracking" 2023-12-17 18:59:49 -05:00
Liam 47429e716c renderer_vulkan: work around turnip binding bug in a610 2023-12-17 15:45:09 -05:00
Liam 273b4b9576 renderer_vulkan: allow up to 7 swapchain images 2023-12-16 18:59:44 -05:00
liamwhite 4611a37b83 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 68b1037350 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 ede1dd9d8b gl_buffer_cache: Fix tfb binding typo 2023-12-16 12:48:21 -05:00
Liam eb6a042654 video_core: lock interval map update 2023-12-14 22:10:21 -05:00
Liam 7fa76caf80 video_core: use interval map for page count tracking 2023-12-14 21:54:36 -05:00
Liam 03d73e14a8 renderer_vulkan: bound async presentation queue growth 2023-12-14 15:54:56 -05:00
liamwhite 2c8dc35bf4 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 c7e0ee60cd codec: Update to use av frame flags
Resolves Clang -Wdeprecated-declarations warning from interlaced_frame
2023-12-05 21:10:38 -05:00
liamwhite a92e0194a2 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 63ceff87b0 texture_cache: fix max_element comparison function 2023-12-03 18:40:19 -05:00
Liam eb10ce6fdd renderer_opengl: remove srgb conversion logic 2023-12-03 17:08:25 -05:00
Liam 8a97178a89 renderer_vulkan: do not recreate swapchain for srgb 2023-12-03 16:43:54 -05:00
liamwhite 46ab4ee5a5 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 8c522bf3a7 Merge pull request #12261 from liamwhite/fruit-company
texture_cache: use pedantic type names
2023-12-02 09:28:43 -05:00
Liam 9014e6783f texture_cache: use pedantic type names 2023-12-01 22:46:33 -05:00
GPUCode 8188d923c8 vk_blit_screen: Use correct format for fxaa renderpass 2023-12-01 22:55:50 +02:00
liamwhite c84e8ce6b7 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 9d2c18b72d renderer_vulkan: adjust window origin and swizzle independently 2023-11-30 12:33:26 -05:00
Liam 2ccd547309 renderer_vulkan: exclude more qcom drivers from extensions 2023-11-29 21:06:06 -05:00
liamwhite 95ad671ce9 Merge pull request #12194 from liamwhite/fruit-company
video_core: fix mac compile
2023-11-29 12:33:41 -05:00
liamwhite f6c13b4dad 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 a9e011c9c2 Merge branch 'master' into ssbo-align 2023-11-26 21:08:53 -05:00
Liam bd250e303f video_core: fix mac compile 2023-11-26 20:04:06 -05:00
Fernando S 896ae72dbf 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 1474bd4eff 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 f50189075b 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 a0ed6c0653 vulkan_device: add names for more driverID enumeration values 2023-11-24 12:00:41 -05:00
Liam 86d9651d5d renderer_vulkan: exclude steam deck oled from force max clock setting 2023-11-24 11:38:39 -05:00
Liam 1e62aaf305 query_cache: demote report synced unreachable to assert 2023-11-23 09:33:02 -05:00
liamwhite 7783363cfc 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 3efaed605c vk_texture_cache: add workaround for nullDescriptor on Mali 2023-11-20 20:09:12 -05:00
Ameer J 9c3cc36abc gl_buffer_cache: Batch vertex/tfb buffer binding 2023-11-19 17:17:16 -05:00
Liam a41e57d968 renderer_vulkan: ignore viewport stores on non-supporting drivers 2023-11-19 11:27:12 -05:00
liamwhite d0d6abbc21 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 aa609d5dad 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 34eac6afde 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 c6330ca05f Vulkan: Be more generous with pipeline workers for Android 2023-11-19 14:54:15 +01:00
Fernando Sahmkow 6bf827f4e9 Buffer Cache: Eliminate clears on Indirect buffers 2023-11-18 19:26:14 +01:00
Ameer J abd400e04f shader_recompiler: Fix spelling of "derivate" (#12067) 2023-11-18 13:39:47 +01:00
Ameer J a3ba9c64d7 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 767b024755 video_core: refactor video frame and packet parsing 2023-11-16 17:01:38 -05:00
Fernando Sahmkow dbb9e0c5fe Query Cache: Disable write syncing on Android 2023-11-15 02:23:39 +01:00
Fernando Sahmkow 1918f97dea Vulkan: Add a final barrier to the upload command buffer 2023-11-12 20:58:30 +01:00
GPUCode 4b853ff5cf renderer_vulkan: Introduce separate cmd buffer for uploads 2023-11-12 20:27:39 +01:00
Fernando Sahmkow ce3c3c0038 Memory: Fix invalidation handling from the CPU/Services 2023-11-12 14:10:40 +01:00
Fernando Sahmkow b9087d53d5 Revert "renderer_vulkan: add locks to avoid scheduler flushes from CPU"
This reverts commit 1bd99c1d65.
2023-11-10 15:40:48 +01:00
liamwhite 694cbdefec Merge pull request #11896 from liamwhite/crop
renderer_vulkan: fix cropping for presentation
2023-11-06 12:08:03 -05:00
liamwhite 9c1b9171ae renderer_vulkan: render on bottom of surface clip when flipped (#11894) 2023-11-05 21:47:35 +01:00
Liam 6f74c988ba renderer_null: fix 2023-11-03 20:54:38 -04:00
Liam fe9cd5c92f renderer_vulkan: minimize transform feedback support log 2023-11-01 20:47:08 -04:00
Ameer J b49639e786 shader_recompiler: Align SSBO offsets in GlobalMemory functions 2023-10-31 20:14:18 -04:00
Ameer J f4848349b5 buffer_cache: Apply storage buffer alignment only to the offset 2023-10-31 20:10:54 -04:00
Ameer J e538b932de 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 41a85e1974 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 6bbe96f99f Merge pull request #11893 from liamwhite/swizzle
renderer_vulkan: fix viewport swizzle dirty state tracking
2023-10-29 19:46:20 -04:00
Liam 1cbde13ad5 renderer_vulkan: ensure exception on surface loss 2023-10-29 15:31:05 -04:00
liamwhite 209224c01b Merge pull request #11862 from liamwhite/pascal-robust
Manually robust on Pascal and earlier
2023-10-29 11:25:15 -04:00
liamwhite 257dfeaccf Merge pull request #11859 from Kelebek1/compute_findbuffer
Add missing loop around compute FindBuffer calls
2023-10-29 11:25:09 -04:00
Liam b89f19b0f3 renderer_vulkan: fix FSR cropping 2023-10-28 11:43:00 -04:00
Liam 00d53a6ca9 renderer_vulkan: fix cropping for presentation 2023-10-28 00:05:06 -04:00
Liam 8cd91dae6d renderer_vulkan: fix viewport swizzle dirty state tracking 2023-10-27 14:23:47 -04:00
Liam bd45923351 vulkan_common: use highest API version 2023-10-24 17:04:17 -04:00
Kelebek1 5d26c3791b Add missing dowhile loops around FindBuffer calls 2023-10-23 15:08:56 +01:00
Liam 64717fdf1d Manually robust on Pascal and earlier 2023-10-23 09:08:57 -04:00
liamwhite b34364e673 Merge pull request #11789 from Kelebek1/spirv_shift_right
Manually robust on Maxwell and earlier
2023-10-21 18:21:53 -04:00
liamwhite 7f8be72d79 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 90d99fbd00 Manually robust on Maxwell and earlier 2023-10-19 19:54:31 +01:00
liamwhite d2a1535588 Merge pull request #11810 from liamwhite/clang-17
general: fix build failure on clang 17
2023-10-18 19:30:29 -04:00
liamwhite 67c3d2abb5 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 181e5dbc5b general: fix build failure on clang 17 2023-10-17 22:44:21 -04:00
liamwhite 68bf6fb457 Merge pull request #11747 from Kelebek1/image_alias_sample_names
Small things
2023-10-17 11:48:57 -04:00
liamwhite 97c9b2eda6 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 1bd99c1d65 renderer_vulkan: add locks to avoid scheduler flushes from CPU 2023-10-17 10:00:25 -04:00
Fernando S 30d96be28d 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 3785a469c0 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 14d6c9d442 Make Clang happy. 2023-10-17 00:26:19 +11:00
Squall Leonhart 6f7ff1d2a7 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 0fff99d0eb added missing trailing line. 2023-10-16 06:07:26 +11:00
Squall Leonhart f137a4aa8a meant to add the unorms as well 2023-10-16 04:29:24 +11:00
Squall-Leonhart 9e0b778d11 use texelfetch instead of texturelod 2023-10-16 04:20:45 +11:00
Squall Leonhart 81627a6a51 appease the format gods 2023-10-16 03:24:44 +11:00
Squall-Leonhart 69ab83ae87 Another missing copy connected to Bravely Default II
adds blit_image_helper.ConvertABGR8ToD32F and fragment shader for performing ABGR and BGRA to D32F copies
2023-10-16 03:17:53 +11:00
Squall-Leonhart 51bb940261 missed this line when editing the copypasta 2023-10-15 20:58:50 +11:00
Squall-Leonhart 41ad912ba7 moved line to appease the format gods 2023-10-15 20:54:25 +11:00
Squall-Leonhart e84147e2fa Implement missing formats for Bravely Default 2 2023-10-15 20:43:48 +11:00
Squall Leonhart eecd48f2ee brings back the removed If statement and adds the num_level test
This resolves the out of bounds read/writes in the linear swizzler, it brings back the scaled TOTK Recall bug however, pending further work in the block size calculation.

Recall is not glitched in the Dynamic FPS resolution mod to the degree that it is in the native yuzu scaler, this can be a workaround for the time being.


The recall effect is constructed from multiple 320x180 texture slices, it breaking may have a similar origin to https://github.com/Ryujinx/Ryujinx/pull/5640

but it may also be connected to the other deficiencies identified in the Yuzu size calculations, such as no apparent implementation of slice testing for end of slce depth as opposed to full aligned size as implemented in https://github.com/Ryujinx/Ryujinx/pull/5220
2023-10-15 02:09:28 +11:00
Valeri 9d3cce87a4 host1x/codecs: enable CUDA on Linux 2023-10-14 17:35:45 +03:00
Kelebek1 d7ba2c7064 Implement vertex array first and subsequent draws 2023-10-14 12:09:35 +01:00
liamwhite 38f60c74eb Merge pull request #11751 from Kelebek1/transition_msaa_image
Transition MSAA images to general layout without uploading data
2023-10-12 11:17:20 -04:00
Kelebek1 5fa3d987ad Transition MSAA images to general layout without uploading data 2023-10-11 23:27:23 +01:00
liamwhite 43de99b6e2 Merge pull request #11744 from Kelebek1/no_res_no_rescaled
Do not set rescaled flag when rescaling is disabled
2023-10-11 17:54:59 -04:00
Kelebek1 b5576a3c9a Get out of render pass before query barriers, fix image names with samples > 1, remove image alias bit 2023-10-11 17:15:35 +01:00
liamwhite 5c567dbc68 Merge pull request #11734 from Kelebek1/device_local_buffer_alloc
Do not allocate DeviceLocal buffers as mapped
2023-10-11 09:24:28 -04:00
liamwhite 99958bb1d0 Merge pull request #11683 from Kelebek1/do_not_sync_on_written_buffer
Do not double sync written buffers, move mark written to binding
2023-10-11 09:24:05 -04:00
Fernando S 0cc1d8135f Merge pull request #11743 from Squall-Leonhart/IFREMOVED
Fix mistaken usage of info.block instead of level_info.block
2023-10-11 11:56:47 +02:00
Kelebek1 31c39fffc2 Do not set rescaled flag when rescaling is disabled 2023-10-11 10:29:19 +01:00
Squall-Leonhart ce3e98cf48 Fix mistaken usage of info.block instead of level_info.block
Fixed an error on my part, in the last change I had mistakenly passed unadjusted block info into FullUploadSwizzles and UnswizzleImage

Revert (my mistaken changing of) the construction of SwizzleParameters in UnswizzleImage and FullUploadSwizzles to use level_info.block instead of info.block. This ensures that the block information used in the swizzling process is correctly adjusted for each mip level.
2023-10-11 19:12:33 +11:00
liamwhite 22e805e43f Merge pull request #11534 from Squall-Leonhart/IFREMOVED
Partial revert of #10433 (Texture Cache Util: Fix block depth adjustment on slices)
2023-10-10 12:44:48 -04:00
Kelebek1 2fe13a4d53 Not not allocate DeviceLocal buffers as mapped 2023-10-10 12:49:07 +01:00
Squall Leonhart ca3126e68d add Z32, FLOAT, UINT, UINT, UINT, LINEAR to format lookup table
Should fix and close #11711
2023-10-09 02:13:17 +11:00
liamwhite cfb7500e29 Merge pull request #11656 from liamwhite/recreate-surface-automatically
vk_present_manager: recreate surface on any surface loss
2023-10-07 12:49:54 -04:00
liamwhite 55c251a65e Merge pull request #11677 from Squall-Leonhart/D32FTOABGR8
Implements D32_Float to A8B8G8R8_UNORM format copy
2023-10-07 12:49:48 -04:00
liamwhite ce6e0114ba Merge pull request #11630 from Kelebek1/clear_stencil_requires_depth_test
Enable depth test on depthstencil clear path
2023-10-07 12:49:37 -04:00
liamwhite b932f304ad Merge pull request #11544 from Kelebek1/reduce_stream_buffer_renderdoc
Allow GPUs without rebar to open multiple RenderDoc captures
2023-10-07 12:49:19 -04:00
liamwhite d14f8815b1 Merge pull request #11688 from Kelebek1/x8d42
Implement X8_D24 pixel format
2023-10-07 10:55:14 -04:00
liamwhite bab15ef979 Merge pull request #11684 from Kelebek1/disable_push_descriptor_maxwell
Disable push descriptor for Pascal and older nVidia architectures
2023-10-07 10:54:52 -04:00
Squall Leonhart c3658018b1 update shader to confirmed format copy 2023-10-07 18:28:09 +11:00
Kelebek1 a1df96e84d Allow GPUs without rebar to open multiple RenderDoc captures 2023-10-06 07:52:06 +01:00
Kelebek1 5063305487 Implement X8_D24 format 2023-10-06 00:58:30 +01:00
Kelebek1 39bcdb4fe4 Rework nvidia architecture detection, disable push descriptor for Pascal and older 2023-10-05 03:13:42 +01:00
Kelebek1 294ffa29cc Mark a buffer GPU modified after the buffers are confirmed, do not double synch them 2023-10-05 00:19:11 +01:00
Squall-Leonhart 15a624a6df lets not convert depth to greyscale since this makes the exhaust and tire smoke light gray/white
tiresmoke should be a darker gray.
2023-10-05 03:14:53 +11:00
Squall-Leonhart 680081ea94 Fix CI Formatting check 2023-10-04 19:12:08 +11:00
Squall-Leonhart ec6ba091cf Implements D32_Float to A8B8G8R8_UNORM format copy
Corrects some visual issues in games such as Disney SpeedStorm
2023-10-04 19:07:05 +11:00
Liam 79e055318c vk_present_manager: recreate surface on any surface loss 2023-10-02 19:07:18 -04:00
Liam 445d504f94 ci: fix new codespell errors 2023-10-02 18:03:05 -04:00
Fernando Sahmkow ef38379737 Query Cache: Fix memory leak. 2023-10-01 11:47:14 +02:00
Fernando S dcf6de7bdf Merge pull request #11622 from liamwhite/qcr-reg1
renderer_vulkan: fix query cache for homebrew
2023-09-29 06:01:18 +02:00
Kelebek1 dd2d450e3f Enable depth test on stencil clear path 2023-09-28 21:19:51 +01:00
liamwhite da04fbdc2e Merge pull request #11402 from FernandoS27/depth-bias-control
Vulkan: Implement Depth Bias Control
2023-09-28 09:35:37 -04:00
Liam cb11232753 renderer_vulkan: fix query cache for homebrew 2023-09-27 19:11:47 -04:00
GPUCode 30c67e5bb0 host_shaders: More proper handling of x2 MSAA copies 2023-09-25 09:20:32 -04:00
GPUCode 5529df01e3 renderer_vulkan: Implement MSAA copies 2023-09-25 09:20:32 -04:00
liamwhite 8936ff8f89 Merge pull request #11225 from FernandoS27/no-laxatives-in-santas-cookies
Y.F.C: Rework the Query Cache.
2023-09-25 09:18:29 -04:00
liamwhite dab6876db5 Merge pull request #11562 from GPUCode/srgb-madness
vk_texture_cache: Limit srgb block to transcoding only
2023-09-24 10:50:28 -04:00
liamwhite 70126192aa Merge pull request #11165 from Morph1984/ds_blit
vulkan_device: Return true if either depth/stencil format supports blit
2023-09-24 10:50:04 -04:00
Fernando Sahmkow e0477e40bd Query Cache: Fix Prefix Sums 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 509ebe61c6 Query Cache: Fix behavior in Normal Accuracy 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 6b0a777d19 Query Cache: Simplify Prefix Sum compute shader 2023-09-23 23:05:30 +02:00
Fernando Sahmkow c2880497ce Query Cache: Implement host side sample counting. 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 170c82ae7f Query Cache: Fix guest side sample counting 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 93cd3d8efd Query Cache: address issues 2023-09-23 23:05:30 +02:00
Fernando Sahmkow a8fe81b3be QueryCache: Implement dependant queries. 2023-09-23 23:05:29 +02:00
Fernando Sahmkow 2221256e90 Macro HLE: Add DrawIndirectByteCount 2023-09-23 23:05:29 +02:00
Fernando Sahmkow 5ea12207f3 Query Cachge: Fully rework Vulkan's query cache 2023-09-23 23:05:29 +02:00
Fernando Sahmkow 7f78d844ab Query Cache: Setup Base rework 2023-09-23 23:05:29 +02:00
liamwhite 8216a30e35 Merge pull request #11557 from GPUCode/brr-format
renderer_vulkan: Correct component order for A4B4G4R4_UNORM
2023-09-22 09:56:04 -04:00
Kelebek1 ac61186061 Fix DMA engine register offsets 2023-09-21 20:21:00 +01:00
GPUCode 20994b9e95 vk_texture_cache: Limit srgb block to transcoding only 2023-09-21 21:46:35 +03:00
GPUCode 400b9449ac renderer_vulkan: Correct component order for A4B4G4R4_UNORM 2023-09-21 15:33:44 +03:00
Squall-Leonhart 55e400acd9 Reuse part of my previous idea to to use num_levels to check within AdjustMipBlockSize
The partial revert was not enough for Tsukihime, this might do the trick
2023-09-20 03:27:13 +10:00
liamwhite 8f2351603d Merge pull request #11258 from Squall-Leonhart/Z16_Assert_Fix
Fix a logged assert in the format lookup table for Z16
2023-09-18 09:31:05 -04:00
Squall Leonhart 0ec7d7ec28 Partial revert of #10433
The If block in this change was causing some 2D textures to be treated as if their mip 0 was a 3D Slice, this could be ascertained as the same texture viewed from different distances would render fine, but then close up would look like a decoding failure.

It also resulted in some 3D ASTC textures not being scaled appropriate leading to broken graphical effects such as the jagged TOTK recall animation being a circle, as the If block was only accepting the image based on its original info without any adjustments applied.
2023-09-18 23:28:53 +10:00
Charles Lombardo a8e3f2652d android: Use 1 worker for shader compilation for all devices 2023-09-16 21:38:28 -04:00
Fernando Sahmkow dcf5c4bec0 Vulkan: add temporary workaround for AMDVLK 2023-09-16 11:59:20 -04:00
Fernando Sahmkow 6dcc62ae86 Vulkan: Implement Depth Bias Control 2023-09-16 11:58:55 -04:00
Kelebek1 517702f3f8 Look for the most recently modified image for present 2023-09-11 03:11:29 +01:00
liamwhite 4d34ba4d9d Merge pull request #11470 from GPUCode/bundle-vvl
android: Add option to bundle validation layer
2023-09-10 13:40:18 -04:00
GPUCode 065305c627 vk_buffer_cache: Respect max vertex bindings in BindVertexBuffers (#11471) 2023-09-10 02:19:45 +02:00
GPUCode 75213f8c49 renderer_vulkan: Remove debug report
* VVL has implemented the more modern alternative, thus we don't need to support it anymore
2023-09-08 23:28:46 +03:00
Feng Chen 666bdc1125 video_core: Fix d24r8/s8d24 convert shader build error in moltenvk 2023-09-07 18:01:36 +08:00
Feng Chen a356e6b8d5 video_core: Add missing scissor update when viewport scale offset disable 2023-09-07 18:01:30 +08:00
liamwhite 230e40a2d6 Merge pull request #11383 from FernandoS27/are-you-a-wabbit
Fix regressions that damaged compute indirect & use reinterpret for copies with different byteblocksizes
2023-09-02 14:42:42 -04:00