Eladash
0b2fa6ffdc
rsx: Flush FIFO GET before smeaphore_acquire
2019-09-30 17:30:15 +03:00
Eladash
70b4ae6bd6
rsx: Optimize FIFO PUT masking
2019-09-30 17:30:15 +03:00
kd-11
bcf8799079
rsx: Fix missing point size export
...
- Sometimes program-point-size is enabled, but the vs does not actually
write to the point size register. In this case, pass the incoming point
size along instead of the default register init.
2019-09-30 01:40:04 +03:00
Eladash
319fc8c55d
rsx: Mask FIFO PUT on rsx execution
2019-09-29 13:05:24 +03:00
Eladash
822287b418
rsx: Avoid unsigned/signed mismatch with fifo ret addr
2019-09-29 13:05:24 +03:00
kd-11
8cfd3b56d6
vk: Increase wait timeout in case of problematic GPU loads causing heavy stutter
...
- When compiling LLVM objects, it is possible to starve the driver thread and cause the timeouts to trigger
- Observed in RE6 when using SPU LLVM since the game generates a very large number of objects "infinitely"
2019-09-29 11:39:22 +03:00
kd-11
ef5b56bc48
rsx: Align width properly when normalizing to avoid fractional results being lowered to 0
2019-09-29 11:39:22 +03:00
kd-11
69c090b14a
vk: Check frame descriptors before rendering in case of a flip request between begin() and end()
...
- There is no reason to delay async flip requests since most of the work can be handled during rendering anyway
2019-09-29 11:39:22 +03:00
kd-11
1464069476
rsx: Restructure deferred flip queue handling
...
- Allows frameskipping to occur naturally if RSX thread is bombarded with flip requests but just jumping to the last one if possible
- See request_emu_flip() for async frame submission and implicit skipping
- Also allows display queue to fill faster than the flip thread can drain the queue
2019-09-28 21:13:56 +03:00
Nekotekina
bd1a24b894
Tidy endianness support (se_t) implementation
...
Move se_t and se_storage to util/endian.hpp
Use single template instead of two specializations.
Add minor optimization for MSVC.
Remove v128 dependency.
Try to enable intrinsics for unaligned data.
Fix minor bug in u16/u32/u64 specializations.
2019-09-28 15:39:50 +03:00
kd-11
2275259bf5
rsx: Properly scale overlay passes to match drawable area
2019-09-28 13:24:14 +03:00
kd-11
28534e8833
gl: Remove a debug print
2019-09-28 13:24:14 +03:00
kd-11
e53e98749f
rsx: Add missing initialization
2019-09-27 21:07:56 +03:00
Nekotekina
3c72069ae6
cellOskDialog: use g_fxo
2019-09-26 23:26:36 +03:00
Nekotekina
5f9c5e8765
Use g_fxo for rsx::thread
2019-09-26 23:26:36 +03:00
kd-11
ee0633f43a
vk: Add turing workaround
...
- Turing crashes if using the depth->color transfer hack
2019-09-26 20:12:25 +03:00
kd-11
acc986be3f
vk: Add chip family detection
2019-09-26 20:12:25 +03:00
Jan Beich
5ec35c7daa
rsx: unbreak build with Clang 9
...
ld: error: rpcs3/CMakeFiles/rpcs3.dir/main_application.cpp.o: unable to find library from dependent library specifier: opengl32.lib
ld: error: rpcs3/Emu/librpcs3_emu.a(GLGSRender.cpp.o): unable to find library from dependent library specifier: opengl32.lib
ld: error: rpcs3/Emu/librpcs3_emu.a(GLRenderTargets.cpp.o): unable to find library from dependent library specifier: opengl32.lib
ld: error: rpcs3/Emu/librpcs3_emu.a(GLVertexBuffers.cpp.o): unable to find library from dependent library specifier: opengl32.lib
2019-09-24 01:00:45 +03:00
Megamouse
7193d407b9
Input: Remove unused flush member
2019-09-20 22:12:40 +02:00
kd-11
1a892c6b1b
rsx: Avoid recursion in flip handler
2019-09-20 15:08:41 +03:00
Megamouse
aa7eb1536a
overlays: fix enter button assignment in osk
2019-09-20 10:53:09 +02:00
kd-11
e0005ec347
rsx: Refactoring and improvement
...
- Separate displayed statistics from actual backend statistics.
Allows asynchronous flipping to work correctly as it just uses display stats.
The real stats are used by the frame scope marker to determine behavior like engaging the FIFO optimizer or skipping draw calls correctly.
2019-09-19 23:10:09 +03:00
kd-11
2c76f47eec
rsx: Restructure flip code and frame scoping
...
- Add an explicit frame scope marker tied in with the queue_prepare command
Since queue_prepare is emitted at the end of a frame, it can be used as end-of-frame in games that emit this
- If this command is not emitted, fifo flatenner and frameskip will not work
2019-09-19 23:10:09 +03:00
Nekotekina
a4951ec407
Use g_fxo for global lv2_memory_container
2019-09-18 21:24:04 +03:00
kd-11
bd4d86f87a
vk: Properly test MSAA sample mask when switching between states inside a RSX renderpass.
...
- Before, these changes would be lost if the same RTT config was used with varying mask setups
2019-09-18 15:42:59 +03:00
kd-11
c59cb1bdd3
rsx: Allow only sse4.1 capable CPUs to take the accelerated index path
...
- Older sets lack the required min/max functionality
2019-09-13 12:28:52 +03:00
kd-11
52e8747b83
rsx: Workaround for exit deadlock
...
- Avoids games locking up when the stop button is pressed
2019-09-12 23:32:21 +03:00
kd-11
cc313b052f
rsx: Improve hit testing when scanning for overlapping surfaces
...
- Calculate exact sizes when doing hit tests to avoid false negatives
- Defer page checking until actually require to do memory setup
- Introduce align2 helper to do non-pow2 alignments
2019-09-12 23:32:21 +03:00
kd-11
9842823a8c
rsx: Check if memory actually exists when overallocating blit targets
2019-09-12 23:32:21 +03:00
kd-11
cd1345b6bb
rsx: Do not use nul section if resolution scaling is active on a surface
2019-09-12 23:32:21 +03:00
kd-11
858014b718
rsx: Experiments with nul sink
2019-09-12 23:32:21 +03:00
kd-11
212ac19c11
vk: Reimplement DMA synchronization
2019-09-12 23:32:21 +03:00
kd-11
f06559412e
vk: RDB fixup
2019-09-12 23:32:21 +03:00
kd-11
7fdb4976d8
rsx: Remove log spam for cond render
2019-09-12 14:08:21 +03:00
kd-11
60845daf45
rsx: Improve use of CPU vector extensions
...
- Allow use of intrinsics when SSSE3 and SSSE4.1 are not available in the build target environment
- Properly separate SSE4.1 code from SSSE3 code for some older proceessors without SSE4.1
2019-09-12 14:08:21 +03:00
kd-11
27af75fe71
rsx: Fixup for blit engine when moving inverted regions
...
- Properly calculate overlap range when sections are inverted
- Simplify transfer logic for inverted regions
2019-09-11 23:30:55 +03:00
kd-11
412c620b9d
rsx: Allow sampling from shader_read resources for blit engine
...
- With harmonization between all texture types implemented, there is no difference between blit_engine_src and shader_read for supported formats
- Adds extra format filtering to ensure no conflicts when copying data
2019-09-10 16:54:02 +03:00
kd-11
75fcfac00e
rsx: Modify find_cached_texture to respect gcm_format. Can pass 0 for "dont care"
2019-09-10 16:54:02 +03:00
kd-11
d1603fbb0b
vk: Crop malformed image descriptors
...
- Some image descriptors (lle vdec?) are malformed with pitch being smaller than width
- Crop these for now pending hardware tests
2019-09-08 18:22:27 +03:00
kd-11
f53361b966
rsx: Fix fast texture copy when src_pitch != width * block_size
...
- Happens on mipmapped linear images
2019-09-08 18:22:27 +03:00
kd-11
0af9685381
rsx: Deprecate surface_transform::argb_to_bgra which is no longer required.
...
- vulkan now uses native swizzle mapping for both surface and texture
2019-09-08 13:56:41 +03:00
kd-11
312bf6840e
vk: Fix surface_transform::argb_to_bgra transfers when no scaling is requested
2019-09-08 13:56:41 +03:00
kd-11
cbce309199
vk: Fix depth_stencil scaling
2019-09-08 13:56:41 +03:00
kd-11
48a5cd545f
gl: Do not byteswap uint24_8 as it needs a custom 8_24 decoder
2019-09-08 13:56:41 +03:00
kd-11
440d58f2ff
vk: Batch compute jobs when doing texture upload
...
- Reduces overall number of invocations
2019-09-07 16:23:20 +03:00
kd-11
6aa0b49dbc
vk: Prefer using native alignment when uploading.
...
- Allows using fast copy paths and reduces memory and compute footprint
2019-09-07 16:23:20 +03:00
kd-11
a3a0cb8c17
rsx: Minor texture optimizations
2019-09-07 16:23:20 +03:00
kd-11
efa501dac6
rsx/vp: Set default inputs to (0, 0, 0, 1)
...
- From some hw tests, it seems this is the default.
2019-09-06 17:08:28 +03:00
kd-11
f8dbe281a5
glsl: Explicitly declare const inputs as such
...
- Avoids copying the values to temp variables before invoking function calls
- Generates shorter, cleaner AST and SPV bytecode
2019-09-06 17:08:28 +03:00
kd-11
14aa3b3360
vk: Remember to allocate enough vertex layout storage objects!
...
- vertex_layout_storage descriptors were added but the descriptor count was not updated
2019-09-05 19:43:39 +03:00