kd-11
dca29def5e
rsx: Temporary workaround for race condition in blit engine
2019-08-18 20:45:48 +03:00
kd-11
5e299111cc
rsx/vk: Restructure surface access barriers and implement RCB/RDB
...
- Implements render target data load (aka Read Color Buffer/Read Depth Buffer)
- Refactors vulkan surface barrier to be much cleaner.
- Removes redundant surface barrier invocations after doing a merged load
from surface cache.
- Adds explicit access modes when gathering surfaces from cache.
2019-08-18 20:45:48 +03:00
kd-11
dfe709d464
rsx: Surface cache restructuring
...
- Further improve aliased data preservation by unconditionally scanning.
Its is possible for cache aliasing to occur when doing memory split.
- Also sets up for RCB/RDB implementation
2019-08-18 20:45:48 +03:00
Eladash
500a4fa2fb
rsx: Fix potential out of range methods execution (can result in segfaults)
2019-08-17 17:26:04 +01:00
Pierre-Loup A. Griffais
56011cbddd
vk: don't die on VK_SUBOPTIMAL_KHR in AcquireNextImage, and recreate swapchain
...
vkAcquireNextImageKHR can also return VK_SUBOPTIMAL_KHR and is non-fatal.
However, it's a good idea to still recreate the swap chain later to maintain
optimal presentation paths after temporary occlusion.
2019-08-16 20:09:37 +03:00
kd-11
a0f0c418d7
gl:Implement proper support for packed 16-bit rendertargets
...
- Also some minor refactoring
2019-08-15 14:00:17 +03:00
kd-11
7f85b18b46
gl: Add support for 4444 typeless texture
2019-08-15 14:00:17 +03:00
Megamouse
8debdfcd09
handle empty callback returns
2019-08-14 23:54:09 +02:00
RipleyTom
87bf0386c4
Screenshot function
2019-08-14 19:24:42 +02:00
Eladash
7fda07eb5b
rsx: UB fix (signed vs unsigned mismatch)
2019-08-13 20:48:50 +01:00
Eladash
519fe9309e
rsx: Fix nv0039::buffer_notify
2019-08-13 20:48:50 +01:00
Eladash
527b1bb071
rsx: Fix overlapping transfer of nv3089::image_in when out_pitch != in_pitch
...
or out_pitch != out_bpp * out_w
2019-08-13 20:48:50 +01:00
kd-11
8866a3d6a9
rsx: Cleanup for blit engine fixes
2019-08-10 16:45:02 +01:00
kd-11
033836d88c
rsx: Minor fixup for nv3089::image_in
...
- Typo scale_x->scale_y
- Remove convoluted temp buffer creation and just use vector instead
2019-08-08 15:48:22 +03:00
kd-11
f0bd0b5a7c
rsx: Conditional render sync optimization
...
- ZCULL queue was updated to one-per-cb but the conditional render sync hint was not updated.
- Do not unconditionally flush the queue unless the upcoming ref is contained in the active CB.
- This avoids spamming queue flush, which frees up resources and improves performance
2019-07-30 21:13:42 +03:00
Malcolm Jestadt
d689a6e47b
vk: Don't warn RADV users on LLVM 8.0.1
...
- The 'back screen' issue on RADV was resolved with LLVM 8.0.1
2019-07-30 19:56:05 +03:00
Nekotekina
f63e89f9b4
Implement waitable atomics
...
Moved Atomic.h to util/atomic.hpp
List source files in CMakeLists.txt
2019-07-29 03:04:55 +03:00
Nekotekina
ec2db8edbc
Correct get_int_t to get_uint_t.
...
Add get_sint_t.
2019-07-29 00:12:07 +03:00
kd-11
1de90bdb1f
rsx: Improve aliased data preservation
...
- Carve out inherited region if any
- Perform pitch compatibility test before assigning old_surface
2019-07-27 16:09:21 +03:00
Eladash
230c3d55b6
Fixup
2019-07-27 04:03:29 +01:00
Eladash
fcc75c8b0f
rsx: Write atomically semaphore updates and fix zcull timestamp
2019-07-26 21:27:55 +03:00
Eladash
c53f0dd7b5
rsx: Fix gcm unmap events
2019-07-26 21:27:55 +03:00
Megamouse
71c56b719c
Emu/overlays: fix background picture path
2019-07-25 08:53:07 +02:00
Eladash
85b1152e29
Timers scaling and fixes
2019-07-23 00:09:01 +01:00
kd-11
9a7c2784f0
rsx: Do not clip scissor to viewport when doing buffer clear
2019-07-20 16:39:32 +03:00
kd-11
e2574ff100
rsx: Support CSAA transparency without multiple rasterization samples enabled
2019-07-19 15:49:08 +03:00
kd-11
b5a2f0df68
rsx: Implement separate viewport raster clipping
...
- Merge viewport raster window and scissor into one clipping region
- Viewport raster clip is different from viewport geometry clipping in
hardware as the latter is configurable separately
2019-07-19 14:21:19 +03:00
scribam
a268415121
vk: Use macros from Vulkan SDK
2019-07-17 17:56:29 +03:00
kd-11
ea2f4d57fa
rsx: Fixups
2019-07-17 13:29:42 +03:00
kd-11
113a49e00c
rsx: Handle cyclic references when doing memory inheritance
2019-07-17 13:29:42 +03:00
kd-11
34b06453f9
rsx: Handle lost data due to unused data sections
...
- After splitting, the sections may not be referenced at all for anything other than just pixel storage
- In such cases, either merge down or sample from the upstream source instead
2019-07-17 13:29:42 +03:00
kd-11
998717659f
rsx: Fix reference leak when cloning surfaces
2019-07-17 13:29:42 +03:00
kd-11
009e01a347
rsx: Set up for multi-section inheritance
2019-07-17 13:29:42 +03:00
Malcolm Jestadt
94af3b3f03
vk: Fix Linux Vega float16_t workaround
...
- It was disabling float16_t for non Vega cards
2019-07-12 12:25:46 +03:00
Eladash
17c8ac9ab8
rsx: Debugger output text fix
2019-07-12 00:19:56 +03:00
Eladash
c4d8ef4340
rsx: Allow to configure vblank rate
...
Removed "HLE protection" hack from sys_rsx_context_attribute
2019-07-12 00:19:56 +03:00
Silent
f3551cedb7
rsx: Swap R and B channels in SET_BLEND_COLOR since this color is BGRA, not RGBA
2019-07-11 22:51:01 +03:00
kd-11
2898309f68
vk: Silence some debug prints
...
- This message confuses some users
2019-07-11 13:22:13 +03:00
kd-11
fc09572648
rsx: Implement texel border decode
...
- Texel borders are no longer actually supported in modern APIs
- Removes the border texels and uses border color instead which is incorrect but should work fine
2019-07-11 13:22:13 +03:00
kd-11
d8f753f1e8
rsx: Do not allow framebuffer surfaces that exceed their allocated pitch dimensions
...
- Truncate surfaces to forcefully fit inside the declared region
2019-07-11 13:22:13 +03:00
Eladash
78e447e28c
rsx: Typo fix
2019-07-09 22:47:55 +03:00
kd-11
2548057ea0
vk: Improve AMD driver support
...
- Workaround broken fp16 in AMDVLK/RADV
- Do not disable primitive restart as the issue seems to have been fixed
2019-07-09 16:27:59 +03:00
kd-11
956270d9be
gl: Add readback/writeback config for format GL_R16
2019-07-09 16:27:59 +03:00
kd-11
c072c511a1
rsx: Add support for slice padding rows when gathering slices for cubemap/3d
2019-07-09 16:27:59 +03:00
kd-11
9ca6546dec
vk: When reusing resources, make sure to reinitialize the component layout
2019-07-09 16:27:59 +03:00
kd-11
0cc672dcb3
vk: "Improve" initialization hack
...
- Change default alpha to 1 from 0
- TODO: Implement memory tagging for synchronizing this
2019-07-09 16:27:59 +03:00
kd-11
219a5382f7
rsx: If no array streams are enabled, mark inline array as disabled (null render)
2019-07-09 16:27:59 +03:00
kd-11
7840cd914e
rsx: Fixup nv3089::image_in
...
- Correct pitch when sourcing from temp block
- Remove obsolete? double transfer that also introduced a stale pointer reference to freed memory
2019-07-09 16:27:59 +03:00
kd-11
c47f4fd59e
vk: Fix frame skipping
2019-07-09 16:27:59 +03:00
Nekotekina
b9130dd663
Remove redundant const on return value in rsx_methods.h
2019-07-09 12:09:21 +03:00