Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
Nekotekina
e055d16b2c
Replace verify() with ensure() with auto src location.
...
Expression ensure(x) returns x.
Using comma operator removed.
2020-12-09 15:43:38 +03:00
kd-11
3a0b3a85a5
rsx: Separate program environment state from program ucode state
...
- Allows for conservative texture uploads
- Allows to update a program object without running full ucode analysis for no reason
2020-12-07 00:45:27 +03:00
RipleyTom
af8c661a64
Remove BOM markers
2020-12-06 15:30:12 +03:00
kd-11
f1c65dcefc
vk: Improve support for RDNA
...
- Add support for RDNA2
- Add RDNA MSAA workaround
2020-11-23 19:20:00 +03:00
kd-11
cab4c78b7b
rsx: Some shader compiler threads tuning
...
- Allow more threads for wide CPUs
- Simplify 'auto' selection a bit
2020-11-21 20:43:15 +03:00
kd-11
3ddfa288cf
rsx: Use multithreaded shader compiler backend
2020-11-21 20:43:15 +03:00
kd-11
0e7a705254
rsx: Resolution scaling overhaul
...
- Enforce square pixels instead of per-axis scaling
2020-11-18 09:29:34 +03:00
Nekotekina
ba5ed5f380
Fix vm::lock_range wrong check
...
Minor header refactoring.
2020-11-04 14:59:26 +03:00
kd-11
d5f7e7b179
vk: Reimplement GPU query management
2020-10-06 12:02:53 +03:00
kd-11
6380e67af9
rsx: Fix depth clipping
...
- Fix special case where n=f making (f-n) = 0
- Dynamically update depth range by setting dirty bits
- Fix depth bounds when n=f and bounds test is disabled
2020-09-08 15:33:08 +03:00
kd-11
dc465df3bc
rsx: Enable support for extended range in depth buffer
...
- Software clipping emulation is used here as OpenGL does not have explicit clip control.
- Hardware clip control for vulkan to be enabled after this.
2020-09-08 15:33:08 +03:00
kd-11
d000d648b0
vk: Fix some minor spec violation
...
- Stencil clear pass does not consume an image, do not bind one.
- Add push_barrier to allow push-pop semantics for texture barrier insert.
2020-08-27 12:52:28 +03:00
kd-11
a5ac5a9861
rsx: Separate uint depth formats from float depth formats
2020-08-27 12:52:28 +03:00
kd-11
b41349546c
rsx: Proper support for typeless transform of ABGR framebuffers using the RGBA8 format
2020-08-12 20:19:19 +03:00
kd-11
4df933275b
rsx: Propagate raster type of fbo sourced data throughout the pipeline.
...
- Tracks which kind of raster was done (Z-ordered vs linear) throughout the application.
- This allows to identify if data is in the expected format or not.
2020-08-02 16:14:11 +03:00
kd-11
be4b71b805
vk: Fixup for PR #8590
...
- This change was lost during rebase
2020-07-25 14:48:11 +03:00
kd-11
b0c7ca6d1f
vk: Improve video memory manager to attempt recovery in out of memory situations
2020-07-25 14:48:11 +03:00
kd-11
5ea6535fd5
rsx: Force flushing of NaN/INF to zero
...
- This option was always enabled for NVIDIA cards, but it seems some games would benefit from the option on other GPUs as well.
- TODO: Hwtest to verify correct behavior and plan how to safely implement in hw
2020-06-26 09:24:15 +03:00
kd-11
c6a9a5d5d7
rsx/fixup: Fix color clear logic
...
- Enable fast clears on ABGR formats in vulkan
- Fix disabling color clears for unsupported formats in GL
2020-06-23 12:15:02 +03:00
kd-11
7f917c8ba5
rsx: Fix ABGR decoding for colormask and clear color
...
- The bytes in these values are based on the format according to hw tests
- G8B8 is unaffected as the first two bytes are already G8B8 for A8R8G8B8 standard layout (BGRA)
- A8B8G8R8 and its derivatives have words 0 and 2 exchanged.
2020-06-22 20:12:41 +03:00
kd-11
c9a978a03e
Typo fix
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2020-05-30 14:47:10 +03:00
kd-11
1677618c75
rsx: Implement stippled rendering
2020-05-30 14:47:10 +03:00
Eladash
3d20ce70f5
rsx: Fix possible case NULL zcull_ctrl in on_exit()
2020-05-28 11:56:02 +02:00
kd-11
7080305d82
vk: Implement masked stencil buffer clears
...
- Partial stencil buffer clears were not implemented. This is for example where a game can choose to clear only some bits from the stencil buffer.
- Vulkan does not support masked stencil clears natively, it has to be implemented as a graphics operation.
- Also refactors vulkan overlay passes to use global resource system instead of forcing the render backend to own all of them and manage lifetimes.
2020-05-21 19:27:23 +03:00
Nekotekina
cda8b3a59e
RSX: fix new warnings
2020-05-01 22:00:57 +03:00
Megamouse
8f0af6a6fe
rsx/interpreter: merge shader settings
...
- merge disable_asynchronous_shader_compiler and interpreter_mode
- removes disable_asynchronous_shader_compiler setting
- Adds the resulting settings as radio buttons to the gui tab
2020-04-30 15:02:59 +03:00
kd-11
2281c4f662
Fix build
2020-04-30 15:02:59 +03:00
kd-11
fc5b4026e1
vk: Implement optimized pipeline cache
2020-04-30 15:02:59 +03:00
kd-11
930bc9179d
rsx/interpreter: Improve instructions support
...
- Must statically write the gl_ClipDistance registers else you get uninitialized trash.
This problem is more readily apparent on NVIDIA technology but even AMD is not completely immune.
2020-04-30 15:02:59 +03:00
kd-11
b4bf48c33b
vk: Integrate shader interpreter
2020-04-30 15:02:59 +03:00
scribam
2e397e38a4
Typos
2020-04-14 17:06:58 +03:00
scribam
f37adc4188
Add fallthrough attribute
2020-04-14 17:06:58 +03:00
Nekotekina
d0c199d455
Replace utils::cnttz{32,64} with std::countr_{zero,one}
...
Make #include <bit> mandatory.
2020-04-14 16:05:58 +03:00
kd-11
b327e329d6
vk: Avoid query log spam if no program is loaded
2020-03-31 20:53:12 +03:00
kd-11
4965bf7d7a
gl/vk: Refactor draw call handling and stub shader interpreter
...
- Refactors backend draw call management to make it easier to extend
functionality.
- Stubs shader interpreter functionality.
2020-03-23 14:47:28 +03:00
kd-11
d25ba03e82
vk: Lazy evaluate renderpass scope
...
- Spamming the driver with renderpass open/close cycles is bad for performance.
2020-03-15 18:39:40 +03:00
kd-11
2ae83782e1
vk: Fix potential MTRSX deadlock in case of a race condition
2020-03-13 22:06:04 +03:00
kd-11
7e9dbeff7b
vk: Fix MTRSX deadlock ( #7766 )
2020-03-12 22:29:58 +03:00
kd-11
2985a39d2e
rsx: Rewrite async decompiler
2020-03-09 14:59:25 +03:00
kd-11
8214425a3c
rsx: Fix framebuffer native layout for X32_FLOAT
...
- It was not matching the order laid out for normal textures uploaded from CPU.
2020-03-08 11:43:49 +03:00
Nekotekina Aux1
f2f3321952
Fix warnings in VKGSRender
2020-03-04 21:23:34 +03:00
Megamouse
ee46ad1ca9
move overlays code to headers
2020-02-26 23:43:18 +01:00
Nekotekina
7069e7265f
RSX: move g_dma_manager to g_fxo
2020-02-23 13:12:50 +03:00
kd-11
6220206cbc
vk: Implement 2D array textures required for new font subsystem
2020-02-22 15:07:14 +03:00
Nekotekina
92e3eaf3ff
Fix signed-unsigned comparisons and mark warning as error (part 2).
2020-02-19 22:54:58 +03:00
Megamouse
fe75311be2
move config structs to own files and clean up some headers
2020-02-17 15:08:17 +03:00
Eladash
b7043ce000
Make rsx::get_address report caller location
2020-02-08 22:18:56 +03:00
Nekotekina
c0f80cfe7a
Use attributes for LIKELY/UNLIKELY
...
Remove LIKELY/UNLIKELY macro.
2020-02-05 10:42:34 +03:00
Nekotekina
15391f45d0
Modernize RSX logging (rsx_log variable)
2020-02-01 11:52:22 +03:00