Megamouse
9feb92df1b
More informative Error message on Vulkan driver crash
...
The message might not be the only reason, but at least it might help someone like me, who had no idea what he was looking at.
2021-01-31 15:51:21 +01:00
Eladash
d3bc96a201
Fix minor issue with usage of STL thread::hardware_concurrency()
2021-01-29 18:23:29 +03:00
kd-11
22584fb2d1
vk/dma: Disable pasthrough DMA for NVIDIA+windows
...
- The driver seems to cache page mapping as long as allocation has not been removed
- This is undesirable as we cannot stop the emulator to remove stale allocations every time a page is unmapped
2021-01-24 14:24:55 +03:00
kd-11
90ac9165e2
vk/dma: Unmap pages from GPU when they are unmapped in Cell
2021-01-24 14:24:55 +03:00
kd-11
f93cb262ba
vk/dma: Fix multiple logical bugs
...
- Fix range chaining.
- Add validation checks that no overlaps exist.
2021-01-24 14:24:55 +03: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
e56da4eb46
vk: Workaround for amdgpu kernel driver
2021-01-24 14:24:55 +03:00
kd-11
f7fdfe52bc
vk: Fix custom event signals
2021-01-24 14:24:55 +03:00
kd-11
7de0ff337b
vk: Polishing and cleanup
...
Some spec violations fixes
Make the option dynamic
2021-01-24 14:24:55 +03:00
kd-11
e1c0a917fa
vk/dma: Modify default page size to 64k
2021-01-24 14:24:55 +03:00
kd-11
58d367d704
vk: Add host-imported DMA buffers
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
59e46f09b7
vk/dma: Disable memory inheritance
...
- It is not possible to emulate passthrough memory cleanly, and we don't need to
A stupid race condition appears when trying to synchronize DMA blocks with memory inheritance.
Since the usage pattern is to acquire a range and then load or write+flush, this new data is going to be..
overwritten by the commandbuffer execution sequence later. Acquiring a scratch buffer to hold CPU content during the transition is not worth the effort..
as the data will be destroyed anyway during the transfer process immediately afterwards.
Fixes data corruption when moving data around using the emulated DMA passthrough
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
eb086b0e3f
rsx: Add support shadow1D and shadowCube
2021-01-21 10:24:49 +03:00
Nekotekina
db8e6fe7a7
Enable -Wunused-variable
2021-01-12 14:34:14 +03:00
Nekotekina
631d7d0ce7
Enable -Wunknown-pragmas
2021-01-12 13:01:17 +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
9ba8f4795c
Remove redundant #pragma once
2021-01-06 23:33:37 +03:00
Megamouse
11db3151ae
VK refactoring Part 2 ( #9542 )
2021-01-05 10:49:03 +03:00
matoro
187216096d
Build: Add include for building on certain configs
2021-01-04 10:04:51 +03:00
Megamouse
7262f3d0b7
VK: make static chip_family_tables const
2020-12-31 22:57:17 +03:00
Megamouse
6f80fd0063
VK: move static chip_family_tables to cpp
2020-12-31 22:57:17 +03:00
Megamouse
7a51b7a019
VK: move helpers to vkutils
2020-12-31 22:57:17 +03:00
Megamouse
d9eb31000d
VK: refactoring part 1
2020-12-31 22:57:17 +03:00
Eladash
7db13fdeff
rsx: Move Anisotropic Filter Override to RSX state
2020-12-30 15:37:21 +03:00
kd-11
a96b4412d3
rsx: Do not rely on program env state, instead, always use program ucode analysis results when doing codegen
...
- Some things can be present in program env but not ucode state
e.g A texture can be active and bound in a redirected manner but not actually be used in ucode
In such a case, only the ucode analysis or decompilation can decide whether to inject decoding routines
2020-12-25 02:39:08 +03:00
kd-11
d9cb1a6319
vk: Fix more spec violations
2020-12-25 02:39:08 +03:00
Nekotekina
a8e0d261b7
types.hpp: more cleanup
...
Also fix compilation.
2020-12-22 19:08:09 +03:00
Nekotekina
b7bf316c1a
Don't randomly include "stdafx.h"
...
It's file for precompiled headers.
Include what is used, don't rely on transitive includes.
2020-12-22 14:32:30 +03:00
Nekotekina
41ee792f95
MSVC: remove MemLeak build support
...
There are better memleak detection tools.
1) Requires to guard placement new and external libs
2) Doesn't work thoroughly
2020-12-22 14:32:30 +03:00
Nekotekina
bd269bccaf
types.hpp: remove intrinsic includes
...
Replace v128 with u128 in some places.
Removed some unused files.
2020-12-21 21:11:25 +03:00
kd-11
e449111c33
vk: Fixup for renderpass issues
2020-12-19 12:58:44 +03:00
Megamouse
066e53da55
minor cleanup
2020-12-19 08:33:53 +01: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
05099e2ae1
Replace uint64_t with u64
2020-12-18 12:23:53 +03:00
Nekotekina
77352a2a86
Replace uint32_t with u32
2020-12-18 12:23:53 +03:00
Nekotekina
ae633292c0
Replace int32_t with s32
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
Nekotekina
4cfa9b11f3
Move busy_wait() to asm.hpp
2020-12-18 12:23:53 +03:00
kd-11
fb47d1f788
vk: Register ampere GPU PCI IDs
2020-12-17 19:56:48 +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
kd-11
0a865bd9dc
vk: Workaround for validation layers bug
2020-12-17 09:36:20 +03:00
kd-11
42f4e831a2
vk: Clean up some leftovers from shader decompiler rewrites
2020-12-16 10:10:06 +03:00
kd-11
d3686dbb75
rsx: Add some texture upload statistics to the texture cache
2020-12-16 10:10:06 +03:00
kd-11
fb1c790350
rsx: Make debug overlay dynamic
2020-12-16 10:10:06 +03:00
kd-11
0ef5743261
rsx: Fix sampler descriptor updates for framebuffer resources
...
- Each desc manages its own lifetime now instead of relying on global timestamp check
- Fixes situation where same object remains active without update for long
2020-12-16 10:10:06 +03:00
kd-11
f83c2f0b6b
rsx: Restructure and simplify some header include chains
2020-12-13 15:38:35 +03:00
kd-11
d775c8dc73
rsx: Move shader analysis+prefetch to the end of the draw call
2020-12-13 15:38:35 +03:00
Nekotekina
a6a5292cd7
Use uptr (std::uintptr_t alias)
2020-12-12 16:29:55 +03:00