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
bunnei
ce7c418e0c
Merge pull request #10996 from Kelebek1/readblock_optimisation
...
Use spans over guest memory where possible instead of copying data
2023-07-10 18:54:19 -07:00
liamwhite
d8eb37fbec
Merge pull request #10994 from liamwhite/ue4-preferred
...
vulkan_common: use device local preferred for image memory
2023-07-05 09:23:56 -04:00
liamwhite
f71140fbd9
Merge pull request #11012 from gidoly/metroid-fix
...
Fix regression by unreal engine fix pr #11009
2023-07-05 09:23:34 -04:00
bunnei
1462db4694
video_core: vulkan_device: Disable timeline semaphore on Turnip, fix qcom version check.
2023-07-03 19:25:06 -07:00
bunnei
44af2e32a4
Merge pull request #10964 from bunnei/gpu-remove-qcom-check
...
video_core: vulkan_device: Fix S8Gen2 dynamic state checks.
2023-07-03 16:59:29 -07:00
bunnei
cef7aaa8ec
video_core: vulkan_device: Change to driver version check.
2023-07-03 14:25:06 -07:00
gidoly
408a9cd50d
oops re open
2023-07-03 20:25:23 +09:00
Kelebek1
6f7cb69c94
Use spans over guest memory where possible instead of copying data.
2023-07-02 23:09:48 +01:00
liamwhite
5e3695ecaa
Merge pull request #10479 from GPUCode/format-list
...
Add support for VK_KHR_image_format_list
2023-07-02 17:38:21 -04:00
liamwhite
eaa62aee98
Merge pull request #10942 from FernandoS27/android-is-a-pain-in-the-a--
...
Memory Tracking: Add mechanism to register small writes when gpu page is contested by GPU
2023-07-02 11:29:01 -04:00
Liam
ad1946b893
vulkan_common: use device local preferred for image memory
2023-07-01 23:44:57 -04:00
Liam
34c448bad4
Revert "texture_cache: Fix incorrect logic for AccelerateDMA"
...
This reverts commit 1fc47361a1
.
2023-07-01 23:37:50 -04:00
liamwhite
146769f44e
Merge pull request #10984 from comex/cob
...
Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
2023-07-01 22:38:33 -04:00
liamwhite
ae7e9b5469
Merge pull request #10974 from Steveice10/macos_vk
...
vulkan: Improvements to macOS surface creation
2023-07-01 22:38:26 -04:00
liamwhite
971b89b979
Merge pull request #10970 from Morph1984/thing
...
general: Misc changes that did not deserve their own PRs
2023-07-01 22:38:18 -04:00
comex
1e3b2328a6
Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
...
As far as I can tell, there is no reason to OR this bit in separately.
2023-07-01 12:00:25 -07:00
GPUCode
272916eeaf
renderer_vulkan: Fix some missing view formats
...
* Many times the format itself wouldn't have been added to the list causing device losses for nvidia GPUs
* Also account for ASTC acceleration storage views
2023-07-01 16:03:35 +03:00
GPUCode
95cefaf993
renderer_vulkan: Add support for VK_KHR_image_format_list
2023-07-01 16:03:29 +03:00
Steveice10
e146a00345
vulkan: Use newer VK_EXT_metal_surface to create surface for MoltenVK.
2023-06-30 23:46:03 -07:00
Morph
5a09fa5012
maxwell_dma: Specify dst_operand.pitch instead of a temp var
2023-06-30 21:49:59 -04:00
Morph
310b6cf4af
general: Use ScratchBuffer where possible
2023-06-30 21:49:59 -04:00
Fernando S
a10bdaf934
Merge pull request #10953 from FernandoS27/oh-oopsies-yfc
...
Texture cache: Fix YFC regression due to code testing
2023-06-30 20:25:09 +02:00
Fernando S
9252ad4e10
Merge pull request #10956 from FernandoS27/pikmin-another-game-ill-hate
...
AccelerateDMA: Don't accelerate 3D texture DMA operations
2023-06-30 09:37:07 +02:00
bunnei
ddcd89afd4
video_core: vulkan_device: Scope S8Gen2 checks to just Qualcomm.
2023-06-29 18:41:38 -07:00
bunnei
dfa040502a
video_core: vulkan_device: Fix S8Gen2 dynamic state checks.
2023-06-29 17:37:42 -07:00
Fernando Sahmkow
596a6132b9
AccelerateDMA: Don't accelerate 3D texture DMA operations
2023-06-29 17:23:29 +02:00
Fernando Sahmkow
b62121fd60
Texture cache: Fix YFC regression due to code testing
2023-06-29 11:58:45 +02:00
Matías Locatti
ed93cbd462
Blacklist EDS3 blending from new AMD drivers
2023-06-28 20:10:27 -03:00
Fernando Sahmkow
da440da9f5
Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU
2023-06-28 21:32:45 +02:00
Fernando Sahmkow
47d0d292d5
MemoryTracking: Initial setup of atomic writes.
2023-06-28 19:34:21 +02:00
GPUCode
ddcc958336
renderer_vulkan: Prevent crashes when blitting depth stencil
2023-06-27 18:00:09 -07:00
GPUCode
eac46ad7ce
video_core: Add BCn decoding support
2023-06-27 18:00:09 -07:00
GPUCode
b8c96cee5f
renderer_vulkan: Add more feature checking
2023-06-27 18:00:09 -07:00
GPUCode
220a42896d
renderer_vulkan: Don't assume debug tool with debug renderer
...
* Causes crashes because mali drivers don't support debug utils
2023-06-27 18:00:09 -07:00
GPUCode
1522b95658
renderer_vulkan: Bump minimum SPIRV version
...
* 1.3 is guaranteed on all 1.1 drivers
2023-06-27 18:00:09 -07:00
GPUCode
c339af37a7
renderer_vulkan: Respect viewport limit
2023-06-27 18:00:09 -07:00
GPUCode
a9b44d37e1
renderer_vulkan: Don't add transform feedback flag if unsupported
2023-06-27 18:00:09 -07:00
GPUCode
72e7f5b4dd
renderer_vulkan: Add suport for debug report callback
2023-06-27 18:00:09 -07:00
liamwhite
2b3bfafb9e
Merge pull request #10867 from Kelebek1/dma_safe
...
Use safe reads in DMA engine
2023-06-27 11:21:47 -04:00
liamwhite
c6959449d1
Merge pull request #10473 from GPUCode/vma
...
Use vulkan memory allocator
2023-06-27 11:21:36 -04:00
GPUCode
b6c6dcc576
externals: Use cmake subdirectory
2023-06-26 18:59:24 +03:00
Kelebek1
ffbaf574ca
Use safe reads in DMA engine
2023-06-26 11:34:02 +01:00
ameerj
4f160633d3
OpenGL: Limit lmem warmup to NVIDIA
...
🐸
2023-06-25 19:06:51 -04:00
ameerj
405eae3734
shaders: Track local memory usage
2023-06-25 18:59:33 -04:00
ameerj
82107b33a2
OpenGL: Add Local Memory warmup shader
2023-06-25 18:43:23 -04:00
liamwhite
a674022434
Merge pull request #10859 from liamwhite/no-more-atomic-wait
...
general: remove atomic signal and wait
2023-06-23 09:27:14 -04:00
GPUCode
75fb29e08e
vulkan_common: Remove required flags
...
* Allows VMA to fallback to system RAM instead of crashing
2023-06-22 20:03:12 +03:00
Liam
1586f1c0b1
general: remove atomic signal and wait
2023-06-22 09:25:23 -04:00
Kelebek1
5da70f7197
Remove memory allocations in some hot paths
2023-06-22 08:05:10 +01:00
bunnei
e3122c5b46
Merge pull request #10086 from Morph1984/coretiming-ng-1
...
core_timing: Use CNTPCT as the guest CPU tick
2023-06-21 21:12:46 -07:00
bunnei
7eb7d56b1b
Merge pull request #10777 from liamwhite/no-barrier
...
video_core: optionally skip barriers on feedback loops
2023-06-21 21:10:08 -07:00
liamwhite
f1e12e3b08
Merge pull request #10818 from vonchenplus/render_target_samples
...
video_core: add samples check when find render target
2023-06-20 09:55:23 -04:00
liamwhite
93061d1ea1
Merge pull request #10835 from lat9nq/intel-restrict-compute-disable
...
vulkan_device: Restrict compute disable only to affected Intel drivers
2023-06-20 09:55:14 -04:00
liamwhite
6d12e7320b
Merge pull request #10840 from Kelebek1/unbug_blinks_brain
...
Use current GPU address when unmapping GPU pages, not the base
2023-06-20 09:55:01 -04:00
toast2903
78ff2862f6
vulkan_device: Remove brace initializer
...
Co-authored-by: Tobias <thm.frey@gmail.com>
2023-06-19 17:35:12 -04:00
lat9nq
197e13d93d
video_core: Check broken compute earlier
...
Checks it as the system is determining what settings to enable. Reduces
the need to check settings while the system is running.
2023-06-19 17:33:30 -04:00
Kelebek1
711190bb67
Use current GPU address when unmapping GPU pages, not the base
2023-06-19 00:19:50 +01:00
lat9nq
346c253cd2
video_core: Formalize HasBrokenCompute
...
Also limits it to only affected Intel proprietrary driver versions.
vulkan_device: Move broken compute determination
vk_device: Remove errant back quote
2023-06-18 16:15:47 -04:00
liamwhite
23371fa187
Merge pull request #10829 from lat9nq/remove-external-mem
...
vulkan_device: Remove external memory extension
2023-06-18 09:43:03 -04:00
liamwhite
66b8042b59
Merge pull request #10798 from vonchenplus/draw_texture_scale
...
video_core: drawtexture support upscale
2023-06-18 09:42:41 -04:00
liamwhite
8acf728d5d
Merge pull request #10809 from Kelebek1/reduce_vertex_bindings
...
Synchronize vertex buffer even when it doesn't require binding
2023-06-18 09:42:32 -04:00
GPUCode
ee0d68300e
renderer_vulkan: Add missing initializers
2023-06-18 14:14:03 +03:00
GPUCode
7b2f680468
renderer_vulkan: Use VMA for buffers
2023-06-18 12:45:18 +03:00