TheTurtle
722a0e36be
graphics: Improve handling of color buffer and storage image swizzles ( #1763 )
...
* liverpool_to_vk: Remove wrong component swap formats
* shader_recompiler: Handle storage and buffer format swizzles
* shader_recompiler: Skip unsupported depth export
* image_view: Remove image format swizzle
* Platform support is not always guaranteed
2024-12-13 21:49:37 +02:00
squidbus
028be3ba5d
shader_recompiler: Emulate unnormalized sampler coordinates in shader. ( #1762 )
...
* shader_recompiler: Emulate unnormalized sampler coordinates in shader.
* Address review comments.
2024-12-13 21:49:07 +02:00
TheTurtle
cfbd869126
texture_cache: Improve support for stencil reads ( #1758 )
...
* texture_cache: Improve support for stencil reads
* libraries: Supress some spammy logs
* core: Support loading font libraries
* texture_cache: Remove assert
2024-12-13 18:28:19 +02:00
Diego Cea López
1e3d034f96
Fix HLE buffer copy not executed when there's only 1 copy. ( #1754 )
2024-12-12 22:45:56 +02:00
squidbus
ec8e5d5ef1
renderer_vulkan: Fix some color attachment indexing issues. ( #1755 )
2024-12-12 20:45:18 +02:00
Osyotr
7aa868562c
video_core: add eR5G5B5A1UnormPack16 support to the detiler ( #1741 )
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 / pre-release (push) Blocked by required conditions
2024-12-12 15:45:59 +02:00
squidbus
3d1e332c6f
renderer_vulkan: Disable culling for RectList. ( #1749 )
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 / pre-release (push) Blocked by required conditions
2024-12-12 11:05:59 +02:00
squidbus
714605c6a7
renderer_vulkan: Require exact image format for resolve pass. ( #1742 )
2024-12-11 21:51:39 +01:00
squidbus
14f7dc3527
cache: Invalidate pages for file reads. ( #1726 )
...
* cache: Invalidate pages for file reads.
* texture_cache: Simplify invalidate intersection check.
* vk_rasterizer: Make aware of mapped memory ranges.
* buffer_cache: Remove redundant page calculations.
Called functions will convert to page numbers/addresses themselves.
* file_system: Simplify memory invalidation and add a few missed cases.
2024-12-11 21:11:24 +02:00
squidbus
e612e881ac
renderer_vulkan: Bind null color attachments when target is masked out. ( #1740 )
...
* renderer_vulkan: Bind null color attachments when target is masked out.
* Simplify setting null color attachment
2024-12-11 21:10:40 +02:00
Daniel R.
2a953391ef
liverpool: implement Rewind and IndirectBuffer packets
2024-12-11 19:40:45 +01:00
¥IGA
51bf98a7b5
Fix for R4G4B4A4UnormPack16 Tiled image ( #1738 )
Build and Release / clang-format (push) Waiting to run
Build and Release / reuse (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 / pre-release (push) Blocked by required conditions
2024-12-11 16:07:33 +02:00
squidbus
e5e1aba241
renderer_vulkan: Introduce shader HLE system with copy shader implementation. ( #1683 )
...
* renderer_vulkan: Introduce shader HLE system with copy shader implementation.
Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
* buffer_cache: Handle obtaining buffer views partially within buffers.
* vk_shader_hle: Make more efficient
---------
Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-12-10 14:44:08 +02:00
Vinicius Rangel
f1b23c616e
Devtools - Shader editing ( #1705 )
...
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 / pre-release (push) Blocked by required conditions
* devtools: shader editing and compiling
* devtools: patch shader at runtime
* devtools: shader editing load patch even with config disabled
2024-12-09 21:11:11 +01:00
squidbus
f347d3df18
image_view: Correct view format for D16Unorm images as well. ( #1708 )
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 / pre-release (push) Blocked by required conditions
2024-12-08 21:53:29 +01:00
Daniel R.
1793fd4df0
format
2024-12-08 16:05:36 +01:00
Daniel R.
a88850fec6
video_core/amdgpu: fix calculation of lod range
2024-12-08 16:02:38 +01:00
Daniel R.
0b672a08ac
video_core: improve image cube heuristic
2024-12-08 15:57:51 +01:00
squidbus
7d546f32d8
image_view: Add more BGRA storage format swizzles. ( #1693 )
2024-12-08 10:19:39 +02:00
TheTurtle
8ee672fe32
hot-fix: Allow unpriviledged userfaultfd
2024-12-08 00:10:20 +02:00
¥IGA
2266622dcf
Support for Vulkan 1.4 ( #1665 )
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 / pre-release (push) Blocked by required conditions
2024-12-07 19:41:41 +02:00
psucien
941a668f78
hot-fix: obtain cmdbuf for dispatches after cache ops
...
Build and Release / windows-sdl (push) Blocked by required conditions
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-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 / pre-release (push) Blocked by required conditions
This fixes cmdbuf being in incorrect state after scheduler rotation on flush
2024-12-07 10:30:36 +01:00
Vladislav Mikhalin
8eacb88a86
recompiler: fixed fragment shader built-in attribute access ( #1676 )
...
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 / pre-release (push) Blocked by required conditions
* recompiler: fixed fragment shader built-in attribute access
* handle en/addr separately
* handle other registers as well
2024-12-07 01:20:09 +02:00
IndecisiveTurtle
357b7829c3
hot-fix: Silence depth macrotiled warning
2024-12-06 21:50:25 +02:00
IndecisiveTurtle
6acfdd5e33
buffer_cache: Bump usable address space to 40bits
...
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 / pre-release (push) Blocked by required conditions
* Fixes crashes in games that use the upper region of user area
2024-12-06 20:00:21 +02:00
TheTurtle
9e618c0e0c
video_core: Add multipler to handle special cases of texture buffer stride mismatch ( #1640 )
...
* page_manager: Enable userfaultfd by default
* Much faster than page faults and causes less problems
* shader_recompiler: Add texel buffer multiplier
* Fixes format mismatch assert when vsharp stride is multiple of format stride
* shader_recompiler: Specialize UBOs on size
* Some games can perform manual vertex pulling and thus bind read only buffers of varying size. We only recompile when the vsharp size is larger than size in shader, in opposite case its not needed
* clang format
2024-12-06 19:54:59 +02:00
squidbus
d05846a327
specialization: Fix fetch shader field type ( #1675 )
2024-12-06 12:59:55 +02:00
squidbus
17abbcd74d
misc: Fix clang format ( #1673 )
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 / pre-release (push) Blocked by required conditions
2024-12-06 02:21:35 +02:00
IndecisiveTurtle
77da8bac00
core: Return proper address of eh frame/add more opcodes
2024-12-06 00:47:11 +02:00
TheTurtle
22a2741ea0
shader_recompilers: Improvements to SSA phi generation and lane instruction elimination ( #1667 )
...
* shader_recompiler: Add use tracking for Insts
* ssa_rewrite: Recursively remove phis
* ssa_rewrite: Correct recursive trivial phi elimination
* ir: Improve read lane folding pass
* control_flow: Avoid adding unnecessary divergant blocks
* clang format
* externals: Update ext-boost
---------
Co-authored-by: Frodo Baggins <baggins31084@proton.me>
2024-12-05 23:14:16 +02:00
Marcin Mikołajczyk
642dedea8c
Handle INDIRECT_BUFFER_CONST in ProcessCeUpdate ( #1613 )
2024-12-05 23:09:59 +02:00
psucien
37f4bad2b7
video_core: fix for targets clears and copies ( #1670 )
2024-12-05 23:09:22 +02:00
Daniel R.
98f0cb65d7
The way to Unity, pt.1 ( #1659 )
2024-12-05 17:21:35 +01:00
squidbus
920acb8d8b
renderer_vulkan: Parse fetch shader per-pipeline ( #1656 )
...
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 / pre-release (push) Blocked by required conditions
* shader_recompiler: Read image format info directly from sharps instead of storing in shader info.
* renderer_vulkan: Parse fetch shader per-pipeline
* Few minor fixes.
* shader_recompiler: Specialize on vertex attribute number types.
* shader_recompiler: Move GetDrawOffsets to fetch shader
2024-12-04 13:03:47 +02:00
squidbus
74b091fd08
renderer_vulkan: Add support for indexed QuadList draw. ( #1661 )
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 / pre-release (push) Blocked by required conditions
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
2024-12-04 10:15:58 +01:00
psucien
f0b75289c8
video_core: few detiler formats added
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 / pre-release (push) Blocked by required conditions
2024-12-02 22:24:54 +01:00
TheTurtle
eb844b9b63
shader_recompiler: Implement manual barycentric interpolation path ( #1644 )
...
* shader_recompiler: Implement manual barycentric interpolation path
* clang format
* emit_spirv: Fix typo
* emit_spirv: Simplify variable definition
* spirv_emit: clang format
2024-12-02 23:20:54 +02:00
Vinicius Rangel
0835dc71b3
More devtools stuff ( #1637 )
...
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 / pre-release (push) Blocked by required conditions
* devtools: memory map viewer
* devtools: batch highlight only for non-group viewer
* devtools: fix not showing entire user data
* devtools: shader debug viewer
* devtools: add more reg naming
2024-12-01 19:34:29 +01:00
psucien
f658fc58d1
Merge pull request #1630 from vladmikhalin/fix-missing-rts
...
Fixed incorrectly skipped RTs
2024-12-01 16:47:25 +01:00
TheTurtle
5b6e0ab238
core: Library cleanup ( #1631 )
...
* core: Split error codes into separate files
* Reduces build times and is cleaner
* core: Bring structs and enums to codebase style
* core: More style changes
2024-11-30 22:37:36 +02:00
Vinicius Rangel
2002e37ce9
Allow shader patching ( #1633 )
2024-11-30 20:15:55 +01:00
Vladislav Mikhalin
c0d43a1a5f
Fixed incorrectly skipped RTs
2024-11-30 17:05:08 +03:00
psucien
d6d1ec4f22
hot-fix: apply vgt index offset to draw commands
Build and Release / get-info (push) Waiting to run
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (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 / pre-release (push) Blocked by required conditions
2024-11-29 14:17:53 +01:00
Vladislav Mikhalin
18a36c5daa
Fixed false-positive image reuploads ( #1557 )
...
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 / pre-release (push) Blocked by required conditions
* Fixed false-positive image reuploads
* Fixed userfaultfd path, removed dead code, simplified calculations
* oopsie
* track potentially dirty images and hash them
* untrack only first page of the image in case of head access
* rebase, initialize hash, fix bounds check
* include image tail in the calculations
2024-11-26 22:45:15 +02:00
psucien
cd4f48cb8d
Revert "hot-fix: downgrade Nx1 2D render targets to 1D" due to regression
...
This reverts commit cea6d87472
.
2024-11-25 22:14:53 +01:00
psucien
cea6d87472
hot-fix: downgrade Nx1 2D render targets to 1D
2024-11-25 20:52:09 +01:00
psucien
001b94e802
hot-fix: skip indirect draw for quad lists
...
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 / pre-release (push) Has been cancelled
* needs to be fixed properly with indirect args re-packing
2024-11-24 18:33:38 +01:00
psucien
3d95ad0e3a
Image binding and texture cache interface refactor (1/2) ( #1481 )
...
* video_core: texture_cache: interface refactor and better overlap handling
* resources binding moved into vk_rasterizer
* remove `virtual` flag leftover
2024-11-24 17:07:51 +01:00
psucien
16e1d679dc
video_core: clean-up of indirect draws logic ( #1589 )
2024-11-24 15:43:28 +01:00
psucien
d7d28aa8da
video_core: restored presenter aspect calculations ( #1583 )
...
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 / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-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 / pre-release (push) Blocked by required conditions
* video_core: restored presenter aspect calculations
* code simplification
2024-11-23 11:46:31 +01:00