Commit Graph

6723 Commits

Author SHA1 Message Date
6b0b584eba uint result index 2023-08-06 14:54:57 -04:00
05ee37a1f0 amd opts 2023-08-06 14:54:57 -04:00
3494fce864 gl 2023-08-06 14:54:57 -04:00
5248fa926d const, pack result_vector and replicate tables,
undo amd opts
2023-08-06 14:54:57 -04:00
998246efc2 minor redundancy cleanup 2023-08-06 14:54:57 -04:00
d17a51bc59 extractbits robustness 2023-08-06 14:54:57 -04:00
0078e5a338 reuse vectors memory 2023-08-06 14:54:57 -04:00
b8ca47e094 EncodingData pack 2023-08-06 14:54:57 -04:00
27c8bb9615 flattening 2023-08-06 14:54:57 -04:00
ac09cc3504 weights refactor 2023-08-06 14:54:57 -04:00
6ff65abd62 params.max_weight 2023-08-06 14:54:57 -04:00
e0c59c7b0b skip bits 2023-08-06 14:54:57 -04:00
7ef879b296 restrict 2023-08-06 14:54:57 -04:00
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
4533769f7f Merge pull request #11212 from Kelebek1/shader_stuff
Fix various misc pipeline/shader things
2023-08-05 12:58:39 -04:00
dfb7fc8293 Fix shader dumps with nvdisasm
skip fragment shaders when rasterizer is disabled
initialize env_ptrs
2023-08-03 15:30:27 +01:00
cd80cbc420 vulkan_device: Fix subgroup_size_control detection on Vulkan 1.3 2023-08-02 20:45:03 -04:00
c7c44dc238 vulkan_device: Fix VK_EXT_subgroup_size_control detection 2023-08-02 19:25:14 -04:00
096644c01c Merge pull request #11202 from abouvier/vulkan-config
vulkan: centralize config
2023-08-02 14:26:03 -04:00
fca7d975fd Merge pull request #10839 from lat9nq/pgc-plus
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
d6d43e11a3 vulkan_device: disable EDS3 blending on all AMD drivers 2023-08-01 20:46:05 -04:00
9d6f8e88b2 vulkan: centralize config 2023-08-02 00:05:14 +02:00
2a9eab5e1b Merge pull request #11188 from abouvier/vma-fix
vma: enable options everywhere
2023-07-31 15:28:35 -04:00
06fa13a014 Merge pull request #11169 from GPUCode/desc-stuff
vk_descriptor_pool: Disallow descriptor set free
2023-07-31 09:11:19 -04:00
ed3f9bab11 vma: enable options everywhere 2023-07-31 13:01:21 +02:00
deafa92122 Formatting fix 2023-07-30 23:02:07 -05:00
c6458970ad Match log warning 2023-07-30 22:50:22 -05:00
a4a106bb25 Formatting fix 2023-07-30 04:29:51 -05:00
f4e5d07619 Address feedback and change log warning 2023-07-30 04:01:29 -05:00
36d48cef50 Revert "Revert "Blacklist EDS3 blending from new AMD drivers"" 2023-07-30 00:21:51 -05:00
8c2411da29 vk_descriptor_pool: Disallow descriptor set free 2023-07-27 18:08:56 +03:00
4007142b91 Revert "Blacklist EDS3 blending from new AMD drivers" 2023-07-26 15:02:48 -05:00
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
0ea138fb5b Merge pull request #11098 from GPUCode/texel-buffers
buffer_cache: Increase number of texture buffers
2023-07-22 11:17:27 -04:00
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
d146dd9d12 settings,general: Rename non-confirming enums 2023-07-21 10:56:54 -04:00
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
5cffa34288 settings,video_core: Consolidate ASTC decoding options
Just puts them all neatly into one place.
2023-07-21 10:56:07 -04:00
4ecedc4991 vk_buffer_cache: Format 2023-07-18 19:56:20 -04:00
71b3b2a2f0 general: Silence -Wshadow{,-uncaptured-local} warnings
These occur in the latest commits in LLVM Clang.
2023-07-18 19:31:35 -04:00
4347dd26c6 buffer_cache: Increase number of texture buffers 2023-07-15 23:09:58 +03:00
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
c3050c1b48 cmake: allow using system VMA library 2023-07-12 04:51:45 +02:00
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
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
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
1462db4694 video_core: vulkan_device: Disable timeline semaphore on Turnip, fix qcom version check. 2023-07-03 19:25:06 -07:00
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
cef7aaa8ec video_core: vulkan_device: Change to driver version check. 2023-07-03 14:25:06 -07:00
408a9cd50d oops re open 2023-07-03 20:25:23 +09:00