Nekotekina
b59f142d4e
Move types.h to util/types.hpp
2020-12-12 15:12:01 +03:00
Nekotekina
7a015b6fc0
VKMemAlloc.cpp: use shared_mutex in vk_mem_alloc.h
...
Because it allows to use custom implementation.
Also fix compilation.
2020-12-11 19:05:11 +03:00
Nekotekina
72284b4530
Use atomic_t<> in VKMemAlloc
2020-12-10 18:58:11 +03:00
Nekotekina
b382d3b3e9
Remove ASSUME macro
...
It's dangerous and sometimes bluntly misused feature.
Its optimization potential is near-zero.
2020-12-10 14:08:02 +03:00
Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
kd-11
d25c401aec
vk: Validate image creation inputs
...
- Should avoid things like res scaling breaking when very large scaling is in use
2020-12-09 21:30:08 +03:00
kd-11
aac874a842
vk: Add even more D32_SFLOAT missing locations
2020-12-09 21:30:08 +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
f8d2830ac7
vk: Properly register D32_SFLOAT as a depth-stencil format ( #9396 )
2020-12-09 02:06:27 +00:00
Nekotekina
24e4e329ed
atomic.hpp: add atomic_t<bool> specialization
...
May be required in future, plus adds/hides some methods.
2020-12-07 17:13:12 +03:00
Nekotekina
eb66302907
atomic.hpp: replace std::atomic with atomic_t
...
Dual dependency is nothing good.
2020-12-07 17:13:12 +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
Megamouse
a3eb5c2d63
More Header cleanup
2020-11-06 22:14:05 +01:00
Nekotekina
ba5ed5f380
Fix vm::lock_range wrong check
...
Minor header refactoring.
2020-11-04 14:59:26 +03:00
Megamouse
027eba2b59
Add Quadro to fast version of VK get_driver_vendor
2020-11-04 12:13:56 +01:00
Megamouse
91b8e7504e
Set some things to log level always
2020-11-04 12:13:56 +01:00
Megamouse
2cee26c3e7
Cleanup some includes
2020-10-31 11:53:46 +01:00
Nekotekina
605d57c541
sys_event: cleanup (replace vm::temporary_unlock)
...
Also made minor changes in sys_rsx.cpp.
Removed unused exception std headers.
2020-10-30 17:49:07 +03:00
kd-11
b32eecb5a7
rsx: Driver compatibility improvements ( #9131 )
...
* rsx: Refactor vertex clip emit to avoid using f64 unnecessarily
- Fixes driver crash on intel
* vk: Add NVIDIA driver version check
- Warn if user has outdated drivers with known problems
2020-10-27 13:22:15 +03:00
kd-11
a90801e2aa
vk: Add VK_FORMAT_D32_SFLOAT to format conversion table
...
- This format is required to emulate RSX_FORMAT_CLASS_D16_FLOAT
2020-10-18 19:30:40 +03:00
kd-11
bca3a3f4ed
vk: Open CB before doing frame cleanup so that callbacks work ( #9041 )
2020-10-10 10:02:55 +01:00
kd-11
d5f7e7b179
vk: Reimplement GPU query management
2020-10-06 12:02:53 +03:00
kd-11
259844f4f3
vk: Disable spirv optimizer
...
- I've not found it to be very useful and it just breaks good code right now.
TODO: Re-enable when things improve.
2020-09-27 18:56:04 +03:00
kd-11
9ea478008c
vk: Properly initialize float64 support for SPIRV
2020-09-24 01:30:21 +03:00
kd-11
a50ea09053
rsx: Properly pass format_class information during RTV/DSV resource barrier
...
- Also takes the opportunity to remove repeating code in a minor refactor.
2020-09-22 12:19:54 +03:00
kd-11
d012abd924
vk: Improve image transfer and scaling
...
- Handle typeless src and dst with aliased typeless format
- Optimize typeless transfers by only dealing with affected texels.
* Eliminates redundant dst->typeless transfer of full image (very expensive)
* Eliminates full src->typeless transfer of full image and replaces with only affected region
* Requires significantly smaller output buffers, saving on VRAM cost
2020-09-22 12:19:54 +03:00
kd-11
7900780cea
vk: Fix nul section crash due to unexpected format (B8)
2020-09-16 20:14:44 +03:00
kd-11
da6760ed98
vk: Simplify shadow comparison operations for non-integer formats
...
- Just use hardware PCF, it makes everyone's life easier.
2020-09-09 22:11:12 +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
6d2cb94e3e
gl/vk: Support swizzled data for RCB/RDB
2020-09-07 22:31:57 +03:00
kd-11
85dd1b4ea9
vk: Fix fconvert job issues
...
- Fix compilation bug caused by typo
- Invert to/from for consistent declarations
- Fix dst_swap when From == 2
2020-09-07 18:25:54 +03:00
kd-11
a917f55ef8
vk/sdk: Sync with vulkan SDK v148 ( #8814 )
...
- Sync with vulkan SDK 148
- glslang library was split into several smaller libraries
- HLSL is no longer needed
2020-09-01 00:57:38 +03:00
kd-11
af9e217fa4
vk: Improve D16F handling
...
- Adds upload and download routines. Mostly untested, which is why the error message exists
2020-08-30 09:26:37 +03:00
kd-11
e8274d5a59
vk: Fix depth format mismatch detection in copy_image
2020-08-29 02:03:09 +01: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
d257ba5156
vk: Add some more diagnostic messages for unoptimized image transfer setups
2020-08-27 12:52:28 +03:00
kd-11
9e4bec8cec
vk: Fix some missing render target declarations
2020-08-27 12:52:28 +03:00
kd-11
65ead08880
rsx: Refactor and improve image memory manipulation routines
2020-08-27 12:52:28 +03:00
kd-11
f6c6c04648
vk: Implement transport for D24S8_FLOAT data
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
faaf28b41d
rsx: Basic support for creating depth float formats
2020-08-27 12:52:28 +03:00
kd-11
fd2607ad52
rsx: Fix XBGR vs XRGB screenshots
2020-08-12 20:19:19 +03:00
kd-11
7e1b24224d
rsx: Support XBGR flip image load from Cell memory
2020-08-12 20:19:19 +03:00
kd-11
56c63170b9
vk: Warn if GPU does not support RGBA8 natively
2020-08-12 20:19:19 +03:00