kd-11
15961b353a
vk: Add support for hardware instanced draws
2024-12-29 20:53:05 +03:00
kd-11
05bab8ec4c
rsx: Move draw call related functions to their own class
2024-12-29 20:53:05 +03:00
kd-11
43e04f3fc7
Revert "rsx/vk: Implement hardware instancing ( #16466 )"
...
This reverts commit 62701154f1 .
2024-12-29 20:53:05 +03:00
kd-11
62701154f1
rsx/vk: Implement hardware instancing ( #16466 )
...
* rsx: Add code to detect instanced draw commands
* rsx: Add GLSL support for instanced rendering
* rsx: Move draw call related functions to their own class
* rsx: Move more functions from rsx thread to the draw command processor
* rsx: Fix vertex program compiler crash
* vk: Add support for hardware instanced draws
* rsx: Fix instancing bug when indexed addressing is used to read constants
* rsx: Fix rare crash in vertex program decompiler
- This whole decompiler mess needs a rewrite
* rsx: Handle dangling execution barriers
* rsx: Do not use global registers object in logical "firmware" units
* Cosmetic improvements
* rsx: Test vertex program flags on each draw
* rsx: Properly track changes in instancing state
2024-12-29 17:39:47 +02:00
kd-11
883529eaf3
vk: Add support for spec-compliant query scopes
2024-12-25 01:41:23 +03:00
kd-11
760b49bc6c
Cleanup
2024-12-21 15:24:15 +03:00
kd-11
70eca8cb24
vk: Fix border color swizzling behavior
2024-12-21 15:24:15 +03:00
kd-11
e9a45a6d06
rsx: Clarify OGL and VK difference when handling border texels
2024-10-03 15:02:09 +03:00
kd-11
497b9ba55b
rsx: Make use of remapped border colors
2024-10-03 15:02:09 +03:00
kd-11
826f805902
rsx: Use a proper struct to wrap around channel remap operations
2024-10-03 15:02:09 +03:00
kd-11
a09111052a
rsx/vk: Implement batched transform constant updates
2024-05-12 21:26:25 +03:00
kd-11
279393337e
vk: Implement dynamic transform constant updates
2024-05-12 21:26:25 +03:00
kd-11
c1aaa1bcf6
Get reworked RSX to compile
2024-04-13 03:29:57 +03:00
Eladash
e2d4d400ff
rsx: Fixup calculate_required_range
2023-08-22 14:26:14 +03:00
kd-11
26ecd88074
rsx: Rebuild shader texture state if we detect a silent mismatch
2023-08-04 19:23:06 +03:00
kd-11
d13cf0e29a
rsx: Fix shader interpreter
...
- It broke ages ago
2023-07-04 09:31:51 +03:00
kd-11
715e3856f2
vk: Update async compute (fast) to use the new sync API
2023-06-22 14:59:58 +03:00
kd-11
850166eca1
vk: Reimplement events using synchronization2 extension
2023-06-22 14:59:58 +03:00
kd-11
c99ef4b09f
vk: Refactor descriptor handling
2023-05-30 16:50:08 +03:00
kd-11
10171c19c3
vk: Unify descriptor allocation
...
- Pool management should be a backend implementation detail.
2023-05-30 16:50:08 +03:00
kd-11
7eb730ee03
vk: Integrate custom border colors when supported
2023-05-23 14:37:13 +03:00
kd-11
fad6647255
vk: Do not use raw GPU command buffer handles for any wrapped API calls
...
- There is no reason to do so and we seriously hamper debugging efforts
2023-05-18 18:10:46 +03:00
kd-11
a058cf2ff0
vk: Rewrite draw call setup sequence to avoid OOM situations introducing stale descriptors
2023-05-15 12:28:19 +03:00
kd-11
5f0467b084
rsx: Remove framebuffer_status_valid flag and move to state
2023-01-26 11:42:39 +03:00
kd-11
6adcabda29
rsx: Fix graphics state foot-gun
2023-01-26 11:42:39 +03:00
kd-11
e98b07de03
vk: Set line width when rasterizing points (workaround)
...
- Fixes point rendering when using AMD drivers.
2022-11-07 23:12:31 +03:00
kd-11
a229e30b08
rsx: Implement RSX-compliant polygon offset
2022-10-11 14:00:34 +03:00
kd-11
d6d7ade6e3
vk: Reload state on dynamic state changed
2022-10-09 03:00:39 +03:00
kd-11
3c88477270
Fixup for scissor/viewport invalidation rules
2022-10-07 15:27:54 +03:00
kd-11
ffe8133865
vk: Avoid unnecessary dynamic state updates
2022-10-07 11:53:34 +03:00
kd-11
7140e82189
rsx: Fix program invalidation rules
2022-10-07 11:53:34 +03:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
kd-11
f43824762a
rsx: Get rid of an allocation in analyse_vertex_data that adds about 5% overhead.
...
This method is called many thousands of times per frame and that single allocation introduces a small perf hit.
Just get rid of it, it doesn't improve anything to have it there.
2022-09-09 23:17:27 +03:00
kd-11
a401a192b8
Fixup for dst_stage
2022-08-19 14:29:20 +03:00
kd-11
71e35c8b4d
vk: Implement support for VK_EXT_attachment_feedback_loop_layout
2022-08-19 14:29:20 +03:00
kd-11
d846142f0c
vk: Reimplement compliant async texture streaming
...
- Use CONCURRENT queue access instead of fighting with queue acquire/release via submit chains.
The minor benefits of forcing EXCLUSIVE mode are buried under the huge penalty of multiple vkQueueSubmit.
Batching submits does not help alleviate this situation. We simply must avoid interrupting execution.
2022-07-25 21:05:31 +03:00
kd-11
1592ecdc55
rsx: Invalidate transform block on program change
...
- Since each program now does a remap of the outputs, we need to reupload the constants
- This is not a loss, constants are almost always changing between draw calls anyway
2022-03-26 16:10:18 +03:00
kd-11
9a2d4fe46b
rsx: Relocatable transform constants
2022-03-26 16:10:18 +03:00
kd-11
6812fa4764
rsx: Fix surface write coherency when MSAA is active
2022-03-08 22:06:26 +03:00
kd-11
83407c386c
vk: Move renderer types to a separate file
...
- Makes my life easier managing conflicts
2022-02-21 23:58:01 +03:00
kd-11
cef512a123
vk: Spec-compliant async compute
2022-02-13 14:39:42 +03:00
kd-11
2d9f21a2ea
rsx: Lower performance warnings to 'warn' level instead of 'error' level to avoid causing panic for users
2022-02-07 09:25:01 +03:00
kd-11
86919ec0e1
rsx: Validate requested images before attempting to upload them
...
- Do not allow dimensions of 0 to reach the backend APIs
2022-01-30 14:58:51 +03:00
kd-11
3942a464fe
vk: Avoid leaking descriptor copies
2022-01-20 19:21:24 +03:00
kd-11
2331dc3256
vk: Keep the total number of allocated samplers under control
2022-01-20 19:21:24 +03:00
kd-11
000ec71629
Fix invalid descriptor setup if subdraw0 has broken vertex setup
2022-01-17 12:38:10 +03:00
kd-11
4ed92f4155
vk: Fully allow CB change in emit_geometry
...
- upload_vertex_data can trigger a flush to CELL which will result in CB flush.
Ensure CB state is correctly reloaded in such a situation.
2021-10-20 12:05:39 +03:00
kd-11
381c7544fa
Optimize basic descriptor batching
2021-09-28 17:43:15 +03:00
kd-11
4752c4014b
vk: Implement basic descriptor updates batching
2021-09-28 17:43:15 +03:00
kd-11
7f830d555d
vk: Simplify texture cache OOM tracking a bit
2021-09-28 17:43:15 +03:00