Commit graph

6980 commits

Author SHA1 Message Date
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
Squall Leonhart 144c0734f5
appease the format gods 2023-10-16 03:24:44 +11:00
Squall-Leonhart f40f65f5d2 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 03c3f936cf missed this line when editing the copypasta 2023-10-15 20:58:50 +11:00
Squall-Leonhart 66f41da365 moved line to appease the format gods 2023-10-15 20:54:25 +11:00
Squall-Leonhart 7a986d731b Implement missing formats for Bravely Default 2 2023-10-15 20:43:48 +11:00
Squall Leonhart b57d98f847
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 762ac5aa9f
host1x/codecs: enable CUDA on Linux 2023-10-14 17:35:45 +03:00
Kelebek1 32ad99701d Implement vertex array first and subsequent draws 2023-10-14 12:09:35 +01:00
liamwhite 7b2ac196d2
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 6f4a080b98 Transition MSAA images to general layout without uploading data 2023-10-11 23:27:23 +01:00
liamwhite 07ae6659e7
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 98cac9410c 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 84b0e29b56
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 5f4857691e
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 b6d19329ac
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 8c769b71a1 Do not set rescaled flag when rescaling is disabled 2023-10-11 10:29:19 +01:00
Squall-Leonhart 9512992fe2 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 36ea7565fa
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 ed58445111 Not not allocate DeviceLocal buffers as mapped 2023-10-10 12:49:07 +01:00
Squall Leonhart 54fa1115a6
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 bd42bba71c
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 a27f94830a
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 bd6f9f1d91
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 15a5bdd979
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 ff3859d482
Merge pull request #11688 from Kelebek1/x8d42
Implement X8_D24 pixel format
2023-10-07 10:55:14 -04:00
liamwhite 10de8f2c60
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 51b89fddd0
update shader to confirmed format copy 2023-10-07 18:28:09 +11:00
Kelebek1 f585dec48d Allow GPUs without rebar to open multiple RenderDoc captures 2023-10-06 07:52:06 +01:00
Kelebek1 ad1a9f3d3a Implement X8_D24 format 2023-10-06 00:58:30 +01:00
Kelebek1 71044f6def Rework nvidia architecture detection, disable push descriptor for Pascal and older 2023-10-05 03:13:42 +01:00
Kelebek1 a764f49910 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 a17cde7b2c 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 a84c928827 Fix CI Formatting check 2023-10-04 19:12:08 +11:00
Squall-Leonhart 9568d3bc60 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 b32940d3ea vk_present_manager: recreate surface on any surface loss 2023-10-02 19:07:18 -04:00
Liam 0448eb6f0f ci: fix new codespell errors 2023-10-02 18:03:05 -04:00
Fernando Sahmkow 9007d8c8d4 Query Cache: Fix memory leak. 2023-10-01 11:47:14 +02:00
Fernando S 926e24c642
Merge pull request #11622 from liamwhite/qcr-reg1
renderer_vulkan: fix query cache for homebrew
2023-09-29 06:01:18 +02:00
Kelebek1 1a246bf135 Enable depth test on stencil clear path 2023-09-28 21:19:51 +01:00
liamwhite 7bae22a3ca
Merge pull request #11402 from FernandoS27/depth-bias-control
Vulkan: Implement Depth Bias Control
2023-09-28 09:35:37 -04:00
Liam 7507a7f89f renderer_vulkan: fix query cache for homebrew 2023-09-27 19:11:47 -04:00
GPUCode b60013b277 host_shaders: More proper handling of x2 MSAA copies 2023-09-25 09:20:32 -04:00
GPUCode 5e4938ab1a renderer_vulkan: Implement MSAA copies 2023-09-25 09:20:32 -04:00
liamwhite 854457a392
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 93a1cd75fe
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 b356909212
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 57d8cd6c40 Query Cache: Fix Prefix Sums 2023-09-23 23:05:30 +02:00
Fernando Sahmkow bf0d6b8806 Query Cache: Fix behavior in Normal Accuracy 2023-09-23 23:05:30 +02:00
Fernando Sahmkow a07c88e686 Query Cache: Simplify Prefix Sum compute shader 2023-09-23 23:05:30 +02:00
Fernando Sahmkow c8237d5c31 Query Cache: Implement host side sample counting. 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 2fea1b8407 Query Cache: Fix guest side sample counting 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 282ae8fa51 Query Cache: address issues 2023-09-23 23:05:30 +02:00
Fernando Sahmkow aa6587d854 QueryCache: Implement dependant queries. 2023-09-23 23:05:29 +02:00
Fernando Sahmkow 57401589c2 Macro HLE: Add DrawIndirectByteCount 2023-09-23 23:05:29 +02:00
Fernando Sahmkow f1a2e36711 Query Cachge: Fully rework Vulkan's query cache 2023-09-23 23:05:29 +02:00
Fernando Sahmkow bdc01254a9 Query Cache: Setup Base rework 2023-09-23 23:05:29 +02:00
liamwhite 16f1592e50
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 4f69be8169 Fix DMA engine register offsets 2023-09-21 20:21:00 +01:00
GPUCode b6ad7e263b vk_texture_cache: Limit srgb block to transcoding only 2023-09-21 21:46:35 +03:00
GPUCode 4a59dc2947 renderer_vulkan: Correct component order for A4B4G4R4_UNORM 2023-09-21 15:33:44 +03:00
Squall-Leonhart 02b897ce27 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 974380fe10
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 79f0202045
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 af0c1b0cb7 android: Use 1 worker for shader compilation for all devices 2023-09-16 21:38:28 -04:00
Fernando Sahmkow b99f94a7ff Vulkan: add temporary workaround for AMDVLK 2023-09-16 11:59:20 -04:00
Fernando Sahmkow 6a1ecab2dd Vulkan: Implement Depth Bias Control 2023-09-16 11:58:55 -04:00
Kelebek1 baad1238c3 Look for the most recently modified image for present 2023-09-11 03:11:29 +01:00
liamwhite b011ce023d
Merge pull request #11470 from GPUCode/bundle-vvl
android: Add option to bundle validation layer
2023-09-10 13:40:18 -04:00
GPUCode 24ab10c2f6
vk_buffer_cache: Respect max vertex bindings in BindVertexBuffers (#11471) 2023-09-10 02:19:45 +02:00
GPUCode cad28abe61 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 e69eebb14a video_core: Fix d24r8/s8d24 convert shader build error in moltenvk 2023-09-07 18:01:36 +08:00
Feng Chen 0145c89879 video_core: Add missing scissor update when viewport scale offset disable 2023-09-07 18:01:30 +08:00
liamwhite 76bddd3673
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
liamwhite 84eb1cdb65
Merge pull request #11393 from FernandoS27/bayo-got-busted-up
Maxwell3D: Improve Index buffer size estimation.
2023-09-02 14:42:28 -04:00
Danila Malyutin 164f880f23 Use initial_frame to check interlaced flag
If final frame was transferred from GPU, it won't carry the props.

Fixes #11089
2023-08-28 00:48:53 +04:00
Fernando Sahmkow 52544933d2 Maxwell3D: Improve Index buffer size estimation. 2023-08-27 22:14:37 +02:00
Fernando S ada4697300
Merge pull request #11389 from FernandoS27/discard-fix
Buffer Cache: fix discard writes.
2023-08-27 04:26:59 +02:00
Fernando Sahmkow 115792158d VideoCore: Implement DispatchIndirect 2023-08-27 04:26:22 +02:00
Fernando Sahmkow 710ca3ca49 Shader Recompiler: Auto stub special registers and dump pipelines on exception. 2023-08-27 03:47:04 +02:00
Fernando Sahmkow acc99433c7 Buffer Cache: fix discard writes. 2023-08-27 03:45:43 +02:00
liamwhite c5105b65d5
Merge pull request #11317 from Kelebek1/macro_dumps
Mark decompiled macros on dump, dump shaders after translation
2023-08-26 19:14:25 -04:00
Fernando Sahmkow 8beda6a2bf DMA Pusher: Fix regression caused by guest memory optimizations 2023-08-26 22:00:43 +02:00
Kelebek1 d7a0b8c373 Mark decompiled macros as decompiled on dump, dump shaders after translation 2023-08-25 21:47:47 -04:00
Feng Chen cc4736fa58 video_core: set vertex buffer num to 16, because mvk have when using more than 16 2023-08-23 23:22:55 +08:00
liamwhite bc4ad5e62d
Merge pull request #11302 from vonchenplus/vulkan_macos
Add macos moltenvk bundle, Add copy moltevk dylib script
2023-08-22 13:10:26 -04:00
Feng Chen 87022a4833 Add macos moltenvk bundle, Add copy moltevk dylib script 2023-08-22 10:22:28 +08:00
liamwhite 18c08cee43
Merge pull request #11149 from ameerj/astc-perf-prod
host_shaders: ASTC compute shader optimizations
2023-08-21 16:08:51 -04:00
Kelebek1 f2f99a8c31 Masked depthstencil clears 2023-08-19 03:29:46 +01:00
liamwhite ae1421265a
Merge pull request #11278 from Kelebek1/dma_sync
Mark accelerated DMA destination buffers and images as GPU-modified
2023-08-18 09:12:27 -04:00
Feng Chen 1dcb0c2232 video_core: Fix vulkan assert error 2023-08-18 14:40:11 +08:00
liamwhite 58a4c86797
Merge pull request #11282 from ameerj/glasm-xfb
gl_graphics_pipeline: GLASM: Fix transform feedback with multiple buffers
2023-08-14 09:19:20 -04:00
liamwhite 35a77c3bb2
Merge pull request #11283 from ameerj/glasm-pipeline-detection
gl_graphics_pipeline: Fix GLASM storage buffer detection
2023-08-14 09:19:10 -04:00
liamwhite 5afe1367ba
Merge pull request #11263 from liamwhite/my-feature-branch
vulkan_device: disable features associated with unloaded extensions
2023-08-14 09:18:47 -04:00
Ameer J d1c878fb41 gl_texture_cache: Enable async downloads 2023-08-13 23:17:59 -05:00
Ameer J 9b112107e2 gl_buffer_cache: Enable async downloads 2023-08-13 23:17:54 -05:00
Ameer J 48b87d64de gl_staging_buffer_pool: Refactor allocation variables into a struct 2023-08-13 23:17:47 -05:00
Ameer J f9ef721ca6 gl_graphics_pipeline: Fix GLASM storage buffer detection 2023-08-13 17:06:45 -04:00
Ameer J c34ed4bbd8 gl_graphics_pipeline: GLASM: Fix transform feedback with multiple buffers 2023-08-13 16:50:01 -04:00
Kelebek1 5a37b8f2c1 Mark accelerted DMA destination buffers and images as GPU-modified 2023-08-13 02:22:39 +01:00
Liam 7d8f748696 vulkan_device: disable features associated with unloaded extensions 2023-08-11 14:54:12 -04:00
Squall-Leonhart e3dd78e414 Needed to make this an extra case so it didnt also start asserting in BOTW.
Thanks Liam
2023-08-11 08:45:15 +10:00
Squall Leonhart b9ab44ed0e Fix an assert in the format lookup table fir Z16
Came across this while looking into Asterix and Obelix XXL glitching
2023-08-11 08:18:54 +10:00
Liam 023b9b38cc general: fix apple clang build 2023-08-09 22:38:37 -04:00
Ameer J 5c25712af9 flatten color_values 2023-08-09 18:45:52 -04:00
Ameer J 0f7220c9c8 flatten encoding_values 2023-08-09 18:38:37 -04:00
Ameer J 71857e889e flatten result vector 2023-08-09 18:34:57 -04:00
Ameer J 70f8ffb787 GetUnquantizedWeightVector 2023-08-09 17:45:39 -04:00
liamwhite 85e3575496
Merge pull request #11216 from lat9nq/no-mesa-astc
gl_device: Detect Mesa to disable their ASTC
2023-08-07 11:34:22 -04:00
Ameer J 9058486b9b Revert "HACK: Avoid swizzling and reuploading ASTC image every frame"
This reverts commit b18c1fb1bb.
2023-08-06 14:55:05 -04:00
Ameer J b18c1fb1bb HACK: Avoid swizzling and reuploading ASTC image every frame 2023-08-06 14:54:58 -04:00
Ameer J 913803bf65 Compute Replicate 2023-08-06 14:54:58 -04:00
Ameer J 31a0cff036 minor 2023-08-06 14:54:58 -04:00
Ameer J b36e645fee undo uint 2023-08-06 14:54:58 -04:00
Ameer J 8ce158bce6 Revert "vulkan dims specialization"
This reverts commit e6243058f2269bd79ac8479d58e55feec2611e9d.
2023-08-06 14:54:58 -04:00
ameerj 5a78b35b1a vulkan dims specialization 2023-08-06 14:54:58 -04:00
Ameer J 7a0d7e7668 small_block opt 2023-08-06 14:54:58 -04:00
Ameer J fd2051b401 remove TexelWeightParams 2023-08-06 14:54:57 -04:00
Ameer J 75ac7845ce error/void extent funcs 2023-08-06 14:54:57 -04:00
Ameer J 441b847107 more packing 2023-08-06 14:54:57 -04:00
Ameer J f2cf81e0b6 Revert "uint result index"
This reverts commit 0e978786b5a8e7382005d8b1e16cfa12f3eeb775.
2023-08-06 14:54:57 -04:00
Ameer J f41fb3ec0b Revert "bfe instead of mod"
This reverts commit 86006a3b09e8a8c17d2ade61be76736a79e3f58a.
2023-08-06 14:54:57 -04:00
Ameer J 553dd3e120 Revert "global endpoints"
This reverts commit d8f5bfd1df2b7469ef6abcee182aa110602d1751.
2023-08-06 14:54:57 -04:00
Ameer J c077e467c4 global endpoints 2023-08-06 14:54:57 -04:00
Ameer J 5c16559694 bfe instead of mod 2023-08-06 14:54:57 -04:00
Ameer J 6b0b584eba uint result index 2023-08-06 14:54:57 -04:00
Ameer J 05ee37a1f0 amd opts 2023-08-06 14:54:57 -04:00
Ameer J 3494fce864 gl 2023-08-06 14:54:57 -04:00
Ameer J 5248fa926d const, pack result_vector and replicate tables,
undo amd opts
2023-08-06 14:54:57 -04:00
Ameer J 998246efc2 minor redundancy cleanup 2023-08-06 14:54:57 -04:00
Ameer J d17a51bc59 extractbits robustness 2023-08-06 14:54:57 -04:00
Ameer J 0078e5a338 reuse vectors memory 2023-08-06 14:54:57 -04:00
Ameer J b8ca47e094 EncodingData pack 2023-08-06 14:54:57 -04:00
Ameer J 27c8bb9615 flattening 2023-08-06 14:54:57 -04:00
Ameer J ac09cc3504 weights refactor 2023-08-06 14:54:57 -04:00
Ameer J 6ff65abd62 params.max_weight 2023-08-06 14:54:57 -04:00
Ameer J e0c59c7b0b skip bits 2023-08-06 14:54:57 -04:00
Ameer J 7ef879b296 restrict 2023-08-06 14:54:57 -04:00
lat9nq cb0b8442f0 gl_device: Filter more specifically for slow ASTC
Adds a check to find if the renderer is Intel DG (i.e. DG2).

gl_device: Detect Mesa to disable their ASTC

In our testing, our own ASTC decoder has shown itself to perform faster
than the included one from the driver. Disable theirs when Mesa is
detected.

Mesa detection depends on the vendor string. Some drivers never appear
outside of *nix contexts, so only check those in the *nix context.

gl_device: Internalize Intel DG detection
2023-08-05 15:19:16 -04:00
liamwhite 4533769f7f
Merge pull request #11212 from Kelebek1/shader_stuff
Fix various misc pipeline/shader things
2023-08-05 12:58:39 -04:00
Kelebek1 dfb7fc8293 Fix shader dumps with nvdisasm
skip fragment shaders when rasterizer is disabled
initialize env_ptrs
2023-08-03 15:30:27 +01:00
Ameer J cd80cbc420 vulkan_device: Fix subgroup_size_control detection on Vulkan 1.3 2023-08-02 20:45:03 -04:00
Ameer J c7c44dc238 vulkan_device: Fix VK_EXT_subgroup_size_control detection 2023-08-02 19:25:14 -04:00
liamwhite 096644c01c
Merge pull request #11202 from abouvier/vulkan-config
vulkan: centralize config
2023-08-02 14:26:03 -04:00
liamwhite fca7d975fd
Merge pull request #10839 from lat9nq/pgc-plus
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
Liam d6d43e11a3 vulkan_device: disable EDS3 blending on all AMD drivers 2023-08-01 20:46:05 -04:00
Alexandre Bouvier 9d6f8e88b2 vulkan: centralize config 2023-08-02 00:05:14 +02:00
Morph d31676935e vulkan_device: Test depth stencil blit support by format 2023-07-31 19:14:20 -04:00
liamwhite 2a9eab5e1b
Merge pull request #11188 from abouvier/vma-fix
vma: enable options everywhere
2023-07-31 15:28:35 -04:00
liamwhite 06fa13a014
Merge pull request #11169 from GPUCode/desc-stuff
vk_descriptor_pool: Disallow descriptor set free
2023-07-31 09:11:19 -04:00
Alexandre Bouvier ed3f9bab11 vma: enable options everywhere 2023-07-31 13:01:21 +02:00
Moonlacer deafa92122 Formatting fix 2023-07-30 23:02:07 -05:00
Moonlacer c6458970ad Match log warning 2023-07-30 22:50:22 -05:00
Moonlacer a4a106bb25 Formatting fix 2023-07-30 04:29:51 -05:00
Moonlacer f4e5d07619 Address feedback and change log warning 2023-07-30 04:01:29 -05:00
Moonlacer 36d48cef50
Revert "Revert "Blacklist EDS3 blending from new AMD drivers"" 2023-07-30 00:21:51 -05:00
GPUCode 8c2411da29 vk_descriptor_pool: Disallow descriptor set free 2023-07-27 18:08:56 +03:00
Morph 26658c2e93 vulkan_device: Return true if either depth/stencil format supports blit
On devices that don't support D24S8 but supports D32S8, this should still return true if D32S8 supports src and dst blit
2023-07-26 20:21:37 -04:00
Moonlacer 4007142b91
Revert "Blacklist EDS3 blending from new AMD drivers" 2023-07-26 15:02:48 -05:00
liamwhite d3da1e6517
Merge pull request #10990 from comex/ubsan
Fixes and workarounds to make UBSan happier on macOS
2023-07-26 10:33:28 -04:00
liamwhite 0ea138fb5b
Merge pull request #11098 from GPUCode/texel-buffers
buffer_cache: Increase number of texture buffers
2023-07-22 11:17:27 -04:00
lat9nq 8366736b67 settings,opengl,yuzu-qt: Fix AA, Filter maximums
The new enum macros don't support setting values directly.
For LastAA and LastFilter, this means we need a simpler approach to loop
around the toggle in the frontend...
2023-07-21 10:56:55 -04:00
lat9nq d146dd9d12 settings,general: Rename non-confirming enums 2023-07-21 10:56:54 -04:00
lat9nq a007ac6b9c configure_graphics_advance: Generate UI at runtime
We can iterate through the AdvancedGraphics settings and generate the UI
during runtime. This doesn't help runtime efficiency, but it helps a ton
in reducing the amount of work a developer needs in order to add a new
setting.
2023-07-21 10:56:07 -04:00
lat9nq 5cffa34288 settings,video_core: Consolidate ASTC decoding options
Just puts them all neatly into one place.
2023-07-21 10:56:07 -04:00
lat9nq 4ecedc4991 vk_buffer_cache: Format 2023-07-18 19:56:20 -04:00
lat9nq 71b3b2a2f0 general: Silence -Wshadow{,-uncaptured-local} warnings
These occur in the latest commits in LLVM Clang.
2023-07-18 19:31:35 -04:00
GPUCode 4347dd26c6 buffer_cache: Increase number of texture buffers 2023-07-15 23:09:58 +03:00
comex d7c532d889 Fixes and workarounds to make UBSan happier on macOS
There are still some other issues not addressed here, but it's a start.

Workarounds for false-positive reports:

- `RasterizerAccelerated`: Put a gigantic array behind a `unique_ptr`,
  because UBSan has a [hardcoded limit](https://stackoverflow.com/questions/64531383/c-runtime-error-using-fsanitize-undefined-object-has-a-possibly-invalid-vp)
  of how big it thinks objects can be, specifically when dealing with
  offset-to-top values used with multiple inheritance.  Hopefully this
  doesn't have a performance impact.

- `QueryCacheBase::QueryCacheBase`: Avoid an operation that UBSan thinks
  is UB even though it at least arguably isn't.  See the link in the
  comment for more information.

Fixes for correct reports:

- `PageTable`, `Memory`: Use `uintptr_t` values instead of pointers to
  avoid UB from pointer overflow (when pointer arithmetic wraps around
  the address space).

- `KScheduler::Reload`: `thread->GetOwnerProcess()` can be `nullptr`;
  avoid calling methods on it in this case.  (The existing code returns
  a garbage reference to a field, which is then passed into
  `LoadWatchpointArray`, and apparently it's never used, so it's
  harmless in practice but still triggers UBSan.)

- `KAutoObject::Close`: This function calls `this->Destroy()`, which
  overwrites the beginning of the object with junk (specifically a free
  list pointer).  Then it calls `this->UnregisterWithKernel()`.  UBSan
  complains about a type mismatch because the vtable has been
  overwritten, and I believe this is indeed UB.  `UnregisterWithKernel`
  also loads `m_kernel` from the 'freed' object, which seems to be
  technically safe (the overwriting doesn't extend as far as that
  field), but seems dubious.  Switch to a `static` method and load
  `m_kernel` in advance.
2023-07-15 12:00:28 -07:00
Alexandre Bouvier c3050c1b48 cmake: allow using system VMA library 2023-07-12 04:51:45 +02:00