Marcin Mikołajczyk
139a253edc
Stub PM4 0x8E opcode ( #2998 )
2025-05-27 12:09:03 -07:00
Lander Gallastegi
10d09ac977
Added back the "Attempted to track non-GPU memory" assert. ( #2980 )
...
* Fix log message
* Add non-GPU memory assert back
2025-05-24 01:48:40 +03:00
squidbus
e5c6c88835
texture_cache: Handle overlap with equal address and different tiling mode ( #2981 )
2025-05-23 10:56:46 -07:00
Marcin Mikołajczyk
e518a7062c
Fix image extent in buffer copy to image ( #2961 )
2025-05-22 12:17:34 -07:00
Lander Gallastegi
f9bbde9c79
video_core: Implement DMA. ( #2819 )
...
* Import memory
* 64K pages and fix memory mapping
* Queue coverage
* Buffer syncing, faulted readback adn BDA in Buffer
* Base DMA implementation
* Preparations for implementing SPV DMA access
* Base impl (pending 16K pages and getbuffersize)
* 16K pages and stack overflow fix
* clang-format
* clang-format but for real this time
* Try to fix macOS build
* Correct decltype
* Add testing log
* Fix stride and patch phi node blocks
* No need to check if it is a deleted buffer
* Clang format once more
* Offset in bytes
* Removed host buffers (may do it in another PR)
Also some random barrier fixes
* Add IR dumping from my read-const branch
* clang-format
* Correct size insteed of end
* Fix incorrect assert
* Possible fix for NieR deadlock
* Copy to avoid deadlock
* Use 2 mutexes insteed of copy
* Attempt to range sync error
* Revert "Attempt to range sync error"
This reverts commit dd287b48682b50f215680bb0956e39c2809bf3fe.
* Fix size truncated when syncing range
And memory barrier
* Some fixes (and async testing (doesn't work))
* Use compute to parse fault buffer
* Process faults on submit
* Only sync in the first time we see a readconst
Thsi is partialy wrong. We need to save the state into the submission context itself, not the rasterizer since we can yield and process another sumission (if im not understanding wrong).
* Use spec const and 32 bit atomic
* 32 bit counter
* Fix store_index
* Better sync (WIP, breaks PR now)
* Fixes for better sync
* Better sync
* Remove memory coveragte logic
* Point sirit to upstream
* Less waiting and barriers
* Correctly checkout moltenvk
* Bring back applying pending operations in wait
* Sync the whole buffer insteed of only the range
* Implement recursive shared/scoped locks
* Iterators
* Faster syncing with ranges
* Some alignment fixes
* fixed clang format
* Fix clang-format again
* Port page_manager from readbacks-poc
* clang-format
* Defer memory protect
* Remove RENDERER_TRACE
* Experiment: only sync on first readconst
* Added profiling (will be removed)
* Don't sync entire buffers
* Added logging for testing
* Updated temporary workaround to use 4k pages
* clang.-format
* Cleanup part 1
* Make ReadConst a SPIR-V function
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-05-22 21:00:15 +03:00
squidbus
3f949d2b6c
amdgpu: Handle 32-bit Unorm formats. ( #2974 )
2025-05-22 03:16:20 -07:00
squidbus
99eaba7c96
liverpool: Lower SetQueueReg to warning log. ( #2930 )
2025-05-13 16:08:25 -07:00
Marcin Mikołajczyk
647b1d3ee4
Handle VgtStreamoutFlush event ( #2929 )
2025-05-13 14:34:22 -07:00
squidbus
073f931729
fix: PM4CmdWaitRegMem memory address
2025-05-13 14:14:11 -07:00
Marcin Mikołajczyk
e5b675d607
Handle IT_WAIT_REG_MEM with Register argument ( #2927 )
2025-05-13 13:56:20 -07:00
squidbus
4cd13ea9d8
fix: Disable emitting bounds checks until fixed.
2025-05-12 23:10:48 -07:00
squidbus
6bbb424c28
vk_instance: Enable robustImageAccess2 ( #2922 )
2025-05-12 18:03:55 -07:00
squidbus
b23f6fdc1d
buffer_cache: Split updateBuffer calls into 65536 byte chunks. ( #2915 )
2025-05-12 15:27:47 -07:00
Randomuser8219
9baa58dd92
renderer_vulkan: Properly enable dualSrcBlend feature. ( #2921 )
...
* renderer_vulkan: Properly enable dualSrcBlend feature
* whoops
2025-05-12 15:26:55 -07:00
squidbus
02d3ed4973
liverpool: Log more information on SetQueueReg. ( #2912 )
2025-05-11 20:27:43 -07:00
squidbus
a1439b15cf
gnm: Implement sceGnmDrawIndexIndirectMulti ( #2889 )
2025-05-09 10:04:37 -07:00
squidbus
b130fe6ed5
vulkan: Handle incompatible depth format using null binding. ( #2892 )
...
Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
2025-05-09 08:43:20 -07:00
oltolm
9a22185ab7
vulkan: do not use VK_EXT_extended_dynamic_state ( #2880 )
...
fixes Bloodborne crashing on RX 580
2025-05-04 03:11:02 -07:00
squidbus
eb09c4ccce
vk_presenter: Use correct format for output frame image and view. ( #2871 )
2025-05-01 20:10:42 -07:00
Mahmoud Adel
b0e4e87ff3
Implement SnormNz conversion ( #2841 )
...
* +
* +
* Unpack Snorm 2x16
* +
* SintToSnormNz
* all is broken ig....
* review changes
* my stupid ass messed all while trying to resolve the conflicts..
* +
* +
* fix rebase
* clang-format fix (1)
* clang-format fix (2)
---------
Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>
2025-05-01 02:12:15 -07:00
squidbus
5fd5b62539
shader_recompiler: Few fixes for buffer number conversions. ( #2869 )
...
* liverpool: Pass correct color buffer number type for conversion mapping.
* shader_recompiler: Apply number conversion to vertex inputs.
2025-04-30 20:46:16 -07:00
Marcin Mikołajczyk
c08f92aca1
Implement IMAGE_ATOMIC_FMIN and IMAGE_ATOMIC_FMAX for 32bit floats ( #2820 )
...
* Implement IMAGE_ATOMIC_FMIN and IMAGE_ATOMIC_FMAX for 32bit floats
* Handle missing VK_EXT_shader_atomic_float2
2025-04-30 11:42:08 -07:00
squidbus
5e3157a82c
vk_rasterizer: Fix updating wrong color attachment when skipped by mask. ( #2859 )
2025-04-29 16:29:35 -07:00
squidbus
81fa9b7fff
shader_recompiler: Add lowering pass for when 64-bit float is unsupported. ( #2858 )
...
* shader_recompiler: Add lowering pass for when 64-bit float is unsupported.
* shader_recompiler: Fix PackDouble2x32/UnpackDouble2x32 type.
* shader_recompiler: Remove extra bit cast implementations.
2025-04-28 00:04:16 -07:00
squidbus
59d060bc16
fix: gcc compile
2025-04-27 21:06:10 -07:00
squidbus
83fd0683fa
fix: Properly enable depthBounds feature.
2025-04-27 20:57:04 -07:00
squidbus
81ad31ce31
pp_pass: Use correct surface format. ( #2860 )
2025-04-27 20:56:17 -07:00
squidbus
ce3aded3e5
fix: Intel crash on startup.
2025-04-23 11:09:04 -07:00
squidbus
aeee7706ee
renderer_vulkan: Restore Vulkan version to 1.3 ( #2827 )
...
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-04-23 13:28:31 +03:00
squidbus
53ca64f6ff
renderer_vulkan: Support loading Vulkan layers on macOS SDL build. ( #2832 )
2025-04-23 01:10:03 -07:00
squidbus
ee7fe305c9
fix: Make sure right MoltenVK is loaded for macOS SDL.
2025-04-22 23:18:39 -07:00
squidbus
0297aee3f4
texture_cache: Relax mismatched image type from assert to cache miss. ( #2830 )
2025-04-22 15:03:43 -07:00
squidbus
5b0205bc59
fix: Texture cache image type assert.
2025-04-22 14:00:08 -07:00
Dmugetsu
cda421434b
Adding missmatch info to Texture cache assert ( #2828 )
2025-04-22 22:49:29 +03:00
squidbus
df89241eb8
vk_rasterizer: Improve viewport depth calculations. ( #2799 )
2025-04-17 13:04:48 -07:00
squidbus
ddf3df7f56
fix: clang-format
2025-04-16 10:48:17 -07:00
squidbus
04e4ce0775
fix: Bad Intel drivers.
2025-04-16 09:52:18 -07:00
squidbus
3bc876ca78
renderer_vulkan: Improve handling of required vs optional extensions. ( #2792 )
...
* renderer_vulkan: Improve handling of required vs optional extensions.
* documents: Update quickstart Vulkan requirements.
2025-04-15 22:31:58 -07:00
squidbus
247e935353
externals: Update MoltenVK ( #2791 )
2025-04-15 17:13:19 -07:00
squidbus
683a223c1b
vk_rasterizer: Control mapped_ranges access with shared lock. ( #2788 )
2025-04-14 20:58:33 -07:00
squidbus
37d4cd091c
renderer_vulkan: Make some primitive state dynamic. ( #2764 )
...
* renderer_vulkan: Make some primitive state dynamic.
* renderer_vulkan: Silence MoltenVK primitive restart warning spam.
2025-04-10 16:20:01 -07:00
Dmugetsu
5abec2a291
Enabling Depth Bias Explicity ( #2766 )
2025-04-09 17:06:54 -07:00
squidbus
03b1fef331
renderer_vulkan: Only update dynamic state when changed. ( #2751 )
2025-04-08 07:22:16 -07:00
squidbus
b8f6ef1c0b
externals: Update MoltenVK ( #2754 )
2025-04-07 12:23:04 +03:00
squidbus
0c6f2b470f
renderer_vulkan: Use more depth-stencil dynamic state. ( #2749 )
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / windows-qt (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / macos-qt (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-qt (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / linux-qt-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
Update Translation / Update Translation (push) Has been skipped
2025-04-05 23:14:27 +03:00
squidbus
afd0251dd2
shader_recompiler: Use VK_AMD_shader_trinary_minmax when available. ( #2739 )
...
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* shader_recompiler: Use VK_AMD_shader_trinary_minmax when available.
* shader_recompiler: Simplify signed/unsigned trinary instruction variants.
2025-04-02 23:36:54 +03:00
squidbus
f85d8df71e
vulkan: Lower list primitive restart warning to debug log. ( #2725 )
2025-03-30 22:02:33 +03:00
kalaposfos13
5caab76a45
Implement DmaDataSrc::MemoryUsingL2 and DmaDataDst::MemoryUsingL2 ( #2680 )
...
* Implement DmaDataSrc::MemoryUsingL2 and DmaDataDst::MemoryUsingL2
* Add L2 handling to the other place it's used
2025-03-26 23:03:50 +02:00
kalaposfos13
a1ec8b0a88
Handle compute packets that are split between the ends of two command buffers ( #2476 )
...
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
Update Translation / Update Translation (push) Has been skipped
* Squashed initial implementation
* Logging for checking if buffers are memory contiguous
* Add check to see if first instruction is valid in the next buffer to avoid false positives
* Oof
* Replace old code with IndecisiveTurtle's new, better implementation
* Add `unlikely` keyword to the split packet handling branches
Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
---------
Co-authored-by: IndecisiveTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2025-03-26 00:01:21 +02:00
Vinicius Rangel
5691046dcc
Renderer fixes (Splash + Aspect Ratio) ( #2645 )
...
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / windows-qt (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / macos-qt (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-qt (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / linux-qt-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
Update Translation / Update Translation (push) Has been skipped
* rewrite splash
removed Splash class
rewrite using imgui texture manager
fix crashes & old validation error
* handle games with abnormal aspect ratios
2025-03-13 18:10:24 +02:00