Ani
a49446c9e9
Replace gsl::span for std::span (c++20) ( #7531 )
...
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte
Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
kd-11
f9d9d12f11
vk: Fix slow bo upload + copy when using RADV
...
- This reverts commit dbcf1b5a03bfef18f404aa6827515af319abd744.
- Avoid unmapping buffers used for GPU upload/download. It is very slow
on some platforms.
2021-05-27 22:49:13 +03:00
kd-11
56f7359da4
vk: Workaround for slow bo transfer (pinned<->VRAM) when using RADV
...
- perf shows extremely high number of cycles wasted in memmove glibc method
2021-05-27 01:27:15 +03:00
kd-11
8d1fc18941
vk: Fix mip level packed pitch calculation
2021-04-13 00:14:16 +03:00
kd-11
06dc99ab85
rsx: Fix decompression of RB_RG textures.
...
- Removes several subtle hacks that hid the real issue.
A compressed texture has more than one texel per 'block'.
2021-04-11 21:36:36 +03:00
kd-11
a5f0faefc3
vk: Check for uninitialized target before going into any scaling op
2021-03-12 02:27:05 +03:00
kd-11
585837a3f0
vk: Support new fxo usage pattern
2021-03-12 02:27:05 +03:00
kd-11
77e312fb99
vk: Add the async task scheduler
2021-03-12 02:27:05 +03:00
Nekotekina
87af905018
Enable -Wunused-parameter
2021-03-06 18:07:08 +03:00
kd-11
be1238cc95
vk: Add support for queue family migration and refactor some texture upload code
2021-02-26 15:08:14 +03:00
kd-11
3632412c48
vk/dma: Simplify map_dma interface
2021-02-23 00:04:53 +03:00
kd-11
b8311caa6b
vk: Silence some compiler warnings
2021-02-14 20:42:34 +03:00
kd-11
2d62f9c4c5
vk: Improve spec compliance ( #9748 )
...
- Always comply when running under strict mode
- Only allow hacky transport for known-to-work GPUs
2021-02-08 22:11:01 +00:00
kd-11
67949bb5b7
vk/dma: Allow interoperability between pass-through and write-back DMA caching types
2021-01-24 14:24:55 +03:00
kd-11
a1ab6c28c1
vk/rsx: Fix some more bugs
2021-01-24 14:24:55 +03:00
kd-11
7766076042
rsx/vk: DMA stuff
2021-01-24 14:24:55 +03:00
kd-11
c2cbc62be6
vk: Refactor some uber-headers
...
- VKHelpers was the rug everything was swept under for a long time.
This commit essentially deprecates its usage across most of the backend.
2021-01-10 12:04:31 +03:00
Nekotekina
eec11bfba9
Move align helpers to util/asm.hpp
...
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00
Nekotekina
77352a2a86
Replace uint32_t with u32
2020-12-18 12:23:53 +03:00
Nekotekina
fb29933d3d
Add usz alias for std::size_t
2020-12-18 12:23:53 +03:00
kd-11
cfbde005fb
vk: Force ampere GPUs to use the slower but spec-compliant depth-color resize route
...
- TODO: More investigation and optimizations
2020-12-17 09:36:20 +03:00
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
RipleyTom
af8c661a64
Remove BOM markers
2020-12-06 15:30:12 +03:00
Megamouse
a3eb5c2d63
More Header cleanup
2020-11-06 22:14:05 +01: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
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
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
d257ba5156
vk: Add some more diagnostic messages for unoptimized image transfer setups
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
faaf28b41d
rsx: Basic support for creating depth float 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
b437794e92
vk: Improve nvidia speedhack for non-turing cards
...
- Inverts the chip family check to skip any unidentified GPUs altogether
2020-06-28 22:54:58 +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
Nekotekina Aux1
f2f3321952
Fix warnings in VKGSRender
2020-03-04 21:23:34 +03:00
gamerforEA
93552a5958
Apply some Clang-Tidy fixes
2020-02-27 00:38:55 +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
kd-11
0a2b6a290d
vk: Fixup
...
- Scaling is not needed for a direct typeless transfer!
2020-01-17 14:31:14 +03:00
kd-11
9b34f00241
vk: Optimize image transfers
...
- Adds the same optimization/simplification steps to complex image
transfer routines. Whenever possible, multi-step transfers are collapsed
into a single operation.
2020-01-16 22:29:26 +03:00
kd-11
621fab2ad9
vk: Fix D32S8 interpolation by using integer interpolation instead of floating point
...
- Interpolating floats is not the same as interpolating their bits!
Use integer format to interpolate linearly for D32F formats instead of using R32F as intermediary
2020-01-16 11:12:08 +03:00
kd-11
086ecf4ba6
vk: Add some missing image memory barriers causing artifacting on AMD cards
...
- There needs to be a memory barrier after each step.
- TODO: Optimize scale_typeless_safe function
2020-01-16 11:12:08 +03:00
kd-11
3d96fe79cc
vk: Implement dynamic sized compute heap
...
- Implements a dynamically sized compute heap to allow growing up the
size if it is too small.
2020-01-15 15:42:36 +03:00
Nekotekina
377e7d2a73
C-style cast cleanup VI
2019-12-04 17:56:22 +03:00
kd-11
fd751e3e7b
rsx: Improve blit format mismatch detection
2019-11-19 13:18:15 +03:00
kd-11
4a0e1c79ed
rsx: Improve format validation for blit engine
...
- Check all possible cases where format mismatch is possible.
- Warn if a slow path is going to be taken. Should help with future
optimizations.
2019-11-18 13:17:00 +03:00
kd-11
c415578e79
vk: Clamp buffer row length to never be less than declared width
...
- Fixes some games with broken textures
2019-11-18 13:17:00 +03:00
Emmanuel Gil Peyrot
f76720ceb0
Remove extraneous ::narrow<int>() calls
...
GSL’s gsl::span didn’t use the correct type for its index_type, which is
why they were needed.
2019-11-09 19:30:06 +01:00