Megamouse
f480ba13c0
Qt: show all unique game data entries
2019-05-05 16:29:50 +02:00
Megamouse
c1e245ae73
Emu: msg_dialog_frame fixup: don't reject on Close to prevent Emu.Stop()
2019-05-05 16:29:50 +02:00
Megamouse
b639584acc
Emu/Qt: Fix Boot Recent when using BootGame(add_only=true)
2019-05-05 16:29:50 +02:00
Megamouse
b0a24665e5
Emu: msg_dialog_frame fixes
2019-05-05 16:29:50 +02:00
Megamouse
8a4778ba8c
Qt: add some batch operations
2019-05-05 16:29:50 +02:00
kd-11
9c346c92f3
gl: undo an accidental deletion
2019-05-05 13:37:55 +03:00
kd-11
2bec304cca
vk: Allow some drivers to bypass window polling if not needed
2019-05-05 13:37:55 +03:00
drysalter
f246a8666a
Qt: Minor Visual Fixes ( #5899 )
...
* Increase minimum size of User Manager window so QPushButtons aren't squeezed together
* Add spacing to the links in the About dialog to match all other buttons in the GUI
* Make the links in the About dialog work on Linux
* Turn the tooltip on "Config" in toolbar into an imperative like the rest of them
2019-05-04 22:56:55 +02:00
Nekotekina
a703460fc6
SPU ASMJIT: skip some unused analyser steps
...
May improve performance
2019-05-04 19:35:13 +03:00
Nekotekina
ba1ec1d5d6
SPU analyser: remove use_ra from HBR
...
Since this is a hint instruction, we don't really use reg value here.
2019-05-04 18:33:58 +03:00
Nekotekina
45ce8db6cb
SPU Analyser: fix reg origin regression
...
Propagate phi instead of claiming new values
2019-05-04 18:29:47 +03:00
Nekotekina
4bd022f778
SPU analyser: minor logic fix and cleanup
...
Don't fill any chunk info for now (design mistake).
2019-05-03 14:18:22 +03:00
Nekotekina
6c34d7104e
SPU analyser: fix excessive workload list size
...
Typo grade; regression
2019-05-02 23:29:02 +03:00
Nekotekina
54dc617f39
SPU analyser: internal spu_itype optimization
...
Use only 1 byte for instruction type.
Flags are transformed into range comparisons.
2019-05-02 19:32:09 +03:00
Nekotekina
15bd3b8724
SPU: fix minor UB in STQD/LQD instructions
2019-05-02 18:00:49 +03:00
Nekotekina
2b4da18709
SPU LLVM: fix xfloat regression
...
It was an old bug with possible hidden use of deleted instructions.
2019-05-02 13:39:43 +03:00
Nekotekina
d48dc29e55
SPU LLVM: fix perf regression
...
Bug in the analyser was created recently in #5882 .
2019-05-02 13:39:43 +03:00
Nekotekina
69d2ea35b9
SPU: minor analyser cleanup
2019-05-02 13:39:43 +03:00
Nekotekina
a4c4ee9cb2
SPU: fix excessive cache size regression
2019-05-02 13:39:43 +03:00
msuih
bc42719c48
Put DS3/DS4 instructions to Wiki instead
2019-05-02 13:39:16 +03:00
kd-11
6b7cd458e3
rsx: Silence some diagnostics unless compiled with debugging options
2019-05-01 15:36:21 +03:00
kd-11
1d5c52f476
rsx: Ignore stencil clear flag if the stencil write mask is disabled
2019-05-01 15:36:21 +03:00
kd-11
48cb265c2c
rsx: Bounds check on local resource for atlas merge.
...
- Local resources can also have padded pitch dimensions and false-positives on range overlap tests
2019-05-01 15:36:21 +03:00
kd-11
63f9b8e0c6
gl/vk: Minor cleanup
2019-05-01 15:36:21 +03:00
kd-11
ec9aa74008
rsx: Fix section base offset calculation for blit_dst targets which affects confirmed memory range
...
- Fixes flushes only writing partially to target memory
2019-05-01 15:36:21 +03:00
kd-11
4e3ec162e2
rsx: Fix broken texture cache search when flipping
2019-05-01 15:36:21 +03:00
kd-11
6feffe6ff6
rsx: Ignore transfer offsets when wrapping behaviour is expected
2019-05-01 15:36:21 +03:00
kd-11
f56a6548b0
gl: Remove workaround for AMD driver bug fixed in driver 19.4.3
2019-05-01 15:36:21 +03:00
Nekotekina
1bc5e27507
SPU LLVM: move reg origin search to analyser
...
Refactor SPU analyser (block_info struct).
Fill register use info (currently unused).
2019-05-01 00:37:15 +03:00
Nekotekina
1294e0d189
SPU LLVM: improve codegen in loops
...
Use a trick in check_state to improve LICM pass.
2019-05-01 00:37:15 +03:00
Nekotekina
e09c6ea4b4
SPU analyser: add spu_iflag
...
Register information about register accesses.
2019-04-30 14:33:27 +03:00
Nekotekina
716737ecf2
LLVM DSL: expression matching (alpha)
...
Implement remaining instructions.
Implement match_expr method.
Implement helper methods.
2019-04-30 14:33:27 +03:00
RipleyTom
301dd82819
DS3 Linux fix
2019-04-30 00:31:34 +03:00
eladash
3bd29b8bac
Fix Unregistered HLE function access
2019-04-29 23:04:16 +03:00
eladash
ea1c9a2e17
Fix PPU Breakpoints and ppu_check_toc
2019-04-29 23:04:16 +03:00
kd-11
243df38360
rsx: Fix VP writes to CC with a MOV instruction
...
- When moving to CC, the operation has VEC flag disabled and also temp
regs disabled. Looks to be the catch-all ELSE in the selection logic.
2019-04-25 16:23:05 +03:00
kd-11
3cbccdd760
rsx: Fragment shader decompiler cleanup
...
TODO: Investigate the _s input modifier behaviour further, in case it can avoid generating zeroes from a MAD instruction.
x = MAD(+ve, -ve, -ve) with _s input modifier in BFBC expects result to be Non-zero
2019-04-25 16:23:05 +03:00
kd-11
4cd1c25729
"rsx: Ignore argument sign for SQRT operations"
2019-04-25 16:23:05 +03:00
kd-11
32396ba366
rsx: Simplify use of some mixed input functions using OPFLAGS to avoid implicit conversions
2019-04-25 16:23:05 +03:00
kd-11
f12bd8068c
rsx: Fragment decompiler fixups
...
- Properly test for NaN and Inf when clamping down to fp16
- Optimize divsq a bit; mix(vec, vec, bvec) emits OpSelect which is what
we want here, instead of component-wise selection which is much slower.
2019-04-25 16:23:05 +03:00
kd-11
abe7188acf
rsx: Proper workaround for broken DIVSQ instruction on realhw
...
- While mul(0, nan) = nan and 0 / 0 = nan, 0 / sqrt(0) = 0 because of hw
gremlins. normalize(0) is also nan so this behaviour does not work
around that particular case either which makes it even more baffling.
2019-04-25 16:23:05 +03:00
kd-11
60f3059d22
rsx: Compensate for nvidia's low precision attribute interpolation
...
- The hw generates inaccurate values when doing perspective-correct
interpolation of vertex output attributes and makes the comparison (a ==
b) fail even when they are a fixed constant value.
- Increase equality tolerance when doing comparisons in fragment
shaders for NV cards only to work around this issue.
- Teepo fix
2019-04-25 16:23:05 +03:00
kd-11
463b1b220d
rsx: Improve accuracy of shadow compare Ops when non-integer depth formats are used
...
- The fixed-point D24S8 format does special Z clamping during compare which matches PS3 behaviour
- D32S8 is a floating point format and comparison with Dref > 1 always fails causing black edges/borders
2019-04-25 16:23:05 +03:00
kd-11
7ad1646c2c
vk: Skip feature check if extension is not supported
2019-04-25 16:23:05 +03:00
kd-11
06a85f00d1
rsx: Shader decompiler cleanup and improvements
...
- Improve support for float16_t by minimizing mixed inputs to functions
(ambiguous overloads)
- Minimize amount of downcasts in code by using opcode flags
- Re-enable float16_t support for vulkan
2019-04-25 16:23:05 +03:00
kd-11
a668560c68
rsx: Use native half float types if available
...
- Emulating f16 with f32 is not ideal and requires a lot of value clamping
- Using native data type can significantly improve performance and accuracy
- With openGL, check for the compatible extensions NV_gpu_shader5 and
AMD_gpu_shader_half_float
- With Vulkan, enable this functionality in the deviceFeatures if
applicable. (VK_KHR_shader_float16_int8 extension)
- Temporarily disable hw fp16 for vulkan
2019-04-25 16:23:05 +03:00
kd-11
ee319f7c13
rsx: Implement strict clamp16 operation needed for NVIDIA cards
2019-04-25 16:23:05 +03:00
Nekotekina
2ade3c594c
LLVM DSL: expression matching (preview 2)
...
Implement more instructions.
2019-04-25 03:33:18 +03:00
Nekotekina
aca61fdcf9
LLVM DSL: implement expression matching (preview)
...
Only literal match for binary ops implemented.
2019-04-24 23:55:41 +03:00
Nekotekina
8754bbd444
SPU LLVM: add match_vr<> template
...
Returns reg value only if type is compatible, avoiding bitcast.
2019-04-24 23:55:41 +03:00
Nekotekina
dd9bd1338b
SPU LLVM: add get_vrs<> template
2019-04-24 23:55:41 +03:00
Nekotekina
3e0b45719d
LLVM DSL: rewrite zshuffle, shuffle2, build
...
Add llvm_const_vector template.
2019-04-24 23:55:41 +03:00
Nekotekina
b02503963e
LLVM DSL: rewrite splat, fsplat, vsplat
...
Add llvm_const_float and llvm_splat templates.
2019-04-24 23:55:41 +03:00
Nekotekina
c83e65f29e
LLVM DSL: rewrite extract and insert
2019-04-24 23:55:41 +03:00
Nekotekina
b7b93eae13
SPU LLVM: minor bitcast cleanup
...
Remove redundant explicit constand propagation in some instructions.
2019-04-24 23:55:41 +03:00
Nekotekina
2eac59f59a
LLVM DSL: rewrite add_sat and sub_sat
...
Simplify constant folding logic
2019-04-24 23:55:41 +03:00
Nekotekina
ac473eb400
Rewrite cpu_translator::rol, add fshl and fshr
...
Use new funnel shift intrinsics
2019-04-24 23:55:41 +03:00
Nekotekina
42448cf3e5
Remove cpu_translator::scarry, cpu_translator::merge
2019-04-24 23:55:41 +03:00
Nekotekina
524aac75ed
LLVM DSL: rewrite bitcast, zext, sext, trunc, select, min, max ops
...
Are made composable in expressions similar to arithmetic ops.
Implement noncast in addition to bitcast (no-op case).
Implement bitcast constant folding.
Fixed some misuse of sext<>.
2019-04-24 23:55:41 +03:00
Nekotekina
3925cb59ac
LLVM DSL: fix pointer type traits
...
Clear and match 'void' type
2019-04-24 23:55:41 +03:00
Nekotekina
dc9118ef50
LLVM DSL refactoring
...
Properly forward value categories in expression structs.
Simplify SFINAE tests (is_llvm_expr, llvm_common_t) in global operators.
Add llvm_const_int and remove llvm_add_const, llvm_sub_const, etc.
Add llvm_ord and llvm_uno for FP comparison via >=< operators.
Replace cpu_translator::fcmp with fcmp_ord and fcmp_uno.
2019-04-24 23:55:41 +03:00
Megamouse
467ef2afca
Qt: also spawn exit game dialog if rpcs3 is closed (e.g. by accident)
2019-04-24 21:48:36 +02:00
Megamouse
cb5dd1353b
Qt: force always on top to fix dialogs appearing behind the game window
2019-04-24 21:48:36 +02:00
Megamouse
bb0609372d
Qt: go out of fullsceen if exit game pop up is triggered
2019-04-24 21:48:36 +02:00
Ani
a24ede4f40
cellPad: Update vendor and product IDs
...
- Used IDs were not from the Guitar Hero instruments but in fact from the Rock Band ones. Sets the correct Guitar Hero IDs and adds the Rock Band ones on comments. TODO: Allow selecting the specific devices on the PAD Settings.
- Adds DJ Hero Turntable VID/PID.
- Adds Dance Dance Revolution Mat VID/PID.
2019-04-20 23:17:13 +01:00
eladash
3a5f4ed757
Print SPU Group ID on the debugger
2019-04-20 20:43:58 +01:00
eladash
450e2c9a0e
cellSaveData: Add missing SDK version check for setParam->reserved2 check
2019-04-20 20:43:58 +01:00
eladash
ae5a4b697e
Fix cellSaveDataListAutoSave/Load unk flags
2019-04-20 01:04:41 +03:00
eladash
1e9d3346d1
Reschedule in cellMsgDialogOpen2
2019-04-20 01:04:41 +03:00
eladash
9446bd2d3f
Handle a few more cellSaveData errors
...
* Check directory existence if setParam is NULL (dont create directory)
* Fix mask for reCreateMode
* Check a few setParam fields including reserved buffers.
* Fix sizeKb when the dir is empty except from PARAM.SFO
* Fix error checking when CELL_SAVEDATA_RECREATE_YES is specified but setParam is NULL (Doesnt do anything, simply errors)
2019-04-20 01:04:41 +03:00
eladash
6f76e34104
rsx: Fix race on clearing native_ui vs emu_requested flag
2019-04-20 01:04:41 +03:00
eladash
67f098627a
Fix sys_spu group ID
2019-04-20 01:04:41 +03:00
eladash
ff11d9a3bd
Improve scheduler control for cellSaveData
...
TODO: There are probably more spots where we should yield.
A little more at the start because PacketRead is called twice.
Dont use sys_timer_usleep because it will just call this_thread::yield() repeatedly.
2019-04-20 01:04:41 +03:00
eladash
9497270da5
Implement initial arguments error checking for cellSaveData
2019-04-20 01:04:41 +03:00
eladash
2b4bc588dc
Put missing check_state() in some places
...
Fixes a few verification failures while closing the emulator with HLE liblv2
2019-04-20 01:04:41 +03:00
eladash
888cb9d673
Remove reader_lock executed in every instruction by RSX
...
Use optimistic double check instead, use one load instruction for the check to be atomic
+ Read emu status once every FIFO iteration
2019-04-20 01:04:41 +03:00
eladash
f25587d24c
rsx: Write vblank semahpre, minor semaphore acquire optimization
2019-04-20 01:04:41 +03:00
eladash
777a99d01b
misc: Lower default perf overlay detail
...
Because RSX Guest utilization confuses people and is only meaningful for debugging.
2019-04-18 22:23:05 +03:00
Nekotekina
7865982208
Fix static_hle log channel definition
2019-04-16 23:49:18 +03:00
Nekotekina
52c589ed3d
Revert disabling AVX path in SPU verification.
...
It was experimental and builds for tests are available in history.
2019-04-16 23:49:18 +03:00
Nekotekina
9060177dbd
SPU transactions: add SSE path if AVX is not available
...
This handles hypothetical situation when AVX is disabled system-wise.
Also refactored register use, to match Windows path with Linux path.
This reduces read set a little at the cost of stack use.
2019-04-16 23:49:18 +03:00
Megamouse
b929c13c45
implement get_firmware_version
...
add firmware version to the first line in the log
2019-04-16 22:13:28 +02:00
Megamouse
092cfef060
Qt: add more filters to firmware installation file dialogs
2019-04-16 21:39:14 +02:00
msuih
8f333117eb
Set stack limit properly
2019-04-16 18:39:57 +03:00
msuih
baf42430d6
Decrease severity of sys_net_bnet_close
2019-04-16 18:39:57 +03:00
Jordy Vieira
f995771143
Ignore sorting on ranged combobox and log message
2019-04-14 19:15:23 +03:00
Jordy Vieira
bad0415f05
Change EnhanceComboBox to optionally sort the settings list before adding it to the combo box
2019-04-14 19:15:23 +03:00
Nekotekina
136fc8cfe3
SPU ASMJIT: avoid AVX in verification (experimental)
2019-04-14 18:03:45 +03:00
Nekotekina
b97a1aeca2
Increase max stack size to 8 MB on Windows
...
Default is 1 MB and it could cause problems in compiling heavy SPU LLVM functions.
2019-04-14 18:03:45 +03:00
Nekotekina
c1edae73c5
SPU ASMJIT: move vzeroupper a bit
2019-04-14 15:10:54 +03:00
Nekotekina
8deb20e928
SPU: write cache before compiling
2019-04-13 22:56:11 +03:00
kd-11
df3b46a611
rsx: Improve texture sourcing and clipping when reverse scanning is enabled
...
- When reverse scanning, offsets are inverted and offset value of 0 is logically equivalent to an offset of -1
- Add an explicit message if clipping happens to avoid silent errors/bugs
2019-04-12 15:36:21 +03:00
Nekotekina
0d415407c7
sys_fs_unlink: add CELL_EISDIR check
2019-04-12 12:24:36 +03:00
Nekotekina
f40320bcae
Fix cellVdecOpen
...
Use pseudo-address in sys_ppu_thread_create calls
2019-04-11 21:20:22 +03:00
TGEnigma
38cc92ec45
Add _sys_ppu_thread_create and sys_ppu_thread_rename error checks
2019-04-11 18:14:05 +03:00
eladash
8da78c098c
SPU LLVM: Fix branch to self at start of block state check
2019-04-11 17:47:52 +03:00
eladash
eba8e2284b
SPU LLVM: Fix CFLTU
...
Clamp properly result from both sides!
TODO: Figure out whats different CreateFPToUi has from CFLTU and why it fails here.
2019-04-11 17:47:52 +03:00
eladash
969af86eba
SPU: Implement BISLED
...
DFCMGT instruction removed, it was wrong to add to begin with
ASMJIT: Fix compilation of double compare instructions, move exception to runtime instead of compiletime!
Jarves confirmed that he implemented this instruction because of that bug with asmjit only, affected God Of War 3
2019-04-11 17:47:52 +03:00
eladash
b307aff9eb
Prefetch byteswapped opcodes in ppu interpreter
2019-04-11 17:47:52 +03:00
eladash
1c462abc37
Make sure to update cia when calling in unknown hle table func access
2019-04-11 17:47:52 +03:00
eladash
3304e3b0b7
PPU LLVM: Fix STSWI and LSWI
2019-04-11 17:47:52 +03:00
eladash
f028737db8
Implement fallback for PPU LLVM
...
This matches with interpreter implementation, fixing unregistered functions in lost cases
2019-04-11 17:47:52 +03:00
eladash
a9014a8cac
ppu Fast/Precise: Fix SIMD instructions VSUM2SWS, VPKSWSS, VPKSHUS, VPKSHSS
...
Also rewrite VPKSHUS for speed.
2019-04-11 17:47:52 +03:00
eladash
e21504d52d
ppu interpreter: Improve FPCC field handling
2019-04-11 17:47:52 +03:00
eladash
aa44ef1f44
Fix default PPU nj status
...
TODO: Support it...
2019-04-11 17:47:52 +03:00
eladash
d555eeb0f4
Check start status in sys_prx_start/stop_module
2019-04-11 17:47:52 +03:00
Inviuz
52a12185a0
Initial sys_overlay
2019-04-10 23:25:09 +03:00
scribam
1d947daa81
hle: Add some more functions
2019-04-10 22:15:35 +03:00
Megamouse
ec2d882199
Qt: add version update hint to game list
2019-04-10 15:37:37 +01:00
Nekotekina
40142420c1
Implement vfs::host::unlink
...
Emulate POSIX behaviour in sys_fs_unlink.
This should allow to delete opened files transparently on Windows.
2019-04-10 13:58:12 +03:00
Nekotekina
9736773c04
Implement vfs::host::rename
...
With spurious access error workaround
2019-04-10 13:58:12 +03:00
Nekotekina
3354f068fc
PPU/SPU transactions: ease cache line interference (TSX path)
...
Touch memory on the same memory page, but different cache lines.
2019-04-10 13:58:12 +03:00
kd-11
12dc3c1872
vk: Dynamic heap management to potentially fix ring buffer overflows
...
- Allows checking one heap type at a time, on demand
- Should avoid OOM situations unless inside an uninterruptible block
2019-04-09 13:40:54 +03:00
kd-11
a4495c35b7
rsx: Fixups for swizzled texture scanning
...
- Revert to using block metrics, but with optional per-channel decode
stage for the final transfer. Much cleaner than hacking in the width to
be in channels instead of blocks.
2019-04-09 13:40:54 +03:00
kd-11
a5ed30a8c0
rsx: Fixups for data cast operations via typeless transfer
2019-04-09 13:40:54 +03:00
kd-11
f04a0a2bb6
rsx: Remove some old restrictions affecting memory persistence
2019-04-09 13:40:54 +03:00
kd-11
0a604e39f1
rsx: Implement RGB655 decode
2019-04-09 13:40:54 +03:00
kd-11
cc3809fbfe
gl: Register a few more missing formats for conversion
2019-04-09 13:40:54 +03:00
kd-11
e4e86455f2
rsx: Fix temporary subresource caching behaviour
...
- Do not cache if a gathered subresource contains a bound RTT
- Change op to dynamic copy if parent is still bound
2019-04-09 13:40:54 +03:00
kd-11
3249000511
rsx: Improvements to texture scanning
...
- Removes CPU-only transforms that broke GPU-side code.
-- Channels in GPU compute are laid out in cell-order, but CPU was uploading in favorable order and compensating with swizzles.
-- This leads to 2 different layouts depending on the location of the data (CPU vs GPU)
- Implement R8G8_R8B8 interleaved format decode
- General improvements
2019-04-09 13:40:54 +03:00
kd-11
0f7af391d7
vk: Implement copy-to-buffer and copy-from-buffer for depth_stencil
...
formats
- Allows D24S8 and D32S8 transport via typeless channels
- Allows uploading and downloading D24S8 data easily
- TODO: Implement optional byteswapping to fix flushed readbacks with
the same method
2019-04-09 13:40:54 +03:00
kd-11
366e4c2422
rsx: Preliminary support for format conversions using typeless resolve
2019-04-09 13:40:54 +03:00
kd-11
b7470cfc1a
rsx: Tighten format checks in cache hit tests
2019-04-09 13:40:54 +03:00
kd-11
443fde760f
rsx: Blit engine clipping fixes
...
- Do not round up sub-pixel offsets, round down instead
- Do not allow incomplete sources for hw blit transfer
- Reimplement src clipping (slice_h)
- Check 'area' of incoming texels and correct for them before RTT lookup/transfer
- Filter out incomplete targets when performing RTT lookup (1 texel or less contribution)
2019-04-09 13:40:54 +03:00
scribam
f30af3ccd2
hle: Add more missing functions
2019-04-07 23:31:15 +03:00
scribam
8dbf2638e2
hle: Add some missing functions
...
0xBA50BC23 => cellCelpEncOpenExt
0x1AC58D11 => cellHttpFlushCache
0xA39FE9DC => cellHttpEndCache
0xB4FA3111 => cellHttpInitCache
0x4A18A89E => sceNpMatchingSetRoomInfoNoLimit
0xB020684E => sceNpMatchingGetRoomInfoNoLimit
2019-04-05 17:28:10 +01:00
Alex James
d7ad991b7e
Fix macOS compilation
...
This is needed for GL/glew.h to be found.
2019-04-02 03:16:55 +03:00
eladash
182054b8af
Implement sys_vm_append/return_memory
2019-03-31 14:57:21 +03:00
eladash
3c0564c9b7
Fix timer state after event queue was destroyed
...
* Hw tests show state is unaffected by external destruction of the event queue
* Minor race regarding state check fixed (can result in an undestroyable state)
2019-03-31 14:57:21 +03:00
eladash
90490f775d
Fix sys_timer_usleep specifically with 0 sleep time
...
Remove context switch, replace it with host yield() for giving some cpu time for SPUs ans RSX
2019-03-31 14:57:21 +03:00
eladash
8185ef7610
rsx: Improve vblank accuracy
2019-03-31 14:57:21 +03:00
eladash
801e6114b6
rsx: Use relaxed store on fifo ctrl registers
2019-03-31 14:57:21 +03:00
eladash
a3f65084df
Fix sys_process_exit2 when SPUs are at av handler
2019-03-31 14:57:21 +03:00
eladash
1ed2055ec1
Fix cellVdecGetPicItem element popping behaviour
2019-03-31 14:57:21 +03:00
eladash
f2bbae9db4
Remove handle in cellVdecClose
2019-03-31 14:57:21 +03:00
eladash
8eb59271a5
Improve error checking of cellVdecOpen
...
Those are the initial argument checks done by the firmware
2019-03-31 14:57:21 +03:00
eladash
d6025c6764
Fix cellPadGetInfo port status returned
...
ASSIGN_CHANGES flag is not returned in this func.
2019-03-31 14:57:21 +03:00
eladash
47ca1b1dda
Minor optimizations in cellPad
...
- Dont bother with shared_ptr since all pad_t management is going under the pad mutex.
- Change m_pads type into std::array since its size is known
2019-03-31 14:57:21 +03:00
eladash
6502d933df
Fix stack memory view on the debugger
...
the debugger uses super ptr which was unmapped for stack.
2019-03-31 14:57:21 +03:00
scribam
f15eb88f59
hle: Fix cellSysutilAvcExt module
...
And add cellSysutilAvcExtSetChatMode and cellSysutilAvcExtSetChatGroup
functions
2019-03-31 00:55:55 +03:00
scribam
1916cc1691
hle: Add cellSysmoduleUnloadModuleInternal and cellSysmoduleLoadModuleInternal functions
2019-03-30 23:52:56 +03:00
scribam
f369aeab7a
hle: Add FT_Get_X11_Font_Format function
2019-03-30 23:52:56 +03:00
scribam
0e9313d2df
hle: Add cellFontInitLibraryFreeType function
2019-03-30 23:52:56 +03:00
Nekotekina
d873802b9c
Use LLVM 9
...
Use new add/sub with saturation intrinsics
2019-03-30 01:36:48 +03:00
Nekotekina
7e0b941e9f
PPU LLVM: implement get_vrs<>() adaptor
...
Make use of structured bindings
2019-03-30 01:36:48 +03:00
Nekotekina
d77fed6105
SPU LLVM: remove wrong dead code
2019-03-29 17:00:53 +03:00
scribam
a254a203bb
hle: Add libad_async and libad_core modules
2019-03-27 21:41:44 +00:00
Nekotekina
71b88cdc82
New SPU interpreter (SPU fast)
...
Use LLVM to build SPU interpreter.
Simplify interpreter loop.
2019-03-27 20:33:44 +03:00
scribam
a9eb321814
hle: Add sceNpEulaAbort function
2019-03-26 23:19:01 +03:00
scribam
956d039415
hle: Add cellVideoPlayerUtility module
2019-03-24 19:16:49 +03:00
scribam
581b205f73
hle: Add cellPesmUtility module
2019-03-24 19:16:49 +03:00
scribam
6c40b9f3e0
hle: Add cellDtcpIpUtility module
2019-03-24 19:16:49 +03:00
scribam
d6bf18eabc
hle: Add some sceNpMatchingInt functions
2019-03-24 17:29:18 +03:00
scribam
32ae7e466c
hle: Add cellNetAoi module
2019-03-24 17:29:18 +03:00
Nekotekina
7ea04d5d76
Minor optimization in SPU analyser
...
Reduce vector copy/allocation
2019-03-23 02:43:41 +03:00
Nekotekina
4b381fbbb1
Implement spu_runtime::reset
...
To handle JIT: Out Of Memory error.
2019-03-23 02:43:41 +03:00
Nekotekina
1880a17f79
SPU recs: implement spu_runtime::find
...
Use this function to link to existing functions from branch patchpoints.
Don't compile from branch patchpoints.
2019-03-23 02:43:41 +03:00
Nekotekina
31304f4234
SPU rec: refactor some trampoline generation
...
Move branch/dispatch trampoline generation at startup.
2019-03-23 02:43:41 +03:00
Nekotekina
3794f65bb6
Add cpu_flag::jit_return
2019-03-23 02:43:41 +03:00
Nekotekina
849411693a
PPU LLVM: add MemoryManager3
...
For temporary allocations.
Add flags in jit_compiler constructor.
2019-03-23 02:43:41 +03:00
Nekotekina
466d58ccef
SPU LLVM: fix branch patchpoints
...
Forgot to passthrough 3rd arg (rip)
2019-03-23 02:43:41 +03:00
kd-11
41b87cf577
rsx: Blit engine fixes
...
- If a transfer writes to a RTT and depth mismatch happens, create a local target and the upload function will likely resolve between the two
- If a surface is rejected, reset the target region!
2019-03-22 21:27:15 +03:00
kd-11
86ad204636
rsx: Rebase output region when using upload-fallback path
2019-03-22 21:27:15 +03:00
kd-11
dbc8e70ddd
rsx: Silence some compiler noise
2019-03-22 21:27:15 +03:00
kd-11
3a4e3fa53a
rsx: Fix use-after-modify condition when inserting a draw command out of order
...
- Fixes barrier->range rebase after the insert
2019-03-22 21:27:15 +03:00
kd-11
d731c07ade
vk: Fix typeless resource management
...
- Fixes bugs that appear with high resolution scaling
2019-03-22 21:27:15 +03:00
kd-11
adc59f9810
rsx: Fix blit transfers when texel sizes mismatch
...
- Also refactors some bpp handling code
- Simplify texture intersection test to use a normalized/uniform coordinate space
- Fix broken bounds checking as well
2019-03-22 21:27:15 +03:00
kd-11
b879b32271
rsx: Fix bpp calculation taking resolution scaling into account
...
- Do not rely on image->width(), use surface_width() instead for unscaled values
- Refactor/clean GL rendertarget class a bit
2019-03-20 10:05:54 +03:00
kd-11
03fca73cf4
rsx: Fix blit intersection falling outside the available texture
...
- Just becaue we have a hit inside the tile of interest does not guarantee that it sits inside the texture!
2019-03-20 10:05:54 +03:00
Matias Morán
3eb2bcad39
Update DualShock 3 warning
2019-03-18 22:46:02 +00:00
RipleyTom
63bbe459ea
DS3 pad handler
2019-03-18 19:05:02 +03:00
RipleyTom
f2aaad11bb
Adds libusb
2019-03-18 19:05:02 +03:00
kd-11
3ef16bee47
rsx: Fix texture lookups and avoid out-of-bounds copies/transfers
2019-03-17 21:50:11 +03:00
kd-11
bb65e45614
rsx: Implement GPU acceleration for rotated images
2019-03-17 21:50:11 +03:00
kd-11
5260f4b47d
rsx: Improvements to memory flush mechanism
...
- Batch dma transfers whenever possible and do them in one go
- vk: Always ensure that queued dma transfers are visible to the GPU before they are needed by the host
Requires a little refactoring to allow proper communication of the commandbuffer state
- vk: Code cleanup, the simplified mechanism makes it so that its not necessary to pass tons of args to methods
- vk: Fixup - do not forcefully do dma transfers on sections in an invalidation zone! They may have been speculated correctly already
2019-03-17 21:50:11 +03:00
kd-11
385485204b
vk/gl: Omit unlocked data when grabbing flip sources from texture cache
2019-03-17 21:50:11 +03:00
kd-11
74eeacd091
vk/gl: Improve memory tag sync and test
...
- Properly pass parameters such as rsx-pitch to the surface store
- Do not crash if a surface fails verification in flip, use fall-back instead
2019-03-17 21:50:11 +03:00
kd-11
1a44446250
rsx: Fix dst upload block region
...
- The section needed starts at image origin, not transfer origin!
2019-03-17 21:50:11 +03:00
kd-11
a49a0f2a86
vk/gl: Synchronization improvements
...
- Properly wait for the buffer transfer operation to finish before map/readback!
- Change vkFence to vkEvent which works more like a GL fence which is what is needed.
- Implement supporting methods and functions
- Do not destroy fence by immediately waiting after copying to dma buffer
2019-03-17 21:50:11 +03:00
kd-11
85cb703633
rsx/cache: Debugging bugs introduced by the atlas coverage check
...
- Figured out why it breaks things, ofc can't actually check for coverage when there is no proper fbo data persistence
2019-03-17 21:50:11 +03:00
kd-11
3a4083263e
rsx: Fix texture transfer when pitch does not match exactly
2019-03-17 21:50:11 +03:00
kd-11
612160a8ff
rsx: Fix zero-pitch textures
...
- Assumption here is that only texel (0, 0) is accessible. Inline with other pitch 0 operations.
- TODO: Verify pitch 0 does not advance in Y either
2019-03-17 21:50:11 +03:00
kd-11
17c49d21a5
rsx/blit: Remove workarounds/hacks added for master. Start implementation/stubs for blit engine rotations in GPU
2019-03-17 21:50:11 +03:00
kd-11
745f8f9627
rsx: Remove pointless assert
2019-03-17 21:50:11 +03:00
Nekotekina
e9b6beadfc
SPU LLVM: implement static branch weights
...
May help branch prediction in some cases
2019-03-13 21:14:55 +03:00
Nekotekina
388d49db80
SPU LLVM: fix SPU MMIO in TSX mode
2019-03-13 21:14:55 +03:00
Ani
3b01e59cd4
InstallPup: Fix exception on newline trim
...
Avoid throwing fatal error when installing firmware without a \n character on the version string
Fixes #5646
2019-03-13 03:45:06 +03:00
Nekotekina
688aabc6c9
Add _sys_lwmutex_unlock2 syscall name
2019-03-12 23:55:13 +03:00
eladash
4a28319edf
Implement SPU page faults notifications
...
* Implement both RawSPU and threaded SPU page fault recovery
* Guard page_fault_notification_entries access with a mutex
* Add missing lock in sys_ppu_thread_recover_page_fault/get_page_fault_context
* Fix EINVAL check in sys_ppu_thread_recover_page_fault, previously when the event was not found begin() was erased and
CELL_OK was returned.
* Fixed page fault recovery waiting logic:
- Do not rely on a single thread_ctrl notification (unsafe)
- Avoided a race where ::awake(ppu) can be called before ::sleep(ppu) therefore nop-ing out the notification
* Avoid inconsistencies with vm flags on page fault cause detection
* Fix sys_mmapper_enable_page_fault_notification EBUSY check
from RE it's allowed to register the same queue twice (on a different area) but not to enable page fault notifications twice
2019-03-12 13:28:31 +03:00
kd-11
1875dc3f18
gl: Fix buffer size calculations
2019-03-10 16:09:05 +03:00
kd-11
358558aaa7
cleanup and fixups
2019-03-10 16:09:05 +03:00
kd-11
04dda44225
rsx: Properly generate render target data with all parameters provided
...
- Build-up to variable-sized framebuffers and AA implementation
- Also allows accurate range calculation for our hit testing
2019-03-10 16:09:05 +03:00
kd-11
21bc6c7a87
rsx: Properly resolve data for upload when needed.
...
- Avoids blindly reusing blit dst sections as they may contain garbage.
If a section was unlocked for a flush, just discard it as its reuse introduces potential data corruption.
Since the data needs to be reuploaded anyway (for now), its better to start afresh
- In case of format mismatch, reset the calculated dst block
- Add a bounds check to determine if data contained in an atlas is good enough for sampling the cache.
If not enough data is provided, fall back to full upload
2019-03-10 16:09:05 +03:00
kd-11
9d4d3d9443
rsx: Reimplement render target intersection tests when using hw accelerated blit engine
...
- Properly collapse memory tree when scanning in case of overlaps!
2019-03-10 16:09:05 +03:00
kd-11
f4ebcb0029
rsx: Properly decode packed renders from the type flag
...
- Seems to occupy bits [8-9]
2019-03-10 16:09:05 +03:00
kd-11
7c379432dd
rsx: Implement proper pitch compatibility lookup
...
- When a single row is required or is all that is available, pitch has
no meaning as the coordinate space changed to 1D
2019-03-10 16:09:05 +03:00
kd-11
dccb4a4888
rsx/texture_cache: fixes to commit_framebuffer_memory
2019-03-10 16:09:05 +03:00
kd-11
b9e7b085fe
rsx/texture_cache: Fixups for local resource hit and fast-path added
2019-03-10 16:09:05 +03:00
kd-11
a80f1a6ed4
gl: Fix memory tag sampling
...
- Also fixes a bad arg passed to glClearBuffer
2019-03-10 16:09:05 +03:00
kd-11
0395fb9955
rsx/tecture_cache: Addendum - fix data cast with scaling conversion (AA emulation)
...
- Blit operations do format conversion automatically which is NOT what we want!
- Scale onto temp buffer with similar format before performing data cast.
2019-03-10 16:09:05 +03:00
kd-11
10dc3dadee
rsx/texture_cache: Improve framebuffer memory locking when WCB/WDB is not enabled
...
- Adds a new mode that removes non-framebuffer stuff inside framebuffer range
2019-03-10 16:09:05 +03:00
kd-11
563e205a72
rsx/texture_cache: Fix 'AA' scaling hack and restore collection template selection
2019-03-10 16:09:05 +03:00
kd-11
fa628f0ac4
rsx/surface_store: More aggressive tag sampling
...
- Use a 5-point tap with an X pattern across the target's memory space to reduce chances of false positives
- TODO: Potential false positives identified, requires some minor
restructuring of surface_store
2019-03-10 16:09:05 +03:00
kd-11
3a071a9c07
rsx: Texture search rewrite
...
- Perform a full search across all resource types as needed without
taking too many shortcuts/hacks
2019-03-10 16:09:05 +03:00
kd-11
6ef9dcd62e
rsx: Handle mismatched/invalidated framebuffer sections when WCB is enabled
2019-03-10 16:09:05 +03:00
kd-11
ef071ebb6b
rsx: Synchronize surface cache and texture cache data
...
- TODO: The whole upload_texture thing is a big hack, fix it properly
2019-03-10 16:09:05 +03:00
eladash
a43e7c172c
Fix shared memory page flags
...
TODO: From hw testing, it seems like sys_memory_get_page_attribute and sys_rsx_context_iomap check page size a little differently
get_page_attribute() always go by area flags, sys_rsx_context_iomap checks page by the page granularity
This means that if the area page size 64k, but shared memory is mapped with SYS_MEMORY_GRANULARITY_1M
It can be mapped for rsxio, but the page attribute will indicate 64k page size :thonk:
rsxio memory is verified to need 1m pages.
2019-03-08 23:44:46 +03:00
eladash
7470388e5a
Use error_code in sys_rsx
2019-03-08 23:44:46 +03:00
eladash
26bcd0a4de
Small improvements to sys_event_flag
...
- From RE, only protocols SYS_SYNC_FIFO and SYS_SYNC_PRIORITY are valid
- Use conditional atomic op store in a few places
- Properly revert changes in sys_event_flag_set when aomic op fails
2019-03-08 23:44:46 +03:00
elad
bd259c8ae4
vulkan zcull: Fix deadlock in zcull flush waiting
...
Block adding additional flush requests until the first ones are treated (by adding missing lock)
2019-03-08 23:44:46 +03:00
elad
fc253165e2
Correctness fix for RSXIOMem
...
- Make RSXIOMem volatile.
- Hint the compiler to check only once the address returned.
2019-03-08 23:44:46 +03:00
elad
b7da3ea5cd
Release ppu thread before ShowSaveDataDialog, Fixes #4031
2019-03-08 23:44:46 +03:00
elad
ce8c92262d
Treat X8R8G8B8 format as A8R8G8B8 in image_in, Fixes #5510
2019-03-08 23:44:46 +03:00
elad
f272a5f779
sys_lwmutex fixup after #5680
...
sys_lwcond_wait unlocks always with the 'usual' unlocking flags
2019-03-08 23:44:46 +03:00
RipleyTom
61bd2ea799
Adds VID/PID for Guitar Hero guitar & drum
2019-03-08 17:52:48 +00:00
elad
3c9f03968c
Yield before flushing io buffers in fsync (sys_fs) ( #5506 )
2019-03-08 16:07:14 +00:00
Nekotekina
4ea76def7c
Update sys_lwmutex_lock and sys_lwmutex_unlock (liblv2 HLE)
...
Implement missing SYS_SYNC_RETRY logic
Following #5680
2019-03-06 15:09:50 +03:00
Nekotekina
986c750fdc
VFS: fix sys_fs_opendir on root
2019-03-05 22:12:01 +03:00
eladash
e38b7aee5a
check address in sys_rsx_context_iomap
...
* Fix 0 vm page flags to behave like 1m flags, follows c8a681e60
* check if address exists and valid for rsx io allcations (must be allocated on 1m pages)
2019-03-05 21:23:24 +03:00
eladash
d82362fa1d
Use sys_memory_allocate on rsx replayer to fix it
2019-03-05 21:23:24 +03:00
Nekotekina
fb64b28886
SPU LLVM: reintroduce branch patchpoints
...
Previously only used on SPU ASMJIT, may improve perf in some cases.
Now refactored to spu_runtime::make_branch_patchpoint.
2019-03-01 00:08:20 +03:00
Nekotekina
7f6a410770
Add dummy __has_builtin macro, use rotate builtins if possible
2019-03-01 00:08:19 +03:00
Nekotekina
765d15f23f
Optimize SPU trampolines
...
Load values in EAX and reuse it if possible
2019-03-01 00:08:19 +03:00
Nekotekina
f143035af1
Fix sys_spu_thread_group_join wait condition
...
After waiting, thread group cannot be safely accessed
Following #5643
2019-03-01 00:08:19 +03:00
Jan Beich
240ba39d16
Chase GIT_VERSION rename after 923700a167
2019-02-28 04:48:16 +03:00
RipleyTom
de5379a69f
Static hle implementation
2019-02-27 22:54:59 +03:00
eladash
a22297f205
exception throwing fix in sys_lwmutex_create
...
arg6 doesnt exist, if arg4 is not negative name is discarded and treated as 0.
2019-02-27 22:16:08 +03:00
eladash
d4459af4b3
Implement _sys_lwmutex_unlock (SYS_SYNC_RETRY mode)
2019-02-27 22:16:08 +03:00
RipleyTom
ad6b0ee122
Adds class type to controller options
2019-02-27 18:13:19 +00:00
Megamouse
b107718869
sysPrxForUser: improve crash dump functions
...
this might fix some crashes that could appear in the todo logging itself
2019-02-26 21:53:59 +00:00
Alex James
f5163cc4ff
CMake: Use Info.plist template for macOS bundle
...
Define and use a template for Info.plist for the macOS bundle. The template
uses the previously defined RPCS3_GIT_TAG variable for automatically
generating the version strings, and also enables proper HiDPI support.
2019-02-26 21:09:18 +00:00
Alex James
923700a167
CMake: Refactor git-version.cmake
...
Refactor git-version.cmake to define the RPCS3_GIT_VERSION,
RPCS3_GIT_BRANCH, and RPCS3_GIT_TAG variables, and move the generation
of git-version.h to a function (gen_git_version).
2019-02-26 21:09:18 +00:00
Megamouse
14ddb0c5b4
Qt: hide viewport settings on custom configs
2019-02-21 22:02:02 +01:00
German
4c72f7c1de
Fix clear string container in CgBinaryFragmentProgram.cpp
2019-02-18 16:34:16 +03:00
German
3b9f9dd4c5
Fix true clear string container in GameInfo.h
2019-02-18 16:34:16 +03:00
German
45c31a99a3
Fix true clear string container in PPUModule.cpp
2019-02-18 16:34:16 +03:00
elad
63a9421634
Fix race in sys_lwcond_wait on error code
2019-02-16 21:41:59 +03:00
EmulationChannel
92ff7c4c24
Update FW Latest Version
...
Updates the latest FW 4.84 version according to: https://www.playstation.com/en-us/support/system-updates/ps3/
2019-02-16 13:59:30 +01:00
Filippe LeMarchand
56e24f8993
Update rpcs3.appdata.xml
...
- split description to paragraphs
- add bugtracker and quickstart urls
- add screenshot
2019-02-14 03:10:36 +03:00
Filippe LeMarchand
a8621ebc22
Remove zero-width spaces (u200b)
2019-02-14 03:10:36 +03:00
Megamouse
d4888a4973
cellSysCacheMount: don't return RET_OK_RELAYED on empty cacheId
...
The system cache is supposed to be cleared but I don't think we wanna do that
2019-02-13 01:55:07 +03:00
Megamouse
4a1499e0be
cellMsgDialog: optionally make dialogs blocking and fix exit condition
...
and apply review fixes
2019-02-12 21:06:10 +03:00
Megamouse
fe79e541dd
cellGame: improve exit functions
2019-02-12 21:06:10 +03:00
Megamouse
17a5e0bc98
cellGame: add error_code
2019-02-12 21:06:10 +03:00
Megamouse
982b2ab88f
Qt: only show supported resolutions in custom configs
2019-02-11 20:34:33 +01:00
eladash
d6995f40c7
Fixup for sys_lwcond_signal_x error checking
2019-02-11 01:13:29 +03:00
eladash
fa647bc121
Fix race condion in sys_spu_thread_group_join
2019-02-10 18:20:24 +03:00
eladash
84d42ecb65
Add EFAULT checks to spu_thread_group_join, ppu_thread_join
...
Order of checks is based on firmware
2019-02-10 00:16:57 +03:00
eladash
0861226271
Make more use of the new atomic_t<>::release
2019-02-10 00:16:57 +03:00
eladash
e3ee481f01
Make sys_spu_thread_group_join return once per termination
2019-02-10 00:16:57 +03:00
kd-11
19ff95da70
vk: Fix usage of VK_IMAGE_LAYOUT_GENERAL
...
- Properly synchronize when transitioning to/from GENERAL layout.
- General layout requires full pipeline dependency since its used in a 'general' sense. As such, its use is to be largely avoided.
2019-02-07 11:40:17 +03:00
kd-11
38887bc03e
gl/vk: Improvements to overlay rendering
...
- gl: Properly initialize and manage sampler states
- gl/vk: Snap overlay elements to pixel grid by aligning to pixel centers
- overlays: Disable grid snapping in stb since its now handled in the backend
2019-02-05 12:15:12 +03:00
kd-11
4c593959fd
overlays/save_dialog: Layout improvements
...
- Make detail a separate text entity as it often contains a lot of noise
- Properly pad the entry if needed to avoid text sitting too close to the edge
2019-02-03 22:26:46 +03:00
kd-11
67cdec577f
overlays/util: Add support for glyph set lowering when mapping utf8 to ascii8
...
- Lower fullwidth glyphs to halfwidth counterparts
- Lower CJK punctuation glyphs
- Lower general punctuation glyphs
2019-02-03 22:26:46 +03:00
kd-11
a36d3af3b4
vk: Minor frame management improvements
2019-02-02 11:54:01 +03:00
kd-11
27af05da1a
osk: Fixup attempt for hang in close callback where a sysutil_callback fails to fire.
2019-02-02 11:54:01 +03:00
kd-11
b36cb66129
overlays: Allow use of extended ascii8
...
- Use custom string conversion to ensure overlay deals with extended ascii whenever possible
- Improves language compatibility greatly and avoids empty spaces for unknown glyphs
2019-02-02 11:54:01 +03:00
kd-11
12990f3ca3
overlays/util: Strip extended codes from utf-16 encoded strings
2019-02-02 11:54:01 +03:00
kd-11
9e39e2d2c4
gl/vk: Fix clip region scaling for overlay elements
2019-02-02 11:54:01 +03:00
kd-11
3653c2eb0d
overlays/osk: Add support for edit text control and disabled cells
...
- Allows to disable cells from being selectable.
- Edit text control adds proper support for multiline and a functioning caret
2019-02-02 11:54:01 +03:00
kd-11
faf5221b0d
overlays: Implement edit_text control
2019-02-02 11:54:01 +03:00
kd-11
c434e0ce27
overlays/osk: Add more buttons to native dialog and other improvements
...
- Adds all the major buttons to native dialog input options
- Adds more button options for the native osk
- Brighten osk cell backgrounds a bit to improve visibility
2019-02-02 11:54:01 +03:00
kd-11
9ed9d7e947
overlays/osk: Implement native osk interface
2019-02-02 11:54:01 +03:00
kd-11
9d4b19b97a
vk: Increase number of draw calls per frame for overlays to 1024
...
- Allows for more complex interface design
2019-02-02 11:54:01 +03:00
Megamouse
8920eda321
facepalm: fix open_config_dir old vs. new location switch up
2019-02-01 17:47:27 +03:00
Ani
f4afd56e67
rpcs3_version: Bump to 0.0.6
2019-01-31 22:08:45 +00:00
kd-11
f47d3a761b
vk: Hotfix for fullscreen not working on non-windows platforms
2019-02-01 00:22:11 +03:00
Megamouse
27f6f497a2
use "config/custom_configs/" for custom configs (backwards compatible)
2019-01-31 20:14:52 +00:00
kd-11
09a8f7ae53
vk: Use FIFO mode for vsync
...
- Avoids tearing and also hides some driver bugs causing fullscreen bugs with mailbox mode
2019-01-31 21:53:02 +03:00
kd-11
3bfa564ef8
vk/windows: Try to keep msq thread from ever stopping
...
- NVIDIA drivers hook into the msq before our nativeEvent handler. This means NV is aware of events before rpcs3 is aware of them and sometimes stops until a new event is triggered.
If rpcs3 is inside a driver call at this time, the system will deadlock since the driver waits for msq which waits for the renderer which waits for the driver.
- Use explicit hook management to control window events
- Add fence timeout to attempt detection of surface loss events
2019-01-31 21:53:02 +03:00
msuih
987b607cb0
Add debug console mode to settings
2019-01-31 16:03:38 +03:00
eladash
d4a24433e8
Fix DECR mode allocations (sys_memory)
2019-01-31 16:03:38 +03:00
Nekotekina
400718dfd9
cellSaveData: try to handle occasional failures
...
Retry moving directory on FILE_ACCESS_ERROR
2019-01-31 01:08:30 +03:00
eladash
6f770c8e35
Fix potential crash in begin_occlusion_query() while closing the Emu
2019-01-30 18:44:29 +03:00
Nekotekina
039f8e1f9d
Update About window
...
Updated supporters and contributors
2019-01-30 03:11:19 +03:00
Nekotekina
58358e85dd
spu_runtime::add minor optimization
...
Use preallocated vectors in trampoline generation subroutine
2019-01-29 03:32:16 +03:00
Nekotekina
2b66abaf10
Implement atomic_t<>::release
...
More relaxed store with release memory order
2019-01-29 03:32:16 +03:00
Nekotekina
50922faac9
Remove SPUThread::jit_dispatcher
...
Use global array - save memory
Move the array to JIT memory
2019-01-29 03:32:16 +03:00
Nekotekina
4292997a01
Added jit_runtime class
...
Is a memory manager for ASMJIT, replaces asmjit::JitRuntime
Unified memory manager for ASMJIT and LLVM
Unified SPU trampoline generation
Remove previous workarounds
2019-01-29 03:32:16 +03:00
eladash
587fe421ee
Make ppu main_thread unjoinable
2019-01-25 18:04:33 +03:00
eladash
56b7581ade
Return error code in sys_ppu_thread_get_join_state
2019-01-25 18:04:33 +03:00
kd-11
660bfeabae
gl: Fixup - inline arrays
2019-01-25 14:34:22 +03:00
kd-11
fa9b448686
vk: Spec fixups
...
- Disable DEPTH<->RGBA typeless transfers for now as they require a lot more work to work for all vendors
- Do not allow switching layouts to UNDEFINED/PREINITIALIZED formats
2019-01-25 14:34:22 +03:00
kd-11
2163a59649
rsx: Typo fix
2019-01-25 14:34:22 +03:00
kd-11
521969bcc3
gl: Remove GL_R 'format'. There is no GL_R format, it part of the S-T-Q-R enums for texture coordinate space
2019-01-25 14:34:22 +03:00
kd-11
5a4bea8c4f
gl: Blit fixup
...
- Typo fix. I meant to disable scissor test, not stencil test
- Also clean up and simplify/optimize the core logic
2019-01-25 14:34:22 +03:00
kd-11
7e33cdcb08
rsx: simple_array<T> improvements
...
- Implement move and copy ctors
2019-01-25 14:34:22 +03:00
kd-11
fb778e4821
rsx: Reimplement attrib divisor
2019-01-25 14:34:22 +03:00
kd-11
736415fcd9
rsx/fp: Detect broken/NOP shaders automatically
...
- Do not compile body if the shader is of no consequence, leave as a passthrough shader
2019-01-25 14:34:22 +03:00
kd-11
6fdc0fd7f0
rsx: Reimplement MSAA transparency
...
- Apply dither to edges that almost fail the straight-up alpha test
- Significantly improves alpha tested geometry far from the camera
- Also removes blend factor overrides/hacks as they give incorrect results due to background bleeding
2019-01-25 14:34:22 +03:00
kd-11
10a17feda2
rsx: Avoid potential deadlock in FIFO_ctrl
2019-01-25 14:34:22 +03:00
kd-11
7eec702c6d
gl: Fix silly regression with blit dst resource readback
2019-01-25 14:34:22 +03:00
kd-11
8093c9b573
rsx: Disable rtt side-effects when async compilation is ongoing. Only real renders should promote buffer state from underined to drawn, otherwise keep previous contents intact.
2019-01-25 14:34:22 +03:00
kd-11
417a2e6731
rsx: Refactor index buffers
...
- Index offset is ignored anyway and only used to calculate vertex attribute divisor index
- Specialized optimization for untouched xfer without primitive restart
2019-01-25 14:34:22 +03:00
elad
afeacc171f
Fix spurious abort in sys_rwlock_tryrlock and sys_semaphore_trywait ( #5579 )
...
Use full cmpxchg loop to prevent occasional return of CELL_EBUSY
2019-01-22 23:10:17 +03:00
Nekotekina
4f152ad126
SPU: multithread compilation
...
Allow parallel compilation of SPU code, both at startup and runtime
Remove 'SPU Shared Runtime' option (it became obsolete)
Refactor spu_runtime class (now is common for ASMJIT and LLVM)
Implement SPU ubertrampoline generation in raw assembly (LLVM)
Minor improvement of balanced_wait_until<> and balanced_awaken<>
Make JIT MemoryManager2 shared (global)
Fix wrong assertion in cond_variable
2019-01-22 22:02:02 +03:00
Megamouse
8d5d44141e
rsx/Qt: fix some undefined behavior in progress_dialog CallAfters
2019-01-22 12:04:01 +03:00
eladash
688d5a9919
rsx: Fix unknown vertex base types
...
Clamp vertex type field into 3-bits instead of 4-bit value
Case 0 is UB256
2019-01-21 22:28:20 +03:00
Megamouse
fa00fb3eac
Qt: use patch version and firmware for PS3 disc games in the game list
2019-01-20 23:16:37 +01:00
Nekotekina
d4591b1508
ALSA: disable recovery (experimental)
2019-01-18 16:49:17 +03:00
Nekotekina
59e0296281
cellMsgDialog: fix error spam on CELL_OK
2019-01-18 16:49:17 +03:00
Nekotekina
cc430769c6
Rollback audio backend priority
2019-01-18 16:49:17 +03:00
eladash
a11d76249d
Patch ppu main thread prio
2019-01-17 21:58:09 +03:00
Megamouse
5ed718110a
cellOskDialog/osk_dialog_frame: fix regexp for CELL_OSKDIALOG_NO_SPACE
2019-01-16 23:36:44 +03:00
msuih
f902a7867c
Fix cache removal
2019-01-16 07:43:39 +01:00
elad
fc92ae4085
SPU/PPU atomics performance and LR event fixes ( #5435 )
...
* Fix SPU LR event setting in atomic commands according to hw test
* MFC: increment timestamp for PUT cmd in non-tsx path
* MFC: fix reservation lost test on non-tsx path in regard to the lock bit
* Reservation notification moved out of writer_lock scope to reduce its lifetime
* Use passive_lock/unlock in ppu atomic inctrustions to reduce redundancy
* Lock only once for dma transfers (non-TSX)
* Don't use RDTSC in reservation update logic
* Remove MFC cmd args passing to process_mfc_cmd
* Reorder check_state cpu_flag::memory check for faster unlocking
* Specialization for 128-byte data copy in SPU dma transfers
* Implement memory range locks and isolate PPU and SPU passive lock logic
2019-01-15 18:31:21 +03:00
eladash
f19fd23227
spu: Fix support for multiple lists when one is stalled
2019-01-15 02:33:22 +03:00
Megamouse
58a22d1461
cellSaveData: add error_code
2019-01-14 21:12:13 +01:00
Nekotekina
c5026f7109
cellVdec: fix minor race
2019-01-14 01:24:05 +03:00
Nekotekina
a419e98acb
Move PPU and shader cache
...
New hash-based location (already used for SPU)
Bump PPU cache version, improve naming and decrease size
Remove fs::get_data_dir
Disable boot.elf cache
2019-01-14 01:24:05 +03:00
Nekotekina
aefee04c4a
SPU analyser: fix branch to self
...
Fixed not filling the predeccessor list on BR-to-self on entry point
Version bumped (v1-tane)
Closes #5353
2019-01-14 00:01:27 +03:00
Nekotekina
74d684b57e
cellAudio: fix template arg style
...
Add constexpr if
2019-01-14 00:01:27 +03:00
Nekotekina
ac775cd75e
Simplify gui_listener
...
Use lf_queue
2019-01-13 14:45:36 +03:00
Nekotekina
435f60d503
lf_queue: add iterator support
...
Allow range-for loop over an object returned by `pop_all()`
2019-01-13 14:45:36 +03:00
Nekotekina
cfdf50dcff
SPU: ensure sys_spu_thread_group_join receives correct exit status
...
Following #5334
2019-01-13 14:45:36 +03:00
Nekotekina
453344c232
cellSaveData: workaround possible issues with symlinks
...
Don't use ../ location for temporary directories
2019-01-13 14:45:36 +03:00
Nekotekina
bd9131ae1c
Implement fs::get_cache_dir
...
Win32: equal to config dir for now
Linux: respect XDG_CACHE_HOME if specified
OSX: possibly incomplete
2019-01-13 14:45:36 +03:00
eladash
bc27f5f75c
Implement invalid NV4097_NOTIFY context handling
2019-01-13 12:59:00 +03:00
Megamouse
022550a43b
cellOskDialog: use atomic_op for state operations
2019-01-12 23:39:01 +01:00
Megamouse
d7cc97433d
cellOskDialogUnloadAsync: guarantee 0 terminated return string
2019-01-12 23:39:01 +01:00
Megamouse
fce9f352a9
cellOskDialog: fix cellOskDialogAbort
2019-01-12 23:39:01 +01:00
Megamouse
f9c1b15bf4
cellOskDialog: fix cellOskDialogUnloadAsync return string
...
fixes Class of Heroes 2G
2019-01-12 23:39:01 +01:00
Rui Pinheiro
3406acd8c9
Fixups for audio PR
2019-01-12 22:22:03 +03:00
Rui Pinheiro
49fbf9bf0f
Tweaks to buffering algorithm
...
Increase untouched buffer timeout when some of the buffers have been
touched. Might improve audio quality on games that suffered from
miniscule popping even when buffering was enabled (such as DeS).
In addition, made time stretching algorithm slightly more aggressive.
Includes some other tiny tweaks as well.
2019-01-12 21:29:56 +03:00
Rui Pinheiro
1e4513e2e3
Fixups in audio backend
...
Removes 's_' prefix from variables that are no longer static and
thread_local. Removes superfluous comments left behind due to copy-paste
mistakes.
2019-01-12 21:29:56 +03:00
Rui Pinheiro
fe9062671e
Change audio tooltips, audio backend order
2019-01-12 21:29:56 +03:00
Megamouse
5e3311746c
Qt/settings: add new audio buffering options
2019-01-12 21:29:56 +03:00
Rui Pinheiro
48db0430d4
Misc. Tweaks
2019-01-12 21:29:56 +03:00
Rui Pinheiro
650bc0c1f2
Fix game pausing/unpausing
2019-01-12 21:29:56 +03:00
Rui Pinheiro
f17f984721
Add timeout for untouched buffers
2019-01-12 21:29:56 +03:00
Rui Pinheiro
8f6043b568
Change cellAudio diagnostic messages to Trace
2019-01-12 21:29:56 +03:00
Rui Pinheiro
67f9397746
Various fixes
...
In addition, linux builds (and ALSA/PA) now work again
2019-01-12 21:29:56 +03:00
Rui Pinheiro
4f39457858
Rewrite OpenAL backend to support new features
2019-01-12 21:29:56 +03:00
Rui Pinheiro
892deb1552
Implement basic time stretching + Tweaks
2019-01-12 21:29:56 +03:00
Rui Pinheiro
5159d3559e
Implement Audio Backend Capabilities querying
...
Also renames "AudioThread" to "AudioBackend". The new name is more
descriptive of what the class really is responsible for, since the
backends are not responsible for managing the audio thread.
NOTE: Right now only XAudio2 is supported
2019-01-12 21:29:56 +03:00
Rui Pinheiro
2addbe6be2
Implement basic cellAudio buffering
2019-01-12 21:29:56 +03:00
Rui Pinheiro
56962aa707
Disable OpenAL backend temporarily
2019-01-12 21:29:56 +03:00
Megamouse
e18e9909af
cellOsk fixup
2019-01-12 08:26:04 +01:00
RipleyTom
fad80ed443
revert part of #5529
2019-01-12 06:59:07 +01:00
Megamouse
e3ea29599d
cellGame: fix some installation issues
...
fixes HAWX2 (at least until it crashes again)
2019-01-11 03:36:22 +03:00
Megamouse
d9d5f45e9e
rsx/input: fix rsx replay
2019-01-10 13:05:48 +01:00
Megamouse
eb4d612bb9
cellOskDialog: fixes for multi-line dialog
2019-01-10 13:05:48 +01:00
Megamouse
e5aede7aa7
cellOskDialog: initial code for cellOskDialogSetSeparateWindowOption
2019-01-10 13:05:48 +01:00
Megamouse
17058113df
cellOskDialog: add multi-line option and handle more permutations (WIP)
2019-01-10 13:05:48 +01:00
Megamouse
4a8b30c625
cellOskDialog: cellOskDialogExtRegisterConfirmWordFilterCallback
2019-01-10 13:05:48 +01:00
Megamouse
e0ac244fed
split MsgDialogBase
2019-01-10 13:05:48 +01:00
Megamouse
d5303b0b64
add error_code to cellOskDialog and cellMsgDialog
2019-01-10 13:05:48 +01:00
Megamouse
7cc4239cc2
cellOskDialog: add message
2019-01-10 13:05:48 +01:00
Megamouse
cc30b4e5be
cellOskDialog: don't send input signals without seperate screen enabled
2019-01-10 13:05:48 +01:00
Megamouse
16f2975792
cellOskDialog: properly handle dialog states to improve param checks
2019-01-10 13:05:48 +01:00
Megamouse
1b2e512179
Qt: make dockwidget title bars optional
2019-01-10 12:14:38 +01:00
kd-11
52ac0a901a
rsx: improve memory coherency
...
- Avoid tagging and rely on read/write barriers and the dirty flag mechanism. Testing is done with a weak 8-byte memory test
- Introducing new data when tagging breaks applications with race conditions where tags can overwrite flushed data
2019-01-06 10:44:40 +03:00
kd-11
89c9c54743
rsx: Minor hot-fix
...
- Pitch 0 makes sense if width == 1 and height == 1
2019-01-06 10:44:40 +03:00
kd-11
95245bdd83
rsx: Improve ARGB8->D24S8 casting
...
- Set up partial transfers
- Force clear of target before starting the transfer
2019-01-06 10:44:40 +03:00
kd-11
475cc99117
rsx: Fix dirty flag reset after a partial attachment initialization
...
- D24S8 targets have 2 aspects that are dealt with separately; Forcefully initialize the remaining data if a partial init is done. Its 'free' anyway
- It seems that the stencil mask matters when clearing unlike the depth mask and color mask
2019-01-06 10:44:40 +03:00
kd-11
c80c7f06bb
rsx: Typo fix
...
- This silly typo broke the flip improvements in the GT fixes PR
2019-01-06 10:44:40 +03:00
kd-11
2a62fa892b
rsx: Texture cache refactor
...
- gl: Include an execution state wrapper to ensure state changes are consistent. Also removes a lot of required 'cleanup' for helper methods
- texture_cache: Make execition context a mandatory field as it is required for all operations. Also removes a lot of situations where duplicate argument is added in for both fixed and vararg fields
- Explicit read/write barrier for framebuffer resources depending on
usage. Allows for operations like optional memory initialization before
reading
2019-01-06 10:44:40 +03:00
kd-11
0f64583c7a
rsx: Reimplement pitch lookup
...
- Remove the required_xxx_pitch constraint as it makes no sense. The pitch controls what can be written per line.
- It is possible to have a huge surface width but only render to a small region at the beginning and have a smaller pitch than can fit the surface (NFS carbon)
2019-01-06 10:44:40 +03:00
kd-11
1ffadbe086
rsx: Reorganize write barrier implementation (either clear or memory barrier)
2019-01-06 10:44:40 +03:00
kd-11
9c45ce6d37
vk: Reimplement typeless memory allocation to handle resolution upscaling
2019-01-06 10:44:40 +03:00
kd-11
d8e45c86e6
vk: Remove old useless hack that interferes with memory inheritance
2019-01-06 10:44:40 +03:00
kd-11
3be4b474d9
rsx: Handle rsx-self-tripping in draw call and triggering invalid invalidation
...
- If draw call resources consume memory that intersects with NA parts of the texture cache, we get a framebuffer test mismatch.
This mismatch is false and happens because the thread has not yet reached the point of relocking the pages
2019-01-06 10:44:40 +03:00
kd-11
a95a44cf66
rsx: Strictness cleanups
...
- Also account for variable pitch textures (swizzled scan)
2019-01-06 10:44:40 +03:00
kd-11
474d0f61a2
minor typo fix
2019-01-06 10:44:40 +03:00
kd-11
362eea09a1
whitespace fix only
2019-01-06 10:44:40 +03:00
kd-11
15d5507154
rsx: Rewrite memory inheritance transfers
...
- Implicitly invoke a memory barrier if actively reading from an unsynchronized texture
- Simplify memory transfer operations
- Should allow more games to work without strict mode
2019-01-06 10:44:40 +03:00
kd-11
97704d1396
rsx: Fix texture size calculations
2019-01-06 10:44:40 +03:00
kd-11
50c07833e4
rsx: Do not force upload for missing data
...
- TODO: Finish implementing GPU RCB for mem-sync
- TODO: Refactor mem-sync
2019-01-06 10:44:40 +03:00
kd-11
6d932b042b
vk: bump max number of compute jobs from 120 to 1024
...
- It is possible without bugs to have a very high number of compute invocations.
2019-01-06 10:44:40 +03:00
kd-11
64a8829614
rsx: Minor cleanup
2019-01-06 10:44:40 +03:00
kd-11
15488eb247
rsx: Avoid unnecessarily touching framebuffer memory
...
- Do not bind companion framebuffer when clearing single aspect; let the
contest mechanism sort it out instead
- Do not prematurely tag framebuffers, instead only do so at
write-confirmation time. Should avoid false tagging if setup does not
allow a render to occur.
2019-01-06 10:44:40 +03:00
kd-11
a13986ec5c
vk: Spec fixups
...
- Forgot to update descriptor pool init sizes over time
- Also clamp swapchain resources to allowable surface extents
2019-01-05 21:31:12 +03:00
Megamouse
6c10cb2eb5
Assume go to address to be hexadecimal
2019-01-05 04:03:18 +01:00
Megamouse
6fe615605a
prevent debugger crash when no thread is selected
2019-01-05 04:03:18 +01:00
Megamouse
bb464b0b64
fix some warnings
2019-01-05 04:03:18 +01:00
Megamouse
daee2a27a3
Qt: spawn Confirmation Dialog on when booting games while Emu is running
2019-01-05 01:50:42 +01:00
Megamouse
5f9b441dd7
Qt: spawn Confirmation Dialog on exit
2019-01-05 01:50:42 +01:00
RipleyTom
37c621ebbf
cellSysutilCheckCallback forced granularity
2019-01-03 02:15:01 +03:00
Nekotekina
7a4282b4c0
cellSysutil: drain callback queue at single step
...
This way if a new callback is registered in a process,
it will not be executed immediately in the same loop.
Remove mutex, use lock-free queue.
2019-01-03 02:15:01 +03:00
Megamouse
3b83e223d8
cellOskDialog: add some param checks
2019-01-02 15:45:51 +01:00
Megamouse
0e7fd45504
cellOskDialog: add Constants
2019-01-02 15:45:51 +01:00
Megamouse
ad5cdc38cd
cellOskDialog: implement CellOskDialogInputFieldResult
...
fixes abort and cancel
2019-01-02 15:45:51 +01:00
Megamouse
6f7b25de90
implement CELL_PAD_INFO_INTERCEPTED
2019-01-02 15:45:51 +01:00
Megamouse
8ad14c4ada
Overlays: fix input loop when no controllers are detected
2019-01-02 15:45:51 +01:00
Megamouse
a4f67ccb87
Add log messages for PPU compilation
2018-12-31 23:03:03 +03:00
Megamouse
632b0f489c
Qt/Input: add keyboard stick interpolation
2018-12-31 12:42:34 +01:00
Megamouse
a77bd41b50
Qt/Input: add mouse settings to the pad settings dialog
2018-12-31 12:42:34 +01:00
Megamouse
2db16c2c04
Input: add config entries for mouse deadzones and acceleration
2018-12-31 12:42:34 +01:00
RipleyTom
7ebd3bbcbf
Fixes issues where the mutex is destroyed while an unlock is happening
2018-12-31 01:39:47 +03:00
eladash
483ee5e488
Fix sys_vm_memory_map address base
2018-12-30 20:12:32 +00:00
eladash
79a6a2c7fb
Debug console emulation
2018-12-30 20:12:32 +00:00
eladash
2ea061b9c7
Set total memory size according to sdkver
2018-12-30 20:12:32 +00:00
eladash
c0eb4965f2
mmapper_allocate_memory improvement
...
Added cases 0 for allocation granularity size,
alike sys_memory_allocate, the alignment of this case is 1mb.
2018-12-30 20:12:32 +00:00
Megamouse
d1be1150c2
Settings Dialog Update
2018-12-30 17:47:51 +01:00
RipleyTom
c6e47a573d
cellVideoOutConfigure minor fix.
2018-12-30 17:58:20 +03:00
eladash
db784556aa
rsx: Evaluate cond render test at set_render_enabled
2018-12-30 15:04:59 +01:00
eladash
26d47afec6
hle gcm: Fix cellGcmGetReportDataAddressLocation
...
* Never return NULL (also apllies to similar functions)
* Base offset is 0x0e000000 for main location
* Default location is LOCAL
Info was taken from disasm of gcm
2018-12-30 15:04:59 +01:00
eladash
568206d11a
Fix rsx capture (again)
2018-12-30 15:04:59 +01:00
Megamouse
a1dd6e080c
Qt: Sort game list after load settings to prevent icon size mismatch
...
This was sorely needed when the app crashed after resizing icons
2018-12-30 14:15:34 +01:00
fobb2
64ea7bf867
capitalize 'japanese' -> 'Japanese'
2018-12-30 05:08:43 +01:00
Jan Beich
8d308bb4c0
overlays: don't use /proc on BSDs as it may not be mounted
2018-12-29 18:07:45 +03:00
RipleyTom
aa306dd356
Trophy changes
2018-12-27 19:11:51 +01:00
eladash
4b65c3943c
Fix sys_semaphore_post count check
2018-12-26 23:03:27 +03:00
eladash
653a4ef0df
Set group status INIT on last thread stopped
...
this fixes the group status after sys_spu_thread_exit when not joining the spu group
2018-12-25 19:59:41 +03:00
scribam
7c74bafaf3
sceNp: improve sceNpManagerGetNetworkTime function ( #5451 )
2018-12-25 17:13:11 +03:00
Nekotekina
d7be0a96f3
SPU LLVM: approximate xfloat option
...
Adapt previous SPU ASMJIT changes made by @kd-11
FM, FMA, FNMS, FMS are approximated.
FCGT, FCMGT are accurate.
2018-12-24 16:04:46 +03:00
Nekotekina
f750b4c420
cellSaveData: try to address #5415
2018-12-24 16:04:46 +03:00
Nekotekina
522f5ea645
Fix cellFsGetFreeSize (following #5304 )
...
Simplify device name extraction
2018-12-24 16:04:46 +03:00
kd-11
9c46386dd4
rsx: Check av configuration when selecting display buffers!
...
- Some applications have mismatch between video output configuration and display buffer sizes
2018-12-24 09:05:19 +03:00
kd-11
7555be232f
rsx/vp: Fix double dst commands
...
- Test the vec_result mask before assigning to actual output
Sometimes, VEC op is used to write to Rx, and SCA op is used to write to o[x]!
2018-12-24 09:05:19 +03:00
kd-11
10d96a60f1
rsx/capture: Force flip if no flip event was recorded
2018-12-24 09:05:19 +03:00
kd-11
f48abde14b
rsx: Fixups for immediate rendering mode
...
- Immediate mode is isolated from the rest of the vertex configuration
- TODO: Verify register behaviour when immediate mode is used
Check if per-primitive const register values are supported (likely are)
2018-12-24 09:05:19 +03:00
kd-11
4b79ef1ad9
rsx: Implement stencil mirror views
...
- Implements a mirror view of D24S8 data that accesses the stencil components.
Finishes the implementation of TEX2D_DEPTH_RGBA as the stencil component was previously missing from the reconstructed data
- Add a few missing destructors
Image classes are inherited a lot and I forgot to make the dtors virtual
2018-12-24 09:05:19 +03:00
kd-11
696b91cb9b
rsx: Reimplement conditional execution in shaders
...
- Per-channel conditional execution introduces RAW hazards all over the place
- Its cheaper to process both branches and select between the two
- Also improves ShaderVariable functionality to allow functionality such as match_size and taking complex variables as inputs
2018-12-24 09:05:19 +03:00
kd-11
c75749f8ce
rsx: fix flip logic when grabbing output from the surface cache
2018-12-24 09:05:19 +03:00
MSuih
eba364c64c
Clear disk cache if it grows too large (dev_hdd1/cache) ( #5411 )
...
* Clear disk cache automatically
* Add disk cache to UI
2018-12-24 00:18:47 +03:00
Megamouse
b99a88afe2
Qt/Input: disable in-game controls while the pad settings are opened
2018-12-23 04:13:27 +01:00
Megamouse
e80f2793eb
Qt/Input: immediately abort remapping if the controller was disconnected
...
added some fixups
2018-12-23 04:13:27 +01:00
Megamouse
6dcf66b064
Qt/Input: add disconnected label to the devicenames
2018-12-23 04:13:27 +01:00
Megamouse
bdb5606317
Qt/Input: enable DS4 controller reconnect without refresh
2018-12-23 04:13:27 +01:00
Megamouse
6e323622a5
Qt/Input: use 1-n in the GUI instead of 1-(n-1)
...
I didn't look into evdev
2018-12-23 04:13:27 +01:00
Megamouse
91d834ce73
Qt/Input: improve DS4 device list
...
Needed to move Reset out to main_window due to hid closing problems. It's better to have the reset logic outside anyway
2018-12-23 04:13:27 +01:00
Megamouse
f617e47152
Qt/Input: disable mapping for unconnected pads
2018-12-23 04:13:27 +01:00
Megamouse
e80574cbd2
RSX/Qt: set min gs_frame size to 160x90 to prevent stupid new Vulkan bug
2018-12-22 23:10:34 +01:00
Megamouse
79003cd089
Qt/windows: use Qt's high dpi scaling
2018-12-22 23:10:34 +01:00
isshininu
9717e19be2
sceNpTrophy: use SCE_NP_TROPHY_STATUS_INSTALLED instead of SCE_NP_TROPHY_STATUS_NOT_INSTALLED
...
* Update sceNpTrophy.cpp
* Revert "Update sceNpTrophy.cpp"
* Update sceNpTrophy.cpp
* Update sceNpTrophy.cpp
2018-12-22 13:53:38 +01:00
eladash
69fc1f2613
Added CAMERA_NOT_INIT checks for no camera setting
2018-12-20 08:52:09 +01:00
Megamouse
6b1d80ec25
cellCamera: fix read_mode
2018-12-20 08:02:44 +01:00
Megamouse
bc3ab7a9d9
Input: Enable In-Game Pad Config Reset
2018-12-17 19:41:18 +01:00
vit9696
5a40c1802b
Support macOS bundling for binary distribution
2018-12-16 18:17:21 +03:00
eladash
c50d459b1e
cleanup rsx fifo debugger command display
2018-12-15 19:40:18 +03:00
eladash
098d634328
rsx fifo: Fix call cmd offset mask
...
highest 3 bits are masked according to tests, also filter certainly invalid jumps with offset higher than max
2018-12-15 19:40:18 +03:00
eladash
c2aa10cccd
reduce register_pair container
2018-12-15 19:40:18 +03:00
eladash
45ed58cdaf
Fix rsx capture replay
...
Allow to capture non-increment cmd flag that was missing in command.reg
2018-12-15 19:40:18 +03:00
eladash
87988e9da8
rsx fifo: Stability improvements
...
* Restore stack in fifo error handling
* Update get register after the cmd execution
* Fix put pause in the middle of command
* Add restore points when branching to self
* Precise nopcmd detection
* Test all invalid cmds for early treatment of queue corruption
2018-12-15 19:40:18 +03:00
eladash
835a552d8d
rsx: Implement cellGcmSetNotify
2018-12-15 19:40:18 +03:00
eladash
fd894d4c69
hle gcm: Fix cellGcmGetNotifyDataAddress
2018-12-15 19:40:18 +03:00
eladash
415b995a54
log rsx get ctrl
2018-12-15 19:40:18 +03:00
eladash
8cbaa8627c
Do not rely on cellPadInit in native ui
2018-12-15 13:51:16 +01:00
Megamouse
2e7e2bb07e
XInput: fix usage of one controller for 2 players
2018-12-15 13:13:26 +01:00
msuih
76f94940cd
Add strict texture flushing to debug options
2018-12-11 22:37:10 +03:00
Rui Pinheiro
54bfe2e102
Add log warning on slow flush path
2018-12-11 22:37:10 +03:00
Rui Pinheiro
18b9ee4541
Reimplement overlapping fbo "hack"
...
To avoid the need (and performance hit) of Read Color/Depth Buffers, we
may not invalidate overlapping fbos inside lock_memory_region unless
they are guaranteed to be superseded by the new one.
This avoids e.g. issues with overblooming, among others.
2018-12-11 22:37:10 +03:00
Rui Pinheiro
5ab7296665
Fix xcode build
2018-12-11 22:37:10 +03:00
Rui Pinheiro
bcdf91edbb
Misc. Texture Cache fixes
2018-12-11 22:37:10 +03:00
Rui Pinheiro
9d1cdccb1a
Implement dedicated texture cache predictor
2018-12-11 22:37:10 +03:00
Rui Pinheiro
af360b78f2
Texture cache section management fixups
...
Fixes VRAM leaks and incorrect destruction of resources, which could
lead to drivers crashes.
Additionally, lock_memory_region is now able to flush superseded
sections. However, due to the potential performance impact of this
for little gain, a new debug setting ("Strict Flushing") has been
added to config.yaml
2018-12-11 22:37:10 +03:00
Megamouse
1ca02c7d17
Qt: implement custom titles
2018-12-10 18:50:23 +01:00
Megamouse
ead03caedc
Qt: Fix silly edit bug that no one ever noticed
2018-12-10 18:50:23 +01:00
RipleyTom
077e710e3a
sys_fs_fcntl with parameter 0xC0000002 should extract device path from the given path and use that to gather free space information
2018-12-10 14:24:07 +03:00
Nekotekina
d6afba96f1
cellSaveData: fix 'Already exists' error
2018-12-10 01:43:47 +03:00
Nekotekina
d98420fbc3
CMake: use CMAKE_SOURCE_DIR instead of .. in some places
2018-12-10 01:43:47 +03:00
eladash
fb8302817f
ppu: Set link unconditionally
2018-12-10 01:34:02 +03:00
RipleyTom
5207b00973
Extra Handling of result value of funcStat CB.
2018-12-08 18:44:00 +03:00
Nekotekina
92be67b402
Fix #5370 regression
2018-12-05 00:06:09 +03:00
Nekotekina
476090a747
Detach VBlank and RSX Decompiler threads
...
Should fix exception handling in RSX Thread
2018-12-04 23:41:54 +03:00
elad
90265edfcd
SPU MFC: avoid copying of the lockline onto the stack in putllc/putlluc ( #5392 )
2018-12-04 21:09:55 +03:00
eladash
45942c4962
Fix segfault when scaled image dimension is less than clip's
2018-12-04 13:01:29 +03:00
eladash
fa5652fceb
rsx image_in: Implement negative scaling
2018-12-04 13:01:29 +03:00
eladash
ce500c75c4
throw exceptions in case of invalid/unknown operations in image_in
2018-12-04 13:01:29 +03:00
eladash
6ecf2fb3d0
rsx: default lv2 semaphore context + dma_4097
...
extracted from vsh
2018-12-04 13:01:29 +03:00
eladash
28e4a9e0d0
rsx image_in: Fix in_pitch 0
...
The hw doesnt fix pitch, when specifying src pitch 0 it copies the same pixels line to dst. keep in mind out_pitch = 0 is not allowed in image_in.
Same goes for buffer_notify, though it allows out_pitch to be 0.
2018-12-04 13:01:29 +03:00
eladash
d1d3ac984e
rsx image_in: Fix src size calculation when in_pitch != line_lengh
2018-12-04 13:01:29 +03:00
eladash
0a1da14a15
rsx image_in: remove clip h and w hack
...
If clip region is empty, dont execute
2018-12-04 13:01:29 +03:00
eladash
4ddafc481e
remove unreachable code
2018-12-04 13:01:29 +03:00
eladash
b48a4b6459
rsx-capture: reduce capture size
...
* Dont bother capturing 'destination' blocks with no data. instead premap all main memory to ensure allocated
* Capture zcull and tile state as their compressed gcm forms
* Fix index array capturing, ignore empty sets
* hle gcm: Fix byteswaping in cellGcmSetZcull
2018-12-04 13:01:29 +03:00
NicknineTheEagle
32059bfaa2
Properly get PARAM.SFO and icons for C00 games ( #5370 )
...
* Added a helper function for fetching game's PARAM.SFO path
This should properly get SFO path for unlocked C00 games
* Normalized line endings
* Refresh game list after installing a RAP file
2018-12-04 01:46:01 +03:00
Megamouse
afdf0b74a0
VS: filter for trophy_manager_dialog.h
2018-12-03 22:37:31 +01:00
Megamouse
87be1abb9a
Qt: fix play icon default tooltip
2018-12-03 22:37:31 +01:00
kd-11
a56ba737b5
vk: Silence log spam
2018-12-03 20:01:23 +03:00
kd-11
504ab5a6d4
rsx: Minor cleanup to silence stupid compiler warnings
2018-12-03 20:01:23 +03:00
kd-11
f4c28eceef
rsx: Fix null renderer
2018-12-03 20:01:23 +03:00
kd-11
9d0042f509
rsx: Fixup for the flattener
...
- Reset the flattener before use
- Better detection of FIFO misalignment
2018-12-03 20:01:23 +03:00
scribam
24a8d0aeef
sceNp: add SCE_NP_ERROR_ID_NOT_FOUND for sceNpBasic*Entry* functions
2018-12-03 15:26:29 +03:00
RipleyTom
7f3eaed435
Fullscreen fix
2018-12-03 14:16:47 +03:00
RipleyTom
25414953e0
Fixes maximize window to properly update the render surface in Vulkan
2018-12-01 22:20:59 +03:00
msuih
8afc035aac
Category filter for PS1/PS2/PSP games
2018-12-01 16:56:56 +01:00
kd-11
ec768afbd9
rsx: Flip workarounds for applications that flip via syscall
...
- Do not assume flip marks end-of-frame if executed via syscall
- Also disables skip_frame for these applications as there is no frame boundary
- NOTE: QUEUE_HEAD cannot be relied on as it is seemingly possible to flip the same head and not need to queue it
2018-11-30 23:51:25 +03:00
kd-11
2168159d03
gl: Fix flip regression
...
- Restore graphics state after flip (including active fbo) because flip can be made through a syscall
2018-11-30 23:51:25 +03:00
kd-11
b96ed5cd4e
gl: Do not rely on driver statistics for s3TC textures; they are inconsistent.
2018-11-30 23:51:25 +03:00
kd-11
f1c3b46d60
rsx: Fixup - undo vertex cache 'improvements'
2018-11-30 23:51:25 +03:00
kd-11
5b6e1420f3
rsx: Pipeline barriers fixed up
...
- Ensure barriers are invoked even if no draw occurs!
-- Ensures that deferred commands are executed eventually
2018-11-30 23:51:25 +03:00
kd-11
8a186bb97e
rsx: Fix insertion of execution barriers
...
- Ignore barriers inserted after BEGIN but before any draw commands are emitted
- Properly process tail barriers inserted before END but after draw commands are submitted
- Ignore execution barriers with no effect (same register value written)
2018-11-30 23:51:25 +03:00
kd-11
1d19f71a46
rsx: Re-enable fifo error reset
2018-11-30 23:51:25 +03:00
kd-11
718a04c84f
fixup: Clear disabled attrib entries
2018-11-30 23:51:25 +03:00
kd-11
833c25894f
[WIP] rsx: Rebase cleanup
2018-11-30 23:51:25 +03:00
kd-11
5193c99973
rsx: Enable dynamic FIFO preprocessing
...
- Tries to detect when FIFO preprocessing is beneficial and only enables optimizations if the benefit outweighs the cost
- Current threshold is at least 500 draw calls saved at over 2000 draw calls to justify the overhead
- TODO: More tuning for other CPUs
2018-11-30 23:51:25 +03:00
kd-11
7b065d7781
rsx: Fixup; input attributes blob decoding
...
- Use an unstructured blob and index into the vec4 structures to extract the real data
2018-11-30 23:51:25 +03:00
kd-11
846daadd5d
rsx: Fixups
...
- Improve vertex attribute layout format. Allows for full 16-bit attribute divisor
- Use actual pitch when declaring framebuffer rsx pitch instead of register value in case of swizzle? rendering
2018-11-30 23:51:25 +03:00
kd-11
2e32777375
rsx: Scrap the prebuffered queue approach
...
- Basically starting over
- The cost of making command copies into the queue has a measurable impact
2018-11-30 23:51:25 +03:00
kd-11
9deecd506a
fixup: It is possible for NOP commands to contain other garbage
2018-11-30 23:51:25 +03:00
kd-11
26a56ef1f1
vk: Spec compliance.
...
- TODO: Implement push_constants path instead of copy + bind descriptor sets
2018-11-30 23:51:25 +03:00
kd-11
d6b4440ef9
gl: Separate vertex env from program env
2018-11-30 23:51:25 +03:00
kd-11
435afcb865
rsx: Fix fifo draw barriers
2018-11-30 23:51:25 +03:00
kd-11
2d88e41583
rsx: Fix some checks when using inlined array rendering
2018-11-30 23:51:25 +03:00
kd-11
54ec363e88
rsx: Critical pipeline fixes
...
- Fix scissor and viewport binding behavior
- Fixes recovery if empty scissor is specified and then 'fixed' later
- Optimizes state binding a bit
2018-11-30 23:51:25 +03:00
kd-11
1ad76ad331
rsx: Restructure programs
...
- Also re-enable pipeline optimizations
2018-11-30 23:51:25 +03:00
kd-11
b0a6b72ce8
rsx: Optimizations
...
- Replace a few more vectors with simple_array<T>
- Avoid unnecessary string comparisons in backends. We already know referenced textures from the program analysers!
2018-11-30 23:51:25 +03:00
kd-11
677b16f5c6
rsx: Fixups
...
- Also fix visual corruption when using disjoint indexed draws
- Refactor draw call emit again (vk)
- Improve execution barrier resolve
- Allow vertex/index rebase inside begin/end pair
- Add ALPHA_TEST to list of excluded methods [TODO: defer raster state]
- gl bringup
- Simplify
- using the simple_array gets back a few more fps :)
2018-11-30 23:51:25 +03:00
kd-11
e01d2f08c9
rsx: Refactor FIFO
...
- Removes fifo structures from common RSXThread
- Sets up a dedicated FIFO controller
- Allows for configurable queue optimizations
2018-11-30 23:51:25 +03:00
Nekotekina
96cabeadff
Rewrite condition variables
...
Implement helper functions balanced_wait_until and balanced_awaken
They include new path for Windows 8.1+ (WaitOnAddress)
shared_mutex, cond_variable, cond_one, cond_x16 modified to use it
Added helper function utils::popcnt16
Replace most semaphore<> with shared_mutex
2018-11-29 01:30:05 +03:00
Nekotekina
f442a8a84c
SPU TG: add thread group stop counter
...
Fix possible race condition introduced by waiting on `running` value
2018-11-27 23:37:26 +03:00
Nekotekina
febe4d4a10
Implement class cond_x16
...
Use as reservation notifier
Limited to 16 threads but allows more precise control of contention
2018-11-26 00:23:29 +03:00
Nekotekina
7f1cbb1136
Fix 16 bit audio mode
...
Pointed by @ruipin, some backends may be affected
Reuse float buffer for conversion result
2018-11-24 02:55:29 +03:00
eladash
4baa159523
cellFsOpen flag fix
2018-11-24 02:54:48 +03:00
Megamouse
0526bfd7de
Support trophy manager moc'ing in vcxproj
2018-11-23 20:29:43 +01:00
msuih
bf0e6ca174
Load trophies in another thread
2018-11-23 20:29:43 +01:00
kd-11
f505ac7b63
qt/gs_frame: Hotfix
...
- Dynamically check the loaded QT library version in case of mismatch
- Fixes using 5.11.1 builds with non-buggy libraries and vice versa
2018-11-22 10:21:13 +03:00
eladash
3c7f02d99d
Fix libcamera regression
2018-11-19 19:05:39 +03:00
vit9696
634a5fa31c
Fix macOS compilation
2018-11-19 14:39:33 +03:00
Nekotekina
65ca934452
cellSaveData: fix truncation size (regression)
2018-11-17 14:40:11 +03:00
Nekotekina
12ceceff19
cellSaveData: restore atime/mtime for unmodified files
2018-11-17 14:40:11 +03:00
isJuhn
225310e04b
Add null alloc_addr checks to sys_memory_allocate and sys_memory_allocate_from_container
2018-11-16 18:37:07 +00:00
RipleyTom
f4fb5200a0
cellVdecGetPicture accurate error checking
2018-11-15 20:06:49 +03:00
Nekotekina
0044eb44e2
Cleanup after #5310 (SPU thread groups)
...
Move lambda into a cpu_stop()
Use running thread counter to synchronize with sys_spu_thread_group_join()
Use SPU_STATUS_STOPPED_BY_STOP exclusively for sys_spu_thread_exit() as before
Remove unnecessary waiting in sys_spu_thread_group_exit()
Rollback some minor unnecessary changes
Use shared_mutex in SPU TG
2018-11-14 12:50:24 +03:00
RipleyTom
0e0a82e536
Ensures threads are stopped in join
2018-11-13 10:19:28 +03:00
eladash
2e1aec4de8
Implement sys_spu_thread_tryreceive_event
2018-11-12 21:12:33 +03:00
RipleyTom
fada8b6594
Increases stack allocation for callbacks.
2018-11-12 15:09:26 +03:00
eladash
57b7892de6
Fix typo in sys_fs_mkdir
...
create_path is a less resticted version of create_dir, it doesnt check for EEXIST for one.
2018-11-12 13:28:58 +03:00
eladash
37b6afaf2c
rsx: inlined array stride fix
2018-11-11 23:17:07 +03:00
RipleyTom
986bb24326
Extra check when opening pup file
2018-11-10 12:41:47 +03:00
Nekotekina
2fd384ae95
SPU LLVM: check state in every callable chunk
...
It's often redundant but may be necessary
2018-11-09 16:19:59 +03:00
Nekotekina
c17a98030a
qt: Add supporters
2018-11-09 16:19:59 +03:00
eladash
90f816595a
Fix cellPadGetData
...
* Remove complete buffer clear
* If pressure sensitivity option is not specified, write zeroes (should this be handled from our actual controller handler?)
* Check sensor setting before reporting changes
2018-11-07 15:46:51 +03:00
eladash
3332a10052
ppu: Fix threads scheduler
...
*Set priority under a lock
*Fix yield command making threads going out of scheduler control by removing it from the queue (not a bug that affects compatibility)
2018-11-07 13:06:29 +03:00
eladash
3fd17e43a3
lv2: Fix lwcond_queue_wait lock acquiring
2018-11-07 13:06:29 +03:00
eladash
3faaf9e7fb
lv2: Fix lwmutex locking
2018-11-07 13:06:29 +03:00
eladash
777f36e604
Fix error code checking of sys_lwcond_signal_x
2018-11-07 13:06:29 +03:00
Ani
2abbedcc50
gui: Fix OpenCorrectionDialog message
...
It was incorrectly trying to get the previous setting value after updating the setting
2018-11-07 00:04:22 +01:00
RipleyTom
9831bc6bc9
Bluetooth returns select as KEY_BACK for XBOX ONE controller. ( #5303 )
2018-11-05 14:25:38 +00:00
Nekotekina
488928eca2
Fix SPU STOP instruction
...
Check thread state after STOP instruction
2018-11-05 14:35:50 +03:00
Nekotekina
f06e6be2c1
Disable npc update for SPU thread groups
2018-11-05 13:14:11 +03:00
Nekotekina
eaa17b7f7c
cellSaveData: anti-corruption precautions
...
Try to commit changes atomically
2018-11-05 13:14:11 +03:00
Nekotekina
6104685ad6
Implement cond_one sync primitive
...
Change futex() args to use unsigned int
2018-11-05 13:14:11 +03:00
Nekotekina
06253c8489
Implement "Initialize Directories" options
...
If disabled, /dev_hdd0, /dev_hdd1, etc, are not created automatically.
2018-11-05 13:14:11 +03:00
eladash
75221a6078
rsx: Fix inlined vertex array validation
2018-11-04 22:57:18 +03:00
eladash
43b75ccf04
cellGame: Add missing nullptr checks
...
if the param is null pointer, the library simply skips writing into it. also fix the order of writes.
2018-11-02 19:47:37 +03:00
HexyFify
98f2967aac
Update firmware latest version to 4.83
2018-11-02 00:51:42 +00:00
Zion Nimchuk
fa134337d9
Fix issue with memory validation
2018-11-02 03:21:36 +03:00
eladash
3a7f5b970f
ppu: Fix stack base
2018-11-02 02:16:29 +03:00
eladash
7056b5fc70
rsx-debugger: add forgotten super ptrs
2018-10-30 22:33:59 +03:00
eladash
68a8efdc33
rsx-debugger: auto jump into get address on startup
2018-10-30 22:33:59 +03:00
eladash
fb30c8a937
rsx enums: fix typos
2018-10-30 22:33:59 +03:00
eladash
5270dc1c9e
rsx-debugger: fix ret and nop cmd display
2018-10-30 22:33:59 +03:00
eladash
4069470585
rsx-debugger: ignore invalid cmds
...
basically ignore all non method cmds when scrolling to the next command, not only branches.
2018-10-30 22:33:59 +03:00
eladash
2058d024ce
Fix cellGcmInit (workaround)
2018-10-28 20:09:09 +03:00
Megamouse
d56c85fe01
RSX/Capture: fix filePath and remove strict mode check ( #5283 )
...
- Fixes regression introduced by kd-11 when merging in jarves' flip rework.
2018-10-27 13:06:50 +03:00
Megamouse
1cf62e9ded
Qt: add option to add games to the main menu
2018-10-27 02:37:59 +02:00
Megamouse
586c0ea1d0
Qt: rename deleteLLVMCache to removePPUCache
2018-10-23 22:35:50 +02:00
Dennis Luxen
36d4614d12
Fix a warning that shift overflows data type width ( #5116 )
2018-10-23 18:49:01 +03:00
eladash
dfacdd8a40
fixup for rsx debugging tools segfaults
2018-10-23 18:02:03 +03:00
eladash
5ee351234c
rsx-capture: unbreak
2018-10-23 18:02:03 +03:00
Megamouse
eba2216c4a
fix evdev device list
2018-10-20 22:08:58 +02:00
eladash
d14c8a03b3
typo fix
2018-10-20 22:27:48 +03:00
Zion Nimchuk
966c3fea5b
Fix command line arguments, add --version and set Qt application name
2018-10-20 20:42:25 +02:00
Megamouse
aed83e69c9
Qt: add tick marks to Master Volume Slider
2018-10-20 19:19:54 +02:00
Megamouse
6e08d8e746
Qt: also enable/disable overlay centering checkboxes
2018-10-20 19:19:54 +02:00
Megamouse
c9d8cd3613
Qt: refactor settings_dialog and add EnhanceSlider
2018-10-20 19:19:54 +02:00
Megamouse
da5385686c
Qt: add master volume slider to the audio tab
2018-10-20 19:19:54 +02:00
Zion Nimchuk
db40cbda58
Qt: set Vulkan surface in gs_frame
2018-10-20 18:49:04 +02:00
msuih
56ea45f9d5
Add setting for master volume
2018-10-20 16:35:01 +03:00
elad
6829fa0286
rsx: Improve inlined arrays ( #5248 )
...
* rsx: Implement register reads in inlined arrays
* rsx: Check for disabled streams in inlined arrays
2018-10-20 16:00:53 +03:00
Nekotekina
1b37e775be
Migration to named_thread<>
...
Add atomic_t<>::try_dec instead of fetch_dec_sat
Add atomic_t<>::try_inc
GDBDebugServer is broken (needs rewrite)
Removed old_thread class (former named_thread)
Removed storing/rethrowing exceptions from thread
Emu.Stop doesn't inject an exception anymore
task_stack helper class removed
thread_base simplified (no shared_from_this)
thread_ctrl::spawn simplified (creates detached thread)
Implemented overrideable thread detaching logic
Disabled cellAdec, cellDmux, cellFsAio
SPUThread renamed to spu_thread
RawSPUThread removed, spu_thread used instead
Disabled deriving from ppu_thread
Partial support for thread renaming
lv2_timer... simplified, screw it
idm/fxm: butchered support for on_stop/on_init
vm: improved allocation structure (added size)
2018-10-19 22:22:35 +03:00
Nekotekina
430e2243ac
Fix audio_thread buffer deallocation race
2018-10-19 22:22:35 +03:00
Nekotekina
73d35b0236
Remove CALL_FUNC, implement ppu_execute<>()
2018-10-19 22:22:35 +03:00
Megamouse
4ab777b429
Add title to emulator message dialogs
2018-10-14 23:14:46 +03:00
msuih
48416e81eb
Save compatibility draw state
2018-10-13 17:05:36 +02:00
msuih
90688c4970
Compatibility status to grid view
...
Includes icon drawing, menu option and settings entry.
2018-10-13 14:43:23 +02:00
scribam
8540399ecb
ppu-interpreter: improve vminfp instruction
2018-10-12 21:30:14 +03:00
elad
623f1b35f6
rsx_capture/gcm: Fix tile binding ( #5246 )
...
* gcm: Fix tile offset setting
highest bit signifyies location, so ignore that while reading the offset.
* rsx-capture: Fix tile binding
fixes division by zero when dividing by pitch when the tile is not bound.
* rsx-capture: Fix zcull binding
2018-10-12 19:05:08 +03:00
eladash
83b6c98563
rsx: Fix u16 index arrays overflow
...
Force u32 index array destinations to avoid overflows when adding vertex base index.
2018-10-08 16:39:47 +03:00
eladash
e361e0daa6
rsx: Fix restart index check for u16 index arrays
...
Dont ignore upper bits of the restart index with u16 types
2018-10-08 16:39:47 +03:00
scribam
39272eef45
ppu-interpreter: improve vsl/vsr instructions
2018-10-08 00:15:26 +03:00
scribam
cc846eb670
ppu-interpreter: improve fnmadd/fnmadds instructions ( #5183 )
...
* ppu-interpreter: improve fnmadd instruction
* ppu-interpreter: improve fnmadds instruction
2018-10-04 00:49:19 +03:00
Megamouse
49e5212a8f
RSX/Overlays: Add option for japanese button layout
2018-10-03 23:08:33 +02:00
Megamouse
76da3fa907
RSX/Overlays: don't press buttons on every iteration
2018-10-03 21:37:05 +02:00
Megamouse
9693d1c3a3
RSX/Overlays: formatted comments
2018-10-03 21:37:05 +02:00
eladash
348db050ae
rsx: Fix texture height read
2018-10-03 20:57:46 +03:00
eladash
62f97f2e5f
rsx: Fix default texture dimensions
...
haha
2018-10-03 20:57:46 +03:00
eladash
fa723f6dc4
rsx: Fix texture depth read
2018-10-03 20:57:46 +03:00
eladash
4174d7274d
sys_rsx: fix log spam
2018-10-03 20:57:46 +03:00
eladash
a92ae827c1
rsx: Remove texture mipmap hack
2018-10-03 20:57:46 +03:00
eladash
6586090307
rsx: Remove texture size hack
2018-10-03 20:57:46 +03:00
eladash
eacd1b8f13
rsx: Remove texture address hack
2018-10-03 20:57:46 +03:00
Nekotekina
1b740995a4
Refactor audio_thread (g_idm)
2018-10-02 23:26:54 +03:00
Megamouse
c9adb52f63
Qt: Add shader loading screen options to the settings dialog
2018-10-02 09:28:58 +02:00
Nekotekina
1456678316
Refactor audio/camera/mic threads
2018-10-02 02:22:26 +03:00
Nekotekina
19a64e0e94
Add g_typemap and g_idm alias
...
Future idm/fxm replacement
2018-10-02 02:22:26 +03:00
Nekotekina
da6ce80f4f
Make vm::get_super_ptr return contiguous memory
...
Cleanup RSX code complexity
2018-09-27 23:37:13 +03:00
eladash
72ba062b1a
rsx: Fix pfifo ret opcode
2018-09-27 17:47:32 +03:00
eladash
a47ebad24c
rsx: Fix pfifo nop cmd
2018-09-27 17:47:32 +03:00
Nekotekina
306f95a9ae
New named_thread template (preview)
...
Old class named_thread renamed to old_thread
It's too hard to move in a single commit
2018-09-27 14:04:16 +03:00
Nekotekina
4ef384a161
Fix cellVdecClose
...
Thanks Micaelis#6971
2018-09-27 14:04:16 +03:00
Nekotekina
680aaf21f0
Fix consistency in Emu::Stop()
...
Don't clear force_boot on shortcut Load()
2018-09-27 12:16:43 +03:00
Nekotekina
b2f29cd4d4
LLVM: remove false alarm errors
...
Writable sections ARE supported
2018-09-27 12:16:43 +03:00
Nekotekina
a605dd0a3f
Add missing deleted operators
2018-09-27 12:16:43 +03:00
Nekotekina
a8a8cd88a0
Implement lf_queue<>, lf_value<>
...
lf_queue<>: unbound FIFO queue with dynamic linked-list
lf_value<>: concurrently-assignable value readable without locking at the cost of memory (using dynamic linked list)
Add atomic_t<>::compare_exchange
2018-09-27 12:16:43 +03:00
kd-11
bdf85ed900
rsx: Fixup for vertex attrib parsing
...
- POS does not have to be fetched from ATTR[0]
- Confirmed with UC1 that uses WEIGHT for positions
- At least one POS stream has to exist to feed the position attribute which cannot repeat for a single triangle
2018-09-26 19:41:50 +03:00
kd-11
6a9f234dc7
rsx: Fixup flip behaviour
...
- handle_emu_flip is very heavy, only fire
2018-09-26 19:41:50 +03:00
eladash
f056ef7a80
rsx-capture: Save initial method registers state
2018-09-26 17:55:08 +03:00
eladash
5b0ed1e2eb
rsx-capture: Map dynamically rsx data injection addresses
2018-09-26 17:55:08 +03:00
eladash
8e268aedc7
rsx-capture: Rewrite FIFO commands allocation
2018-09-26 00:58:24 +03:00
kd-11
f72157bcec
rsx: Fix vertex attrib parsing
2018-09-25 22:03:35 +03:00
kd-11
dab30c0051
rsx: Disable predictions if 50% of predictions are wrong
...
- This happens often in loading screens where the memory usage pattern is often randomized by loading in of assets
2018-09-24 21:19:38 +03:00
kd-11
a3d44b5e1f
rsx: Cleanup changes for the flip patch
2018-09-24 16:44:02 +03:00
Jake
699eadc84f
rsx: Move render flip from rsx queue command to flip command
2018-09-24 16:44:02 +03:00
Rui Pinheiro
35139ebf5d
Texture cache cleanup, refactoring and fixes
2018-09-24 15:26:40 +03:00
Rui Pinheiro
8b3d1c2c91
Implement address_range utility class
2018-09-24 15:26:40 +03:00
Rui Pinheiro
f3029b2b42
Change Cell->RSX map/unmap notifications
...
This allows for further flexibility on the RSX side, allowing us to fix
some bugs and crashes in later commits.
2018-09-24 15:26:40 +03:00
eladash
06572c6011
rsx: Fix vertex count if all the streams are disabled
2018-09-24 13:25:05 +03:00
eladash
e0a676a3fe
rsx: Fix vertex arrays fetch with inlined draws
2018-09-24 13:25:05 +03:00
eladash
e8474145a5
rsx: Remove shader address verification
...
this came from a misunderstanding of the register's use
2018-09-24 13:25:05 +03:00
Megamouse
b7e010bbd0
Fix Emu.Restart()
2018-09-23 01:49:58 +01:00
Jan Beich
0da556e1f8
build/cmake: properly disable assert() globally for release builds
...
Assertion failed: (ObjectBufferMap.find(Key) == ObjectBufferMap.end() && "Second attempt to perform debug registration."), function NotifyObjectEmitted, file llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp, line 168.
2018-09-22 10:35:45 +03:00
Jan Beich
efb3b08f87
build/cmake: ADDITIONAL_LIBS satisfy dependency by other libraries
...
/usr/bin/ld: undefined reference to symbol `libiconv_open' (try adding -liconv)
2018-09-22 10:35:45 +03:00
Jan Beich
1c8fc6852a
build/cmake: build everything with -pthread, not just GLEW
...
error: POSIX thread support was disabled in PCH file but is currently enabled
2018-09-22 10:35:45 +03:00
kd-11
dafc914bcc
rsx: temporary hack
...
- Removes all use of valid_count as a metric until the new refactor is merged
2018-09-21 16:32:23 +03:00
kd-11
2b6e6a9ae9
gl: Fix problems with framebuffer reuse
...
- Matching attachments with resource id fails because drivers are reusing
handles!
- Properly sets up stale fbo ref counting and removal
- Properly sets up resource reference test with subsequent removal to
avoid using a broken fbo entry
2018-09-21 16:32:23 +03:00
kd-11
fc486a1bac
rsx: Preserve memory order when doing flush
...
- Orders flushing to preserve memory at all cost
- Avoids false positive where flushing overlapping sections can falsely invalidate another with head/tail test
2018-09-21 16:32:23 +03:00
kd-11
23dc9d54e3
rsx: Fix flip source selector
2018-09-21 16:32:23 +03:00
kd-11
a21bdb9f45
rsx; blit engine fixes
...
- Forcefully downloads and reuploads data from the CPU in case of unexpected overlaps
- Properly detect correct size of newly created blit targets
- Remember to clear any existing views when changing the default component map!
2018-09-21 16:32:23 +03:00
eladash
1a6c819176
cellgcm: Fix SET_REFERENCE initial value
2018-09-20 01:05:40 +03:00
eladash
e6b68b260a
rsx: Improve FIFO mem faults handling
...
increase the delay between faults, reduce log spam by allowing the messages to stack up
2018-09-20 01:05:40 +03:00
eladash
a8ea576b22
rsx/cellgcm: Implemet initialization registers reset
2018-09-20 01:05:40 +03:00
Nekotekina
59090f6d26
VFS: fix /host_root
2018-09-19 14:15:38 +03:00
Nekotekina
dce14a359a
Rename lv2_spu_group::num to max_num
2018-09-19 14:15:15 +03:00
Lassi Hämäläinen
9a457400e7
CMake: Fix Qt resource files not included in build
...
- Move Qt resource initialization to rpcs3_qt target
2018-09-19 01:59:27 +03:00
Lassi Hämäläinen
566c88802e
CMake: LLVM, Pulse, Alsa and libevdev being disabled
...
- These dependencies have #defines which enable code related to them
in rpcs3 and rpcs3_ui targets. They are only used in rpcs3_emu but
HAVE_* defines have to be defined in rpcs3 and rpcs3_ui targets also,
so they have to have PUBLIC visibility so defines carried over
CMake: Fix Alsa and Pulse audios being disabled
- HAVE_PULSE and HAVE_ALSA were not defined in rpcs3 target
Fixup libevdev
2018-09-19 01:59:27 +03:00
kd-11
d6dc1493cb
rsx/overlays: Implement blur, darkening and ability to disable custom background
2018-09-18 16:24:13 +03:00
kd-11
9f61fb5a78
overlays: Allow custom background for message dialog
2018-09-18 16:24:13 +03:00
Lassi Hämäläinen
7aef811ff7
CMake: Refactor CMake build ( #5032 )
...
* CMake: Refactor build to multiple libraries
- Refactor CMake build system by creating separate libraries for
different components
- Create interface libraries for most dependencies and add 3rdparty::*
ALIAS targets for ease of use and use them to try specifying correct
dependencies for each target
- Prefer 3rdparty:: ALIAS when linking dependencies
- Exclude xxHash subdirectory from ALL build target
- Add USE_SYSTEM_ZLIB option to select between using included ZLib and
the ZLib in CMake search path
* Add cstring include to Log.cpp
* CMake: Add 3rdparty::glew interface target
* Add Visual Studio CMakeSettings.json to gitignore
* CMake: Move building and finding LLVM to 3rdparty/llvm.cmake script
- LLVM is now built under 3rdparty/ directory in the binary directory
* CMake: Move finding Qt5 to 3rdparty/qt5.cmake script
- Script has to be included in rpcs3/CMakeLists.txt because it defines
Qt5::moc target which isn't available in that folder if it is
included in 3rdparty directory
- Set AUTOMOC and AUTOUIC properties for targets requiring them (rpcs3
and rpcs3_ui) instead of setting CMAKE_AUTOMOC and CMAKE_AUTOUIC so
those properties are not defined for all targets under rpcs3 dir
* CMake: Remove redundant code from rpcs3/CMakeLists.txt
* CMake: Add BUILD_LLVM_SUBMODULE option instead of hardcoded check
- Add BUILD_LLVM_SUBMODULE option (defaults to ON) to allow controlling
usage of the LLVM submodule.
- Move option definitions to root CMakeLists
* CMake: Remove separate Emu subtargets
- Based on discussion in pull request #5032 , I decided to combine
subtargets under Emu folder back to a single rpcs3_emu target
* CMake: Remove utilities, loader and crypto targets: merge them to Emu
- Removed separate targets and merged them into rpcs3_emu target as
recommended in pull request (#5032 ) conversations. Separating targets
probably later in a separate pull request
* Fix relative includes in pad_thread.cpp
* Fix Travis-CI cloning all submodules needlessly
2018-09-18 13:07:33 +03:00
eladash
05cd3712a3
spu: Fix MMIO index checking
2018-09-17 17:24:54 +03:00
elad
0d4f0f95cc
rsx: Clamp texture offsets ( #5137 )
...
* rsx: Clamp texture offsets
* rsx: Remove texture location check/hack
2018-09-17 10:55:17 +03:00
Nekotekina
ed8aa774bb
Optimize logging via logs::channel
...
Use constant-initialized severity subobjects instead of temporaries
2018-09-16 00:36:20 +03:00
Nekotekina
b94e98aed5
Rewrite sys_fs_opendir
...
Rewrite lv2_dir object
Support split files and mount points
2018-09-15 17:18:40 +03:00
Nekotekina
c5676e5649
Remove thread_ctrl::atexit
...
It was only a workaround for poor C++11 thread_local support
2018-09-15 17:09:56 +03:00
Nekotekina
f2229a5f53
PPU reservations: ensure aligned atomic ops
...
Store aligned 64 bits to ppu.rdata
Don't save reservation size
2018-09-15 17:09:56 +03:00
Nekotekina
e8b5555630
Rewrite vfs::get and vfs::mount
...
Preprocess . and .. correctly
Don't use recursive locking
Also use std::string_view
Fix format system for std::string and std::string_view
Fix fmt::merge for std::string_view
2018-09-15 17:09:56 +03:00
kd-11
16dcbe8c74
rsx/vp: Fix ARL opcode properly
...
- NOTE: The address swizzle index is only for use as src. The address registers are only used one channel at a time.
- When the destination of ARL, the encoding is the same as the other temp registers
2018-09-15 11:57:06 +03:00
Megamouse
ed7012c9db
cellKb/Qt: Improve basic keyboard
...
Sadly the shift in Qt is a bit counter productive.
You'll have to hack another key as shift until i figured it out
2018-09-13 22:01:30 +02:00
elad
d24f9194f7
typo fix
...
shader's location is decremented by one to match cellGcm's constants.
2018-09-13 16:49:58 +03:00
eladash
b9ad578b00
rsx: Add a default shader address state
2018-09-13 16:49:58 +03:00
Dzmitry Malyshau
d28c0d16f8
[vk] don't ask for VK_FORMAT_UNDEFINED support
2018-09-13 16:04:50 +03:00
scribam
4cb98014a2
rsx: tiny zcull optimizations
2018-09-13 12:43:40 +03:00
eladash
cd11ae5d8b
ppu: Fix extreme reservation corner case
2018-09-12 23:17:53 +03:00
eladash
efbd77deb4
rsx: dont silently ignore null shader address
2018-09-12 00:40:20 +03:00
Dzmitry Malyshau
7c4693e271
[vk] Throw an exception on using a repder pass that the driver doesn't support
2018-09-11 23:44:56 +03:00
Dzmitry Malyshau
89ddeda24a
[vk] check for attachment format properties before pre-creating render passes
2018-09-11 23:44:56 +03:00
scribam
f294729b28
ppu: improve lvebx/lvehx/lvewx instructions
2018-09-11 21:20:52 +03:00
scribam
3072571a4f
cpu: use correct type when defining llvm value is_int constexpr
2018-09-10 19:59:37 +03:00
scribam
c8c8ce5e9e
rsx: add virtual destructor for default_vertex_cache
2018-09-10 19:59:37 +03:00
kd-11
f413996362
rsx: Minor texture cache fixes
...
- Retag resources reprotected under flush_always rules
- Properly check for blit resource fitting taking into account format
mismatch, pitch mismatch and typeless transfers
2018-09-10 15:43:28 +03:00
Nekotekina
2226125728
atomic_t<>: remove inline assignment
...
Add atomic_op/fetch_op overloads with template argument (may be removed in future)
Remove args... in atomic_op (capturing lambda is preferred)
2018-09-09 12:59:24 +03:00
Nekotekina
3ac1b46df2
Add option "HLE lwmutex"
...
Replaces lwmutex/lwcond implementation with alternative one
2018-09-09 01:02:19 +03:00
Alex James
5237779136
cellCamera: Fix check_dev_num call in cellCameraOpenEx
2018-09-08 20:07:10 +03:00
Nekotekina
fb5cdf9769
atomic_t<>: extend fetch_op to support cancellation
...
Use std::invoke inside atomic_op/fetch_op
Remove op_fetch because it's easily replaced
Add fetch_dec_sat algorithm (conditional decrement)
2018-09-08 00:32:04 +03:00
Nekotekina
ed9fb8405b
Move rotate/cntlz/cnttz helpers to Utilities/asm.h
2018-09-08 00:32:04 +03:00
Nekotekina
ee96807305
Remove explicit_bool_t, ignore, multicast<>
...
Remove vm::ptr operator %
This was a bad idea but explicit_bool_t was created almost for it
Other removed types are unused and have little to no meaning
2018-09-08 00:32:04 +03:00
Nekotekina
99ffc3fca9
Use std::invoke_result_t
...
Also simplify idm code
2018-09-08 00:32:04 +03:00
Nekotekina
d750e955c3
Use std::uncaught_exceptions()
...
Also remove wrong attributes
2018-09-08 00:32:04 +03:00
Dzmitry Malyshau
4e09573937
[vk] Check for BGRA8 linear image to support blitting
2018-09-07 22:02:02 +03:00
Dzmitry Malyshau
b454dde871
[vk] fix cubic view construction
2018-09-07 19:11:34 +01:00
Ofek
d7b0344091
Fix trophy regression
...
Hopefully
Correct status order
2018-09-07 20:04:37 +03:00
Dzmitry Malyshau
27474316fd
Add missing virtual desctructors ( #5094 )
2018-09-07 14:35:40 +03:00
Zion Nimchuk
46812d46ba
better stub sceNpUtilBandwidthTestGetStatus
2018-09-07 12:38:51 +03:00
kd-11
66610a28af
rsx/common: Clean up shared glsl header to minimize string concat operations
2018-09-06 21:11:11 +03:00
kd-11
346b97f871
rsx: Preserve fog coordinate across shader stages
...
- The x value contains the VP output value interpolated across primitive surface
- The y coordinate contains the fog fraction according to the selected fog formula
2018-09-06 21:11:11 +03:00
scribam
343656f66d
cleanup: remove unnecessary return and namespace declaration
2018-09-06 13:15:59 +03:00
scribam
2834c88de7
cleanup: remove intermediate const char* variables
2018-09-06 13:15:59 +03:00
scribam
f83d381e1e
clang-tidy: use nullptr
2018-09-06 13:15:59 +03:00
scribam
c4cff9b543
clang-tidy: remove redundant "apply_swizzle_remap" declaration
2018-09-06 13:15:59 +03:00
scribam
d7bb59cd99
c++17: use std::size
2018-09-06 13:15:59 +03:00
scribam
7724161c14
c++17: use std::clamp
2018-09-06 13:15:59 +03:00
scribam
02ba529eea
sys_usbd: add sys_usbd_event_port_send function
2018-09-05 19:53:09 +03:00
Nekotekina
ca5158a03e
Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex)
...
Remove semaphore_lock and writer_lock classes, replace with std::lock_guard
Change semaphore<> interface to Lockable (+ exotic try_unlock method)
2018-09-03 23:00:36 +03:00
Nekotekina
5e556a87ff
Adjust cellMic log levels
2018-09-03 21:40:36 +03:00
Nekotekina
ce4c4696dd
Try to get rid of SIZE_32 macro
2018-09-03 21:40:36 +03:00
Nekotekina
7bccdbf157
Make vm::var unmoveable
...
Fix bugs with discarding vm::make_var result
2018-09-03 21:40:36 +03:00
Nekotekina
8abe6489ed
Mega-cleanup for atomic_t<> and named bit-sets bs_t<>
...
Remove "atomic operator" classes
Remove test, test_and_set, test_and_reset, test_and_complement global functions
Simplify atomic_t<> with constexpr if, remove some garbage
Redesign bs_t<> to use class, mark its methods constexpr
Implement atomic_bs_t<> for optimizations
Remove unused __bitwise_ops concept (should be in other header anyway)
Bitsets can now be tested via safe bool conversion
2018-09-03 21:40:36 +03:00
Nekotekina
69f0ad0d68
Remove ALIGN_32 macro
...
It's never used in expressions like SIZE_32(T) * n, so it doesn't help to fix any warning issued due to truncation.
2018-09-03 21:40:36 +03:00
kd-11
dea5193fd7
rsx: Fix FP temp register count
2018-09-03 21:39:18 +03:00
Rui Pinheiro
1175658bd5
Fix cellMic regression from #4467
...
cellMicEnd would get stuck waiting for the cellMic thread to finish, but
it never does because micInited is still true.
Fixes Resistance: Fall of Mankind getting stuck after the menu
2018-09-03 19:49:41 +02:00
kd-11
2e0ecb556c
rsx: Possible fix for UB data type consistency
2018-09-03 18:24:20 +03:00
kd-11
5a08b690d5
gl: always clean up the heap when using legacy buffers
2018-09-03 18:24:20 +03:00
kd-11
815f4aa63b
vk: Improve logging of device names and driver versions
2018-09-03 18:24:20 +03:00
kd-11
e23435a190
vk: whitespace fix only
2018-09-03 18:24:20 +03:00
kd-11
85d38b5751
d3d12: restore working graphics
2018-09-03 18:24:20 +03:00
kd-11
6399833182
rsx: Fix endianness order when immediate mode register is updated, but used as register lookup
...
- Simplify the code by unifying all the register-backed memory
2018-09-03 18:24:20 +03:00
eladash
9acaee563b
Fix sys_memory_free
2018-09-01 22:44:20 +04:00
scribam
bf89b709cb
Remove useless #include
2018-08-31 20:13:54 +04:00
scribam
c2973d2b82
Update ConfigureCompiler.cmake to check for the same compiler versions as those set in README.md
2018-08-31 20:13:54 +04:00
scribam
7d0e94ab0a
Compilation fixes for optional on osx
2018-08-31 20:13:54 +04:00
scribam
6c62d042c5
3rdparty: remove optional submodule
2018-08-31 20:13:54 +04:00
Lassi Hämäläinen
79cf2832ae
Remove Utilities/variant.hpp and use C++17 variant
...
- Remove also Utilities/variant_visitor.hpp
- Fix variant and variant_visitor usages and #includes
2018-08-31 17:49:59 +04:00
Nekotekina
85fa0942e7
vm: allow 4k-aligned allocations for vm::stack
...
Fix utils::shm::map logic for MapViewOfFileEx
2018-08-30 14:56:45 +03:00
Nekotekina
c49c7de427
sys_fs_stat: support split files
...
Was forgotten after sys_fs_open
2018-08-30 14:56:45 +03:00
Megamouse
f933947a27
keyboard_pad_handler: fix mouse for multimonitor fullscreen
2018-08-30 07:38:11 +02:00
Megamouse
e53ca429a1
Adjust to US keyboard... sigh
2018-08-30 07:38:11 +02:00
Megamouse
1fbd918d59
Qt: implement first Mouse Movement for keyboard pad handler
2018-08-30 07:38:11 +02:00
elad
685eaedbf9
rsx: Fix typos ( #5054 )
2018-08-30 00:47:48 +03:00
Ani
4357892081
Bump CMake Requirement to 3.8.2+
...
With older builds CMake will error out with `CXX_STANDARD is set to invalid value '17'`
CXX_STANDARD 17 was added on CMake 3.8.X as found in the 3.8.2 documentation: https://cmake.org/cmake/help/v3.8/prop_tgt/CXX_STANDARD.html
Also removes leftover from old VS2015/2017 mixed instructions, removes "Not GCC 6.1" since we require 7.3+ now and bumps Xcode to 10. Proper MacOS instructions will be added afterwards by someone else.
2018-08-29 22:01:57 +01:00
Ofek
4c1459534d
Trophy fixes
2018-08-29 16:56:17 +03:00
Megamouse
686d3eb1df
cellMsgDialog: improvements
2018-08-29 16:09:00 +03:00
Megamouse
00b31c27a3
cellGame: implement error messages and some stubs
2018-08-29 16:09:00 +03:00
Megamouse
7208aa37cc
cellMsgDialog: introduce open_msg_dialog
2018-08-29 16:09:00 +03:00
Megamouse
d4285fb196
cellGameExec: add param checks
2018-08-29 16:09:00 +03:00
Zion Nimchuk
f9cab3270f
Initial work on cellMic
2018-08-29 15:15:18 +03:00
jmatich
b5dbd44087
Compilation fixes for Mingw64 (MSYS2) ( #4899 )
...
fix compilation on mingw
2018-08-29 14:27:10 +03:00
eladash
37ee0a2f55
Rsx/cellgcm: complete rsx_state::reset()
2018-08-29 13:37:50 +03:00
eladash
fc50e6abcb
Rsx: remove method registers reset
...
cellGcm manually resets registers each flip, tested with cellGcmSetFlip
2018-08-29 13:37:50 +03:00
Dzmitry Malyshau
c452b43ebc
Basic support for Vulkan Portability on OSX
2018-08-28 21:20:11 +03:00
eladash
acf1286b49
Rsx: fix unknown cull faces
2018-08-28 10:47:24 +03:00
eladash
38a72cc6ee
Rsx: fix flip method registers reset
...
driver flip does not reset registers
2018-08-28 10:47:24 +03:00
eladash
e279bdb304
Rsx: add missing default vertex shader attributes registers states
2018-08-28 10:47:24 +03:00
zarroboogs
23f5cee653
Git Revision Fix ( #5043 )
...
* fix shotrened git revision in version string
2018-08-27 22:53:45 +04:00
Nekotekina
7b4f70390d
Don't use decltype(spu_opcode_t::...)
...
Add static constant for this purpose
Try to fix MSVC bug warning C4573
2018-08-25 21:06:24 +03:00
Nekotekina
363811981d
Reintroduce LOG_CHANNEL
...
Groundwork for further improvements
2018-08-25 15:39:00 +03:00
Nekotekina
a93a40e8d9
Disable texture_cache::emit_once (MSVC crash)
2018-08-25 01:58:28 +03:00
Nekotekina
1c6c24f8ac
Update GSL and yaml-cpp submodules
2018-08-25 01:15:47 +03:00
Nekotekina
923314aef5
Rewrite texture_cache::emit_once
...
Also trying to workaround MSVC bug
2018-08-25 01:15:47 +03:00
Nekotekina
bb19feca96
Workaround MSVC bug
...
It fails to parse Args... in fmt::get_type_info<>()
2018-08-25 01:15:47 +03:00
Nekotekina
6bbec61856
VS: enable C++17
2018-08-25 01:15:47 +03:00
Zangetsu38
c30a7c0041
Update Project to Visual Studio 2017.
2018-08-25 01:15:47 +03:00
Nekotekina
5afd12e8a4
[CMake] Use C++17
2018-08-24 16:44:19 +03:00
Nekotekina
6cc7d1fb26
Use std::void_t
2018-08-24 16:44:19 +03:00
kd-11
21e1911112
vk: Improve fence wait logic
2018-08-24 14:52:22 +03:00
kd-11
76f102e865
vk: Check for allowed texbuffer range instead of assuming 64M
2018-08-24 14:52:22 +03:00
Mårten Nordheim
b095a0be90
Fix compilation with VS2017
2018-08-24 14:46:33 +04:00
kd-11
f0a91484a0
vk: Implement double-buffered heaps for platforms without universal support for host visibility (APPLE)
2018-08-23 22:54:56 +03:00
kd-11
c6e35706a3
vk: Support sw component swizzle decode because metal sucks
2018-08-23 22:54:56 +03:00
kd-11
f3d3a1a4a5
rsx: Rework section reuse logic
2018-08-22 17:22:54 +03:00
eladash
874d18f761
rsx-debugger: bugfixes and improvements
...
*always translate given address
*add a few missing methods names
*fix branches
2018-08-22 13:19:07 +03:00
eladash
56d553f10d
Rsx: fix cmd jump over put register
2018-08-22 12:20:31 +03:00
eladash
18ec05c070
Fix cellGcmInit
...
add a missing reset
2018-08-22 12:20:31 +03:00
eladash
158019b50f
Rsx: fix translation when address is negative
...
move address shift to where it should be, extend io table to catch all possible values.
2018-08-22 12:20:31 +03:00
Megamouse
d1d1b2effd
Qt: only center basic mouse input on active fullscreens
2018-08-20 20:19:41 +02:00
Ani
6fc869e21b
Revert d1fd4d5000
2018-08-20 00:12:30 +04:00
kd-11
25ec3789fe
rsx: Fix present modes ordering
...
- Newer nvidia drivers are not exposing IMMEDIATE present mode unless you change options in nvidia control panel
This can cause severe performance degradation unless the vsync option is set to "off" in control panel
2018-08-19 15:56:07 +03:00
Nekotekina
386e301ea0
Name missing vm::spu location
2018-08-18 21:38:43 +03:00
Nekotekina
e8d144f399
Improve vm::reader_lock
...
Add upgrade() method
2018-08-18 21:14:52 +03:00
Nekotekina
6ec4a88eb5
Hardcode vm::user64k location
2018-08-18 21:02:16 +03:00
Nekotekina
182c04b59d
Improve vm::unmap
...
Prevent unmapping predefined locations
2018-08-18 21:01:32 +03:00
Megamouse
7cf82d2511
Qt: fix stylesheet warning
2018-08-18 22:00:37 +04:00
kd-11
7915dcb23c
rsx: Do not overflow the program buffer!
...
- Some games overflow the program buffer e.g Resistance games
The observed overflow is one instruction longer, likely an engine bug
with counting instructions
2018-08-18 16:14:30 +03:00
kd-11
dd21e43ed5
rsx: Force disable draw reordering when capturing a frame
2018-08-18 16:14:30 +03:00
kd-11
937f1e8cd0
fix gcc build
2018-08-18 16:14:30 +03:00
kd-11
4b2b662c3a
rsx: Followup to the memory inheritance hierachy patch
...
- Tags framebuffer resources on first use (when on_write is called to verify memory)
- Texture cache now selects the best match and even sorts atlas writes with memory write order to avoid older data showing over newer one
2018-08-18 16:14:30 +03:00
kd-11
ec31157bc7
gl: Avoid unnecessary scissor state change every draw call.
2018-08-18 16:14:30 +03:00
kd-11
8c93db342f
gl: Reuse framebuffer resources
...
- WIP optimizations for GL backend
2018-08-18 16:14:30 +03:00
kd-11
cca488d0cf
rsx: Enable swizzled decode for all formats unless proven otherwise
...
- Some formats are proven to ignore swizzle flag
- DXT compressed textures
- COMPRESSED_BG_GB class textures
- Some applications are using swizzled wide integer formats so those are confirmed to swizzle
2018-08-18 16:14:30 +03:00
kd-11
f8a9b1fa30
[WIP] rsx: Improve memory inheritance hierachy
...
- Cascade memory writes by invalidating 'downstream' subsurfaces
- Fixup; always resolve for overlapping surfaces before sampling (force
atlas gather test)
2018-08-18 16:14:30 +03:00
kd-11
ba5b59dc59
gl: Do not create secondary context if async is disabled
...
- Some third party programs fall apart when multiple contexts are created
2018-08-18 16:14:30 +03:00
kd-11
0f36e87010
zcull: Improve the delay algorithm to be more consistent
...
- Use proper time checking; depending on what is being done one 'tick' can
be almost a millisecond long or several nanoseconds
- Avoid spamming the system timer unless necessary
2018-08-18 16:14:30 +03:00
kd-11
38191c3013
rsx: Avoid acquiring the vm lock; deadlock evasion
...
- A possible deadlock is still present if rsx is trying to get a super_ptr whilst the vm lock holder is in an access violation
This patch makes this scenario very unlikely since each block need only be touched once
2018-08-18 16:14:30 +03:00
kd-11
741ee9ac41
rsx: Allow linear filtering when reading back GPU-resident memory
2018-08-18 16:14:30 +03:00
kd-11
cc7848b3ef
vulkan: Fix blit engine transfer to ARGB8 render target memory
2018-08-18 16:14:30 +03:00
kd-11
e9d6096356
vk: Fixups for type b surfaces
2018-08-18 16:14:30 +03:00
kd-11
373e02e91c
rsx: Timestamp accuracy workaround
2018-08-18 16:14:30 +03:00
kd-11
1200ca8172
rsx: Optimize hash_struct; vk cleanup
2018-08-18 16:14:30 +03:00
kd-11
d0165290b6
rsx: Refactor and fix framebuffer layout checks
...
- Refactors shared code back into rsx core
- Adds extra check to avoid contest confusion
2018-08-18 16:14:30 +03:00
kd-11
0267221586
Minor optimizations and fixes
...
- FIFO: avoid multiline spam
- VK: Fix program setup counter
- FS: Precalculate fragment constants buffer size during analysis step
2018-08-18 16:14:30 +03:00
kd-11
9f0fada17a
ZCULL: lower notice severity to avoid spam
2018-08-18 16:14:30 +03:00
kd-11
8800c10476
zcull synchronization tweaks
...
- Implement forced reading when calling update method to sync partial lists
- Defer conditional render evaluation and use a read barrier to avoid extra work
- Fix HLE gcm library when binding tiles & zcull RAM
2018-08-18 16:14:30 +03:00
kd-11
3b47e43380
rsx: Synchronization rewritten
...
- Do not do a full sync on a texture read barrier
- Avoid calling zcull sync in FIFO spin wait
- Do not flush memory to cache from the renderer side; this method is now obsolete
2018-08-18 16:14:30 +03:00
Rui Pinheiro
23b52e1b1c
Mark unsync textures dirty when deferred flushing
...
invalidate_range_impl_base does not mark all textures that will only be
unprotected as dirty when doing a deferred flush, since that is done by
flush_all.
However, if there are no sections to flush, the deferred flush will
use the same code path as non-deferred flushes for unprotecting textures
and forget to mark them as dirty.
This commit fixes this bug.
2018-08-16 15:38:36 +03:00
Rui Pinheiro
fa6a5761b3
Refactor get_intersecting_set
...
The existing implementation restarts the loop immediately after
finding a range_data instance that updates the trampled_range.
This commit refactors this method to continue the loop with the updated
trampled_range, and then repeat only those range_data instances that
were iterated through before the trampled_range was last updated.
As a result, the number of total iterations required is reduced.
2018-08-16 15:38:36 +03:00
Rui Pinheiro
b534d49e48
Fix off-by-one error in get_intersecting_set
...
When the trampled range changes, get_intersecting_set restarts the
outer loop. However, due to an off-by-one error, it skips the first
cache entry when doing so. This can cause a texture not to be
correctly unlocked, which could lead to issues or even deadlocks.
This commit fixes this off-by-one error.
2018-08-16 15:38:36 +03:00
Rui Pinheiro
f82ce06fdc
Fix typo in buffered_section::overlaps_page
...
If "address" is not page-aligned, the calculated end address for the
corresponding page is incorrect which can lead to false positives,
causing some textures to be re-uploaded unnecessarily.
This commit fixes this typo.
2018-08-16 15:38:36 +03:00
eladash
9d8c9c2460
sys_memory: fix default alignment flag
...
its 1mb
2018-08-16 03:27:11 +04:00
eladash
061c787e56
rsx-capture: unbreak
2018-08-16 03:27:11 +04:00
Nekotekina
6c62f42d8d
Fix include in log_frame.cpp
2018-08-14 23:59:28 +03:00
Nekotekina
5e20d4b481
Fix vm regression from #4975
...
Incorrect vector management
2018-08-14 23:57:20 +03:00
Nekotekina
a3daa99a33
Fixup sys_vm_memory_map
2018-08-14 16:08:45 +03:00
Nekotekina
aa4040bb7b
Implement vm::find_map; improve memory allocation
...
Add vm::user64k and vm::user1m constants
Remove vm::user_space, unreserve it
2018-08-14 15:14:06 +03:00
Nekotekina
9578e1e923
SPU LLVM: lower some log levels
2018-08-14 15:14:06 +03:00
Nekotekina
62f9a2dc4b
sys_fs_open: support split files
2018-08-14 15:14:06 +03:00
Megamouse
57ba9d3939
basic mouse handler: multi monitor adjustments
2018-08-13 22:23:22 +02:00
Megamouse
1a5b950d8b
fix cellMouse lag + fullscreen mouse
2018-08-13 22:23:22 +02:00
Megamouse
aaea9d6946
Add the accurate xfloat option to the CPU tab
2018-08-13 20:44:08 +04:00
eladash
449888b9db
Rsx/vm: fix base addresses
2018-08-13 16:16:34 +03:00
eladash
f349695a75
Rsx: rewrite address translation
2018-08-13 16:16:34 +03:00
eladash
9e380a4a4a
Rsx: avoid invalid cmds execution
2018-08-12 23:37:24 +03:00
eladash
c80eb1ba02
Rsx: fix CALL and RET cmd
2018-08-12 23:37:24 +03:00
Nekotekina
801089cf44
PPU LLVM: always link syscall_## functions
...
Regardless of whether they have name or not
Should fix "Linkage failed" errors introduced after #4886
2018-08-12 15:42:47 +03:00
Nekotekina
359bfa88b7
Update supporters
2018-08-12 15:42:47 +03:00
Nekotekina
fdd4f03b93
SPU LLVM: improve xfloat precision
...
Use doubles for intermediate representation
Add option "Accurate xfloat" to enable
2018-08-12 15:42:47 +03:00
Nekotekina
d1fd4d5000
PPU: don't use transactions (test)
2018-08-12 02:42:32 +03:00
Nekotekina
14e6577700
SPU LLVM: improve debugging RPCS3
...
Build cache in reverse order
Catch exceptions in instruction loop: print IR
2018-08-12 02:42:32 +03:00
Nekotekina
711e0f75ee
SPU LLVM: inline WRCH (preview)
...
With lööps for TSX bróþers
2018-08-12 02:42:32 +03:00
Nekotekina
d01bf3bcb0
SPU LLVM: rewrite CGX
2018-08-12 02:42:32 +03:00
Nekotekina
d3ad44aec4
SPU LLVM: improve constant propagation
...
Propagate constants in non-volatile registers between chunks
Disable function table in Mega mode
2018-08-12 02:42:32 +03:00
Nekotekina
a424fcfcf7
PPU LLVM: fix phenoms
2018-08-12 02:42:32 +03:00
Chris Weermann (TGE)
fdcc5adc8d
Fix overflow in PPUThread stack frame dump
2018-08-11 20:56:19 +04:00
eladash
745ed8331c
Fix sys_rsx_context_iounmap args
2018-08-11 18:14:35 +04:00
Maxetto
05c1f192f5
Update new LV2 names ( #4886 )
2018-08-11 16:46:44 +04:00
VelocityRa
1625f4bcc9
cellCamera: Fixes
...
- Fix regression from #4676
- Refactoring of event queue management stuff
- Some accuracy fixes
2018-08-07 02:54:14 +02:00
Megamouse
69af607491
cellCamera: improvements
2018-08-02 00:24:06 +02:00
Megamouse
456aa4ab8d
cellMusic: improvements
2018-08-02 00:24:06 +02:00
Megamouse
f8c8a3a26c
cellPad: improvements
2018-08-02 00:24:06 +02:00
Megamouse
27820f0371
cellMouse: improvements
2018-08-02 00:24:06 +02:00
Megamouse
bff038f554
cellKb: improvements
2018-08-02 00:24:06 +02:00
Megamouse
6629983ca7
Fix alignment in KeyboardHandler.h
2018-08-02 00:24:06 +02:00
Megamouse
56a9966d69
VS: move keyboard_pad_handler to a better filter
2018-08-02 00:24:06 +02:00
Megamouse
8cb749110f
RSX Overlay: fix set text
2018-07-30 20:58:41 +02:00
Megamouse
4f8b131e64
Qt/Emu: Fix RSX capture boot process
2018-07-29 13:31:09 +02:00
Megamouse
52e1a06f8c
Qt: fix trophy table row selection
2018-07-29 13:31:09 +02:00
Megamouse
d057c79733
RSX: use localtime_s instead of localtime
2018-07-28 23:10:45 +02:00
Megamouse
f82739afb0
RSX: Add performance overlay colors to configs
...
use a string hex color code. Allowed string formats are:
#FFFFFF or #FFFFFFFF (or both without #)
2018-07-28 23:10:45 +02:00
Megamouse
2211e95e41
RSX/Qt: add the possibility to center the performance overlay
2018-07-28 23:10:45 +02:00
Megamouse
67aff85e8e
RSX/Qt: Move rrc captures to captures dir
2018-07-28 23:10:45 +02:00
Megamouse
bb8fa28521
RSX: add config settings for shader compilation hint positions
2018-07-28 23:10:45 +02:00
Megamouse
eecb984689
RSX/Qt: add more performance overlay options to the gui
2018-07-28 23:10:45 +02:00
Megamouse
451d64407b
Qt: fix gui settings options
2018-07-28 23:10:45 +02:00
Megamouse
f8d396ac9e
change rsx_capture filename
2018-07-28 23:10:45 +02:00
Megamouse
7788007cbd
Qt: implement tty auto scroll
2018-07-28 23:10:45 +02:00
Megamouse
ab84a67511
Loader: handle fs::file is Null fatal after decrypt self
2018-07-28 23:10:45 +02:00
Megamouse
3ed98be6cd
Qt: format category maps. they were ugly af
2018-07-28 23:10:45 +02:00
Megamouse
50dd704f2b
Qt: implement EnhanceSpinBox and EnhanceDoubleSpinBox
2018-07-28 23:10:45 +02:00
Megamouse
525c257c6a
Qt: handle invalid entries in config files
...
and improve error handling in enhancements
2018-07-28 23:10:45 +02:00
Megamouse
b0f464d110
Qt: fix initial deadzone label sizes
2018-07-27 19:56:56 +02:00
Megamouse
01d8c3f616
Qt: fix pad settings keyboard input
2018-07-27 19:56:56 +02:00
Megamouse
e29ea61f7c
Qt: fix user manager localusername and add textvalue to the inputdialog
2018-07-27 07:41:05 +02:00
Megamouse
f84883223b
Qt: add some hotkeys to some user account interactions
2018-07-27 07:41:05 +02:00
Megamouse
c39bd490ba
Qt: fix user manager directory scan
2018-07-27 07:41:05 +02:00
Megamouse
2f6957c9c8
Qt: minor user manager style changes
2018-07-27 07:41:05 +02:00
Megamouse
847da3951c
Qt: fix user manager button behaviour
2018-07-27 07:41:05 +02:00
Megamouse
b0b4998050
Qt: only ignore highlights on specified tables
2018-07-27 07:41:05 +02:00
Megamouse
f6a3659a14
user_manager: megamouse fixes 4
2018-07-26 03:16:51 +04:00
Megamouse
e58b7cbe1f
user_manager: megamouse fixes 3
2018-07-26 03:16:51 +04:00
mpm11011
9ca8ec8ec7
user-manager: m_trophy_dir changed to lowercase.
2018-07-26 03:16:51 +04:00
Megamouse
622c8c2788
user_manager: megamouse fixes 2
...
(cherry picked from commit 89c7740df1b40095bfa715ff863056d5797b9f89)
2018-07-26 03:16:51 +04:00
Megamouse
eef900ef41
user-manager: megamouse fixes
...
(cherry picked from commit 949807c1cc689e12e5f0cea367564306ea36a759)
2018-07-26 03:16:51 +04:00
mpm11011
68202eb2b7
user-manager: replacing fmt::format with string concat.
...
(cherry picked from commit 63379afc7a402edb2159912318281febc3e7438a)
2018-07-26 03:16:51 +04:00
mpm11011
948bd3673e
user-manager: squash all commits for this feature.
2018-07-26 03:16:51 +04:00
scribam
c5c0f68b3e
ppu-precise: improve vaddsws and vadduws instructions
2018-07-22 19:53:28 +04:00
kd-11
19d808d378
rsx/gl: Minor cleanup and optimization
...
- Track register change status
- Remove unused gl classes
2018-07-22 17:19:59 +03:00
kd-11
8695f95267
rsx: Reimplement cached textures and their views
2018-07-22 17:19:59 +03:00
Megamouse
8b693ed7bb
MMJOYSTICK: fix nullpointer crash in GetMMJOYDevice
2018-07-22 12:50:52 +02:00
Megamouse
d13e71eeb8
Qt: merge pad settings
2018-07-22 12:50:52 +02:00
Megamouse
52bfe6d4fb
Qt: remove obsolete and useless menu entry: "Show Game Tool Bar"
2018-07-22 12:50:52 +02:00
eladash
12b8908a00
cellvdec: stub unsupported video timebases
2018-07-21 15:32:38 +04:00
Nekotekina
89fe3705a4
Remove cpu_translator::ucarry<>
2018-07-21 12:18:07 +03:00
Nekotekina
9b4e63df6d
SPU LLVM: simplify CG, CGX, BG, BGX
2018-07-21 12:18:07 +03:00
Nekotekina
03e6725fcf
PPU LLVM: simplify VMSUMUHS
2018-07-21 12:18:07 +03:00
Nekotekina
d2d07abcc5
cellSaveData: print SECUREFILE secureId
...
This can help to decrypt savedata
2018-07-21 12:18:07 +03:00
John
6caffd0e32
Add a channel map to the PA backend to fix surround sound ( #4911 )
...
* Add a channel map to the PA backend to prevent issues with more than 6 channels
* Arranged the mapping per cellAudio.cpp
2018-07-21 03:02:07 +04:00
scribam
5828367013
spu-precise: fix double-precision floating-point exception checks
2018-07-20 15:22:14 +04:00
Megamouse
8bfe4c908c
Qt: Add rrc capture replay per drag and drop
2018-07-19 22:37:27 +04:00
Megamouse
60a276e9ce
Qt: allow bulk pkg installation
2018-07-19 22:37:27 +04:00
Megamouse
05c5763492
Fix Async Shader Tooltip
2018-07-19 22:37:27 +04:00
eladash
20e9ae069c
Fix sys_time_get_current_time
2018-07-19 14:43:10 +04:00
Alex James
064d0619e8
VS: Fix QT deploy for paths with spaces
2018-07-18 15:32:01 +04:00
Megamouse
a19113025c
HLE/Qt: implement sys_tty_read
2018-07-16 00:05:30 +04:00
Megamouse
de693b0da1
Qt: handle upstream trolling
2018-07-15 20:29:14 +04:00
scribam
65d270e5d8
clang-tidy: performance-faster-string-find
...
https://clang.llvm.org/extra/clang-tidy/checks/performance-faster-string-find.html
2018-07-15 12:51:09 +04:00
scribam
e18e6576f3
cmake: remove duplicated directive used to include cmake_modules
2018-07-15 12:51:09 +04:00
scribam
b36d0fd59f
clang: fix compilation on 3.6
2018-07-15 12:51:09 +04:00
kd-11
c35d0d16e7
vk: cleanup/optimization, remove unnecessary initialization code
2018-07-14 15:19:56 +03:00
kd-11
77e2af8c00
qt: Add async shaders toggle to the UI
2018-07-14 15:19:56 +03:00
kd-11
e7f30640ef
rsx: Async shader compilation
...
- Defer compilation process to worker threads
- vulkan: Fixup for graphics_pipeline_state.
Never use struct assignment operator on vk** structs due to padding after sType member (4 bytes)
2018-07-14 15:19:56 +03:00
eladash
ac99fd764d
mfc: clamp atomic cmd's addr
2018-07-14 01:40:40 +04:00
kd-11
fa55a8072c
rsx: Improve vertex textures support
...
- Adds proper support for vertex textures, including dimensions other than 2D textures
- Minor analyser fixup, removes spurious 'analyser failed' errors
- Minor optimizations for program state tracking
2018-07-12 18:02:28 +03:00
Ofek
d3596fbc95
Change all hddFreeSizeKB to 40gb-1
2018-07-11 02:16:14 +04:00
eladash
a5d4e58ddd
fix barrier type mfc transfers
2018-07-10 14:54:51 +04:00
Chris Weermann (TGE)
c5dcef52fa
Implement sys_dbg_read_process_memory and sys_dbg_write_process_memory
2018-07-10 01:47:47 +04:00
kd-11
d266a25618
silence some annoying warnings
2018-07-09 13:06:00 +03:00
kd-11
1ddcad4fa4
facepalm
...
- Fix openGL regression
2018-07-09 13:06:00 +03:00
scribam
1fdc070e4e
cmake: remove obsolete command for glslang integration
2018-07-09 03:33:05 +04:00
scribam
1b0f5b1ed9
spu: improve dfnma instruction
2018-07-09 03:33:05 +04:00
scribam
2ed6e51d24
ppu: improve vnmsubfp instruction
2018-07-09 03:33:05 +04:00
scribam
733efc6b0d
ppu: improve fnmsubs instruction
2018-07-09 03:33:05 +04:00
scribam
f1e6532ec0
ppu: improve fnmsub instruction
2018-07-09 03:33:05 +04:00
Megamouse
1c9769670c
Qt: trophy repaint optimizations
2018-07-08 17:43:13 +04:00
Megamouse
0d72889c52
Qt: also repaint trophy game list background colors
...
And refactor a bit
2018-07-08 17:43:13 +04:00
kd-11
f0a9799b4b
rsx/Qt: Fix Qt shader loading dialog crash
2018-07-07 16:20:33 +03:00
kd-11
4d40ed9dbd
rsx: Silence harmless warning
2018-07-07 16:20:33 +03:00
kd-11
d78957d1cf
rsx/vp: CodeGen improvements
...
- Fix double destination writes on conditional write masking
- Fix codegen to simplify simple scalar comparisons vs vector functions
2018-07-07 16:20:33 +03:00
kd-11
2c34195954
rsx/vp: Discard broken vertex programs with no writes to POS register
2018-07-07 16:20:33 +03:00
kd-11
2ca935a26b
vp: Improve vertex program analyser
...
- Adds dead code elimination
- Fix absolute branch target addresses to take base address into account
- Patch branch targets relative to base address to improve hash matching
- Bumps shader cache version
- Enables shader logging option to write out vertex program binary,
helpful when debugging problems.
2018-07-07 16:20:33 +03:00
kd-11
bd915bfebd
rsx: vp decompiler fixes
...
- Fix program abort logic to never abort before resolving later label addresses
Fixes jumping over broken code and jumping over END markers
- TEXTURE_CONTROL2 has indexing range of [0..15] without stride skipping!
This register does not have interleaving with other texture registers
- Track shader address poke as it seems to invalidate programs as well
2018-07-07 16:20:33 +03:00
kd-11
66854b78fa
rsx: Fix nv308a::color
2018-07-07 16:20:33 +03:00
Ofek
dceba8a92b
PPU analyser optimizations
2018-07-07 14:26:56 +04:00
Nekotekina
d856dc89a8
SPU LLVM: combine SELB with comparison instructions
...
Turn bitwise select into a vector select
2018-07-06 02:26:18 +03:00
Nekotekina
2f0dc9bd0f
PPU LLVM: simplify VSUBCUW, VSUBUBS, VSUBUHS, VSUBUWS
2018-07-06 00:33:52 +03:00
Nekotekina
9d9869e803
PPU LLVM: simplify VADDCUW, VADDUBS, VADDUHS, VADDUWS
2018-07-06 00:33:52 +03:00
Nekotekina
caf827344f
SPU LLVM: improve SHL, SHLH, ROTM, ROTHM instructions
...
Avoid zero extension, select undef result to zero
2018-07-06 00:33:52 +03:00
Nekotekina
b9c026d441
SPU LLVM: improve ROTMA and ROTMAH instructions
...
Avoid sign extension, clamp shift amount with min op
2018-07-06 00:33:52 +03:00
Nekotekina
2b9fa7ed23
SPU LLVM: combine SHUFB with CWD-alike instructions
...
Turn SHUFB into a vector insert
2018-07-06 00:33:52 +03:00
Nekotekina
253e8b4466
SPU LLVM: improve SHUFB with constant mask
2018-07-06 00:33:52 +03:00
Nekotekina
622f2f7f66
SPU LLVM: constant computation fixes
...
Fixed instructions:
Gather Bits: GB, GBH, GBB
Form Select Mask: FSM, FSMH, FSMB
2018-07-06 00:33:52 +03:00
Nekotekina
c959ab2698
SPU LLVM: fix constant propagation
...
Compute constant bitcasts
2018-07-06 00:33:52 +03:00
Nekotekina
20900ebea2
SPU: rename block stats
...
Use Block Weight and Retreats
2018-07-06 00:33:52 +03:00
Nekotekina
a0c0d8b993
SPU: simplify unimplemented event check
...
Move checks closer to the actual use
2018-07-06 00:33:52 +03:00
Nekotekina
afd5af04f6
SPU: improve analyser (v5)
...
Fix jumptable analysis
2018-07-06 00:33:52 +03:00
Nekotekina
712632d28a
SPU LLVM: inline RDCH
2018-07-06 00:33:52 +03:00
Nekotekina
c1385558ad
SPU LLVM: inline RCHCNT
2018-07-06 00:33:52 +03:00
Nekotekina
0910acad42
SPU LLVM: clean NOP/LNOP
...
Add volatile to state check and update_pc()
2018-07-06 00:33:52 +03:00
Nekotekina
513bac0304
SPU LLVM: refactor halt instructions
2018-07-06 00:33:52 +03:00
Nekotekina
a0bf103e8b
Implement cpu_translator::pshufb<>()
...
Remove spu_translator::pshufb<>()
Improve PSHUFB emulation (pre-SSSE3)
Emit static shufflevector for the constant mask
PPU: Inline VPERM instruction
2018-07-06 00:33:52 +03:00
Nekotekina
41eab62ed7
Implement spu_iname helper
...
Remove old code
Report $SP anomalies
2018-07-06 00:33:52 +03:00
Nekotekina
e009bbac10
Use LLVM 7 (master)
2018-07-06 00:33:52 +03:00
Nekotekina
1ac203a958
Funny workaround
2018-07-05 22:26:35 +03:00
Nekotekina
c86dc133cf
Rewrite cpu_translator::avg()
2018-07-05 22:26:35 +03:00
Nekotekina
8ad05ce10e
SPU LLVM: fix jt target duplication bug
2018-07-05 22:26:35 +03:00
Nekotekina
a999bccc03
SPU LLVM: use cpu_translator::build<>
2018-07-05 22:26:35 +03:00
Nekotekina
ded9d1ddfd
SPU LLVM: improve function type
...
Use pointers for args
Use noalias attribute
2018-07-05 22:26:35 +03:00
Nekotekina
88d0316aad
Update cpu_translator
...
Add get_const_vector<v128>()
Add make_const_vector<v128>()
Add i2 and i4 types
Add build<>() for vector constants
Fix comparisons, allow EQ/NE for bool/char/i2/i4 types
2018-07-05 22:26:35 +03:00
Megamouse
6a62de6d68
Fix table headers for Qt 5.10 and below
2018-07-05 23:22:33 +04:00
Megamouse
544f8711f0
Qt: improve docks and toolbar flat style
2018-07-05 23:22:33 +04:00
Megamouse
b9c9bb30ba
Qt: fix toolbar element sizes on every toolbar repaint
2018-07-05 23:22:33 +04:00
Megamouse
3a5ce90148
Qt: remove redundant custom toolbar colors.
...
They got too complicated when used with stylesheets. I left the gamelist icon color option since it does in no way interfere with the stylesheets
2018-07-05 23:22:33 +04:00
Megamouse
1270ee4b38
Qt: adjust table headers for Qt 5.11
2018-07-05 23:22:33 +04:00
Megamouse
62cec24235
Qt: update custom ui colors
2018-07-05 23:22:33 +04:00
Megamouse
124122839d
Qt: update stylesheet
2018-07-05 23:22:33 +04:00
Megamouse
20d653b58a
Qt: update table item delegates
2018-07-05 23:22:33 +04:00
Megamouse
ed4caf0fbe
Qt: fix icon repaint inaccuracy
2018-07-05 23:22:33 +04:00
Megamouse
ff9024ae70
Qt: temporary game grid selection color adjustment
2018-07-05 23:22:33 +04:00
Megamouse
01dc09c436
Qt: Use QStyledItemDelegate instead of QItemDelegate
2018-07-05 23:22:33 +04:00
Megamouse
19514128e3
Qt: Fix style sheet edge case
2018-07-05 23:22:33 +04:00
Megamouse
23b10fc16d
Qt: update default stylesheet (WIP)
2018-07-05 23:22:33 +04:00
Megamouse
4bddb6a9e3
Qt: update toolbar icons
2018-07-05 23:22:33 +04:00
Megamouse
cb3933dcab
Qt: toolbar adjustments
2018-07-05 23:22:33 +04:00
eladash
4db79c458d
Fix cellSysCacheMount error checking
2018-07-05 16:36:57 +04:00
eladash
24699f0f96
Fix cellSysCacheClear
2018-07-05 16:36:57 +04:00
eladash
3b64e0fb3f
Fix cache directory
2018-07-05 16:36:57 +04:00
Megamouse
cd59bc3d6d
bump appveyor Qt version to 5.11
2018-07-03 22:09:44 +01:00
isJuhn
3d8223fccc
Fix LLVM STW reservation update
2018-07-02 15:19:50 +04:00
Ofek
5d3b0e7352
Fix cellGameDataCheckCreate2 ( #4832 )
...
* Fix cellGameDataCheckCreate2
2018-07-01 23:07:21 +01:00
Megamouse
ca30131faa
Qt: add new spu options to the settings dialog
...
Also rework the layout a bit.
We need to think about creating a firmware tab
2018-07-01 19:33:33 +04:00
eladash
345f92ab0a
rsx: more efficient command reading
2018-06-27 21:59:34 +03:00
kd-11
42851a93d4
vk: Fixup
2018-06-26 20:07:20 +03:00
kd-11
24f4c92759
rsx: Improve texture cache read speculation
2018-06-26 20:07:20 +03:00
kd-11
c3d75e208f
glslang: Bump to version 2776
2018-06-26 20:07:20 +03:00
kd-11
df2137781d
vk: Strip 'stencil' MSB when writing d24x8 data
...
- Seems to contains garbage in MSB when DEPTH aspect is read back
- TODO: Implement custom depth and stencil readback routine
2018-06-26 20:07:20 +03:00
kd-11
1e375e5210
gl: Fixup
2018-06-26 20:07:20 +03:00
kd-11
1730708f47
rsx: Rework memory protection management for framebuffer access
...
- Avoid re-locking memory if there is no reason to do so (no draws issued)
- Actively bound regions should always get written to the backing cache
- Forcefully read memory during download if writes to the target have occured since last sync event
2018-06-26 20:07:20 +03:00
kd-11
bda65f93a6
vk: Tuning [WIP]
...
- Unroll main compute queue loop
- Do NOT run GPU cores on mappable memory! This has a dreadful impact on performance for obvious reasons
- Enable dynamic SSBO indexing (affects AMD)
- Make loop unrolling and loop length variable depending on hardware and find optimum
2018-06-26 20:07:20 +03:00
kd-11
d484253136
vk: Addendum - Synchronize graphics and compute pipelines with barriers
2018-06-26 20:07:20 +03:00
kd-11
5fb4009a07
vk; Add more compute routines to handle texture format conversions
...
- Implement le D24x8 to le D32 upload routine
- Implement endianness swapping and depth format conversions routines (readback)
2018-06-26 20:07:20 +03:00
kd-11
f45dcfe18a
rsx: Fix texture readback
...
- gl: Fix up the calculation for internal image pitch
- vk: Implement GPU-side resizing for read back textures (fixes WCB zoom)
2018-06-26 20:07:20 +03:00
kd-11
278cb52f19
facepalm
2018-06-26 20:07:20 +03:00
scribam
3b8eab87dd
cmake: add possibility to build zlib from submodule
2018-06-25 00:28:46 +04:00
eladash
b9fd6ad37d
rsx-capture: unbreak
2018-06-24 15:14:37 +03:00
Jake
00c9b323c2
rsx: fix image_in to use in_pitch when swizzling
2018-06-24 14:29:41 +04:00
Jake
e2c288ff8a
trophy: zero out data before setting
2018-06-24 14:29:41 +04:00
Jake
edeb858138
loader: ignore invalid index_value and allow relative reloc 10
2018-06-24 14:29:41 +04:00
Jake
095d02e41b
elf: handle decompress flag for 32 bit elfs
2018-06-24 14:29:41 +04:00
eladash
b3a933ba84
cellgcm: fix regression
2018-06-24 10:57:30 +03:00
eladash
b456955688
rsx: fix hardcoded rsx allocation address
2018-06-24 10:57:30 +03:00
scribam
3935cef691
pugixml: update submodule and build integration
2018-06-24 02:02:36 +04:00
isJuhn
83f096c435
Add conditional reservation update to STW
2018-06-23 23:13:34 +04:00
Nekotekina
6229b3ca8d
Fixes for booting PS1 games
2018-06-23 17:30:16 +03:00
clienthax
8b449ce76c
PS1 Classics
2018-06-23 16:34:19 +04:00
Nekotekina
d62b0c88b0
Restore /dev_flash/ config
2018-06-23 09:26:11 +03:00
Nekotekina
cd92d9bcdf
Fix SPU ASMJIT for SSE2 CPUs
2018-06-23 08:46:50 +03:00
Megamouse
78ef205b4f
Qt: fix minor bug in save_manager that occurred when sorting the tables
2018-06-22 22:30:02 +04:00
Megamouse
4464951c77
cellVdec: add more detail to the logging
2018-06-22 22:30:02 +04:00
Megamouse
64c04769d2
Qt: emu_settings: close config files after loading and saving
2018-06-22 22:30:02 +04:00
Megamouse
dada341d4e
Qt: fix crash in progress dialog
2018-06-22 22:30:02 +04:00
Megamouse
a96a8a9db0
Qt: move ReadJSON in game compat to its own function
2018-06-22 22:30:02 +04:00
Megamouse
dab82b70f7
Qt: workaround for settings_dialog resize
2018-06-22 22:30:02 +04:00
Megamouse
c3916fee9c
Qt: add DeleteSPUCache option
2018-06-22 22:30:02 +04:00
Megamouse
e7a02f1506
Qt: use QDirIterator instead of fs::file stuff
2018-06-22 22:30:02 +04:00
Megamouse
68bb1bd6ee
Qt: add more resize possibilities to the trophy manager
2018-06-22 22:30:02 +04:00
Megamouse
cad017a64f
Qt: minor icon size action fix
2018-06-22 22:30:02 +04:00
Nekotekina
81e5f3b7f2
Remove /dev_flash/ configuration
...
Simplify code by using root config location for /dev_flash/
Hide Emu.GetEmuDir() function due to the risk of misuse
2018-06-22 14:14:29 +03:00
Nekotekina
e4da284176
SPU: analyser v4 and fixes
...
Build SPU cache after PPU, fix mixing progress
SPU ASMJIT: add support for Giga mode
SPU ASMJIT: use the same spu.log location as SPU LLVM
SPU: improve spu.log disasm
SPU: improve trampolines, unify with SPU ASMJIT
SPU: decode interrupt handler address from BR/BRA at 0x0
SPU LLVM: support Mega/Giga modes
SPU LLVM: implement function chunks
SPU LLVM: use PHI nodes, value visibility across basic blocks
SPU LLVM: implement function chunk table
New simple memory manager for LLVM (bugfix)
2018-06-21 22:29:34 +03:00
eladash
3e433ef05c
create the shaderlog dir in Emu.Init()
2018-06-21 22:54:08 +04:00
kd-11
8f1c36d79f
rsx: Fix region pitch inaccuracy
...
- Region pitch of 64 (disabled) can be used to indicate packed contents - do not assume it is the actual pitch!
- Also fixes interaction of AA factors with lockable_region size
2018-06-21 13:08:50 +03:00
Jan Beich
c776ff5020
Add missing Discord guard after 27a94308a7
...
/usr/bin/ld: error: undefined symbol: Discord_Initialize
>>> referenced by _discord_utils.cpp
>>> rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::initialize(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))
/usr/bin/ld: error: undefined symbol: Discord_Shutdown
>>> referenced by _discord_utils.cpp
>>> rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::shutdown())
/usr/bin/ld: error: undefined symbol: Discord_UpdatePresence
>>> referenced by _discord_utils.cpp
>>> rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::update_presence(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool))
c++: error: linker command failed with exit code 1 (use -v to see invocation)
2018-06-21 01:07:05 +01:00
Megamouse
0ffaf6c1ce
Qt/RSX: reset gs_frame taskbar progr. when closing native progr. dialogs
...
I forgot that the gs_frame's taskbar progress will stay unchanged due to its persistence, unlike the msgdialog.
2018-06-19 21:58:09 +03:00
Megamouse
4419e5d838
Qt: add possibility to copy 'Name [Serial]'
2018-06-19 20:45:00 +04:00
Megamouse
27a94308a7
Discord fixes
2018-06-19 20:45:00 +04:00
Megamouse
0c4cdaa7d3
Qt: add boot by pressing enter or return while having an item selected
2018-06-19 17:13:08 +03:00
Zion Nimchuk
87194e5887
Make register editor dialog work
2018-06-19 14:06:26 +03:00
VelocityRa
392a4bdc0b
Qt: Add perf overlay position to settings dialog
2018-06-18 22:34:26 +03:00
VelocityRa
dd0684b58a
overlays/perf_overlay: Make pos, font, opacity, margin configurable
...
- Also some perf overlay refactoring
2018-06-18 22:34:26 +03:00
VelocityRa
58f4b26134
overlays: Consider padding when auto-resizing label elements
...
- Also make auto_resize return whether it changed the size
2018-06-18 22:34:26 +03:00
VelocityRa
84d1cf5065
overlays: Change how padding and margin work
...
- Also add 3 helper functions to compiled_resource
2018-06-18 22:34:26 +03:00
VelocityRa
07731d0228
overlays: Fix text rendering position
...
- It should be offset by one line, not half
- Also tweak every overlay element affected by this
to look as it used to
2018-06-18 22:34:26 +03:00
VelocityRa
44449dd9e9
overlays: Refactoring
...
- Use names for overlay command config and vertex data instead of std::pair.
- Make a couple of compiled_resource constructors explicitly named functions.
2018-06-18 22:34:26 +03:00
kd-11
c60f7b89ba
vk: Implement safe typeless transfer
...
- Used to transfer D32S8 data where it makes sense to use this variant
- On nvidia cards, it is very slow to move aspects from D24S8 probably due to the format being faked.
For this reason, the unsafe variant is used for both D16 and D24S8 to avoid the heavy performance loss
2018-06-18 17:32:22 +03:00
kd-11
0d61bae1b9
vk: Performance fix for RADV
...
- RADV does not keep a mapping ptr around for subsequent remap and falls back to heavy amdgpu methods every time
Explicitly manage pointer in the ring buffer structure to fix this
2018-06-18 17:32:22 +03:00
kd-11
d77e62c94e
rsx: Improve GPU resource read prediction
2018-06-18 17:32:22 +03:00
kd-11
2afcf369ec
vk: Add synchronous compute pipelines
...
- Compute is now used to assist in some parts of blit operations, since there are no format conversions with vulkan like OGL does
- TODO: Integrate this into all types of GPU memory conversion operations instead of downloading to CPU then converting
2018-06-18 17:32:22 +03:00
kd-11
0d5c071eee
vk: Implement typeless image transport
2018-06-18 17:32:22 +03:00
kd-11
dd4c13b625
rsx: Avoid race conditions in unsynchronized unprotect
2018-06-18 17:32:22 +03:00
eladash
af62c92b7f
mfc: clamp list transfer size
2018-06-17 23:20:00 +04:00
Megamouse
af71cf0922
implement "Enable TSX" combobox
2018-06-17 00:43:00 +04:00
Ofek
2bc4cb4e58
Fix sys_spu_thread_connect event
2018-06-16 19:05:51 +04:00
scribam
9f420081fd
libpng: use official repository instead of the fork from RPCS3 and update submodule
2018-06-14 21:55:39 +04:00
Megamouse
ddded7ba5c
Qt: cleanup syntax_highlighter a bit
2018-06-14 18:35:21 +04:00
Megamouse
79dd62cda2
Qt: Add copy to clipboard for game data
2018-06-14 18:35:21 +04:00
Megamouse
d013524ea9
Qt: add notes as tooltips
2018-06-14 18:35:21 +04:00
Megamouse
61a517cc1a
Qt: don't adjust columns in case of empty results after filtering
2018-06-14 18:35:21 +04:00
Megamouse
fddd39d508
Qt: rename some members in game_list_frame to use m_
2018-06-14 18:35:21 +04:00
Megamouse
661d19e33f
Qt: fix settings dialog subscriptions for custom configs
2018-06-14 18:35:21 +04:00
scribam
6f3a63df94
fix compiler warning "-Winconsistent-missing-override"
2018-06-13 20:22:53 +02:00
scribam
968f3995ff
Merge branch 'master' into asmjit
2018-06-13 09:27:12 +02:00
Talkashie
f491dc1413
Update System.h
2018-06-13 10:00:32 +03:00
scribam
14dc1fead6
yaml-cpp: update submodule and build integration
2018-06-13 04:25:34 +04:00
scribam
ea8397fbab
cmake: don't use hardcoded lib names when using system ffmpeg and remove unneeded line
2018-06-12 22:28:30 +02:00
scribam
3a9778668a
asmjit: update build integration
2018-06-12 20:03:53 +02:00
Zion Nimchuk
67a6db8325
Prefer GLVND for OpenGL rather than legacy
2018-06-12 16:51:26 +01:00
Zion
09c8162235
evdev: Add nullptr check, fixes #4713 ( #4744 )
2018-06-12 16:12:37 +01:00
scribam
cc22d25490
qt: fix asm instructions highlighting ( #4745 )
...
* qt: fix asm instructions highlighting
2018-06-12 15:38:19 +01:00
Nekotekina
88b6d51643
Fix cellGameContentPermit
2018-06-12 02:09:22 +03:00
Nekotekina
eb081bbcfa
SPU: add 'Accurate PUTLLUC' option
...
Effectively rollback previous PUTLLUC accuracy commit by default
Minor changes in GETLLAR/PUTLLUC transactions
2018-06-12 02:09:22 +03:00
Nekotekina
0a58464f01
SPU ASMJIT: returnable STOP in Mega mode
...
Fix STOP, STOPD, SYNC, DSYNC in Safe mode
2018-06-12 02:09:22 +03:00
scribam
626836f95b
qt: rewrite syntax highlighter
...
- fix multi-line comments
- remove compilation warnings "unknown escape sequence"
- fewer lines of code
2018-06-12 02:49:58 +04:00
Megamouse
a8f19fbfae
RSX: fix shader cache progress bar exit state shenanigans
2018-06-11 22:41:38 +03:00
Megamouse
2b8cab906c
Qt: clamp progress bar values
2018-06-11 22:41:38 +03:00
isJuhn
88bfdb0c05
cellGameContentPermit: Don't set content and usrdir path on gamedata if cellGameCreateGameData was never called
2018-06-11 21:48:29 +04:00
Megamouse
3dd45fc859
Qt: add counters to the find dialog
2018-06-11 16:24:51 +03:00
jjsat
53ca2526ed
Fix VSLO and VSRO in the LLVM PPU recompiler
2018-06-10 20:12:40 +04:00
Megamouse
5454f57dd0
cellSaveData: handle fatal error fs::file is_null (read-only files)
2018-06-08 23:41:56 +03:00
Megamouse
4003aacc6a
RSX: add taskbar progress to native ui progress dialogs
2018-06-08 23:41:56 +03:00
Megamouse
17250bc2d4
Qt: set up taskbar progress for the gs_frame
2018-06-08 23:41:56 +03:00
Megamouse
b9b6bd85a6
Qt/RSX: add taskbar progress in msg_dialog_frame for shader compilation
2018-06-08 23:41:56 +03:00
Megamouse
edc9e9b4ec
Qt/RSX: add window title to the shader compilation msg_dialog
2018-06-08 23:41:56 +03:00
Megamouse
7aa2cddb05
Qt: remove multi message dialog code
2018-06-08 23:41:56 +03:00
Megamouse
38e88253cc
Qt: Fix message dialog progress bars never reaching 100%
...
and clean up a bit
2018-06-08 23:41:56 +03:00
kd-11
da9affb348
vk: Fix overlays for variable sampler count
2018-06-08 22:17:50 +03:00
kd-11
00eaf39c01
vk: RADV support for depth scaling and transfer
2018-06-08 22:17:50 +03:00
kd-11
63f803b68a
Refactoring
...
- Make the memory allocator a unique child of the render device.
Fixes object lifetime issues with swapchain management due to cyclic dependencies
2018-06-08 22:17:50 +03:00
kd-11
c9e367befd
rsx/debug: Fix rendering when FIFO reordering is disabled
2018-06-08 22:17:50 +03:00
kd-11
1c5667f0ce
vk: Avoid use-after-free fence object
2018-06-08 22:17:50 +03:00
kd-11
e9c3ab7ae6
fix some linux issues
...
- Fix build
- Fix VMA incompatibility with swapchain_NATIVE
2018-06-08 22:17:50 +03:00
kd-11
1b9c9267f0
rsx: Update memory flags after memory transfer
2018-06-08 22:17:50 +03:00
kd-11
fc18e17ba6
vk: Implement depth scaling using hardware blit/copy engines
...
- Removes the old depth scaling using an overlay.
It was never going to work properly due to per-pixel stencil writes being unavailable
- TODO: Preserve stencil buffer during ARGB8->D32S8 shader conversion pass
2018-06-08 22:17:50 +03:00
kd-11
3150619320
rsx: Preserve read AA state separate from write AA state
...
- Some applications (e.g Backbreaker) use an evil hack to resolve MSAA.
The application respecifies a formerly AA region as a region with no AA then performs a framebuffer feedback lookup.
The old memory keeps AA during read, but writes back to itself with AA resolved.
This is evil on several levels but it just happens to work on PS3
2018-06-08 22:17:50 +03:00
kd-11
0f24379c0e
rsx: Obey MSAA resolve during memory persistence transfer
...
- Ugh. This is a bandaid on a festering wound, AA badly needs a rewrite
Also silence some warnings
2018-06-08 22:17:50 +03:00
Daniel Valentine
fb20c27e7b
Delay GDB server launch until emulator run ( #4658 )
2018-06-08 13:34:27 +01:00
isJuhn
dde4a9c6e7
Fix cellGameCreateGameData temporary path
2018-06-06 23:51:58 +04:00
ikki84
73f7ab29bc
Return offline according to g_psn_connection_status.
2018-06-06 19:14:12 +04:00
ikki84
83b09cf047
sceNpManagerRequestTicket2 (return offline)
...
Returning CELL_OK in sceNpManagerRequestTicket2 makes NPEB01268 loop indefinitely trying to check the downloaded content.
Telling that the system is offline escapes the loop and make the game go further.
Moves NPEB01268/BLES01794 from Intro to Ingame.
2018-06-06 19:14:12 +04:00
scribam
824ad4fea7
cmake: simplify glslang integration ( #4652 )
...
* cmake: simplify glslang integration
* Fix warning (ignored attributes), part 2
2018-06-06 15:45:28 +03:00
Nekotekina
5c9d0e4b46
Add "SPU Cache" option
...
If disabled, the cache will still be loaded, but never updated.
2018-06-05 12:35:26 +03:00
Nekotekina
5d4c5ecc1c
Add "SPU Verification" option
...
Should be always enabled
2018-06-05 12:35:26 +03:00
Nekotekina
12eee6a19e
SPU ASMJIT: Implement Mega block mode (experimental)
...
Disable extra modes for SPU LLVM for now.
In Mega mode, SPU Analyser tries to determine complete functions.
Recompiler tries to speed up returns via 'stack mirror'.
2018-06-05 12:35:26 +03:00
Nekotekina
11bdb4102a
SPU LLVM: implement returnable check_state()
...
Call it only at the beginning of loop entries
2018-06-05 12:35:26 +03:00
Nekotekina
df489d786a
sys_timer_usleep: give Linux a partial exemption
2018-06-05 12:35:26 +03:00
Nekotekina
ec6d1fb1ba
SPU: optimize GETLLAR (TSX)
...
Add an option "Accurate GETLLAR"
2018-06-05 12:35:26 +03:00
Nekotekina
a5f4e6ecef
SPU: fix PUTLLUC accuracy
2018-06-04 16:01:17 +03:00
Nekotekina
9fe03a94d8
SPU ASMJIT: implement returnable check_state()
2018-06-04 16:01:17 +03:00
Nekotekina
7242387a42
Block GUI after stopping emulation
...
This is necessary to prevent restarting the emulation until it's finished
Remove "process_events" callback completely
2018-06-04 16:01:17 +03:00
Nekotekina
1e107487da
SPU: improve analyser (v3)
2018-06-04 16:01:17 +03:00
Nekotekina
05e24f38f9
SPU: use progress dialog
2018-06-04 16:01:17 +03:00
Zion Nimchuk
ea1bb3b90e
Convert all spaces to tabs in CMakeLists.txt
2018-06-04 17:00:44 +04:00
Zion Nimchuk
4d3b60cf46
Unify Linux detection in CMake
2018-06-04 17:00:44 +04:00
Jake
84ae643692
Fix msvc debug build
2018-06-03 16:37:37 +04:00
Megamouse
9dea602496
Discord: add some stuff
2018-06-03 13:28:12 +04:00
Dravonic
400079a006
Parallel shader cache loading ( #4677 )
...
* Parallel shader cache loading
2018-06-01 19:49:29 +03:00
kd-11
87b510d5bf
vulkan improvements
...
- Remove deprecated device layers
- Reimplement overlays resource management using real heap instead of using first_vertex hack
2018-05-31 11:22:40 +03:00
kd-11
9f9e1b5fe0
overlay; Fix leak
2018-05-31 11:22:40 +03:00
Nekotekina
b0ee369135
Rewrite LLVM compilation progress dialog
...
Use a single dialog
2018-05-30 20:35:35 +03:00
Nekotekina
a2253e840f
SPU LLVM: fix *QBI instructions (UB)
...
Improve codegen at the cost of unnecessary shuffle, use u64[2]
2018-05-30 20:35:35 +03:00
Nekotekina
37577714fa
SPU LLVM: emulate PSHUFB
...
For targets without SSSE3 support
2018-05-30 20:35:35 +03:00
Nekotekina
759370ea1b
SPU: rewrite FSM/FSMH/FSMB instructions
...
Remove lookup tables
2018-05-30 20:35:35 +03:00
Nekotekina
55e9d437a9
Fix warning (ignored attributes)
2018-05-30 20:35:35 +03:00
Nekotekina
bdf6545571
SPU: rewrite spu_interpreter::SHUFB
...
Use ASMJIT to generate SSSE3+ code at runtime
Remove static SSSE3 code from spu_interpreter
2018-05-30 20:35:35 +03:00
Nekotekina
bebb1bdeda
Extend ppu_decoder/spu_decoder templates
...
Automatically dereference pointers
2018-05-30 20:35:35 +03:00
Nekotekina
944e89058e
SPU: improve SHUFB
2018-05-30 20:35:35 +03:00
Megamouse
c5709f71b3
Qt: Add performance overlay options to the emu tab in the settings dialog
2018-05-30 21:31:45 +04:00
Megamouse
cc50d503ef
Qt: Add a gui tab to the settings dialog
...
this is mainly to make place in the emulator tab
2018-05-30 21:31:45 +04:00
kd-11
cf2cb7978b
facepalm
2018-05-30 13:30:23 +03:00
kd-11
f543fb0243
vk/gl: Fix flush synchronization to be kinder to weaker CPUs but not harm higher end CPUs
2018-05-30 13:30:23 +03:00
kd-11
6362942928
rsx: Avoid semaphore acquire deadlock
2018-05-30 13:30:23 +03:00
VelocityRa
c8d8a81ccd
overlays: Performance Overlay
2018-05-30 12:35:41 +03:00
VelocityRa
c2e17d04e1
overlays: Font improvements
...
* Support for using arbitrary firmware fonts
* Support for specifying font extension in `font` constructor (useful for most firmware fonts that use .TTF)
2018-05-30 12:35:41 +03:00
VelocityRa
33b01d9306
overlays: Allow for non-interactable UI components
...
* Also fix a few warnings in overlay_controls
2018-05-30 12:35:41 +03:00
eladash
4576a31f47
fix memory mapping alignment
2018-05-30 00:34:38 +04:00
eladash
8826948c43
cellgcm: implement cellGcmTerminate
2018-05-29 19:57:28 +03:00
eladash
23b380eb41
allow deallocations to unmap rsx mapped memory
2018-05-29 19:57:28 +03:00
eladash
ce98c962f8
cellgcm: use offset table to get the corresponding address to io address
2018-05-29 19:57:28 +03:00
eladash
c2b2dee56d
cellgcm/sys_rsx: fix multiple io maps at the same effective address and vice verse
...
from hw testing, as long as the io address is valid, it returns CELL_OK, even when it doesn't make much sense
2018-05-29 19:57:28 +03:00
eladash
97515a0941
sys_rsx/cellgcm: return EINVAL if the io map requast's size is 0
2018-05-29 19:57:28 +03:00
eladash
0a7902d313
sys_rsx: fix mem_handle id
2018-05-29 19:57:28 +03:00
eladash
8eab9fe36c
sys_rsx: fix unused pointer dereferencing
2018-05-29 19:57:28 +03:00
kd-11
d48f391b41
lv2: Ease the pain of lower end CPUs
...
- Avoid busy waiting in usleep code as much as possible, instead yield
- Also avoid busy_wait for SPU concurrency choker
2018-05-29 13:54:30 +03:00
kd-11
83f9be2524
rsx: Promote FIFO optimizations outside of strict mode
...
- The benefits of FIFO optimizations are huge in some cases.
The optimizations also do not break any tested applications so no need to disable with strict mode
- A debug option is provided to disable this behaviour for testing
2018-05-29 13:54:30 +03:00
kd-11
be13a776f4
lv2: Reimplement sys_timer_usleep
...
- Matches ps3 accuracy for all tested values with few exceptions
- Do not enter the host OS kernel if waiting for less than 500us to avoid scheduler issues
2018-05-29 13:54:30 +03:00
kd-11
2adb2ebb00
overlays: Avoid race condition on remove-on-update views
...
- Improves cleanup code to consist of 2 parts, remove then dispose. Remove
does not deallocate the item until dispose is called on it, allowing the
backends to first deallocate external references.
- Caller is responsible for managing list locking and tracking disposable list
of items when external references have been cleaned up before using
dispose method.
2018-05-29 13:54:30 +03:00
kd-11
0fc67aa2f6
gl: fix wcb regression
...
- Partial framebuffers and blit targets are possible!
2018-05-24 10:36:04 +03:00
kd-11
493d4e8613
fixup - Improve invalidated region checks for performance
2018-05-24 10:36:04 +03:00
kd-11
b030d1900c
rsx: Fixup - fix broken memory protection fail caused by region respec
...
- Some applications will alternate memory between framebuffer and texture data
2018-05-24 10:36:04 +03:00
kd-11
f38f61d110
vk: Clean up memory allocation and fix GPUOpen VMA for Radeon
2018-05-23 19:07:08 +03:00
kd-11
92b5a705d8
fixup - locking
2018-05-23 19:07:08 +03:00
kd-11
b957eac6e8
rsx: Avoid calling any blocking callbacks from threads that are not rsx::thread
...
- Defers on_notity_memory_unmapped to only run from within rsx context
- Avoids passive_lock + writer_lock deadlock
2018-05-23 19:07:08 +03:00
kd-11
d2bf04796f
Optimized cached write-through
...
- Allows grabbing an unsynchronized memory block if overwriting contents
anyway
- Allows flushing only specified range of memory
2018-05-23 19:07:08 +03:00
kd-11
f8d999b384
fixup - range check
2018-05-23 19:07:08 +03:00
kd-11
fbf6581249
rsx: Fix segmented memory access for rsx::super_ptr
2018-05-23 19:07:08 +03:00
kd-11
d283200e13
vk: Do not do extension test if in a fast context (enum only)
2018-05-23 19:07:08 +03:00
kd-11
3f14bc6961
rsx: Silence some meaningless error
2018-05-23 19:07:08 +03:00
kd-11
f2a3167193
rsx: Lower format compatibility severity since it confuses some people
2018-05-23 19:07:08 +03:00
kd-11
8fcd5c1e5a
rsx: Texture cache fixes
...
1. rsx: Rework section synchronization using the new memory mirrors
2. rsx: Tweaks
- Simplify peeking into the current rsx::thread instance.
Use a simple rsx::get_current_renderer instead of asking fxm for the same
- Fix global rsx super memory shm block management
3. rsx: Improve memory validation. test_framebuffer() and
tag_framebuffer() are simplified due to mirror support
4. rsx: Only write back confirmed memory range to avoid overapproximation errors in blit engine
5. rsx: Explicitly mark clobbered flushable sections as dirty to have them
removed
6. rsx: Cumulative fixes
- Reimplement rsx::buffered_section management routines
- blit engine subsections are not hit-tested against confirmed/committed memory range
Not all applications are 'honest' about region bounds, making the real cpu range useless for blit ops
2018-05-23 19:07:08 +03:00
pauls-gh
f8a0be8c3e
Performance enhancement - Vulkan memory allocator ( #4635 )
...
* Incorporates the vulkan memory allocator from the AMD GPUOpen project
2018-05-23 17:02:35 +03:00
Nekotekina
c5d8d50908
Move SPU LLVM log file
2018-05-23 15:36:29 +03:00
Nekotekina
3e580afe21
SPU: remove passive lock (fixup)
2018-05-23 15:36:29 +03:00
scribam
2270b8d15c
vulkan: link with vulkan-1.lib instead of VKstatic.1.lib
2018-05-23 13:54:27 +03:00
Megamouse
b230b0df0d
Qt: Workaround for yet another hidden column resize
2018-05-22 16:27:33 +01:00
Megamouse
62efe6e5be
Qt: set smaller default log frame height
2018-05-22 16:27:33 +01:00
Megamouse
7c031c2330
Qt: remove redundant visibility check in FixNarrowColumns
2018-05-22 16:27:33 +01:00
Megamouse
40d2341ef1
Qt: resize game list columns by default with slight spacing
2018-05-22 16:27:33 +01:00
Megamouse
f1670a9ea0
Qt: disable resizing trophy tables to contents by default
2018-05-22 16:27:33 +01:00
Megamouse
325048a134
Qt: apply header states after populating the tables
2018-05-22 16:27:33 +01:00
Megamouse
bff9a06f9f
Qt: simplify occasions of restoreState
2018-05-22 16:27:33 +01:00
Megamouse
31101b4828
Qt: use correct menu icon for "Play last played game" on booting RPCS3
2018-05-22 16:27:33 +01:00
Megamouse
598008868e
Qt: include QButtonGroup in settings_dialog.cpp in order to fix Qt 5.11
2018-05-22 16:27:33 +01:00
Nekotekina
72574b11ff
SPU: use reservation spinlocks on writes (non-TSX)
...
This should decrease contention by avoiding global lock
2018-05-21 21:56:14 +03:00
Nekotekina
182259e4a5
cellSaveData fix
2018-05-21 21:47:04 +03:00
kd-11
c9669818eb
Facepalm
...
- overlays: Do not free self handle!!!!
2018-05-21 15:55:25 +03:00
Nekotekina
6fd402bcf8
Transactions: drop RDTSC usage
...
Use simple increment (minor optimization)
2018-05-21 00:18:37 +03:00
Nekotekina
fb0f5f0c8b
Fix vm::reservation_notifier
2018-05-21 00:18:37 +03:00
Nekotekina
7a6db3dd7e
spu_getll_tx: diagnose loop count
2018-05-21 00:18:37 +03:00
Nekotekina
295f782b30
spu_putlluc_tx: diagnose loop count
2018-05-21 00:18:37 +03:00
Nekotekina
a33f297315
Replace notifier::lock_shared() with try_lock_shared()
...
Also add notify_one(), try_lock() and unlock()
Move some code in cond.cpp
2018-05-21 00:18:37 +03:00
Nekotekina
8d5bbfb850
Update SPU dump: print current MFC cmd
2018-05-21 00:18:37 +03:00
Nekotekina
33a1c743a4
Transactions: move loops inside
...
Rewrite loops in assembler (minor optimization)
2018-05-21 00:18:37 +03:00
kd-11
f6f45b8699
Native UI refactored ( #4623 )
...
Refactor and improve native overlays
2018-05-20 23:05:00 +03:00
Megamouse
68fff54a8b
cellSaveData: don't return after funcStat was successful in savedata_op
...
also add some missing constants
2018-05-20 23:16:11 +04:00
Megamouse
c61049b76f
Qt: Fix missing rows in our beloved trophy manager
2018-05-20 14:29:56 +04:00
Megamouse
f8bbdc39c5
Qt: Change Trophy Manager to use item selection instead of double click
2018-05-20 14:29:56 +04:00
Megamouse
4c03348e60
Qt: Restrict trophy manager combo box size
2018-05-20 14:29:56 +04:00
Megamouse
95951c31f8
Qt: Fix obnoxious glitch where game list columns ended up with 0 width
...
Qt can be messy at times
2018-05-19 21:59:13 +01:00
Megamouse
67637dfaa4
Qt: Fix compat download exception
2018-05-19 21:59:13 +01:00
scribam
bf2f00a163
log: add Vulkan header version
2018-05-19 10:59:10 +03:00
scribam
6c5c89a4a3
3rdparty: remove Vulkan/Vulkan-LoaderAndValidationLayers
2018-05-19 10:59:10 +03:00
Megamouse
4e8ce7fac0
Qt: Enable all play options for the last played game on StartUp
...
- main_window::CreateThumbnailToolbar into main_window::Init
- also moved the log message for "Recent Game Not Valid" from Error to Warning (only the common occurance)
2018-05-18 21:30:16 +01:00
Megamouse
6b3eebc907
Qt: trophy manager - fix trophy sorting by ID + handle some warnings
2018-05-18 23:17:10 +04:00
Megamouse
9269d8a370
Qt: resize initial game list headers to minimal size if necessary
...
we do this on showing columns already
2018-05-18 23:17:10 +04:00
Megamouse
99c52a0d0c
Qt: use column names instead of numbers in gui_settings
2018-05-18 23:17:10 +04:00
Megamouse
d1a9afbd67
Qt: refactor game list column initialization
2018-05-18 23:17:10 +04:00
Megamouse
2b8f96dcec
Qt: refactor Get-/SetGamelistColVisibility
2018-05-18 23:17:10 +04:00
Megamouse
9c025be831
Qt: improve game list header behavior
2018-05-18 23:17:10 +04:00
Megamouse
aee03114fd
Qt: rsx debugger replace wrong setSectionResize command
2018-05-18 23:17:10 +04:00
Megamouse
bb8e89f84a
Qt: add game icons to the trophy manager
...
and fix some header behaviour
2018-05-18 23:17:10 +04:00
Megamouse
6f0bad34f4
Qt: remove trophy_tree_widget_item.h
2018-05-18 23:17:10 +04:00
Megamouse
d275c36e0a
Qt: trophy manager overhaul
2018-05-18 23:17:10 +04:00
Megamouse
4e5cceb03e
TROPUSR: add GetUnlockedTrophiesCount()
2018-05-18 23:17:10 +04:00
Nekotekina
67391322f4
Transactions: touch memory only after a failure
...
Minor optimization
2018-05-17 22:19:26 +03:00
Nekotekina
39088e5005
SPU: Allow waiting on LR+TM events (fixup)
2018-05-17 21:21:15 +03:00
Nekotekina
7afda26c69
spu_putllc_tx: preload a little more (WIN32)
2018-05-17 18:58:08 +03:00
Nekotekina
58e4d49bb5
Fixup (endless loop)
2018-05-17 18:33:44 +03:00
scribam
8f975e2329
cmake: improve pthread inclusion
2018-05-17 18:42:44 +04:00
scribam
3dfe46fc42
cmake: use -Wno-unused-command-line-argument only with clang (gcc doesn't have this option)
2018-05-17 18:42:44 +04:00
scribam
580c8b8803
cmake: remove leftover from #4329 about X11
2018-05-17 18:42:44 +04:00
scribam
5ef1cab30b
cmake: update cotire to 1.8.0
2018-05-17 18:42:44 +04:00
pauls-gh
fdef77d779
Set Windows timer resolution to 0,5ms ( #4579 )
...
* Fix for https://github.com/RPCS3/rpcs3/issues/4569
(Win 10 update 1803 performance regression)
2018-05-17 15:00:22 +04:00
Megamouse
2eae06454b
Qt: simplify horizontal header text alignment in the gamelist
...
Needs reset of the gamelist state in the settings to work properly.
Also added minor refactor
2018-05-17 14:27:45 +04:00
Megamouse
29318803a6
Qt: add sanity check to remove game (prevent nasty system flush).
...
and minor code refactor
2018-05-17 14:27:45 +04:00
Megamouse
ff2c05da50
Qt: Use pointer to game info instead of index in game list
...
this should fix differences between model and view
2018-05-17 14:27:45 +04:00
Megamouse
cafcac9ccd
Qt: streamline custom config refresh in game list and thus ignore scroll
...
move l_GetItem lambda into custom_table_widget_item constructor
2018-05-17 14:27:45 +04:00
Megamouse
e43afa7148
Qt: streamline game removal in game list and fix followed item selection
2018-05-17 14:27:45 +04:00
Megamouse
9a1c0e4577
Qt: merge custom context menu functions
2018-05-17 14:27:45 +04:00
Megamouse
baec681c9e
Qt: minor fix for compat downloader
2018-05-17 14:27:45 +04:00
Megamouse
8b54552ddf
Qt: use NoEditTriggers instead of ItemIsEditable flags in the gamelist
2018-05-17 14:27:45 +04:00
Megamouse
1cff1ca03e
Qt: add "Move Support" column to the gamelist and load the info from psf
2018-05-17 14:27:45 +04:00
Megamouse
3ba133f485
Qt: fix gamelist sort by adding a sort_role to custom_list_widget_item
2018-05-17 14:27:45 +04:00
Megamouse
28e19a1d14
Qt: use GameInfo's bootable instead of GUI_GameInfo's bootable member
2018-05-17 14:27:45 +04:00
Megamouse
49a4015d5d
Qt: Hide firmware and path columns by default
2018-05-17 14:27:45 +04:00
Florent Castelli
253248349f
Link against the top-level LLVM targets only
...
Dependencies are still linked through usage requirements.
2018-05-16 23:35:53 +01:00
Florent Castelli
afd55da8cb
Add EXCLUDE_FROM_ALL to add_subdirectory calls
2018-05-16 23:35:53 +01:00
scribam
70e2873e69
Compilation fix for GCC 8 (at least)
2018-05-17 00:53:31 +04:00
Zion Nimchuk
705525510e
re-enable LLVM for travis and build AppImages with LLVM 6
2018-05-17 00:01:53 +04:00
Nekotekina
367f039523
Build transactions at runtime
...
Drop _xbegin family intrinsics due to bad codegen
Implemented `notifier` class, replacing vm::notify
Minor optimization: detach transactions from global mutex on TSX path
Minor optimization: don't acquire vm::passive_lock on PPU on TSX path
2018-05-16 17:31:58 +03:00
Nekotekina
fd525ae1cf
Implement build_function_asm
...
Uses ASMJIT to build function at startup
2018-05-16 15:48:35 +03:00
scribam
fd8aae5725
emu: remove wait_engine files
...
These files are empty and do not serve any purpose currently
2018-05-16 03:56:06 +04:00
scribam
7518200c7e
ps3emu_api: remove leftover files
...
Initial removal has been started with commit 6dd2c78b1b
2018-05-16 03:56:06 +04:00
scribam
196f985283
hle: improve cellSync2 error checks and logging
2018-05-15 22:59:34 +04:00
sftt
27004eb934
Avoid illegal available_user_memory in sys_memory ( #4399 )
...
jarveson says "the comment and minus can be completely deleted/reverted" in 17cf24d0ed
2018-05-15 17:40:45 +01:00
scribam
04ad49de4d
typos
2018-05-14 21:14:39 +04:00
isJuhn
fc23243d01
Fix setParam in cellHddGameCheck
2018-05-14 16:56:47 +01:00
Jan Beich
2cfb2428d2
build/cmake: pass -DNDEBUG by default like msvc
...
Downstream may override CMAKE_CXX_FLAGS_RELEASE in order to enforce
consistent optimization flags for every package. If -DNDEBUG is lost
RPCS3 may run slower and fall victim to assertions in bundled libs.
2018-05-14 16:01:19 +01:00
tlm-2501
21dc05265d
Add description for SPU LLVM ( #4558 )
...
Not entirely sure on the wording, but some form of a description seems necessary.
2018-05-14 15:32:47 +01:00
creeperjedi
819ed801a7
Added (experimental) next to LLVM Recompiler
2018-05-14 14:41:50 +01:00
Nekotekina
a46ef4f29a
Increase open file limit on Linux
...
Add some assertions to VirtualMemory.cpp
2018-05-13 23:56:43 +03:00
Nekotekina
3c70645f0b
Update SPU cache (v2)
...
Improve SPU analyser: filter unreachable fragments
More strict NOP/LNOP analysis
Fill block predecessors info
ASMJIT: fix assertion and improve indirect branch
2018-05-13 20:40:23 +03:00
Megamouse
84a4671a0e
Qt: Use additional windows resource file for qt.conf
...
fixup for a39384cadd
2018-05-13 21:02:21 +04:00
Megamouse
a39384cadd
Qt: Create qt/plugins dir to tidy up our Visual Studio builds
...
see folders: bearer, imageformats, styles and platforms.
This will stay compatible with the old builds too, unless someone wisely put their plugin folders into a 'plugin' subdirectory
2018-05-13 18:39:24 +04:00
kd-11
4836a03a7d
rsx: Fix build
2018-05-13 14:44:14 +03:00
kd-11
9d1f4a2538
vk: Include RADV POLARIS and RADV VEGA in the primitive restart
...
blacklist
2018-05-13 14:44:14 +03:00
kd-11
bff6060bd6
rsx: Improve puller state management
...
- Properly identify puller spin primitives
- Add a small wake delay after exiting a spin delay. Fixes desynchronization
It seems real hw has a small delay between cell edits to commandbuffer memory at the GET address and the changes becoming visible to the DMA puller
Simulated with a short busy_wait, large values will improve sync but degrade performance
2018-05-13 14:44:14 +03:00
kd-11
1aa44ede31
gl: Improve AMD multidraw workaround
...
- Reimplements the AMD workaround using an identity buffer to avoid the performance hit of doing multiple glDrawArrays for every single compiled set
- Reimplements first/count allocation using a scratch buffer to reduce allocation overhead when large number of draw calls is used
2018-05-13 14:44:14 +03:00
kd-11
eccb57d4b8
vk: AMD primitive restart bug workaround
...
- Emulate primitive restart with degenerate triangles
2018-05-13 14:44:14 +03:00
kd-11
b7979d3f57
rsx/vk: Improvements and minor optimizations
...
- Improve dirty state tracking affecting program state
- vk: Refactor out transform constants upload into a separate channel to avoid if possible
transform data uploads are quite expensive
2018-05-13 14:44:14 +03:00
kd-11
440a31ef18
rsx: Optimizations for program management
2018-05-13 14:44:14 +03:00
kd-11
a52ea7f870
rsx: Improve fragment and vertex program usage
...
- Introduces a gpu program analyser step to examine shader contents before attempting compilation or cache search
- Avoids detecting shader as being different because of unused textures having state changes
- Adds better program size detection for vertex programs
- Improved vertex program decompiler
- Properly support CAL type instructions
- Support jumping over instructions marked with a termination marker with BRA/CAL class opcodes
- Fix SRC checks and abort
- Fix CC register initialization
- NOTE: Even unused SRC registers have to be valid (usually referencing in.POS)
2018-05-13 14:44:14 +03:00
Jake
75b40931fc
rsx: initial capture/replay functionality ( #4510 )
...
* rsx: initial capture/replay functionality
2018-05-13 12:18:05 +03:00
Nekotekina
7cb4672344
Travis: remove LLVM for now
2018-05-13 00:03:08 +03:00
Nekotekina
4c7afb6952
Opt-in set DAZ and FTZ
2018-05-13 00:03:08 +03:00
Nekotekina
a77896c1b6
Update LLVM commit, use small code model
2018-05-13 00:03:08 +03:00
Nekotekina
be5c18cc85
SPU Re: more precise jt generation
...
Improve analyser, set v1
Fix branch indirect conditional
2018-05-12 23:50:49 +03:00
Nekotekina
737db90058
Set DAZ and FTZ
2018-05-09 23:38:26 +03:00
Nekotekina
5d15d64ec8
Memory mirror support
...
Implemented utils::memory_release (not used)
Implemented utils::shm class (handler for shared memory)
Improved sys_mmapper syscalls
Rewritten ppu_patch function
Implemented vm::get_super_ptr (ignores memory protection)
Minimal allocation alignment increased to 0x10000
2018-05-09 23:35:34 +03:00
Nekotekina
fe4c3c4d84
Implement SPU recompiler cache
...
Shared between ASMJIT/LLVM recompilers, compiled at startup
2018-05-09 23:35:18 +03:00
Nekotekina
f5ee6fb113
Convert newlines in game title
2018-05-09 22:19:55 +03:00
Nekotekina
acfe22e5bc
SPU: improve jumptable detection
2018-05-09 22:19:55 +03:00
Nekotekina
8f91917e8c
SPU ASMJIT: simplify patchpoints
...
Remove SPU thread reference from spu_recompiler_base
Disable support for far jumps in pathpoints (they were rare and unsafe)
2018-05-09 22:19:55 +03:00
Nekotekina
1ca51a023c
SPU LLVM Recompiler (preview)
2018-05-09 22:19:55 +03:00
Nekotekina
a975ecdc4f
Use LLVM 6
2018-05-08 13:05:29 +03:00
Nekotekina
8b704588d0
Update cpu_translator
2018-05-08 13:05:29 +03:00
Nekotekina
db229dffb0
PPU LLVM: minor update
2018-05-08 13:05:29 +03:00
Nekotekina
16f5167aed
SPU Analyser improved
...
This restores some functionality removed in SPU ASMJIT v2.0
Also implements new experimental features
2018-05-08 13:05:29 +03:00
Nekotekina
767dfa271e
SPU ASMJIT: internal jumptable
...
Allow indirect calls within current function using a jumptable
This restores some functionality removed in SPU ASMJIT 2.0
Change SPUThread::get_ch_value prototype
2018-05-08 13:05:29 +03:00
Nekotekina
df453d6d4f
SPU ASMJIT: allow holes in raw block data
...
This is preparation for further changes.
This commit shouldn't affect anything.
2018-05-08 13:05:29 +03:00
Nekotekina
2fecddcde2
SPU ASMJIT: rewrite halt instruction
...
Use conditional memory access to invalid address.
This approach can allow continue (for debugging);
but at the same time it doesn't add function call to recompiled code.
2018-05-08 13:05:29 +03:00
Nekotekina
4d60d85db5
SPU: fix MFC_PUTQLLUC_CMD fence trait
2018-05-08 13:05:29 +03:00
Nekotekina
f4af3f2987
PPU: improve LWARX/LDARX consistency
2018-05-08 13:05:29 +03:00
Maxetto
dca6f1f863
Update some lv2 syscall names ( #4490 )
2018-05-06 14:21:50 +04:00
scribam
ff1b0d73b7
hle: make cellSubDisplayInit returns CELL_SUBDISPLAY_ERROR_ZERO_REGISTERED
2018-05-06 12:49:44 +04:00
isJuhn
f27f7d50c9
Add Rich Presence option
2018-04-29 18:38:00 +01:00
kd-11
98b715d8c8
gl: Workaround for AMD driver bug
2018-04-25 19:14:36 +03:00
kd-11
ffa62918aa
gl: Improve pixel transfer code and notify on AMD driver bug
...
- Readback does not work at all with float textures on AMD openGL
Driver throws a bogus OUT_OF_MEMORY error regardless of amount of VRAM and system RAM available
2018-04-25 19:14:36 +03:00
kd-11
f3210a9a33
rsx: Workaround for lost memory sections
...
- TODO: surface_cache and texture_cache need a better method of persisting partial framebuffer resources
2018-04-25 19:14:36 +03:00
kd-11
58035697d5
rsx: Restore component mapping override for depth textures
2018-04-25 19:14:36 +03:00
kd-11
7e32e7343a
vk: Reorganize handling of formats support
...
- Formats support is linked to the physical device and by extension the logical device derived from it
It therefore makes no sense to track this as a separate object.
Simplifies parameter passing and template specialization.
Also avoids corner cases with AMD hardware (where D24S8 is not supported)
2018-04-25 19:14:36 +03:00
kd-11
291a828217
fixups
2018-04-25 19:14:36 +03:00
kd-11
40ae5e605d
vk: Fix border color selection
2018-04-25 19:14:36 +03:00
kd-11
c5d1f30e82
rsx: Fix performance counters
...
- Detect jump-to-self type idling
2018-04-25 19:14:36 +03:00
kd-11
91a6091d26
rsx: Minor fixes
...
- vk: Clear dirty textures before copying 'old contents' in case the old data does not fill the new region
- rsx: Properly decode border color - seems to be in BGRA format
- vk: better approximation of border color to better choose between the presets
- vk: Individually clear color images outside render pass and without scissor
- vk: Fix renderpass selection for clear overlay pass
- vk: Include scissor region when emulating clear mask
NOTES:
- vk: Completely avoid using vkClearXXXXimage - its 'broken' on nvidia drivers
Spec is vague about the function so its not an actual bug
ClearAttachment is clearly defined as bypassing bound state which works correctly
- TODO: Implement memory sampling to simulate loading precleared memory if cell used memset to preinitialize the framebuffer
Autoclear depth to 1|255 and color to 0 is hacky!
2018-04-25 19:14:36 +03:00
kd-11
da99f3cb9a
rsx: Critical fixes
...
- texture cache: Avoid leaking memory sections
- Avoid double ref increment on flush-always reprotection
- Detect invalidated_resources entries in surface cache when protecting fbo memory
- vk: Copypasta bugfix, properly initialize aspect mask
2018-04-25 19:14:36 +03:00
kd-11
a42b00488d
rsx: Texture fixes
...
- gl/vk: Fix subresource copy/blit
- gl/vk: Fix default_component_map reading
- vk: Reimplement cell readback path and improve software channel decoder
- Properly name the subresource layout field - its in blocks not bytes!
- Implement d24s8 upload from memory correctly
- Do not ignore DEPTH_FLOAT textures - they are depth textures and abide by the depth compare rules
- NOTE: Redirection of 16-bit textures is not implemented yet
2018-04-25 19:14:36 +03:00
kd-11
63d9cb37ec
rsx: Framebuffer fixes
...
Primary:
- Fix SET_SURFACE_CLEAR channel mask - it has been wrong for all these
years! Layout is RGBA not ARGB/BGRA like other registers
Other Fixes:
- vk: Implement subchannel clears using overla pass
- vk: Simplify and clean up state management
- gl: Fix nullptr deref in case of failed subresource copy
- vk/gl: Ignore float buffer clears as hardware seems to do
2018-04-25 19:14:36 +03:00
kd-11
9abbbb79ae
rsx: Blit engine fixes
...
- Ignore unlocked blit sections [TODO]
- Do not attempt blit on hw if bytesize is unsupported
- gl: Implement typeless memory transfers
Uses pbo to handle type-agnostic memory transfer
2018-04-25 19:14:36 +03:00
kd-11
bb5622401c
overlays/gl: minor fixes
...
- fix ogl color map for overlay resources
- fix label background for save dialog
2018-04-25 19:14:36 +03:00
kd-11
6d46ac1ad6
gl: Reimplement textures
...
- Separate texture data from texture views
2018-04-25 19:14:36 +03:00
kd-11
cf1b700ebc
rsx: Improve format mismatch detection hack
2018-04-25 19:14:36 +03:00
kd-11
c5cd758700
rsx: Workaround for G8B8 render targets
...
- Mainly affected are colormasks and read swizzles
NOTES:
- Writes to G write to the second and fourth component (YW)
- Writes to B write to first and third component (XZ)
- This means the actual format layout is BGBG (RGBA) making RG mapping actually GR
- Clear does not seem to have any intended effect on this format (TLOU)
2018-04-25 19:14:36 +03:00
Nekotekina
bd1d4de422
Fix unnecessary cache dir
2018-04-22 00:06:49 +03:00
Nekotekina
da6afb11f0
Fix game title if unset
2018-04-22 00:06:49 +03:00
Nekotekina
ef0196d791
Fix warning (vm::reservation_update)
2018-04-22 00:06:49 +03:00
Nekotekina
738a7cac4f
SPU ASMJIT: inline WRCH
2018-04-22 00:06:49 +03:00
Nekotekina
9516250bec
SPU: fix MFC_WrTagUpdate
2018-04-22 00:06:49 +03:00
Nekotekina
2418de7e8b
SPU ASMJIT: inline RDCH
2018-04-22 00:06:49 +03:00
Nekotekina
00ce814501
SPU ASMJIT: inline RCHCNT
2018-04-22 00:06:49 +03:00
Nekotekina
9ad5fc8a08
SPU: rewrite spu_channel_t
2018-04-22 00:06:49 +03:00
Nekotekina
3ffafb741c
SPU ASMJIT: übertrampolines and spu_runtime
...
Use opt-out shared spu_runtime to save memory (Option: SPU Shared Runtime)
Implement "übertrampolines" for dispatching compiled blocks
Patch fixed branch points to use trampolines after check failure
2018-04-22 00:06:49 +03:00
Nekotekina
8ca33bcb94
SPU ASMJIT v2.0
...
Use X86Assembler and blocks
2018-04-22 00:06:48 +03:00
Robbie
477522210e
Refactor debugger_frame into subclasses. Mostly trying to simplify
...
breakpoints.
2018-04-21 22:21:51 +04:00
Greg V
633004c820
Fix build with ffmpeg 4.0
2018-04-21 21:06:06 +04:00
Megamouse
8f4fa8a5b6
cellPad: check for more invalid parameters
2018-04-20 17:09:14 +04:00
Zion Nimchuk
3b24e7e685
Discord Rich Presence Integration (Thanks to @Megamouse for fixing the windows build)
2018-04-19 04:47:56 +04:00
Zion Nimchuk
3d551482a9
Remove weird whitespace from appdata
...
Fixes xml validation
2018-04-19 02:30:35 +04:00
TheAnig
eb3dfb6bb4
Implemented sysCacheClear() ( #4445 )
2018-04-18 18:17:55 +04:00
Megamouse
cecfc59040
Qt: implement log Repaint
2018-04-18 01:28:11 +04:00
TGEnigma
6baf675205
Fixes PPU disasm for branch opcodes
2018-04-16 19:02:06 +04:00
isJuhn
da6f98f310
Fix setParam in cellGameDataCheckCreate2
2018-04-16 15:53:22 +04:00
Zion Nimchuk
2bb0387fc5
Fix appstream copypasta, thanks to @Dominator56 for pointing it out
2018-04-16 15:11:37 +04:00
Megamouse
41f4bb9016
Rename Supporter
2018-04-15 15:49:01 +01:00
Megamouse
69b5f25644
Qt: Fix vfs dialog reset and add some translations
...
Reset would crash the app, because a cleared item received a signal on currentItemChanged.
Also, Reset did not reset the list as one might think, but clean it and then result in wrong behaviour.
Furthermore the settings were saved, regardless of accepting the dialog or not.
2018-04-15 15:49:01 +01:00
Zion Nimchuk
78bb9a7278
Add appstream metadata for linux
2018-04-14 01:10:12 +04:00
JohnHolmesII
7303f04bc5
Minor bugfix
2018-04-10 15:06:56 +03:00
Nekotekina
ea82b732a3
SPU: fix non-TSX path
2018-04-08 23:30:50 +03:00
Talkashie
64992f758d
Fix typos ( #4410 )
...
* MASSIVE TYPO FIX part 1
* ANOTHER HUUUUGE TYPO FIX part 2
* thank you :hcorion: for all of your help. I could not have done this without you
2018-04-08 01:01:39 +01:00
GinkREAL
8a51af0b56
cellVdec: Do not decode next frame during end_sequence
2018-04-08 02:51:46 +04:00
Nekotekina
c77b310422
Implement sys_vm_invalidate
2018-04-07 21:18:34 +03:00
Nekotekina
0797164fac
SPU: fix possible livelock
...
The bug affects TSX path
2018-04-07 20:51:21 +03:00
Nekotekina
3681507136
Rewrite vm::reservation
...
Use flat virtual memory area
2018-04-07 20:51:21 +03:00
Nekotekina
2b5cf2455f
SPU: improve TSX usage
...
Reduce transaction failure amount
Remove vm::try_to_lock
2018-04-06 21:47:54 +03:00
Nekotekina
d392379c7a
Use vm::passive_lock for SPU threads
2018-04-06 15:47:00 +03:00
Nekotekina
e88508b679
SPU: cache barrier/fence masks
2018-04-06 15:47:00 +03:00
kd-11
568118634e
vk: Squash some spec violations that went unnoticed
2018-04-05 01:06:50 +03:00
kd-11
cfd0b8a975
rsx: Fix alphakill
2018-04-05 01:06:50 +03:00
kd-11
93b2776604
rsx: Fix vertex input detection
...
- Properly detect inline array registers vs constant value registers
- Silence needless spam, 306E is 2D surface engiine, the assumption that y is multiplied by 306E pitch is not crazy
2018-04-05 01:06:50 +03:00
kd-11
53f2533a08
rsx: Implement proper Z-order curve in 3 dimensions
...
- Should fix garbage palette textures getting uploaded (LSD graphics)
2018-04-05 01:06:50 +03:00
kd-11
e291494282
rsx: Texture cache updates
...
- Properly implement section gather for 3d and cubemaps
Implements render-to-3d and fixes some corner cases for render-to-cubemap
2018-04-05 01:06:50 +03:00
Zion Nimchuk
b0352d6ef7
Silence some annoying terminal output
2018-04-03 03:17:52 +04:00
Zion Nimchuk
8c19ff4fb9
Make loading StyleSheets work for AppImages and if installed via make install
2018-04-03 03:17:52 +04:00
Nekotekina
da9baac842
Improve save data dialog
...
Bug fix: don't display new data entry when not asked for
Use icon/title provided by the game for the new data entry
Display new data entry at the beginning of list when necessary
Minor cellSaveData cleanup
2018-04-02 16:27:28 +03:00
Nekotekina
0e74f2e340
Fix MMIO on SPU
...
Thanks Digitaldude555 for reporting the bug and @elad335 for pinging me
2018-04-01 22:39:48 +03:00
Nekotekina
402ca480cd
Fix vm::check_addr usage
2018-04-01 22:39:48 +03:00
Nekotekina
d871675b3b
Process RawSPU MMIO in do_dma_transfer
2018-04-01 22:39:48 +03:00
Nekotekina
bb0cfe383d
Fix MFC_SYNC_CMD
2018-04-01 20:52:54 +03:00
scribam
717f2b0ac8
cellVdec: log error when using interlaced frame instead of throwing an exception
2018-04-01 03:36:22 +04:00
Megamouse
2bf405e36d
rsx_debugger: clear command count when not used
2018-04-01 02:53:53 +04:00
Megamouse
c42b25f10e
rsx_debugger: use PerformJump on doubleclick instead of the mouse scroll
2018-04-01 02:53:53 +04:00
Megamouse
b9318f73e6
rsx_debugger: handle show buffer per doubleclick through an event filter
2018-04-01 02:53:53 +04:00
Megamouse
ff89f7ca45
Qt: add show_windowed_image to qt_utils
2018-04-01 02:53:53 +04:00
Megamouse
ed7d514c31
rsx_debugger: move debugger table resize to qt_utils for reusability
...
maybe create a custom table class in the future
2018-04-01 02:53:53 +04:00
Megamouse
d97d30ea2e
rsx_debugger: save/restore table header states
2018-04-01 02:53:53 +04:00
Megamouse
4899e35fbb
rsx_debugger: layout refactoring for highdpi and resizeability
2018-04-01 02:53:53 +04:00
Megamouse
92ec846375
Qt: simplify resetGeometry occurances
2018-04-01 02:53:53 +04:00
Megamouse
755ceb50a4
stub cellGem some more ( #4349 )
2018-04-01 02:03:37 +04:00
VelocityRa
706faa1d32
PPUTranslator: Ignore relative relocations
2018-04-01 01:32:08 +04:00
jjsat
4620fa8bd8
Return parameter error if the result of funcFixed is invalid.
2018-04-01 01:04:37 +04:00
jjsat
1dc87a0704
Corrected logic for handling number of returned save data list entries and total number of save entries.
2018-04-01 01:04:37 +04:00
jjsat
bba7184090
Handle some invalid save function parameters.
2018-04-01 01:04:37 +04:00
jjsat
d973337c4e
Calculate save data file size more accurately and return size in savedata_get_list_item if requested.
2018-04-01 01:04:37 +04:00
Nekotekina
898637f830
Remove mfc_thread
...
Clear mfc_queue on reset
Improve MFC Proxy a bit
2018-03-31 21:13:12 +03:00
Nekotekina
78dbc4fb5f
RawSPU: reset status register on start
...
Was proposed by @elad335
Implemented as atomic op
2018-03-31 20:35:30 +03:00
Nekotekina
a3db2774f1
[LLVM] Fix thread limiter
...
Allow to apply max llvm threads setting as usual
2018-03-31 20:35:30 +03:00
Nekotekina
c3a5e3f491
[LLVM Cache] Minor workaround
2018-03-31 16:51:19 +03:00
Ani
7359774c76
qt: Do not deploy Qt5Quick
...
We're using Qt5Qml but not Qt5Quick, therefore the extra extension can be removed
2018-03-31 02:54:59 +01:00
VelocityRa
bca46e92d4
cellCamera: Implement cellCamera*NotifyEventQueue and do some refactoring
2018-03-30 20:50:31 +01:00
Jake
2c16dddd1e
fix debug build
2018-03-30 13:30:04 +03:00
Jake
6d6d6fa827
dx12/vk/gl: implement use of vertex_data_base_index when calculating index
2018-03-30 13:30:04 +03:00
Megamouse
3e863f2189
remove redundant error messages in sceNpTrophy
2018-03-30 05:40:57 +04:00
Megamouse
2d68aed68f
improve sceNpTrophyGetTrophyInfo and sceNpTrophyGetGameInfo
2018-03-30 05:40:57 +04:00
kd-11
ee0fe28ddc
rsx: Fix copypasta
2018-03-29 13:52:11 +03:00
kd-11
7627ad04f1
rsx: Disable gamma control on WZYX textures
...
- Gamma is seemingly used for (D/X/A)RGB only. Data textures are unaffected
2018-03-29 13:52:11 +03:00
kd-11
f559c088a1
rsx: Dubious fix for broken B8 swizzle remap
2018-03-29 13:52:11 +03:00
pauls-gh
a17025c465
Strict Rendering Mode (SRM) fix. Move old surface copy before texture upload.
...
Fixes the following issues on Tales of Vesperia which requires SRM.
- Blacked out scene after the sleeping dog now renders correctly
- Ghosting effect. The ghosting was most noticeable as a delay between the character rendering and the cell shading around the character. This appears to be gone with this change.
2018-03-29 11:01:58 +03:00
Megamouse
70cc2e3665
Qt: minor fixes
2018-03-28 16:01:32 +01:00
kd-11
fca6c4fb7f
vk: Improve compatibility workarounds
...
- Disable fence reset on gcn1 - gcn3
- Enable polaris+ workarounds on linux if proprietary driver is used
2018-03-28 11:30:11 +03:00
Megamouse
05fc49506a
Qt: use seperate icon sizes for game list and game grid
2018-03-27 19:40:25 +01:00
Kravickas
e6cb4df877
Fix a typo in gcm_enums.cpp ( #4333 )
...
* Update gcm_enums.cpp
2018-03-27 18:43:38 +01:00
Asinine
2172e61ce5
Update settings to indicate speed differences between Interpreters and Recompilers for less confusion ( #4345 )
...
* Update settings_dialog.ui
* Qt: completely detach ppu and spu ui texts from backend.
2018-03-27 17:55:54 +01:00
kd-11
5aac8aa424
rsx: Clamp negative fog distance
2018-03-25 16:02:47 +03:00
kd-11
887ea43e39
rsx: Fix some texture cache problems
...
- gl/vk: Properly handle remapping temporary resources
2018-03-25 13:31:06 +03:00
kd-11
9fce5b0f7a
gl: Fix leaking occlusion queries
...
- GL queries share the target binding (not asynchronous!)
- Discard active queries by closing them, leave closed queries alone (nothing to be done for discard op)
2018-03-25 13:31:06 +03:00
kd-11
22af70d0d0
gl: Always use indexed blend caps to avoid conflict with the state cache.
...
- glEnable/glDisable should not be used with GL_BLEND as the main renderer uses the indexed variant
2018-03-25 13:31:06 +03:00
kd-11
321c360dcb
rsx: Overhaul rendertarget sampling/shuffles
...
- Reimplements render target views used for sampling
- Optimizes access using an encoded control token
- Adds proper encoding for 24-bit textures (DRGB8 -> ORGB/OBGR)
- Adds proper encoding for ABGR textures (ABGR8 -> ARGB8)
- Silence some compiler warnings as well
- TODO: Real texture views for OGL current method is a hack
2018-03-25 13:31:06 +03:00
kd-11
9bb1ed78f9
gl: Implement video-out calibration for gamma and dynamic range
...
- Seems to be of limited use but if it is determined to be useful, a vulkan implementation can be done
2018-03-25 13:31:06 +03:00
kd-11
9fc1740608
rsx/fp: Fragment program overhaul
...
- Separate TXB from TXL: They are completely different!
- Properly perform TMU emulation in the fragment shader. Implemens SRGB conversion and alphakill at the moment
- Properly perform ROP emulation in the fragment shader. Implements FRAMEBUFFER_SRGB. While support on the chip looks to be incomplete (and wierd), it does work
- Document some more bits in SHADER_CONTROL register
2018-03-25 13:31:06 +03:00
kd-11
c6a2525c9b
video out: Set up video configuration options in fxm
...
- TODO: Actually do something with the values
2018-03-25 13:31:06 +03:00
kd-11
aeebeed0f2
vk: Fix AMD primitive restart emulation when strict mode is active
...
The restart emulation is there to keep the proprietary drivers from randomly crashing when using primitive restart
2018-03-25 13:31:06 +03:00
kd-11
9f416e5ce1
rsx/gl/vk: Obey channel remapping on framebuffer resources if requested
2018-03-25 13:31:06 +03:00
kd-11
27552891ad
rsx/fp: Improvements
...
- Export some debug information in the free texture register space components zw
Very useful when analysing renderdoc captures
- Enable shadow comparison on depth as long as compare function is active and texture is uploaded for depth read
Some engines (UE3) read all the components in the shader and use mul/mad with the result
2018-03-25 13:31:06 +03:00
kd-11
5817f9fe3f
rsx: Texture format fixes
...
- Implement SRGB (gamma corrected) textures (DXT1, DXT3, DXT5, RGBA8 only)
- Fix channel map decode for XY data texture formats
- Fix remap layout for X16 textures (verified with Mass Effect 3)
2018-03-25 13:31:06 +03:00
Talkashie
a35bcb131e
unimportant teepo fix ( #4328 )
...
* ultra teepo fix part 1
* super mega teepo fix part 2
2018-03-24 20:21:50 +04:00
eladash
63fa50080d
sys_spu: dont check prio if spu group type is 0x20
...
it's currently unknown whats the exact relationship between the prio and the group type SYS_SPU_THREAD_GROUP_TYPE_COOPERATE_WITH_SYSTEM (0x20).
tho we do know prio'es whom less than 16 are reserved for the system.
2018-03-24 19:48:14 +04:00
eladash
d27a375363
RawSPU/MFC: fix get start type proxy commands
2018-03-24 19:48:14 +04:00
eladash
fad9cd6ef1
sys_spu: fix spu image loading address calculation
...
by calculating mem_size after nsegs has being calculated
2018-03-24 19:48:14 +04:00
Zeke Sonxx
3066a05df0
sys_crash_dump user_log_area improvements
...
Gets Destiny BLUS31181 to Intro
2018-03-24 17:49:18 +04:00
scribam
50446f7fef
Partial compilation fixes for osx
2018-03-24 11:14:40 +00:00
Kaiwen Xu
32d38a4633
Fix git-version.h not correctly updating.
2018-03-24 00:52:11 +04:00
scribam
1ae724f739
sys_fs: returns the correct error value when the path is 0 or an empty string
2018-03-23 21:45:22 +04:00
Megamouse
50ff987850
stub sceNpScoreWaitAsync and sceNpScorePollAsync
...
and sceNpScoreCreateTransactionCtx
2018-03-23 20:46:24 +04:00
pauls-gh
44cddda4b4
Fix VTC source index increment
2018-03-23 12:01:30 +03:00
pauls-gh
d79a544320
VTC tiling - fix source offset increment.
2018-03-23 12:01:30 +03:00
pauls-gh
e5b4710471
Add end condition for VTC copy. This handles the case when depth is not a multiple of 4.
2018-03-23 12:01:30 +03:00
pauls-gh
e6010ba2ca
Fix code formatting
2018-03-23 12:01:30 +03:00
pauls-gh
fd8d2ecbf4
Remove Volume Texture Compression (VTC) tiling for Vulkan, DX12 and ATI (OpenGL).
2018-03-23 12:01:30 +03:00
Nekotekina
78cfba158d
Use lowercase for FNIDs for consistency
2018-03-22 23:24:58 +03:00
Nekotekina
2c6c8f1a25
Implement patch support for PRX
...
Store SHA-1 hash in ppu_module
2018-03-22 23:24:58 +03:00
Nekotekina
19944eeed0
Implement SPRX precompilation
...
Automatically precompile firmware modules
Add "Create LLVM Cache" menu (for games)
Reimplement jit_compiler::cpu as static method
2018-03-22 23:24:58 +03:00
Megamouse
9d961f620b
rsx/Qt: add option to disable the shader compilation hint
2018-03-22 16:33:37 +04:00
Megamouse
9fcba58537
Qt: sort the game list case insensitive initially
2018-03-22 16:33:37 +04:00
Megamouse
9f1fe5775e
Qt: use QString::simplified() instead of get_single_line
...
hopefully this works
2018-03-22 16:33:37 +04:00
Megamouse
baea538c32
Qt: clean up gui_settings.h - move general functions to qt_utils.h
2018-03-22 16:33:37 +04:00
Megamouse
c10e195dba
Qt: move compat_status to game_compatibility.h
2018-03-22 16:33:37 +04:00
Megamouse
5492e0eae1
Qt: enable hiding on game list and optimize the game list filter
2018-03-22 16:33:37 +04:00
Megamouse
17d2124a71
visual studio: add filters for some module headers
2018-03-22 16:33:37 +04:00
scribam
af89b62194
Check if the compiler supports "-march=native"
2018-03-21 14:11:05 +03:00
scribam
526228442b
Use "USE_NATIVE_INSTRUCTIONS" variable instead of a specific "TRAVIS" variable
2018-03-21 14:11:05 +03:00
GeniusMage
4e2a8a3cdb
Teepo fix
...
2D isn't always > 3D
2018-03-21 13:40:34 +03:00
eladash
252ddf8085
set logging stack mode to true by default
2018-03-20 02:49:53 +04:00
eladash
fc3698f831
qt: make description of disabled AF setting a bit clearer
2018-03-20 02:49:53 +04:00
eladash
3426531e38
qt/spu: remove max dma write size setting
...
This wasn't really used for anything tbh
2018-03-20 02:49:53 +04:00
kd-11
92fb828d52
gl: Compat support for mesa drivers Needs CLIENT_STORAGE bit set for persistent buffers to make them useful
2018-03-20 00:11:41 +03:00
kd-11
d13584f858
rsx: fixups
...
gl/vk: Bump shader cache version
gl/vk: Disable anisotropic override when strict mode enabled as it is proven to alter some games negatively
gl: Clamp buffer view range to not exceed the backing buffer size. Also add assert for the same condition
2018-03-19 12:13:34 +03:00
scribam
b232409cc5
Add return codes when camera handler is set to null
2018-03-16 18:16:49 +00:00
scribam
da635af0d6
Make cellCameraInit returns CELL_OK when no camera is plugged in.
2018-03-16 18:16:49 +00:00
kd-11
5f047034ae
rsx: Disable async count verification to avoid lockup due to zombie reports in ZCULL
2018-03-13 18:55:03 +03:00
kd-11
ffe6c9ba5a
fix linux builds
2018-03-13 18:55:03 +03:00
kd-11
910fc54ee2
vk: Implement reading from cell if swap image isn't found
2018-03-13 18:55:03 +03:00
kd-11
f00d9a7c7f
rssx" Halfplement alpha-to-coverage AA transparency
2018-03-13 18:55:03 +03:00
kd-11
2dce55d036
rsx: ZCULL synchronization fixes
...
- Track asynchronous operations in RSX core
- Add read barriers to force pending writes to finish.
Fixes zcull delay flicker in all UE3 titles without forcing hard stall
- Increase zcull latency as all writes should be synchronized now
2018-03-13 18:55:03 +03:00
kd-11
315798b1f4
rsx: ZCULL rewrite and other improvements
...
- ZCULL unit emulation rewritten
- ZCULL reports are now deferred avoiding pipeline stalls
- Minor optimizations; replaced std::mutex with shared_mutex where contention is rare
- Silence unnecessary error message
- Small improvement to out of memory handling for vulkan and slightly bump vertex buffer heap
2018-03-13 18:55:03 +03:00
kd-11
dece1e01f4
rsx: Improve transform constants management
...
- Removes the duplicate local_transform_constants
- Resets the transform constants on every context reset
- Simplifies the code abit which should make it faster
- NOTE: Transform constants are persistent across context re-init events (VF5)
2018-03-13 18:55:03 +03:00
kd-11
a19ffba8e8
rsx: Simplify MRT blend setup; Enable separable MRT blend on vulkan and fix corner cases for GL
2018-03-13 18:55:03 +03:00
kd-11
e230867492
rsx: Properly implement raster window offsets
2018-03-13 18:55:03 +03:00
kd-11
0c8e4c0887
rsx: Improve FIFO commandlist flattening
...
- TODO: Alot of work is still needed to execute draw commands out of order
Thats the only solution to games sending many draw calls with high frequency of state changes
2018-03-13 18:55:03 +03:00
kd-11
84b8a08d26
rsx: Basic performance counters
2018-03-13 18:55:03 +03:00
kd-11
2855869530
vulkan: Support APPLE
...
- Adds support for compilation on MAC with moltenVK. Note that vulkan does
not work on MacOS yet. There are two main blockers:-
1) Texture component swizzles are not supported except for
RGBA8_UNORM->BGRA8_UNORM.
2) There is a bug in their SPIR-V -> MSL generator.
GLSL.std.450.xxxx functions are not implemented which breaks rpcs3
functionality. Trying to compile a vertex shader will throw because
unpackHalf2x16 is missing.
2018-03-13 18:55:03 +03:00
kd-11
d41b49d8b4
rsx/fp: Color output registers are always present and zero initialized
...
- According to NV_fragment_program spec, registers are zero initialized always
- A program even without writing to these registers will have black (0, 0, 0, 0) output
Confirmed behaviour with MotorStorm games. Their engine uses this quirk to clear color buffers when doing depth replace
Might be an unfixed game bug
2018-03-13 18:55:03 +03:00
kd-11
4804efc17d
rsx: Clear up confusion on depth writes.
...
According to the NV_fragment_program spec, its not feasible to have 16-bit depth wries
NOTE: NV_fragement_program precedes NV_fragment_program2 which is very
close to what RSX consumes. It is hardware from that era afterall
2018-03-13 18:55:03 +03:00
kd-11
053ab585f4
gl/vk: Clean up some format casts
...
- TODO: Byte ordering considerations on data casts
2018-03-13 18:55:03 +03:00
kd-11
20d4c09a1c
rsx/vk/gl: Enforce format matching for render target resources. Fall back to raw data copy if match fails
...
- Forces Bitcast of texture data if input format cannot possibly be the
same as the existing texture format
- rsx: Other minor improvements to texture cache :-
- remove obsolete blit engine incompatibility warning. The texture will be re-uploaded if it is indeed incompatible
- Implement warn_once and err_once to avoid spamming the log with systemic errors
- Track mispredicted flushes
- Reswizzle bitcasted texture data to native layout
TODO: Also needs reshuffle according to input remap vector
2018-03-13 18:55:03 +03:00
kd-11
68b3229756
rsx/fp: Improve rgister component gather detection
...
- Also avoids clobbering register data by keeping gathered bits in a temp var
2018-03-13 18:55:03 +03:00
kd-11
87741141f1
rsx/vulkan: Add post-compilation key validation and dynamically determine attachment write maks based on decompiled shader
...
- A new step is added between decompilation and pipeline object creation allowing for properties to be updated based on shader contents
- Allos masking off attachment writes that are unmodified in the shader
2018-03-13 18:55:03 +03:00
kd-11
705820c430
rsx: Nvidia driver compatibility workarounds
...
- Sanitize NaN values before they reach the driver. On nvidia (X * NaN = X)
2018-03-13 18:55:03 +03:00
kd-11
6b23e733d0
rsx/gl/vk: Improvements
...
- gl: Do not call makeCurrent every flip - it is already called in set_current()
- gl: Improve ring buffer behaviour; use sliding window to view buffers larger than maximum viewable hardware range
NV hardware can only view 128M at a time
- gl/vk: Bump transform constant heap size When lots of draw calls are issued, the heap is exhaused very fast (8k per draw)
- gl: Remove CLIENT_STORAGE_BIT from ring buffers. Performance is marginally better without this flag (at least on windows)
2018-03-13 18:55:03 +03:00
kd-11
07cbf3da48
rsx/gl: Minor fixes
...
- Identify depth textures reaching the gpu via shader_read upload path
- Use correct timestamp counter for opengl
- inline draw_state::test_property because msvc doesnt do it for us
2018-03-13 18:55:03 +03:00
kd-11
af1b13550b
rsx/vk: More optimizations
...
- Do not bother rechecking the dirty sampler pool for hits. Its faster to create new sampler than to search the pool
- Reserve some memory on vertex layout struct to reduce reallocation penalty
2018-03-13 18:55:03 +03:00
kd-11
8ccaabb502
vulkan: Optimize vertex data upload
...
- Reuse buffer views as much as possible, vkCreateBufferView is slow on NV
Implemented as a large sliding window, reuseable until it is filled
2018-03-13 18:55:03 +03:00
kd-11
01349b8cee
rsx: Texture cache fixes - Optionally attempt to merge framebuffers into an atlas if partial resources are missing - Support for data update requests to the temporary subresource handler This is useful for framebuffer feedback loops where a new copy is needed after every draw call (resource is always dirty)
2018-03-13 18:55:03 +03:00
kd-11
4487cc8e7a
Remove an ugly hack pertaining to partial framebuffer-resident texture data - Its better to fill in the missing information with a wrap or clamp than to fake the texture reads in valid regions - Texture coordinate scaling is used to fill in for the cropped dimension available
2018-03-13 18:55:03 +03:00
TGEnigma
cb9e6e75db
Debugger improvements ( #4026 )
...
* Improve debugger
* Added 'Step Over' functionality
* Added special SPU pause functionality that pauses the SPU thread when the tag mask is at 0x80000000 by holding ctrl while pausing
* Go to address dialog now evaluates expressions, including defined variables such as pc, r1, r2, etc
* Requires QtScript to be linked with the project
* Made the option to center shown addresses (Go to addr/pc) optional by making it an entry in the GUI ini config
* Shown addresses now appear 'selected'
* New keyboard shortcuts!
- Ctrl+G -> Go to address
- F10 -> Step Over
- F11 -> Step (Into)
2018-03-13 16:23:12 +04:00
Nekotekina
817dfe8651
cellGameContentPermit workaround
2018-03-12 19:16:52 +03:00
Nekotekina
ba54f7ae39
Improve cellGameCreateGameData error checks
2018-03-12 18:53:57 +03:00
Nekotekina
f328cdbaef
Fix cellGame regression
2018-03-12 11:40:12 +03:00
Nekotekina
4b1c052030
Fix crash on exit after access violation
2018-03-11 19:33:02 +03:00
Nekotekina
c0a0cb98c5
Fix argv for DG category
2018-03-11 19:33:01 +03:00
Nekotekina
4fd69a09c7
Fix cellGameDataCheckCreate2
2018-03-11 19:33:01 +03:00
Nekotekina
eea2c20420
Improve vfs::mount
...
Mount /dev_bdvd/PS3_GAME if necessary
2018-03-11 19:33:01 +03:00
Nekotekina
f4d2fccdfe
Improve boot dir access
...
Add Emu.GetDir() method
2018-03-11 19:33:01 +03:00
Nekotekina
c8a6bc6e24
Relax /dev_bdvd mounting requirements
...
Allow some PSN games with DG category to boot
2018-03-11 19:33:01 +03:00
Jake
7bbadfd08b
ppu/sys_interrupt: add stack_reset command to fix sys_interrupt stack overflowing
2018-03-09 20:30:59 +04:00
Jake
3a9428a88e
rsx: Fix alpha test on VK/GL
...
Moving alpha test outside of fp_main. This enforces alpha test is still done even if shader asm has early return
2018-03-09 18:06:20 +03:00
Jake
7233640cf0
rsx: add vertex data base to offset and mask before translating address
2018-03-07 16:57:20 +03:00
Talkashie
d4e88aa11c
gui: Fix typos and clean up Engrish ( #4250 )
2018-03-05 18:28:10 +00:00
Jake
ec0cd9f006
cellGame: Fix cellDiscGameGetBootDiscInfo return values ( #4241 )
2018-03-03 03:11:25 +04:00
Megamouse
8db7ef4d5a
Qt: enable background images for floating dock widgets
2018-03-02 21:50:48 +04:00
Nick Renieris
504e3112dd
[HLE] First steps to Playstation Move ( #4083 )
...
* [sysutil] Add Magnetometer system param
* [ui] Add UI for Move handler
Current options are "Null" and "Fake".
* cellGem: Improvements
* cellCamera: Improvements
2018-03-02 20:51:21 +04:00
Nekotekina
f96e9b6ed7
Fix boot game crash
2018-03-01 16:28:08 +03:00
Nekotekina
f056b2f4ab
Improve TTY output
...
Use atomic variable to sync TTY size
Implement console_putc (liblv2)
Write plaintext instead of HTML
Slightly improve performance
Fix random line breaks in TTY
2018-03-01 16:28:08 +03:00
Nekotekina
445b7c0758
Optimize SPU interpreter
...
Made SPU decoder similar to PPU decoder
2018-03-01 16:13:35 +03:00
Nekotekina
53f8b03acc
CPUTranslator: implement ICmp ops
...
Added operators ==, !=, >, <, >=, <=
2018-03-01 16:13:35 +03:00
Megamouse
900329a1de
Qt: fix dockwidget background
2018-03-01 17:10:26 +04:00
scribam
dacc9af38f
Add 2-channels mode for cellAudioOutGetDeviceInfo
2018-03-01 04:20:54 +04:00
scribam
8d7620d95f
Change return of function "sceNpMatching2Init" to CELL_OK
2018-03-01 01:41:42 +04:00
Megamouse
3043c73745
Fix Boot regression introduced by #4158
2018-02-28 23:44:06 +04:00
Megamouse
f786c078c2
Qt: enable custom fonts for stylesheets and add random object names
2018-02-28 23:44:06 +04:00
scribam
31cee7e4c8
Make cellNetCtlGetInfo returns the correct value in disconnected mode
2018-02-28 22:25:51 +04:00
elad
6e8ccbcf17
spu/interp: optimize floating point exception checking
...
read once the MXCSR register and use his value to check for all exceptions
2018-02-28 21:30:33 +04:00
Megamouse
72e54e8b60
Qt: ask for cache and config removal on app remove ( #4016 )
2018-02-28 20:06:44 +04:00
Andrey
e0f53ace19
Improve GDB debug server ( #4027 )
...
* Made GDB debugger working with IDA
* Added async interrupts support
* Report proper thread after pausing
* Support attaching debugger before running app
2018-02-28 19:31:39 +04:00
Megamouse
2444385763
Qt: simplify Boot options a bit ( #4158 )
2018-02-28 18:53:39 +04:00
Megamouse
6141bc5598
Fix firmware installation for vfs
2018-02-28 17:27:06 +04:00
Megamouse
9138d537c8
Qt: remove gamelist toolbar
2018-02-28 16:52:19 +04:00
scribam
05354698f0
Add callbacks for cellStorage
2018-02-28 15:58:50 +04:00
scribam
14e15b2feb
Add callbacks for cellUserInfo
2018-02-28 15:58:50 +04:00
scribam
324d21d849
Add callbacks for cellPhotoImport
2018-02-28 15:58:50 +04:00
scribam
aa30e865c2
Add callbacks for cellSysconf
2018-02-28 15:58:50 +04:00
scribam
0772b9c879
Add callbacks for cellCrossController
2018-02-28 15:58:50 +04:00
scribam
296052b1ff
Add callbacks for cellPrint
2018-02-28 15:58:50 +04:00
scribam
be834a67d1
Add callbacks for cellPhotoDecode
2018-02-28 15:58:50 +04:00
scribam
b63461f599
Add callbacks for cellMusicExport
2018-02-28 15:58:50 +04:00
scribam
1fb7cc4002
Add callbacks for cellMusicDecode
2018-02-28 14:47:35 +04:00
elad
b61a69c877
fix spu interpreter single stepping
2018-02-25 20:30:44 +04:00
scribam
7753ac60b0
Add CELL_GAMEUPDATE_RESULT_STATUS_* enum
2018-02-25 13:17:38 +00:00
scribam
aabf3c6695
Checks for content_id in sceNpDrmVerifyUpgradeLicense and sceNpDrmVerifyUpgradeLicense2
2018-02-25 13:17:38 +00:00
zarroboogs
d78b0467d8
RPCS3 0.0.5: Versioning Changes (Hotfix) ( #4208 )
...
* travis hotfix
* expose env vars for tag, hash and commit number
* bump version
* also update av version string
* remove hash from av version for master builds
* change hash encoding back to ascii
2018-02-24 19:54:58 +00:00
scribam
ede76033a7
Add callbacks for cellMusic
2018-02-24 02:38:43 +04:00
Nikolay Amiantov
41bd07274f
Fix quoting in cmake
2018-02-23 19:06:37 +00:00
Megamouse
5266dd6c60
Update for Qt 5.10 ( #4202 )
...
* Update Readme for Qt 5.10
* Update cmake for Qt 5.10
* Update travis to Qt 5.10.1
2018-02-23 02:08:14 +04:00
Megamouse
cf1c45dfe8
Qt: use setAttribute(AA_DisableWindowContextHelpButton) instead of flags
...
probably needs Qt 5.10.1 to work propery
2018-02-22 00:18:14 +04:00
Megamouse
ae7e275a9d
sceNpTrophyGetRequiredDiskSpace: take vfs into account for trophy dir
2018-02-22 00:18:14 +04:00
Megamouse
b60f29282a
Qt: add translation to save manager messageboxes
2018-02-22 00:18:14 +04:00
Megamouse
bda466c3bd
Qt: improve VFS dialog a bit
...
- use normal selection instead of doubleclick
- move SaveSettings out of the tabs to reduce file access
- translate EmptyPath as well
- some other minor refactors to reduce lines of code
2018-02-22 00:18:14 +04:00
kd-11
4c6ceeff11
rsx/vk: Cleanup
...
- Silence some warnings, remove dprints
2018-02-21 14:59:46 +03:00
kd-11
77f2b521e1
vulkan: Swapchains reimplemented
...
- Adds support for abstract implementations
- Adds native windowing implementations for WIN32 and X11 as fallbacks
when present support is lacking (headless configs)
2018-02-21 14:59:46 +03:00
Juhn
1b26ec56ed
Implement _sys_qsort in sys_libc_.cpp ( #4176 )
2018-02-21 00:24:47 +04:00
elad
7c0fd5094e
disasm: clamp spu address
2018-02-20 20:27:57 +04:00
Zion Nimchuk
77b8f3a0f9
Add an easy way for package builders to disable native cpu optimizations
2018-02-19 17:30:24 +04:00
Megamouse
95d232db4f
Qt: fix gamegrid scroll
...
scrollafter is useless in gamegrid, because the currentIndex was reset after PopulateGameGrid, so just ignore it.
2018-02-19 01:23:40 +04:00
Robbie
00b1ff752d
Add flag for rockband. Tests have shown it independent other flags. But, actual use is currently not known.
2018-02-18 04:29:41 +04:00
elad
877b296fc3
hle: return enosys on unpresented syscalls
2018-02-16 21:57:31 +04:00
kd-11
ee88e7f948
rsx/gl: Hotfix for GL format compatibility check when high precision depth buffers is enabled
2018-02-16 16:14:54 +03:00
kd-11
ebb9fc7cd9
vk/drivers: Restore polaris+ patch to disable primitive restart
2018-02-16 16:14:54 +03:00
kd-11
32f0e91893
vulkan: Improve primitive restart workaround for vega/polaris
...
- For some reason the hardware forgets that primitive restart is enabled and tries to actually read vertex index 65535
- Works correctly if uint32 vertex indices are used instead of uint16 for cases where primitive restart is active
2018-02-16 16:14:54 +03:00
kd-11
a8ab408f64
rsx: Account for null blit ops (memcpy)
...
- Do not perform extra memory tasks if no actual image copy was performed
2018-02-16 16:14:54 +03:00
kd-11
661b8b006f
rsx: Add texture readback statistics to the texture cache and debug overlay
2018-02-16 16:14:54 +03:00
kd-11
1bd77c2f51
rsx: Add cache pattern checking to blit engine resources
...
- Feature was implemented long ago but was not functional due to bugs
2018-02-16 16:14:54 +03:00
kd-11
c191a98ec3
vulkan API fixes
...
- Fix for texture barriers
- vulkan: Rework texture cache handling of depth surfaces
- Support for scaled depth blit using overlay pass
- Support proper readback of D24S8 in both D32F_S8 and D24U_S8 variants
- Optimize the depth conversion routines with SSE
- vulkan: Replace slow single element copy with std::memcpy
- Check heap status before attempting blit operations
- Bump guard size on upload buffer as well
2018-02-16 16:14:54 +03:00
kd-11
3bbecd998a
infinitesimal fixes
2018-02-16 16:14:54 +03:00
kd-11
3406cc9886
gl: Fix save binding state for cube textures
2018-02-16 16:14:54 +03:00
kd-11
bd297d079d
rsx: Minor optimizations
2018-02-16 16:14:54 +03:00
kd-11
a5500ebfa4
rsx: Fix disjoint draw range splitting
...
- Fixes flickering and missing draws in R&C and other games such as Motorstorm Apocalypse and Okami HD when strict mode is disabled
2018-02-16 16:14:54 +03:00
kd-11
a64bea1286
rsx/fp: Discard shaders with undefined (non-existent) writes. On nvidia+vulkan, undefined writes autofill with blue color
2018-02-16 16:14:54 +03:00
kd-11
b67f28e00d
rsx/texture_cache: Do not access non-existent components
2018-02-16 16:14:54 +03:00
kd-11
89c548b5d3
rsx: fbo fixes 2.5
...
- Implement flush-always behaviour to partially fix readback from a currently bound fbo
- Without this, only the first read is correct, as more draws are added the results become 'wrong'
- Fixes WCB and cpublit behviour
- Synchronize blit_dst surfaces to avoid data loss when gpu texture scaling is used
- Its still faster in such cases to disable gpu texture scaling but some types cannot be disabled without force cpu blit (e.g framebuffer transfers)
- Memory management tuning
- rsx: on-demand texture cache rescanning for unprotected sections
- rsx: Only framebuffer resources are upscaled
- Do not resize regular blit engine resources
- Lazy initialize readback buffer when using opengl
-- These measures should help minimize vram usage
2018-02-16 16:14:54 +03:00
kd-11
02e571adbc
gl: Cleanup some more things
...
- Avoid referencing GL's null texture
- Improve texture creation helpers
- Remove useless __glcheck from GLHelpers.cpp
2018-02-16 16:14:54 +03:00
kd-11
98e50d3064
gl: Reuse framebuffer textures whenever possible
2018-02-16 16:14:54 +03:00
kd-11
f20fd217f8
rsx: Reorganize framebuffer setup code
...
- Fixes some fast paths for framebuffer creation and binding
2018-02-16 16:14:54 +03:00
elad
95c6ac699b
hle: gpio syscalls
...
* add sys_gpio_get, sys_gpio_set
2018-02-12 04:29:07 +04:00
Ani
9caceeacd7
gui: Update compatibility colors
...
Update to the colors now used by the website
2018-02-12 01:58:14 +04:00
Ani
c689a9ba8e
rpcs3qt: Handle duplicate name warning
...
The name 'verticalLayout_29' (QVBoxLayout) is already in use, defaulting to 'verticalLayout_291'.
2018-02-12 01:58:14 +04:00
Ani
777cd9a8ae
Remove redundant imports
...
They are already included on the related rpcs3qt files
2018-02-12 01:58:14 +04:00
Ani
6dd2c78b1b
Remove unused files (ps3emu_api)
2018-02-12 01:58:14 +04:00
Nekotekina
d2652aedd2
VK: add two options (workarounds)
...
Force FIFO present mode option is workaround for recent MESA drivers
Force primitive restart flag should also work on said drivers
2018-02-11 19:52:14 +03:00
Nekotekina
fa04ff6d90
CPUTranslator: add bitcast, trunc, zext, sext
2018-02-10 15:57:01 +03:00
Nekotekina
cce0ad0c35
Clean vm::ps3 namespace use
2018-02-09 17:49:37 +03:00
Nekotekina
76be7d40ac
Remove PSP2
2018-02-09 15:24:46 +03:00
Nekotekina
13aa88c3c4
Game list: improve deduplication logic
2018-02-08 21:10:03 +03:00
Nekotekina
439a78d12c
SPU ASMJIT: rewrite 128-bit shifts by bit
...
Six instructions changed to use xmm registers instead of gpr.
ROTQBII, ROTQMBII, SHLQBII look better (shifts by imm)
ROTQBI, ROTQMBI, SHLQBI changed for consistency (shifts by variable)
2018-02-08 21:10:03 +03:00
Nekotekina
c7c49ab286
SPU ASMJIT: minor change to ROTH instruction
...
Only AVX-512 path is changed (third version).
This instruction is extremely rare.
And the code is probably not optimal.
So this commit is pretty useless.
2018-02-08 21:10:03 +03:00
Nekotekina
b01e460863
PPU LLVM: rewrite AVG instructions
2018-02-08 21:10:03 +03:00
Nekotekina
93c0a0aa35
PPU LLVM: rewrite add/sub instructions
...
Use new patterns for saturation instructions
Avoid ZExt/SExt completely
2018-02-08 21:10:03 +03:00
Nekotekina
74834527eb
SPU: rewrite ORX instruction
2018-02-08 21:10:03 +03:00
Nekotekina
9b9ac3ca62
SPU: emit VZEROUPPER
...
Workaround dirty AVX high state
2018-02-08 21:10:03 +03:00
Nekotekina
db83113316
Initial cpu_translator impl
2018-02-08 21:10:03 +03:00
Nekotekina
17ce5d9117
Handle exceptions at game list update
...
Should fix #4056
2018-02-08 20:46:13 +03:00
Nekotekina
e2439e962c
SPU: use XOP instructions
2018-02-08 20:46:13 +03:00
Nekotekina
84103b69cf
SPU: 16-bit shifts for AVX2
2018-02-08 20:46:13 +03:00
elad
5b5f2d4240
hle: add a missing check in sys_spu
...
check if exit code exists and the spu is stopped by a stop instruction
and optimize the way were getting the exit code
2018-02-06 04:09:07 +04:00
elad
956ae17876
spu: add a missing STOP code
...
should fix #2456
for whatever reason, this call accepts only an empty ouput mailbox, otherwise break
2018-02-06 04:09:07 +04:00
elad
a6fb6c865d
mfc: dont check for one completed command if tag update requast is 2
...
Instead check only for completed commads tag groups specified in the tag mask ( as real hw does )
2018-02-06 04:09:07 +04:00
TGEnigma
f6b0b31e8b
Fix gs_frame spawning on monitor other than the one the main window is on ( #4029 )
...
* Fix gs_frame spawning on a screen other than the one the RPCS3 window is on for multi-monitor setups
* Cleaned up code & refactored it into a utility function for reuse
* Qt: take gs_frame's framemargins into account by using showEvent
2018-02-03 19:50:48 +00:00
scribam
cd9bfba790
Add sceNpMatchingInt
2018-02-03 14:07:38 +00:00
scribam
6001808174
Add callbacks for cellPhotoExport
2018-02-03 03:52:06 +00:00
TGEnigma
55821041bf
core/GUI: Fix null pointer dereference
2018-02-02 11:17:12 +03:00
kd-11
e7537cded5
vk: Also discard background if window is too small in vertical axis
2018-02-02 10:07:55 +03:00
kd-11
ea8bdda9a3
rsx/gl/vk: Support for swizzled? context surfaces
...
- For some surfaces, dimensions are passed via the log2 bits rather than surface pitch
-- This is similar to the setup for nv406e and probably means the surfaces are padded and swizzled
2018-02-02 10:07:55 +03:00
kd-11
eeb6e29e39
vulkan: implement proper texture read barriers
2018-02-02 10:07:55 +03:00
kd-11
b9cca71c47
gl: API compliance fixes
...
- Do not assume texture2D when creating new textures
- Flag invalid texture cache if readonly texture is trampled by fbo memory.
Avoids binding a stale handle to the pipeline and is rare enough that it should not hurt performance
2018-02-02 10:07:55 +03:00
scribam
2821915eae
Add callbacks for cellVideoUpload
2018-02-01 17:19:52 +04:00
scribam
68143bc47c
Add callbacks for cellVideoExport
2018-02-01 17:19:52 +04:00
scribam
f4e5bfbdf7
Add callbacks for cellRec
2018-02-01 17:19:52 +04:00
Zion Nimchuk
70fe0cc224
Install and load icons from Icons in executable directory, fixes local builds using Icons
2018-01-31 01:01:33 +04:00
kd-11
4f7d3e5dc1
vk: Stuff
...
- Remove subpass dependencies; transitions are handled via exicit imagememrybarriers
- Reuse sampler objects whenever possible; create/delete cycles are not free
2018-01-30 21:16:43 +03:00
kd-11
33bcdd476c
glsl/fp/vp: Avoid shader clutter
...
- Do not add unused subroutines in shaders unless necessary
-- makes shaders easier to read and disassembled spir-v has less clutter
- glsl: Replace switch block with lookup table
2018-01-30 21:16:43 +03:00
kd-11
2e04dceaf0
rsx: misc fixes
...
- Supply explicit options for spv emit allowing optimizations (not yet compiled into the backend)
- Add epsilon fix to glslcommon
- Fix shader dialog crash when using qt (race condition)
2018-01-30 21:16:43 +03:00
kd-11
648fc92184
rsx/fp/vp: Epsilon value is too large!
...
- Original epsilon value was 1.E-10 which nvidia linux driver could not read properly
-- Restores the original value represented in decimal notation
2018-01-30 21:16:43 +03:00
kd-11
c05d164eee
gl: Implement swap control on linux
2018-01-30 21:16:43 +03:00
Juhn
d37aa466ff
Fix native UI save_dialog when there are no saves ( #4113 )
...
- Also implements single action list view with cancel action only
2018-01-30 16:26:00 +03:00
ZeroZero2018
cd8e97a7c6
Fix to B8 format render target swizzling ( #4123 )
2018-01-29 21:58:25 +03:00
isJuhn
a27e2db455
Stub some functions in cellWebBrowser
2018-01-28 02:50:42 +04:00
Megamouse
bb5bdb2e8c
improve cellKB keyreleases and autorepeat
2018-01-27 01:57:55 +04:00
Megamouse
b9c10a186d
Qt/Core: implement max llvm compile threads
2018-01-26 01:57:05 +04:00
Zangetsu38
c8965564e4
vk/ogl: Fix regression for G8B8
2018-01-24 20:20:28 +03:00
Zangetsu38
a9c26b40dd
hle: Stub function Unimplemented in NpSns.
2018-01-24 20:20:28 +03:00
Jake
efe6a6cf53
rsx: fixed emulated primitive restart
2018-01-24 16:28:09 +00:00
Jake
2f414f96bf
rsx: fix potential hang during thread close
2018-01-24 16:28:09 +00:00
Inviuz
cc0d7c5985
improved hack/fix for cellsurmixer
2018-01-24 15:21:24 +00:00
kd-11
4f01794713
Minor fixes
...
- vulkan: Do not assume an aux frame context must exist in a well defined state as set in init_buffers() since the request might be external (via overlays path)
- gl: Do not bother waiting for idle before servicing external flip requests
- gl: Queue overlay cleanup requests to ensure only glthread attempts touching the context
- overlays: Do not compute size metrics for invalid/unsupported glyphs
2018-01-22 11:43:35 +03:00
kd-11
3d9e3a16f1
rsx/gl/vk: Fixes and optimizations
...
- opengl driver optimization for nvidia. On nvidia glTextureBufferRange performance is horrendous
-- Initialize texture buffer to whole buffer at startup and use absolute offsets to read data instead
-- Over 2x performance in some cases (Resogun, TNT racers)
- gl/vk: Do not flip non-existent display buffers. Fixes spec violation at boot in TNT racers demo
- whitespace fixes for sys_rsx
2018-01-22 11:43:35 +03:00
kd-11
ab17b49e15
scheduler stuff
...
- more threads for rsx
- better 1600
2018-01-22 11:43:35 +03:00
kd-11
fcd702c8a6
rsx: Texture format fixes
...
- Implement low bit decode override flags for 2-component textures
- Properly implement alot of texture remaps according to the autotest results
rsx: Do not unnecessarily shuffle WZYX->RGBA unless we have proof
- From looking at format swizzles, this is incorrect
2018-01-22 11:43:35 +03:00
kd-11
743928b379
vk/gl: Preserve clamped z precision to some extent
...
- Use edges of depth range to map clamped stuff
Disable range compression on regular draws vs extended range draws
- Some applications require full 0-1 usage without compromises.
-- TODO: This leaves the extended range z values to fight with regular draws in the .99 - 1.0 range
2018-01-22 11:43:35 +03:00
elad
f908daf323
SPU/MFC: check for sync command before doing a list transfer
...
fixes #3828
2018-01-20 03:32:48 +04:00
Zion Nimchuk
49e64b9e82
install icons to /usr/share and load them from there
2018-01-19 12:44:01 +03:00
kd-11
6828fbf658
rsx/texture_cache: Remove hacks; it has been proven that in offsets are in x16 fixed point
2018-01-19 12:03:57 +03:00
kd-11
0a2992839b
rsx/gl/vk: Simulate z clipping with selective depth clamp
...
- The scale offset matrix is fine but on real hardware the z results seem to be independent of near/far clipping distances
-- If depth falls within near/far, clamp depth value to [0,1]
2018-01-19 12:03:57 +03:00
kd-11
1a6e53ec98
overlay: Fixes
...
- Add fallback fonts including attempting to find glyphs in dev_flash
- Fix vulkan hang on startup if icons are not present
2018-01-19 12:03:57 +03:00
kd-11
9ec2337192
rsx: Synchronization improvements
...
- Always flush the primary queue and wait if not involking readback from rsx thread
-- Should fix some instances of device_lost when using WCB
-- Marked remaining case as TODO
-- TODO: optimize amount of time rsx waits for external threads trying to read
2018-01-19 12:03:57 +03:00
kd-11
cbc8bf01a1
cell/scheduler: Manage thread placement depending on cpu hardware
2018-01-19 12:03:57 +03:00
Megamouse
d238791b7d
RSX: properly handle disconnected pads
2018-01-18 21:18:56 +03:00
Megamouse
42f56e357c
Qt: remove obsolete and faulty m_icon_color. RepaintGui does it already
...
also remove some unused headers
2018-01-18 21:18:56 +03:00
scribam
fbac1c304a
Improve cellSearch implementation
2018-01-18 18:40:57 +04:00
kd-11
71f69d1d48
rsx/overlays: Introduce 'native' HUD UI and implement some common dialogs ( #4011 )
2018-01-17 19:14:00 +03:00
scribam
34c49c77b2
Fix #3950
2018-01-17 15:17:06 +00:00
elad
cc02ef64a5
[GUI] remove the letter v from the emu's version
2018-01-17 14:16:13 +00:00
elad
ff26bf411b
[GUI] add commit hash to game panel if not master
...
also cleaned up game id
2018-01-17 14:16:13 +00:00
Megamouse
7aa1707c2c
Qt/Input: use name_string instead of hard coded strings
...
hopefully prevents any more need for fixups like this lol
+ tend to some warnings for rebase
2018-01-17 13:23:51 +00:00
Megamouse
d6c4d8eec0
Qt/Input: enable XInput configs with disconnected devices
2018-01-17 00:43:08 +04:00
Megamouse
c5755b3633
Qt: fix deadzone preview size on high dpi
2018-01-16 05:05:00 +04:00
elad
24e97b9e03
SPU: Allow writing to the WrSRR0 channel
2018-01-16 04:34:15 +04:00
elad
5848864f55
SPU: Allow reading of the RdSRR0 channel
...
stupid bug
2018-01-16 04:34:15 +04:00
scribam
ec41483e9b
Update current firmware version
2018-01-15 22:52:07 +00:00
TGEnigma
28a96f1543
Add option to disable on-disk shader cache ( #4041 )
2018-01-15 19:23:36 +03:00
Nekotekina
435ea8d553
Fix "cellGame: cellGameDataCheck arg validate"
...
Fixes #4058
2018-01-14 22:23:48 +03:00
Megamouse
14ddeb07a5
Qt: handler zero-width columns in gamelist
2018-01-14 22:23:43 +03:00
myfreeweb
15d0bdb7cf
Detect Vulkan Xlib/Wayland surface support at runtime ( #4048 )
...
Detect Vulkan Xlib/Wayland surface support at runtime
2018-01-14 22:16:06 +03:00
Jake
d216398596
cellGame: cellGameDataCheck arg validate
2018-01-14 20:50:55 +03:00
Jake
0477f8ed3c
rsx: add log for potential source of error
2018-01-14 20:50:55 +03:00
Jake
7ca2c444cc
rsx: Fix depth clipping
2018-01-14 20:50:55 +03:00
Jake
c5074ba81f
d3d12: fix invalid framebuffer crash and shader compile
2018-01-14 20:50:55 +03:00
Jake
ac53fc54dc
rsx: fix image_in arg and swizzle fix
2018-01-14 20:50:55 +03:00
Megamouse
2053de0885
handle some warnings
2018-01-13 23:38:23 +04:00
Megamouse
ef6a36241e
Qt: fix CurrentSelectionIconPath()
2018-01-13 23:38:23 +04:00
Megamouse
fbde1818a2
Qt: fix register editor
...
and remove a windowhint (?)
2018-01-13 23:38:23 +04:00
Unknown
155f7a7d76
improve cellPad
...
fix input regression and fix input for FIFA games
fix input in NASCAR [BLUS30932]
fix port status query -> disconnected devices don't cripple following devices by decreased now_connect
2018-01-13 22:48:52 +04:00
Megamouse
9b4868f017
Input: init pads as disconnected
...
inlcudes simpsons "hack" as comment
2018-01-13 22:48:52 +04:00
kd-11
5959411aeb
Fix windows build
2018-01-11 12:26:41 +03:00
Greg V
fbceec47b8
Add support for Vulkan on Wayland
...
The variable VK_USE_PLATFORM_WAYLAND_KHR is actually used by the Vulkan
header, so use it here too.
2018-01-11 12:26:41 +03:00
Unknown
51a2b43d81
Qt/Input: Introduce profiles
2018-01-10 03:17:02 +04:00
Zion Nimchuk
4231ea2eb6
Also stub some similar cellGameUpdate functions
2018-01-09 04:56:06 +04:00
Zion Nimchuk
8ee0ed84e4
Better stub cellGameUpdateCheckStartAsyncEx/FinishAsyncEx, fixes PAIN
2018-01-09 04:56:06 +04:00
TGEnigma
d770a42349
Fix debug build
2018-01-06 04:45:55 +04:00
Megamouse
19d181fa4c
Qt: implement simple find dialog for logs ( #3941 )
2018-01-05 03:41:10 +04:00
Nekotekina
83b541ea9d
SPU: rewrite ROTH (AVX-512)
2018-01-03 01:04:04 +03:00
Nekotekina
af3e1fc580
Improve Restart function
...
Don't erase boot args
Should now work correctly with game launchers
2018-01-03 01:04:04 +03:00
Nekotekina
7050575fdb
Add Start Threshold parameter (ALSA)
2018-01-03 01:04:04 +03:00
kd-11
ee009ec99c
rsx: Robustness fixes
...
- Track last working state and reset to it if RSX starts to desync
-- This is especially useful when running vulkan since the renderer will easily outpace the rest of the system when merely recording draw commands
- Ignore empty sets
-- Mark empty/invalid IB sets as having 0 element counts.
2018-01-02 21:17:56 +03:00
Nekotekina
198e9dce1d
Fix #4005 regression
...
Delay unregister EH frames (Linux)
2018-01-01 10:41:07 +03:00
VelocityRa
383c501a35
[gui] Show total number of llvm compilation dialogs
...
- Doesn't account for dynamic libraries loaded after the fact,
but usually good enough since
1) Those aren't even present in some games
2) They usually only have about 1 or 2 fragments (dialogs) each.
2017-12-31 22:08:17 +03:00
VelocityRa
7c64c2f703
MsgDialog: Add SetMsg() for changing main text
2017-12-31 22:08:17 +03:00
lewmpk
d64e79bd9f
fix clang warning: logical-op-parentheses
2017-12-31 22:08:17 +03:00
VelocityRa
489ded43b1
Trophy: Return correct disk space requirements
...
Closes #3763
2017-12-31 22:08:17 +03:00
Nekotekina
d40aaf0391
PPU: use shared jit_compiler instance
...
(Linux) Fix deregisterEHFrames error message
2017-12-31 22:08:17 +03:00
kd-11
1ea5e7404a
rsx: Workaround for nvidia linux
...
- For some reason, using 1.E-x notation does not work on nvidia linux. Could be a bug in spir-v generator or the driver itself
2017-12-31 12:43:40 +03:00
kd-11
55c324e062
rsx: Invalidate surface configuration if stencil state is changed
...
- Stencil state afects validity of a depth/stencil surface same as depth state
2017-12-31 12:43:40 +03:00
kd-11
d496dbecad
rsx: Implement depth clamping
2017-12-31 12:43:40 +03:00
kd-11
4872be9de3
rsx/vk: Synchronize access to queue submit calls
...
- Should prevent concurrent access on the present/graphics queue
2017-12-31 12:43:40 +03:00
kd-11
688569e5c8
gl: Remove flag test optimization as it does not work properly
...
- Most texture cache operations will break sampler state and the extra complexity is not worth the very small speed bump
2017-12-31 12:43:40 +03:00
Megamouse
90f825aa49
Qt: fix compat list sort ( #4003 )
2017-12-31 01:43:56 +00:00
Nekotekina
78f7020ce6
Warn about corrupted PARAM.SFO
2017-12-29 20:05:06 +03:00
Nekotekina
a92bf39efa
Trophy: check both bdvd and hdd locations
2017-12-29 20:04:40 +03:00
Nekotekina
e836c33f37
cellGame: don't write empty TITLE_IDs in PARAM.SFO
2017-12-29 20:04:10 +03:00
Nekotekina
f271b650da
SPU: minor addition for CFLTU, CUFLT
2017-12-29 03:09:35 +03:00
Nekotekina
14929a1497
Fix game category issues
...
Fix cellGameDataCheckCreate2 PARAM.SFO
Fix trophy initialization for gamedata (game patch)
Implement psf::assign
Potentially fix cellGameSetParamString
2017-12-29 03:09:35 +03:00
Nekotekina
e768bdc80f
Remove /app_home/ dependency
...
Should also fix exitspawn
2017-12-27 02:51:58 +03:00
Nekotekina
a605919729
Fix lv2_socket id_base
2017-12-27 02:51:58 +03:00
Nekotekina
39a3ed2d03
SPU: minor additions for AVX2+
2017-12-27 02:51:58 +03:00
Nekotekina
0a89f1db39
Fix primary stack size
2017-12-25 21:08:15 +03:00
Ofek
3cf0fb60a4
Set lv2_socket id_base ( #3983 )
2017-12-25 15:47:28 +04:00
Megamouse
fc2ef5529d
Fix cellPadSetPortSetting ( #3980 )
...
* Don't skip setting port settings when no controller is connected
* DS4: fix error message
2017-12-24 14:47:36 +00:00
Unknown
8a3759f479
Input: evdev: add positive axis list yml to handle 0+ range sticks
2017-12-24 00:27:52 +04:00
Ofek
a6208d2bd7
Reset initial seek position in MSELF files ( #3977 )
2017-12-23 23:18:55 +04:00
Unknown
58d8d12665
Qt/Input: fix numpad (regression)
2017-12-23 02:01:37 +04:00
kd-11
8b31a9448a
vulkan: Tweaks to sampler state fallback paths
...
- Make all texture access on non-existent textures return 0
- If border color is closer to 0, then set alpha to 0 as well (might break some corner cases with alpha test)
- Zero initialize null sampler
2017-12-22 20:08:14 +03:00
kd-11
4819847c46
rsx: Modify semaphore_acquire timeout detection
...
- Take paused state into account
- Make timeout configurable
2017-12-22 20:08:14 +03:00
kd-11
d6bc6ec2c1
rsx: fix initial swizzle ordering for render target data
2017-12-22 20:08:14 +03:00
kd-11
320fb5f94c
rsx/fp: Fix alphakill
2017-12-22 20:08:14 +03:00
kd-11
4a0c4259f0
c++ is hard
...
- Remove unnecessary const definitions
2017-12-22 20:08:14 +03:00
Unknown
e9364bd87b
Input: fix initial DS4 connection (regression)
2017-12-22 01:26:31 +04:00
Ani
5e04a5f21d
_sys_process_exit: Fix logging ( #3963 )
2017-12-21 19:48:21 +00:00
Unknown
106de04485
Input: Fix connection count
...
and some minor commenting
2017-12-21 18:42:53 +04:00
Unknown
8eb8755aea
Input: fix evdev directions, sticks and rumble
...
minor style fix
2017-12-21 18:42:53 +04:00
Unknown
1b13b94095
Qt: Fix icon size actions
2017-12-21 18:42:53 +04:00
Unknown
69283accd0
Qt/Input: implement mouse button mapping / improve keyboard
2017-12-21 18:42:53 +04:00
Unknown
2dd8a1afdb
Input: evdev fixes and first rumble implementation
2017-12-21 18:42:53 +04:00
Unknown
114dd2a723
Input: improve evdev settings dialog / change threshold behaviour
2017-12-21 18:42:53 +04:00
Unknown
6891371a79
Input: improve MMJOY settings dialog / change threshold behaviour
2017-12-21 18:42:53 +04:00
Nekotekina
a285409f59
Fix travis
2017-12-21 00:40:28 +03:00
Nekotekina
f24491de84
SPU: fixes
2017-12-20 01:21:59 +03:00
Nekotekina
83da7f9b63
PPU: remove SSSE3 dependency
2017-12-20 01:21:15 +03:00
Nekotekina
1ae8850b3f
PPU: rewrite VMHRADDSHS without SSSE3
2017-12-20 00:04:09 +03:00
Nekotekina
140a581d23
PPU: redesign LVSL, LVSR instructions
2017-12-20 00:04:09 +03:00
Nekotekina
d3198ddf60
SPU: reorder some instructions for better throughput
2017-12-20 00:04:09 +03:00
Nekotekina
6d34dcd75f
SPU: add some AVX-512 variants
2017-12-20 00:04:09 +03:00
Nekotekina
4aee4ed6d7
SPU: remove SSSE3 dependency
2017-12-20 00:04:08 +03:00
Nekotekina
61de20a633
RSX: remove SSSE3 dependency
2017-12-20 00:04:08 +03:00
kd-11
de5dab35e0
rsx: Raise semaphore timeout duration bacause some games are very slow
2017-12-18 10:45:37 +03:00
kd-11
47060cdc5f
rsx/fp: Fix typo
2017-12-18 10:45:37 +03:00
kd-11
7dd349ae8e
Update FragmentProgramDecompiler.cpp
2017-12-18 10:45:37 +03:00
kd-11
4e80858bed
rsx/fp: Hotfix for TEXBEM/TXPBEM
2017-12-18 10:45:37 +03:00
kd-11
e89a035e8b
rsx/fp: Implement TXPBEM
2017-12-18 10:45:37 +03:00
kd-11
f7c52d3bb7
rsx/fp: Implement TEXBEM (untested)
2017-12-18 10:45:37 +03:00
kd-11
6f8dd20f03
rsx/fp: Stuff
...
- Implement BEM
- Add LG2 to special instructions
2017-12-18 10:45:37 +03:00
kd-11
b1a1c0251f
rsx: Implement variable point size
2017-12-18 10:45:37 +03:00
kd-11
0d0821e914
rsx: Pause FIFO queue when changing ctrl registers
2017-12-18 10:45:37 +03:00
kd-11
6891323c18
rsx: framebuffer textures do not have mipmaps!
...
- Force mipmap count to 1 if sampling from an RTV/DSV
- TODO: Better wcb flush detection, it should be better to re-upload the texture after it has been dwnloaded if expected mipmaps are > 1
2017-12-18 10:45:37 +03:00
kd-11
71c8885678
rsx/cfg: Lower the default scaling threshold to 16x16
2017-12-18 10:45:37 +03:00
kd-11
7c7cd4153e
rsx: Framebuffer setup fixes
...
- Sometimes square renders are done to surfaces with pitch=64 and re-uploaded with swizzle scanning
-- This setup avoids discarding targets if they are square and pitch == 64
2017-12-18 10:45:37 +03:00
kd-11
ff0f1510e5
rsx: Minor fixes
...
- Abort nv406e semaphore acquire if the rsx thread stalls/crashes
- Fix texture size approximation to take mipmaps into account. Fixes some games hanging with WCB
2017-12-18 10:45:37 +03:00
kd-11
3338fdb936
rsx: Fix RGB565 blits. Data is byteswapped on input
...
- Fixes messed up BG on retroarch glyphs
2017-12-18 10:45:37 +03:00
kd-11
6dfe32c6d2
fix linux builds
2017-12-18 10:45:37 +03:00
kd-11
95966a467e
rsx: Texture cache fixes
...
- Handle blit resources in a more consistent way
- TODO: Handle some corner cases (piyotama)
2017-12-18 10:45:37 +03:00
kd-11
ac0022483a
rsx: Implement delayed swizzle remap for blit engine resources
...
- Fixes remap vectors for memory copied via blit engine as it has no context
2017-12-18 10:45:37 +03:00
Zion
17bfb3beaf
various memory access violation fixes (and friends) ( #3930 )
...
* various memory access violation fixes
* Another fix, for motorstorm demo
* Better stub cellGameUpdateCheckStartAsync and FinishAsync, Fixes #3934
2017-12-16 04:03:49 +04:00
scribam
6e9b064a0f
Add new functions to cellSysutil
2017-12-11 01:36:22 +04:00
scribam
50f2be57f7
Spaces to tabs
2017-12-10 16:48:33 +04:00
scribam
b4a97c99d8
Add const and ref for loops
2017-12-10 16:48:33 +04:00
elad335
3aefd14b3d
disasm: display db[x]cyc
2017-12-10 16:19:36 +04:00
Ani
60f5929f81
Hotfix #3919 ( #3920 )
...
* Restore GIT_BRANCH
Removed by mistake on previous commit
* Fix commit count on AppVeyor builds
2017-12-08 23:53:05 +00:00
Ani
6b323d7e2e
Version adjustments
2017-12-08 22:46:19 +00:00
Jake
d7881c6714
ds4: fix led on bluetooth
2017-12-08 15:19:17 +04:00
Jake
d0013679c0
rsx: fix image_in swizzled texture crash
2017-12-08 15:19:17 +04:00
kd-11
0b3fbf1d4c
rsx: Narrow the race condition window further
...
- Needs aliased paging to be implemented to fix properly or a re-entrant global IO lock
2017-12-06 12:55:49 +03:00
kd-11
69eb483089
rsx: Framebuffer setup fix
...
- Stencil flag is meaningless if surface does not support stencil
2017-12-06 12:55:49 +03:00
kd-11
a2b4cf22b5
rsx: Reimplement invalidate_range_base_impl
...
- Avoid unprotecting memory until just before we have to write the data
- Avoids race conditions where the caller thread takes too long to enter the second phase and another thread accesses the "bad" memory
2017-12-06 12:55:49 +03:00
Nekotekina
d8ae94df5b
savedata: avoid passing vm memory to fs::file
2017-12-05 15:55:10 +03:00
Unknown
03814e8d02
Qt: implement compatibility column
2017-12-05 16:53:14 +04:00
kd-11
970d2a06e0
rsx: Properly fix DATA3F_M register alignment
2017-12-04 18:22:18 +03:00
kd-11
9853027f72
rsx/vp: Decide default return values in case of undefined attributes based on location ID
...
- Different default values should be returned for different attributes
2017-12-04 18:22:18 +03:00
kd-11
90c2324e47
rsx: Program cache fixes
...
- Reorganize storage hash vs ucode hash
- Scan for actual fragment program start in case leading NOPed code precedes the actual instructions
-- e.g FEAR2 Demo has over 32k of padding before actual program code that messes up hashes
2017-12-04 18:22:18 +03:00
kd-11
f5145943b2
d3d12: Fix fragment shader compile
2017-12-04 18:22:18 +03:00
kd-11
960f26f84e
rsx:: fixes for framebuffer setup
...
- provide a DSV if depth and/or stencil testing is enabled
2017-12-04 18:22:18 +03:00
kd-11
cdd4fd9867
rsx/fp: Explicitly insert global functions.
...
- Functions such as pack/unpack ops must exist before the shared gather functions are declared
2017-12-04 18:22:18 +03:00
Nekotekina
bfb3144f34
sys_net: Force AF_INET
2017-12-02 12:36:05 +03:00
Unknown
8f314c5101
Input: handle MMJOY reconnection (pad still needs to be online on start)
2017-12-01 20:28:06 +00:00
Unknown
2ec4f66427
Input: improve evdev and mmjoy stick input
2017-12-01 20:28:06 +00:00
Unknown
7165001b68
Qt: Fix SettingsDialog crash introduced by removal of groupboxes
2017-12-01 20:28:06 +00:00
Unknown
c077426e95
Input: Fix filter button for evdev and DS4
2017-12-01 20:28:06 +00:00
Unknown
c870bbb885
Input/MMJOY: handle Axis and POV capabilities
2017-12-01 20:28:06 +00:00
kd-11
3fbc960c44
gl/vk: Better handling of inter-format data copies
...
- RGBA8->RG16 does not require special instructions so the overlay pass is disabled for OGL
2017-12-01 21:00:50 +03:00
kd-11
896c8991de
rsx/fp: Properly implement PK/UP instructions based on NV_fragment_program documentation
2017-12-01 21:00:50 +03:00
kd-11
bec6c1a939
gl: Implement rgba8 -> fp16 casting pass
...
-- Is this actually necessary? The two format are binary compatible
2017-12-01 21:00:50 +03:00
kd-11
fe9090bd39
rsx/fp: Implement register gather (only for UP(X) instructions)
...
- Workaround for temp register aliasing between H and R variants
- TODO: Implement temp regs as 128 bit-blocks with r/w as pack/unpack
2017-12-01 21:00:50 +03:00
kd-11
44e34064de
vulkan: Do not clear non-existent surfaces
2017-12-01 21:00:50 +03:00
kd-11
a18ae0f6ac
rsx/fp: Reimplement PK(X) and UP(X) opcodes. The read back values are obviously in normalized range
...
- Confirmed with a GOW shader which writes result of UP8 to BGRA8 output
2017-12-01 21:00:50 +03:00
kd-11
08b829dc22
rsx: wcb scaling fixes
2017-12-01 21:00:50 +03:00
kd-11
9d27ac359b
gl: Minor wcb tweaks
2017-12-01 21:00:50 +03:00
kd-11
6c9c300fe0
rsx: Fix texture cache memory usage statistics
2017-12-01 21:00:50 +03:00
kd-11
17340c44cc
rsx: method register fixes
...
- Fix VERTEX_DATA_3F_M element alignment (its 16 bytes per attribute)
- Fix DATA_2S_X interpretation type. Its signed 16-bit unnormalized (s32k) and not signed normalized (s1)
2017-12-01 21:00:50 +03:00
kd-11
90a3f3af30
rsx: Discard queue if RET is found without CALL
2017-12-01 21:00:50 +03:00
kd-11
da1e97618b
rsx: Changes to surface pitch handling
...
- Zeta pitch is ignored by real HW for some reason
- Monitor ptch value changes as well since they may affect disabled surfaces
- TODO: Verify if MRT pitch is really taken into consideration
2017-12-01 21:00:50 +03:00
kd-11
89bc333295
vk: Compliance fixes; vkCmd state affects currently bound descriptor set!
2017-12-01 21:00:50 +03:00
kd-11
3350e7ee55
rsx: Fixes for framebuffer setup code
2017-12-01 21:00:50 +03:00
kd-11
ddebc334bf
rsx: Fixes
...
- Discard intentionally invalidated framebuffer resources. These are created after a flush has happened, forcing reupload since contents cannot be guaranteed (strict mode only)
- Fix for blits using vulkan; dont use the copy method if formats do not match, use generic blit instead
2017-12-01 21:00:50 +03:00
kd-11
145ecb00fc
rsx: Texture cache hotfixes
2017-12-01 21:00:50 +03:00
kd-11
75d0ff177d
gl: Avoid null deref
2017-12-01 21:00:50 +03:00
kd-11
4d75e98647
rsx/fp: Do not apply input mods to all types of inputs
...
- Temp registers are confirmed to be affected
- Const registers are confirmed to be unaffected
- Varying inputs are not confirmed yet
2017-12-01 21:00:50 +03:00
kd-11
3bfdcf698d
rsx: More tuning for depth/color buffer selection
2017-12-01 21:00:50 +03:00
kd-11
51891039dd
rsx: improve depth/color contested memory allocation heuristics
...
- Needs more tests to prove correct behaviour
2017-12-01 21:00:50 +03:00
kd-11
07fe5f87ae
gl: Fix face winding
...
- Face winding is always calculated based off the top left corner
2017-12-01 21:00:50 +03:00
kd-11
de5a4fe083
rsx: Reimplement depth <-> RGBA reinterpretation code
...
- Implements proper channel order for fp24-ARGB8 conversion
- Takes swizzle remap into account when reconstructing source bytes
2017-12-01 21:00:50 +03:00
kd-11
5cf2d774f3
fp32 precision on GPUs is embarassing
...
- Division seems to suffer from drift easily on GPUs due to limited precision
2017-12-01 21:00:50 +03:00
kd-11
ccc0383f75
vulkan: Implement overlay shader passes
...
- Implements vk::overlay_pass and vk::depth_convert_pass
- Also added a sanity check in RSX core for depth replace shaders
2017-12-01 21:00:50 +03:00
kd-11
680ca1d12a
rsx: Zcull refactoring and vulkan implementation
2017-12-01 21:00:50 +03:00
kd-11
c926868758
vk: Dont always assume framebuffers exist
...
- TODO: Use temporary renderbuffers for these outputs
2017-12-01 21:00:50 +03:00
kd-11
30269e5bad
rsx/gl: Use strict method of gathering the depth buffer bits
...
- Performance difference on modern GPUs is negligible
2017-12-01 21:00:50 +03:00
kd-11
07f61db24a
rsx: Try to take the context for the surface creation into account
2017-12-01 21:00:50 +03:00
kd-11
63f261a66d
rsx: Improve framebuffer check heuristics for contested memory buffers
2017-12-01 21:00:50 +03:00
kd-11
33f3a3e014
rsx: Major fixes
...
- Handle aliased depth + color target by disabling depth writes. This looks to be the correct way
- Add support for generic passes that cannot be done using general imaging operations. Lays the framework for tons of features and effects
- Implement RGBA->D24D8 casting. Sometimes games will split depth texture into RGBA8 then use the new RGBA8 as a depth texture directly
-- This happens alot in ps3 games and I'm not sure why. Its likely the ps3 did not sample fp values with linear filtering so this is a workaround
-- Only implemented for openGL at the moment
-- Requires a workaround for an AMD driver bug
2017-12-01 21:00:50 +03:00
kd-11
8646f51fa3
rsx: Add more validation to framebuffer setups. Game devs sometimes do crazy things
2017-12-01 21:00:50 +03:00
kd-11
0aaae000b3
rsx: Minor improvements
2017-12-01 21:00:50 +03:00
kd-11
db58cd7513
rsx: Invalidate both depth and color surfaces when binding a new surface
2017-12-01 21:00:50 +03:00
Jake
d17093e65b
spu: Fix interrupt jump check - also change interrupt variable to atomic bool for ease of setting/checking
2017-12-01 20:29:59 +03:00
Jake
34e01ba3d8
mfc: Fix support for list transfer stall bit with partial support for out of order execution - Also give Sync commands a size so they are properly detected by queue checks
2017-12-01 20:29:59 +03:00
Jake
8b476b5bfa
spu: Recompiler Interrupt optimizations - Pigeonhole optimize for branching pattern that is used to enable and disable interrupts used in code, this should lower amount of blocks that are compiled and avoid falling out of a block - Recompiled interupt check in some cases to stay in block instead of falling out to dispatcher
2017-12-01 20:29:59 +03:00
Jake
ad97780c4f
spu: Implement DFCMGT for interpreter and recompiler
2017-12-01 20:29:59 +03:00
Jake
17cf24d0ed
sys_memory: Lower maximum size for memory block to fake OS size - Report available memory minus another fake block that can be used for the OS
2017-12-01 20:29:59 +03:00
Zion Nimchuk
c424652b43
Silence warnings in misc files (gui, psp2, mfc, mouse)
2017-11-30 18:07:19 +03:00
Zion Nimchuk
3a9ae2df9e
silence warnings in RSX stuff
2017-11-30 18:07:19 +03:00
Zion Nimchuk
8276d29d4f
Silence warnings in lv2/Modules
2017-11-30 18:07:19 +03:00
Zion Nimchuk
b9b06143d2
Silence some warnings in some files in Utilities
2017-11-30 18:07:19 +03:00
Unknown
853c3f9e39
Qt/Input: implement blacklist to Filter Noise in pad dialog
2017-11-30 19:06:54 +04:00
Unknown
c04c23f33d
Input/MMJOY: use provided min and max. Move info and caps to MMJOYDevice
2017-11-30 19:06:54 +04:00
Unknown
25a1d86986
Qt/Input: Remove unsupported groupboxes from pad dialog and shorten text
2017-11-30 19:06:54 +04:00
Unknown
c2379b8337
Qt/Input: disable config button when device combobox is empty
2017-11-30 19:06:54 +04:00
elad
91fd1465f2
SPU MFC: Clamp tag and size ( #3803 )
2017-11-29 16:28:41 +04:00
Unknown
a4de495093
Qt/Input: Implement GetModifierCode to improve keyevents
2017-11-29 15:57:29 +04:00
Unknown
2cd551a222
Qt/Input: disable TabFocus while mapping buttons in order to map Tab key
2017-11-29 15:57:29 +04:00
Unknown
dd4ccb059e
Input: MMJOY prioritize button presses due to constant axis events
2017-11-29 15:57:29 +04:00
Unknown
5810b29298
Input: Fallback in FindKeyCode to prevent crashes on incompatible config
2017-11-29 05:09:41 +04:00
Peter Mcteague
6702c14b88
Added installation for additional packages to game boot
2017-11-28 22:22:37 +03:00
scribam
8901cc9ae6
Update Qt to 5.9.3
2017-11-28 15:22:47 +04:00
Unknown
17ff1e41a5
Input: fix MMJOY a bit
2017-11-28 10:25:22 +00:00
Unknown
782156b26f
Input: fix currentText of device combobox
2017-11-28 10:25:22 +00:00
Unknown
4f5e93bd09
Input: Fix Default XInput LB
2017-11-28 10:25:22 +00:00
Megamouse
662fe8cc95
[Qt/Input] Improve pad_settings_dialog a bit ( #3611 )
...
* Input: further work on remapping Xinput and begin work on remapping DS4
* Input: Improve pad_settings_dialog a bit and begin Remapping for XInput
* Input: begin evdev remapping and change all handlers to use cfg::string
* Input: finish work on remapping evdev
and some more crap
* Input: finish work on remapping Xinput and DS4
* Input: add DS4 Colors to DS4 config
* Input: Improve DS4 deadzone scaling
Jarves made some mistakes, so I'll fix them in the follow up commit
* Input: fix Jarves fixes on DS4 deadzone
and remove unnecessary usage of toUtf8
* Input: add primitive batterychecks to XInput and DS4
* Input: add mmjoystick remapping
* Input: Fix evdev and some Vibration issues
* Input: adjust capabilities to fix stick input for games like LoS 2
also fix threshold slider minimum
also add ps button to all the handlers
* Input: Further evdev work
based on danilaml code review and own debugging:
Fixed path issue, <= 0 issue, some captures, const, axis with same codes.
Adds a map to each device that differentiates negative and positive axis mappings.
adjusted rest of the file to tabs (ListDevices and beginning of threadProc)
* Input: use 20ms vibration update time for xbox one elite controllers.
* Input: Fix return type of Clamp()
* Input: Evdev Fix
* Input: Evdev Optional GetNextButtonPress
presumably better than the other
* Input: review changes
* Input: evdev: fix wrong index in axis handling
move bindpadtodevice down to keep consistency between handlers and not get crazy
* Input: evdev: fix expensive add_device in GetNextButtonPress
* cleanup
* Input: mmjoy: fix type
* Input: evdev: final fixes
* Input: evdev: exclude unnecessary buttons while mapping Xbox 360 or DS4
* Input: add deadzone preview by passing necessary values in callback
use 0.5 of max value for threshold in pad dialog
* Input: get rid of all-uppercase variables
2017-11-28 01:31:15 +04:00
Nekotekina
695b4c1f06
Change sys_usbd_receive_event
2017-11-27 23:15:28 +03:00
Nekotekina
d366823949
RSX: fix fix (406E semaphore release)
2017-11-27 23:15:28 +03:00
Unknown
917ee472d4
Qt: implement progress_dialog
2017-11-27 23:16:46 +04:00
Unknown
2f7d621fc8
Qt: remove some warnings
2017-11-27 23:16:46 +04:00
VelocityRa
754cdea435
Avoid recreating SwsContext every frame
...
* Applies to video decoding(`libvdec`) and post-processing(`libvpost`).
2017-11-27 22:35:40 +04:00
scribam
5f07f78c23
CMake minor improvements ( #3783 )
...
* cmake: simplify GLEW integration
* cmake: simplify ZLIB integration
* cmake: simplify ALSA detection
* cmake: check C++ compiler and flags instead of C ones
* cmake: bring consistency in Qt packages detection and remove unnecessary related "include_directories"
* cmake: harmonize coding style
* cmake: set CMAKE_INCLUDE_CURRENT_DIR to ON only when necessary
2017-11-27 22:04:55 +04:00
Unknown
b22f3d7a55
Qt: change settingsdialog to horizontal layout
2017-11-27 21:35:59 +04:00
Nekotekina
1344f15efd
RSX: improve nv406e::semaphore_release
2017-11-26 09:02:37 +03:00
Nekotekina
f7803927d9
Fix exitspawn (autoexit option)
...
Fix other situations affected by this options
2017-11-26 09:02:37 +03:00
scribam
78101a9e57
cmake: remove unused link to ffmpeg libswresample
2017-11-25 14:07:11 +00:00
scribam
d05071221e
cmake: check if ffmpeg libswscale is present
2017-11-25 14:07:11 +00:00
Nekotekina
7d3a528871
Use Qt for error reports
2017-11-23 20:36:21 +03:00
Nekotekina
5fffef74a2
PKG installer update for DLC
...
Also:
1) Don't ask for overwriting. It's outdated feature.
2) Limit cancellation capabilities.
2017-11-23 18:38:05 +03:00
Nekotekina
74c248150b
Log sys_fs_utime values
2017-11-23 18:38:05 +03:00
Ofek
3628a8593f
Fix cellGameBootCheck for disc games ( #3771 )
...
Don't return dirName
2017-11-23 16:27:44 +04:00
Ofek
58c42ad9c0
Check sys_spu_thread_group_create's nsize ( #3742 )
...
* Check sys_spu_thread_group_create's nsize
* cellSearch callback correction
2017-11-23 02:02:23 +04:00
Megamouse
fb52cbb8b2
Trophy: Save dialog state ( #3729 )
...
* Trophy: Save dialog state and add show type settings
* SaveDataManager: Save Dialog State
* SaveDataList: Minor Optimization
* Qt: Save icon size on mouseevent resizes
it's a bit slower than using the slider because it saves every single resize. But better than not saving at all for now
* SaveData: Optimize saving to settings a bit
No Saving needed there
* Qt: get rid of all-uppercase enums and namespaces
* Qt/Linux: adjust remaining DX12 tooltip
* Qt: prevent dockwidget contextmenu
2017-11-22 15:11:59 +04:00
Unknown
de465cb941
Fix "Exit RPCS3 when process finishes" command line crash
...
Added force_boot to force boot on cmdline boot.
Load() caused a Stop() that exited the application with "Exit RPCS3 when process finishes" enabled. Now Stop is only called if the emu is not stopped
2017-11-21 03:02:47 +04:00
Jan Beich
dd5791a2cc
Fixes from FreeBSD package ( #3765 )
...
* Thread: unbreak on BSDs after dbc9bdfe02
Utilities/Thread.cpp:1920:2: error: unknown type name 'cpu_set_t'; did you mean 'cpusetid_t'?
cpu_set_t cs;
^~~~~~~~~
cpusetid_t
/usr/include/sys/types.h:84:22: note: 'cpusetid_t' declared here
typedef __cpusetid_t cpusetid_t;
^
Utilities/Thread.cpp:1921:2: error: use of undeclared identifier 'CPU_ZERO'
CPU_ZERO(&cs);
^
Utilities/Thread.cpp:1922:2: error: use of undeclared identifier 'CPU_SET'
CPU_SET(core, &cs);
^
Utilities/Thread.cpp:1923:48: error: unknown type name 'cpu_set_t'; did you mean 'cpusetid_t'?
pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cs);
^~~~~~~~~
cpusetid_t
* JIT: use MAP_32BIT on Linux and FreeBSD
Unless RLIMIT_DATA is low enough FreeBSD by default reserves lower 2Gb
for brk(2) style heap, ignoring mmap(2) address hint requested by RPCS3.
Passing MAP_32BIT fixes the following crash
Assertion failed: ((Type == ELF::R_X86_64_32 && (Value <= UINT32_MAX)) || (Type == ELF::R_X86_64_32S && ((int64_t)Value <= INT32_MAX && (int64_t)Value >= INT32_MIN))), function resolveX86_64Relocation, file /usr/ports/devel/llvm40/work/llvm-4.0.1.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp, line 287.
* build: unbreak -DVULKAN_PREBUILT with system glslang on Unix
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:4:10: fatal error: '../../../../Vulkan/glslang/SPIRV/GlslangToSpv.h' file not found
#include "../../../../Vulkan/glslang/SPIRV/GlslangToSpv.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/CMakeFiles/rpcs3.dir/Emu/RSX/VK/VKCommonDecompiler.cpp.o: In function `vk::compile_glsl_to_spv(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, glsl::program_domain, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >&)':
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x50e): undefined reference to `glslang::TProgram::TProgram()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x51d): undefined reference to `glslang::TShader::TShader(EShLanguage)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x542): undefined reference to `glslang::TShader::setStrings(char const* const*, int)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x581): undefined reference to `glslang::TShader::parse(TBuiltInResource const*, int, EProfile, bool, bool, EShMessages, glslang::TShader::Includer&)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x5d6): undefined reference to `glslang::TProgram::link(EShMessages)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x5f1): undefined reference to `glslang::GlslangToSpv(glslang::TIntermediate const&, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >&, glslang::SpvOptions*)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x5ff): undefined reference to `glslang::TShader::getInfoLog()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x61a): undefined reference to `glslang::TShader::getInfoDebugLog()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x630): undefined reference to `glslang::TShader::~TShader()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x63c): undefined reference to `glslang::TProgram::~TProgram()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x6d2): undefined reference to `glslang::TShader::~TShader()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x6de): undefined reference to `glslang::TProgram::~TProgram()'
rpcs3/CMakeFiles/rpcs3.dir/Emu/RSX/VK/VKCommonDecompiler.cpp.o: In function `vk::initialize_compiler_context()':
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x6f5): undefined reference to `glslang::InitializeProcess()'
rpcs3/CMakeFiles/rpcs3.dir/Emu/RSX/VK/VKCommonDecompiler.cpp.o: In function `vk::finalize_compiler_context()':
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x856): undefined reference to `glslang::FinalizeProcess()'
* build/msvc: add missing glslang include directory after 6bb3f1b4d75c
"c:\projects\rpcs3\rpcs3\VKGSRender.vcxproj" (default target) (15) ->
(ClCompile target) ->
Emu\RSX\VK\VKCommonDecompiler.cpp(4): fatal error C1083: Cannot open include file: 'SPIRV/GlslangToSpv.h': No such file or directory [c:\projects\rpcs3\rpcs3\VKGSRender.vcxproj]
2017-11-21 01:56:25 +04:00
clienthax
86a34fbb45
Fix regressions caused by network code. ( #3702 )
...
* Stub SOCK_DGRAM_P2P to allow some games to load again.
* Add 'support' for unspec sockets
(Have only seen the youtube app using these so far)
2017-11-20 16:42:16 +03:00
kd-11
5d87ef86b5
vk: Reset renderer status whenever a window geometry event is processed
2017-11-20 15:18:57 +03:00
kd-11
df7d52b177
rsx/fp: Give abs higher prio as it invalidates any precision checks
2017-11-20 15:18:57 +03:00
kd-11
f5addbf751
rsx/fp: improve SRC modifier order
...
- Neg modifier is applied after clamping. Abs has not been tested/proven so precision clamp goes first now, not last
2017-11-20 15:18:57 +03:00
kd-11
a8c0dd649e
rsx/fp: RE work on precision modifier bits
...
- Testing DS2 has revealed clamping bits in SRC1 that were not respected and left negative values reaching the framebuffer
2017-11-20 15:18:57 +03:00
kd-11
bbb3bdf008
rsx: Abort all drawing commands if no swapchain exists
...
- Should keep nvidia from consuming all device memory when minimized
2017-11-20 15:18:57 +03:00
kd-11
6d2dcbd164
rsx: Enable hw blit engine for local->main memory blit operations as well
2017-11-20 15:18:57 +03:00
kd-11
be6b5922dd
rsx: research native texel byte order on cpu readback (WCB) [WIP]
2017-11-20 15:18:57 +03:00
Unknown
59be9dc36e
Qt: move "Disable Vertex Cache" option back to gpu tab
2017-11-20 13:36:13 +03:00
Unknown
61ca9df45c
Qt: Use global Appicon instead of setting it in every Dialog
2017-11-20 00:34:29 +00:00
Zion Nimchuk
12ecba7d49
Initial work on sys_usbd syscalls
2017-11-19 23:11:13 +03:00
scribam
223f17ac7e
Bump CMake requirement
2017-11-16 01:41:51 +04:00
Nekotekina
c435b328c7
Implement savedata delete op
2017-11-15 21:00:02 +03:00
Nekotekina
0d1cb8c878
Fix cellMsgDialog
2017-11-15 21:00:02 +03:00
Nekotekina
16d7023a92
cellSaveData fixes
2017-11-15 21:00:02 +03:00
Nekotekina
358afc045d
Minor fix (cellGame)
2017-11-15 21:00:02 +03:00
Nekotekina
0fbb8b9a18
Implement _sys_prx_load_module_by_fd
...
Implement _sys_prx_load_module_on_memcontainer_by_fd
2017-11-15 21:00:02 +03:00
Nekotekina
9ef00b4a12
RSX: Rewrite frame limit
2017-11-15 21:00:02 +03:00
Nekotekina
9bc0ec586a
Fix command line args
2017-11-15 21:00:02 +03:00
Nekotekina
f4eab09557
Add supporters
2017-11-15 21:00:02 +03:00
Nekotekina
f2980d57a1
ALSA audio backend fixes
2017-11-15 21:00:02 +03:00
Nekotekina
dbc9bdfe02
Implement set_ideal_processor_core (linux)
2017-11-15 21:00:02 +03:00
clienthax
9e0b881b2b
Fire callback in cellSearchInitialize
...
Allows BLJS10131 to get ingame ;)
2017-11-15 02:26:36 +04:00
clienthax
946ba3be29
Fix bug in sys_spu_thread_group_create ( #3734 )
2017-11-14 22:24:55 +04:00
Ani
0064976c43
Bump version to 0.0.4
2017-11-12 18:13:22 +00:00
Robbie
2c19fdf092
Fix off by one error in trophies ( #3715 )
2017-11-12 17:36:13 +00:00
Ofek
8fc9862614
Fix cellGameGet(Set)Param ( #3690 )
...
* Fix cellGameGet(Set)Param
2017-11-11 22:22:38 +00:00
Talkashie
55d84414ee
Stub sceNpSnsFbCheckConfig ( #3720 )
2017-11-11 22:18:32 +04:00
Talkashie
8c0bdd71d9
Correct two typos and a couple of other nitpicky things ( #3721 )
...
Correct two typos and a couple of other nitpicky things
2017-11-11 12:56:59 +00:00
kd-11
3c9126d91f
rsx: Ignore FENCE instruction as it seems like its ignored on realhw
...
- This is likely a compiler hint for performance reasons and not a mandate
2017-11-09 14:39:50 +03:00
kd-11
8b4836a12f
rsx: Fix shader cache version check
2017-11-09 14:39:50 +03:00
kd-11
b2a7eee1ec
rsx: Bump shader cache ver and fix blit engine crash
...
- Disables blit operations if the target will have a size of 0 in any dimension
- Bumps shader cache ver to 1.1
2017-11-09 14:39:50 +03:00
kd-11
ed21bb309f
rsx: Minor fixups
...
- Fix texture cache blit behaviour when src has AA enabled and dst is a blit dst texture with or without AA
-- This requires handling AA resolve by removing a half downscale on multisampled axes
- Return all ones when a vertex attribute is disabled.
-- Some games forget to enable vertex attributes actually needed by the fs
2017-11-08 13:15:34 +03:00
kd-11
7b3e4f5e3d
vk: Hotfix
...
- facepalm: Do not enable depth comparison mode if masquerading as RGBA color!
2017-11-08 13:15:34 +03:00
kd-11
30b3af0d12
vk: Cleanup, simplify renderpass management
2017-11-08 13:15:34 +03:00
kd-11
541cb4062b
vk: Fix shader logging
...
- Do not overwrite logged programs
2017-11-08 13:15:34 +03:00
kd-11
4e9160104a
rsx/vk/gl: Cleanup and refector glsl::getFunctionImpl
...
- Both backends now generate very similar code
2017-11-08 13:15:34 +03:00
kd-11
86fa379c78
rsx/vk: Fix unnormalized converted textures
2017-11-08 13:15:34 +03:00
kd-11
8733505d0a
rsx: Minor fixes
...
- texture_cache: Fix internal size calculation for subresources
- vk: Delay dynamic state updates until just about to draw to ensure no flush has discarded the cb state
2017-11-08 13:15:34 +03:00
kd-11
242611aa46
gl/qt: Catch segfaults in wglDeleteContext with SEH (AMD windows driver)
...
- In rare cases the driver derefs a nullptr and dies, taking the emulator with it
- From testing, it seems the vram is indeed freed when this happens so its "safe" to continue
2017-11-08 13:15:34 +03:00
kd-11
baa5a261a5
rsx: Rewrite invalidate_range_impl_base in a way that makes sense. Fixes wcb hanging
2017-11-08 13:15:34 +03:00
kd-11
3730b9d1da
rsx: More fixes
...
- Support for raster offsets in surface descriptors (looks to be unused)
- Do not tag disabled render targets when using MRT (pitch = 64)
- Add missing notify_surface_changed() call for openGL
2017-11-08 13:15:34 +03:00
kd-11
0d35363ea0
rsx: Minor optimization - dont update sampler state if texture state registers have not changed
2017-11-08 13:15:34 +03:00
kd-11
75504b3f5e
rsx: Rework context handling and stop leaking the GL ccontext
...
- GL contexts are external handles that require manual lifecycle management
2017-11-08 13:15:34 +03:00
kd-11
4ca98e53a6
rsx: Fix for unnormalized texture access
2017-11-08 13:15:34 +03:00
kd-11
300a36d3d6
rsx: Fixes for cubemap reconstruction
...
- Do not abort generation if sides are missing, replace with blank surfaces instead
- Make cubemaps scale with res scaling
2017-11-08 13:15:34 +03:00
kd-11
60c7a508a7
rsx: Refactor create_subresource_view(deferred_subresource&) and implement a subresource cache
...
- This limits the number of times an image is copied and improves performance
2017-11-08 13:15:34 +03:00
kd-11
1fa18757fc
rsx: Implement render-to-cubemap; Also simplify unnormalized samplers [WIP, DELETE SHADER CACHE, VERY SLOW]
...
- Enables real-time cubemap reflections
- TODO: Vulkan is broke; rsx is very slow with this feature
2017-11-08 13:15:34 +03:00
kd-11
fbb7186e66
rsx/gl: Addendum - Fix fragment shader to consume texture scale parameters
2017-11-08 13:15:34 +03:00
kd-11
0961a43997
rsx: Implement 1D<->2D image type casts
2017-11-08 13:15:34 +03:00
kd-11
7037504dcf
rsx: Workaround for missing AA flags on some surfaces
...
- This just doesnt work right yet. It looks like AA is being used dynamically? (RDR)
- TODO: Try to locate flags to set AA if AA mode is not changed
2017-11-08 13:15:34 +03:00
kd-11
2385029eab
gl: Shift code around to increase work done after memory transfer operations
...
- The current code is slower because memory operations are too close to their draw calls
-- This is mainly an issue with proprietary AMD drivers
2017-11-08 13:15:34 +03:00
kd-11
eed55a446c
rsx: Minor optimization
...
- Defer resolving image copy operations to the binding step
2017-11-08 13:15:34 +03:00
kd-11
bbcb6b6851
rsx: Fbo fixes 2
...
- Use AA mode to predict surface compression. Compression mode is useless without AA activated
- Rewrites most image subresource fetch routines to use the new heuristic
- Fix rsx:🧵 :find_tile. FEED000(X) can be substituted for (X) in the code
-- Fixes alot of failures when looking for tiled regions
rsx: Fix antialiased unnormalized coords
- scaling factors are inverse to allow proper coordinates to be computed in fs
2017-11-08 13:15:34 +03:00
kd-11
b95630d84a
rsx: Minor fixups
...
- Optimize framebuffer memory invalidate conditions
- Fix texture sampling of AA textures (wider by 2x surfaces)
2017-11-08 13:15:34 +03:00
kd-11
af1d3c2aa6
rsx: Improve surface store resource management
...
- vk: Use frame testing to determine invalidated resources that can be safely deleted
2017-11-08 13:15:34 +03:00
kd-11
ec3e5c547f
rsx: More fixes
...
- Tag surface store to help determine when contents have been invalidated
- Crop framebuffer textures if they are not the requested dimensions!
2017-11-08 13:15:34 +03:00
kd-11
963a87fed5
rsx: Critical fixes
...
- Remove generic throws from the rsx pipeline. Stops the rsx thread from silently dying leaving the emulator in a hung state
- Hackplement add_signed and reverse_subtract_signed blend modes
2017-11-08 13:15:34 +03:00
kd-11
173d05b54f
rsx: Optimizations
...
- Reimplement fragment program fetch and rewrite texture upload mechanism
-- All of these steps should only be done at most once per draw call
-- Eliminates continously checking the surface store for overlapping addresses as well
addenda - critical fixes
- gl: Bind TIU before starting texture operations as they will affect the currently bound texture
- vk: Reuse sampler objects if possible
- rsx: Support for depth resampling for depth textures obtained via blit engine
vk/rsx: Minor fixes
- Fix accidental imageview dereference when using WCB if texture memory occupies FB memory
- Invalidate dirty framebuffers (strict mode only)
- Normalize line endings because VS is dumb
2017-11-08 13:15:34 +03:00
Zion Nimchuk
865bb47462
HEAD or master will no longer show up in the titlebar
2017-11-08 12:49:22 +04:00
scribam
3e7ed8a831
PPUTranslator minor changes
2017-11-08 08:34:00 +04:00
Zion Nimchuk
6782b22637
Make cellMouseGetDataList return CELL_MOUSE_ERROR_NO_DEVICE if mouse handler is set to null
2017-11-04 19:55:32 +00:00
scribam
4600094829
[RSX] Fix uninitialized value before usage
2017-11-04 01:28:53 +03:00
kd-11
daaa83b9ca
rsx: Fix for framebuffer validation
2017-11-04 00:08:30 +03:00
Robbie
3288050680
Have trophy manager reject games that have invalid usr data rather than dying.
2017-11-03 21:15:43 +03:00
Robbie
b8c29ae957
Make it so that TROPUSR doesn't crash on "bad" imput.
2017-11-03 21:15:43 +03:00
Robbie
47bacc0ef0
Make trophy dialog smarter and not need the silly file. Can load all games by default now.
2017-11-03 21:15:43 +03:00
Tahir Akhlaq
3d0dced4bd
change CryptAcquireContextW to try CRYPT_NEWKEYSET flag if key container doesnt exist already < https://msdn.microsoft.com/en-us/library/windows/desktop/aa379886(v=vs.85).aspx >
2017-11-03 14:17:37 +03:00
kd-11
30bba09fed
disable fb testing for partial framebuffer resources
2017-11-02 14:35:19 +03:00
kd-11
31b07f2c5c
rsx: Tweaks
...
- Optimize get_surface_subresource
- Add check_program_status time to draw call setup statistics. It can slow down games significantly
2017-11-02 14:35:19 +03:00
kd-11
f7063bb57b
vk: Improved handling of swap_bytes behaviour when using WCB
2017-11-02 14:35:19 +03:00
kd-11
e4ef85b6e0
rsx: Experimental; Try to calculate pixel offset using nv3062 pitch register since we know the target block is defined with 3062 registers
2017-11-02 14:35:19 +03:00
Nekotekina
b7c2088489
Add supporters
2017-11-01 05:07:12 +03:00
Nekotekina
59cd0a9c7f
Implement set_native_priority (posix)
2017-11-01 05:07:12 +03:00
Nekotekina
af107df0b4
Fix NPDRM exitspawn
2017-11-01 05:07:12 +03:00
Nekotekina
0e7e40f2cb
Fix /dev_bdvd/ for exitspawn
2017-11-01 05:07:11 +03:00
Nekotekina
0b788f5b43
Add Delete LLVM Cache option
2017-11-01 05:07:11 +03:00
scribam
db5c2500c2
Update PPA urls to the latest version of Qt
2017-10-31 09:29:12 +00:00
Robbie
4aa89132d7
Implement Trophy Manager.
2017-10-29 18:48:33 +03:00
MRG95
c1f08ce58d
Added breakpoint list
...
Added a list widget that displays all the currently active breakpoints. You can rename each one for convenience, delete them in bulk, or double click to jump to that address.
2017-10-29 16:17:05 +03:00
MRG95
09a0d046f4
Repositioned current instruction to middle
...
As soon as I tried the debugger, i wanted to move it to the middle almost instantly. Checked the code and found it sitting right here but commented out. Why? This is awesome.
2017-10-29 16:17:05 +03:00
Unknown
0741698f13
Qt: Fix Save Data Dialog initial size
2017-10-29 15:52:46 +03:00
kd-11
c2ac05f734
rsx: Fix for rsx thread lockup due to nested access violations when WCB is enabled
2017-10-29 15:25:17 +03:00
kd-11
f8f5f9f418
vk: Allow swapchain create to fail with an error
2017-10-29 15:25:17 +03:00
kd-11
7e6d6b45d4
nvidia facepalm
2017-10-29 15:25:17 +03:00
kd-11
361e80f7dc
rsx: Tag cache blocks returned on access violation to validate data passed
...
to flush_all is up to date. Should prevent recursive exceptions
Partially revert Jarves' fix to invalidate cache on tile unbind. This will
need alot more work. Fixes hangs
2017-10-29 15:25:17 +03:00
kd-11
395b4bfa45
gsframe: Break waiting is emulator is stopped suddenly
...
- Keeps the queue from hanging the GUI
2017-10-29 15:25:17 +03:00
kd-11
ce2b790d8f
rsx/qt: GsFrame improvements
...
- Identify minimize/restore events as separate from regular resize and do not react to them
- Enable message queue consumption after loading the shaders cache. Also hides the frame in this step
-- This fixes the 'start fullscreen' bug when running vulkan
2017-10-29 15:25:17 +03:00
Nekotekina
1ffc1e82b0
fixup
2017-10-28 23:39:10 +03:00
Nekotekina
8520ca7ef7
Audio: add Buffer Count setting
2017-10-28 23:24:08 +03:00
Nekotekina
89fba1c385
ppu_acontext draft
2017-10-28 23:24:08 +03:00
Nekotekina
00a0d37455
Add cmdline support
2017-10-28 23:24:08 +03:00
scribam
dbb2251f93
[Qt] Fix uninitialised values before usage
2017-10-28 13:56:32 +03:00
kd-11
7abf755a57
rsx: Avoid false positives by early rejection. Should keep cache thashing to a minimum
2017-10-28 13:26:16 +03:00
kd-11
055f0e2e4a
rsx: Export more information about affected cache sections when handling violations
...
- This allows for better handling of deferred flushes.
-- There's still no guarantee that cache contents will have changed between the set acquisition and following flush operation
-- Hopefully this is rare enough that it doesnt cause serious issues for now
2017-10-28 13:26:16 +03:00
kd-11
49f4da3016
rsx: Fixes
...
- vk: Always reopen primary command buffers. They should only be closed in flush_command_queue
- If uploading a texture and there are collisions with protected buffers, do not rebuild the cache
- Perform writes via flush before reprotecting pages that were not trampled
- Only flush no pages once
2017-10-28 13:26:16 +03:00
kd-11
bf234dc668
rsx: Implement memory tags for strict mode to validate render target memory
2017-10-28 13:26:16 +03:00
kd-11
11bd65c2b5
vulkan: Flush queue before attempting to copy texture memory!
2017-10-28 13:26:16 +03:00
Jake
e0d1ac676e
rsx: invalidate surface store address when tile is unbound
2017-10-28 12:46:20 +03:00
Jake
494cbac78b
spu: save and restore mfc cmd after processing
2017-10-28 12:46:20 +03:00
Jake
0d46a8e786
spu: Implement readch(mfc_cmd)
2017-10-28 12:46:20 +03:00
Jake
626b9f93c4
rsx: make dmactrl get 'readonly'
2017-10-28 12:46:20 +03:00
Zangetsu38
53f9defb07
Trophy: use system language setting
2017-10-27 14:09:50 +01:00
Robbie
4bf8d1e41f
Fix off by one error. Sigh.
2017-10-26 20:31:55 +01:00
Robbie
936c817bd8
Fix focus issue in trophies.
2017-10-26 20:31:55 +01:00
kd-11
9c9495621c
rsx: Fix critical bug concerning transient data layout in memory
2017-10-26 00:35:45 +03:00
kd-11
d53673c6f7
rsx: Disable draw call batching when strict mode is enabled
...
- Minor bugs have been observed with it always enabled
2017-10-26 00:35:45 +03:00
kd-11
882e949f80
vk: Fix for infinite hanging in the access violation handler
2017-10-24 22:59:09 +03:00
kd-11
e6849a59a2
rsx: Better detection of framebuffer memory copy operations
...
- Still requires texture stitching to work correctly, but matching dimensions works well for now
2017-10-24 22:59:09 +03:00
kd-11
6918e265ec
rsx/vk: Be a little more frugal with texture memory to avoid running out of VRAM on 1GB cards
2017-10-24 22:59:09 +03:00
kd-11
e9f293f522
rsx: Improve separate treatment of write exceptions vs read exceptions
...
- Optimizes search functionality and avoids thrashing valid sections
2017-10-24 22:59:09 +03:00
kd-11
5fc36d64b6
fix build
2017-10-24 22:59:09 +03:00
kd-11
95e6d78689
rsx: Workaround for 0 pitch textures.
...
- Should these be ignored? Needs investigation
2017-10-24 22:59:09 +03:00
kd-11
f4a666345a
rsx: Even more texture cache fixes
...
- Fix subresource sampling
- Invalidate memory range before uploading textures to prevent hangs
2017-10-24 22:59:09 +03:00
kd-11
7a5c88a8d1
rsx: Only transfer framebuffer contents if memory contents are compatible
2017-10-24 22:59:09 +03:00
kd-11
0de0dded53
rsx: Texture fixes continued
...
- Fix buffer invalidate behaviour (wcb)
- Disable auto rebuild with only framebuffer storage getting rebuilt
- Fix vulkan subresource sampling
2017-10-24 22:59:09 +03:00
kd-11
5e58cf6079
rsx: Restructuring [WIP]
...
- Refactor invalidate memory functions into one function
- Add cached object rebuilding functionality to avoid throwing away useful memory on an invalidate
- Added debug monitoring of texture unit VRAM usage
2017-10-24 22:59:09 +03:00
Robbie
b0737d1c90
Make a basic trophy notification dialog ( #3204 )
...
* Make trophy notification dialog.
* Fix bug where trophy state doesn't persist with game reboot.
2017-10-24 18:43:05 +03:00
Robbie
779ed75a19
Save manager improvements ( #3631 )
...
* Make size of manager only 60% of screen height initially at most.
* Add ability to delete/select multiple entries.
* Add ability to open up save dir and fix how it's done in
game_list_frame.
* Make delete much cleaner.
2017-10-24 18:09:38 +03:00
kd-11
96fd8556f2
Silence annoying experimental build warning
...
- Compiling locally on VS defines BRANCH to "" (empty $BRANCH envvar) and defines _MSC_VER. The pdb check is useless since it will never be reached
2017-10-22 00:14:40 +03:00
kd-11
8f324dfc0a
vk: Enable primitive restart workaround for polaris and vega on linux as well
...
- Looks like it might be a hardware erratum
2017-10-22 00:14:40 +03:00
Unknown
34a6085cc0
Qt: add "clear" option to tty log contextmenu
2017-10-19 15:13:17 +01:00
Megamouse
b3efa75206
[Qt] UI improvements ( #3558 )
...
* Qt: Show tooltips in description box
* Qt: implement description subscription
* Qt: add gamelist resize for ctrl-+/-/wheel (simple zoom)
* Qt: handle strict mode in gui tab
* Qt: more highdpi stuff
* Qt: remove old tooltips from settings_dialog
* Qt: conform cpublit tooltip to new subscription model
2017-10-19 14:29:48 +03:00
toccata10
b90a7dc66a
evdev: add analog to dpad option ( #3551 )
...
* evdev Analog to digital option
* rewrite conditions on axis rotation
* a bit of cleanup
2017-10-19 13:41:02 +03:00
Megamouse
200557c036
[Qt] Add syntax highlighter ( #3550 )
...
* Qt: Add syntax highlighter
* Qt: add syntax highlighter to cg_disasm
The glsl part is pretty much finished.
The asm is still missing a few rules.
Colors are not yet fully decided
* Qt: add filter for syntax highlighter
2017-10-19 12:58:39 +03:00
kd-11
472cb3b1c2
gl: Check for vendor_string ATI for AMD cards. It seems AMD is still using the ATI openGL stack
2017-10-19 12:22:52 +03:00
kd-11
d8ee6a2edb
add RX 550 to AMD vulkan cards with restart bug
2017-10-19 12:22:52 +03:00
kd-11
ddcacb8258
general fixes; Force u32 return type for index_count and add RX Vega to primitive restart blacklist
2017-10-19 12:22:52 +03:00
kd-11
a8e1754fa4
rsx: Allow clear_surface command for depth-only passes. Removes invalidate cache hack
2017-10-19 12:22:52 +03:00
kd-11
5db45c3699
rsx: More fixes
...
- Workaround for AMD glMultiDrawArrays bug
- Disable disjoint command submission when multidraw support is disabled
2017-10-19 12:22:52 +03:00
kd-11
89dcafbe41
rsx: Reimplement index buffer generation
...
- Emulate primitive restart in software whenever we get the chance
- Ensure PRIMITIVE_RESTART is never active when LIST topologies are active
- Reimplement TRIANGLE_FAN, POLYGON and QUAD expansion
2017-10-19 12:22:52 +03:00
kd-11
3d05e61f7e
rsx/vk: Workaround for polaris primitive restart bug
2017-10-19 12:22:52 +03:00
scribam
170a95f5df
Add BRANCH as a preprocessor definition taken from an environment variable
2017-10-15 18:20:02 +01:00
scribam
f20e0c2898
rpcs3.vcxproj: remove unused paths in AdditionalLibraryDirectories
2017-10-15 14:23:48 +01:00
kd-11
a11d66f52d
update vulkan submodules ( #3600 )
2017-10-15 14:37:52 +03:00
Megamouse
304a4a1b61
GUI: add some visual studio filters ( #3375 )
2017-10-14 19:06:20 +03:00
Henrique Jung
76b7103fed
[CMake] Build LLVM from the submodule if there's no suitable version
...
When RPCS3 is compiled with LLVM (default option), CMake only tries to
find LLVM on the default system installation. So the OS must have a
sytstem-wide installation of LLVM of at least version 4.0, which is not
available on many GNU/Linux distributions (e.g. Ubuntu 16.04, Debian
Stretch). If CMake can not find a suitable version, it silently falls
back to compile RPCS3 without LLVM.
This patch makes CMake defaults to compile the LLVM submodule if and
only if a suitable LLVM version is not found installed on the system.
Due to a build time check on LLVM, in-tree builds will not work when
building the submodule (LLVM does not allow in-source builds). For this
reason, the instruction for building on CMake were updated.
2017-10-14 14:54:10 +03:00
kd-11
1572d01c53
qt: Add cpu blit emulation override to the debug tab
2017-10-14 14:19:14 +03:00
kd-11
86bf61ad35
rsx: Fix memory protection
...
- Fixes hanging when wcb is enabled
2017-10-14 14:19:14 +03:00
kd-11
479aa91368
rsx: Add a debug option to force full software emulation of blit engine
2017-10-14 14:19:14 +03:00
kd-11
eab9d06981
rsx: Texture cache fixes
...
- Fix src/dst framebuffer detection
- Silence some warnings
2017-10-13 15:23:48 +03:00
Zangetsu38
c63ff05e6e
Fix compile VS for Optional submodule
2017-10-13 05:14:12 +03:00
scribam
0129c54ab6
Move optional.hpp as a submodule
2017-10-12 18:00:24 +03:00
kd-11
c570410e06
rsx: Stop executing broken command queues if the application fails to recover in 3 retries
2017-10-12 13:51:29 +03:00
kd-11
9af71699a4
rsx: Minor fixes
...
- Dont skip cb if a problem occurs, just spin on it instead to allow possibility of recovery
- Vulkan cleanup for the die_with_error helper
2017-10-12 13:51:29 +03:00
kd-11
58860614e3
rsx/qt: Implement native window hooks for win32 windows to allow communication between WndProc thread and rsx::thread
...
- This communication is important in communicating window events. Helps properly synchronize swapchain management on vulkan and stops nvidia crashing
- Do not block the message queue lest the driver detect window as not responding
2017-10-12 13:51:29 +03:00
Farseer
e8bde583ef
Remove sysutil callback
2017-10-12 04:46:10 +03:00
Nekotekina
5b19908996
Escape problematic characters in VFS
...
With full-width <>:"\|?*
2017-10-11 22:01:37 +03:00
Nekotekina
19f3bb8cb0
Allow shader cache dialog cancellation
2017-10-11 20:06:33 +03:00
Nekotekina
ac64792d99
Optimize PPU module loading
...
I'm garbage 🤦
2017-10-11 20:06:33 +03:00
Nekotekina
efe140bc0c
Fix instruction editor a bit
2017-10-11 20:06:33 +03:00
Nekotekina
df2fc13b7a
Add PPU instruction stat dumper
...
Needs PPU Debug option to activate and PPU Interpreter
Dumps after Resume (after Pause)
Fix utils::memory_decommit, clean vm.cpp
2017-10-11 20:06:33 +03:00
kd-11
f5d450f24c
vk: Better vsync mode selection ( #3571 )
2017-10-11 19:10:49 +03:00
yzwduck
2e5f8c0786
Rename outputs correctly when writing default values to them ( #3574 )
...
- Fix for undeclared variable errors
2017-10-11 01:50:43 +03:00
kd-11
5a03db7d2e
rsx: Improve memory protection behavior when strict mode is off
2017-10-10 12:10:41 +03:00
kd-11
91ef202ee7
vulkan: Better VkResult handling
2017-10-10 12:10:41 +03:00
Zion Nimchuk
6d6b281270
Fix gentoo LLVM linking
2017-10-09 22:46:36 +01:00
Zion Nimchuk
a3c49bea2c
Revert "Add option to build using llvm shared libs and document other cmake options"
...
This reverts commit 6f33953861430882d318b6b96f7e59b06b6a4d4c.
2017-10-09 22:46:36 +01:00
kd-11
1d375cb13c
vulkan: Fix window resize race condition when doing flip
2017-10-09 20:25:41 +03:00
Megamouse
20ad9a13b8
Qt: add high resolution settings to gui tab
2017-10-09 20:25:41 +03:00
kd-11
fc0f98b5db
rsx: Res scaling improvements
...
- gl: Reintroduce the wcb hw downscaling
- rsx: Clamp scalable render target size with a config var
2017-10-09 20:25:41 +03:00
kd-11
3fe37ede97
rsx: Fixups
...
- gl: Remove redundant texstorage1D call
- gl: Disable the wcb scaling code as it doesnt work right yet [WIP]
- vk: Fix wcb reads
2017-10-09 20:25:41 +03:00
kd-11
55df3cdf67
vulkan: Implement vsync
2017-10-09 20:25:41 +03:00
kd-11
6e8107a5cb
rsx: Implement AF override
2017-10-09 20:25:41 +03:00
kd-11
7bee4064a6
gl/wcb: Use temporary scaled image to implement bilinear filter
2017-10-09 20:25:41 +03:00
kd-11
12ab03b0b5
rsx/gl: Implement resolution scaling
...
rsx: Revise wpos calculation to take resolution scale into account
2017-10-09 20:25:41 +03:00
kd-11
47202d5839
rsx: Set up patch functionality for program coeffecients
2017-10-09 20:25:41 +03:00
Robbie
47b121a700
PPU Page Faults ( #3309 )
...
I guess I'll merge it and fix some issues later myself.
2017-10-08 23:37:54 +03:00
scribam
d53b640bcf
Change compiler requirements in cmake script to match with the values listed in the README.md file
2017-10-08 14:50:31 +03:00
Unknown
78ef467138
Qt: fix fullscreen icon
2017-10-08 13:34:46 +03:00
Unknown
b7f6bd4c91
Qt: extend drag and drop to mainwindow
2017-10-08 13:34:46 +03:00
Unknown
e272acd7c1
Qt: sort game_list_frame members
2017-10-08 13:34:46 +03:00
Unknown
93d2ac887d
Qt: add spu and ppu debug checkboxes to debug tab
2017-10-08 13:34:46 +03:00
Megamouse
a84cc1d3bb
Qt: move Render_Info to emu_settings.h
2017-10-08 13:34:46 +03:00
Nekotekina
cc594ad353
Add supporters
2017-10-05 19:51:37 +03:00
Nekotekina
3907dd0444
Implement SYS_NET_SO_REUSEPORT
2017-10-05 19:51:37 +03:00
Nekotekina
3d64b65813
Fix /dev/urandom typo
2017-10-05 19:51:37 +03:00
Nekotekina
ab4e66a0bf
Add cellVdec hack (stolen TLS)
2017-10-05 19:51:37 +03:00
Nekotekina
144f6809bf
Implement CALL_FUNC
2017-10-05 19:51:37 +03:00
Nekotekina
d296e6021d
libbeisobmf.sprx
2017-10-05 19:51:37 +03:00
Nekotekina
45a855ef1f
Fix cellKb
2017-10-05 19:51:37 +03:00
Nekotekina
e5f756205c
sys_net full rewrite
...
Implement sys_net syscalls
Clean libnet functions
Use libnet.sprx
Use libhttp.sprx
Use libssl.sprx
Use librudp.sprx
Implement sys_ss_random_number_generator
2017-10-05 19:51:37 +03:00
Talkashie
6335fa8df1
Update tooltips.json ( #3529 )
2017-10-05 19:34:48 +03:00
Megamouse
b2605206b1
Qt: fix gamegrid regression: mismatch between entry count and grid size
2017-10-05 17:10:18 +01:00
Megamouse
0ca1f82059
[Qt] fix experimental build warning layout and smoothen gamelist scrolling ( #3532 )
...
* Qt: fix layout of "experimental build warning" for dpi scaling
and remove compiler warning in welcome_dialog.ui
* Qt: smoothen gamelist/-grid scrolling by setting singlestep value
and fix missing scroll and deselect on gamegrid
* Qt: show all bootable categories in gamegrid
2017-10-05 05:22:02 +03:00
toccata10
0c5cb4824b
Add Deadzones for evdev gamepads ( #3519 )
2017-10-05 04:59:35 +03:00
Megamouse
cf83b796e1
Qt: include debug tool colors in stylesheet ( #3527 )
...
Qt: include debug tool colors in stylesheet
2017-10-04 23:10:24 +01:00
kd-11
b338c81907
spu: Fixes ( #3526 )
...
* spu: Rewrite interpreter fast FM
- Partially implement accurate FM
- Fix FMA/FMS/FNMS by removing an optimization that does not work for INF (cmpunord)
- cmpunord does not catch all cases of an extended result/overflow
- NOTE: FM still does not handle corner cases well (e.g inf * 1.2 because SPU does not have concept of inf)
2017-10-04 20:58:06 +03:00
Megamouse
81b3e7e449
Qt: disable viewport settings on custom configs
2017-10-03 01:34:26 +03:00
scribam
425ddd13e5
[Qt] Fix repository urls to install Qt
2017-10-03 00:41:56 +03:00
Megamouse
3067c8bd27
Qt: fix tty objectname and add tty text color to stylesheet
2017-09-28 18:23:17 +03:00
jjsat
632c8872cd
Respect the controller setting when returning data from cellPadGetData.
2017-09-28 12:15:54 +03:00
Megamouse
9650218bb8
Qt: fix log stacking bug when wordwrap occurs
2017-09-28 01:46:20 +03:00
Megamouse
0b51102167
Qt: add log colors to stylesheet
...
and silence some compiler warnings
2017-09-28 01:46:20 +03:00
Megamouse
ca36d08893
Qt: use rgba lambda for default stylesheet
2017-09-28 01:46:20 +03:00
Megamouse
a358384900
Qt: support thumbnail icons in stylesheets
2017-09-28 01:46:20 +03:00
Megamouse
77a75305c7
Qt: implement GetOpaqueImageArea
2017-09-28 01:46:20 +03:00
Ryan Gonzalez
85b9809b39
Fix evdev axis reversal ( #3303 )
2017-09-28 01:13:57 +03:00
Zion Nimchuk
d36de7d54f
AppVeyor git branch in title fix #2
2017-09-28 00:50:24 +03:00
Jake
2b1c757084
ds4: Fix initial connection issue and hotplug/dongle calibration detection
2017-09-24 22:03:49 +03:00
kd-11
e7db0c7d99
vk: Clamp unreleased texture metric
...
- TODO: Find the leaking references
2017-09-23 16:46:41 +03:00
kd-11
393e3b702f
rsx: Clean up debug overlays. Add unreleased textures metric to track texture memory
2017-09-23 16:46:41 +03:00
kd-11
23ad687e7e
vk: New images always should be UNDEFINED or PREINITIALIZED
2017-09-23 16:46:41 +03:00
kd-11
a04ecdbe0a
vulkan: Use frameid to determine texture storage to discard
2017-09-23 16:46:41 +03:00
kd-11
9ee21af524
vulkan: Optimize memory allocation
2017-09-23 16:46:41 +03:00
kd-11
b74cdcde00
rsx: Make the 3rd texture dimension matter
...
- Affects cube maps and texture3D surfaces
2017-09-23 16:46:41 +03:00
kd-11
4d83d749a0
rsx: Texture cache fixes
...
- Update section flags when requested
- Fix nullptr dereference: cached_dest will be null if dst_is_render_target is true
2017-09-23 16:46:41 +03:00
Zion
8e66e719fa
Fix branch name for AppVeyor Builds ( #3472 )
2017-09-22 13:26:43 +03:00
kd-11
c6e6f4afea
vs/qt: Explicitly reference target output to avoid failing post-build step
...
- Referencing the whole build folder will err if there is any non-qt exe in the folder
2017-09-21 20:05:07 +03:00
kd-11
d0148728c6
rsx: Fixes
...
- Fix section scanning range for early reject
- Specify IMAGE_ASPECT_STENCIL when uploading image_from_cpu
2017-09-21 20:05:07 +03:00
kd-11
dfc564f837
gl: Check that fence is not empty before calling destroy
2017-09-21 20:05:07 +03:00
Farseer
2b0edf6cde
Allow null argument
...
Should fix Jak 2
2017-09-21 17:31:46 +03:00
Henrique Jung
daa7520d1d
Deploy QT DLLs using windeployqt tool ( #3432 )
...
* Deploy QT DLLs using windeployqt tool
Replace the old mechanism that manually copy the DLLs using either CMake
or VS built-in functions. The new approach uses the windeployqt tool
provided by the QT project that automatically detect the needed DLLs and
perform the necessary copying.
This approach should be more robust if there's an upstream change on QT
project regarding DLLs usage.
* QT DLLs: do not ship RPCS3 with ANGLE and software-OpenGL
According to https://doc.qt.io/qt-5/windows-requirements.html ANGLE is
useful for applications that use OpenGL ES by removing the need to
install OpenGL drivers, redirecting OpenGL calls to DirectX instead.
RPCS does not uses OpenGL ES so it's better to just remove it from the
binary distribution.
opengl32sw.dll is a fallback mechanism when ANGLE libraries are not
available that uses a software backend for OpenGL. It's unlikely that
RPCS3 will work using software-OpenGL, so there's little point into
shipping them.
* QT DLLs: do not ship with SVG and translation files
Like the other removed QT libraries: they are not needed right now. We
can deploy them if they become useful someday.
2017-09-21 16:53:20 +03:00
kd-11
3499d089e7
rsx: Texture cache fixes and improvements
...
rsx: Conditional lock hack removed
vulkan - Fixes
- Remove unused texture class
- Fix native pitch calculation (WCB)
rsx: Catch hanging begin/end pairs when flushing deferred draw calls
vulkan: Register DXT compressed formats
vulkan: Register depth formats
gl: Workaround for 'texture stitching' when gathering flip surface
- TODO: Add a proper flip hack option
rsx: Fix texture memory size calculation
- DXT textures dont have real pitch. Since pitch is used to calculate memory size, make sure it always evaluates to rsx_size
rsx: Fix cpu copy detection
rsx: Validate blit dst surface and dont make assumptions about region blit order
- Also relax restrictions on memory owned by the blit engine if strict rendering is not enabled
rsx: Fix depth texture detection
rsx: Do not manually offset into dst. The overlapped range check does so automatically
rsx: Minor optimizations
rsx: Minor fixes
- Fix to detect incompatible formats when using GPU texture scaling and show message
- Better 'is_depth_texture' algorithm to eliminate false positives
2017-09-21 16:17:06 +03:00
kd-11
6b96a2022a
rsx: Add support for non-projective shadow sampling
...
- Fixes missing shadows in persona 5
vk: Enable polygon depth bias a.k.a polygonOffset
- Fixes shadow acne in persona 5
2017-09-21 16:17:06 +03:00
kd-11
3836b40bf7
rsx: Fixups
2017-09-21 16:17:06 +03:00
kd-11
571dbfb7b1
rsx: Texture cache improvements
...
- Limits buffer size to min 720 in the Y axis (1024 section causes conflicts in some cases - TODO)
rsx: Fixups to allow large textures for blit operation
- Also includes checks for both leaking sections and blit regions for vulkan
hotfix for hanging when using WCB
addendum - unlock both ro and no blocks before attempting to copy memory blocks
gl: Fixups for ARB_explicit_uniform_location
- Forces glsl v 430 to make use of the extension
rsx/vk: Rework texture cache to minimize recursive access violations
- Also modifies the vulkan commandbuffer begin/end/submit mechanism
gl: Fix cached_texture_section::is_flushable to take memory protection into account
rsx: Fix blit dst offset calculation
2017-09-21 16:17:06 +03:00
kd-11
10e25eb362
rsx: Fix multidraw range splits again
...
rsx: Hotfix for disjoint range detection
2017-09-21 16:17:06 +03:00
kd-11
45d0e821dc
gl: Minor optimizations
...
rsx: Texture cache - improvements to locking
rsx: Minor optimizations to get_current_vertex_program and begin-end batch flushes
rsx: Optimize texture cache storage
- Manages storage in blocks of 16MB
rsx/vk/gl: Fix swizzled texture input
gl: Hotfix for compressed texture formats
2017-09-21 16:17:06 +03:00
kd-11
e37a2a8f7d
rsx: Texture cache fixes and improvments
...
gl/vk/rsx: Refactoring; unify texture cache code
gl: Fixups
- Removes rsx::gl::texture class and leave gl::texture intact
- Simplify texture create and upload mechanisms
- Re-enable texture uploads with the new texture cache mechanism
rsx: texture cache - check if bit region fits into dst texture before attempting to copy
gl/vk: Cleanup
- Set initial texture layout to DST_OPTIMAL since it has no data in it anyway at the start
- Move structs outside of classes to avoid clutter
2017-09-21 16:17:06 +03:00
kd-11
07c83f6e44
gl: cleanup; fix program linkage on mesa using GL_ARB_explicit_uniform_location, also make use of ARB_multidraw
2017-09-21 16:17:06 +03:00
kd-11
061824a7ec
rsx: Add support for batched multidraw
...
gl: Fix multidraw [WIP]
rsx: Ignore vertex base when data source is generated using arithmetic
vk: Check pending flag before doing fence poke
vk/gl: Fix for inlined array and immediate draws
rsx: Collapse joined draws when batching
2017-09-21 16:17:06 +03:00
kd-11
abb56a354d
rsx: Bug fixes and improvements
...
rsx: Try to skip unknown commands without discarding entire cb
2017-09-21 16:17:06 +03:00
kd-11
9359b8c170
rsx/fp: Shader decompiler fixes
...
- Requires proper 2-pass impl
rsx/fp: Catch hanging code blocks
rsx/fp: Don't pause on scaling error
2017-09-21 16:17:06 +03:00
kd-11
2d0f1f27a8
esx: Fixes to the texture cache
...
rsx: Blit engine improvements
- Always handle blits to and from framebuffers through the GPU
- Handle depth surfaces properly when using GL
- Check for format mismatches when blitting to the surface store [WIP]
2017-09-21 16:17:06 +03:00
kd-11
73312fc363
rsx: Several fixes and improvements
...
- Do not ignore non-centered pixel blitting
- Register method ac00+16
- Bump texture memory heap to account for GPU texture scaling requirements (vulkan)
- Explicit MRT location index output to better convey intent (openGL)
2017-09-21 16:17:06 +03:00
kd-11
deb590cb05
rsx/vk: Bug fixes
...
- Make each frame context own its own memory
- Fix GPU blit
- Fix image layout transitions in flip
vk: Improve frame-local memory usage tracking to prevent overwrites
- Also slightly bumps VRAM requirements for stream buffers to help with running out of storage
- Fixes flickering and missing graphics in some cases. Flickering is still there and needs more work
vk: Up vertex attribute heap size and increase the guard size on it
vulkan: Reorganize memory management
vulkan: blit cleanup
vulkan: blit engine improvements
- Override existing image mapping when conflicts detected
- Allow blitting of depth/stencil surfaces
2017-09-21 16:17:06 +03:00
kd-11
2033f3f7dc
rsx/vk/gl: Refactoring and reimplementation of blit engine
...
Fix rsx offscreen-render-to-display-buffer-blit surface reads
- Also, properly scale display output height if reading from compressed tile
gl: Fix broken dst height computation
- The extra padding is only there to force power-of-2 sizes and isnt used
gl: Ignore compression scaling if output is rendered to in a renderpass
rsx/gl/vk: Cleanup for GPU texture scaling. Initial impl [WIP]
- TODO: Refactor more shared code into RSX/common
2017-09-21 16:17:06 +03:00
Nekotekina
3e3160d7ac
Minor VFS fix
2017-09-21 14:34:09 +03:00
Nekotekina
dd919c76b8
cellAudio: use error_code
2017-09-20 14:27:52 +03:00
Nekotekina
a6a0f13264
Remove unnecessary include git-version.h
2017-09-20 14:26:42 +03:00
Nekotekina
b9a0c107ab
Fix library loading mode 'both'
2017-09-20 14:26:42 +03:00
Nekotekina
5c93acefd9
Try to fix some fs errors
2017-09-19 15:07:07 +03:00
Nekotekina
a428dac71c
sys_fs_mkdir: implement ENOENT
2017-09-19 15:07:07 +03:00
Nekotekina
3901f08fa0
Fix error on loading a library twice
2017-09-19 15:07:07 +03:00
Nekotekina
519f21db18
Exitspawn support renewal
...
Implemented _sys_process_exit2 syscall
Rewritten sys_game_process_exitspawn
Rewritten sys_game_process_exitspawn2
Implemented _sys_process_atexitspawn
Implemented _sys_process_at_Exitspawn
And some other changes
2017-09-19 15:07:07 +03:00
Nekotekina
bc098d6b9c
Rewrite _sys_strncat
2017-09-19 15:07:07 +03:00
Nekotekina
22ff8abd7d
Rewrite _sys_strncpy
2017-09-19 15:07:07 +03:00
Nekotekina
871ccfd32c
Rewrite _sys_strrchr
2017-09-19 15:07:07 +03:00
Nekotekina
7a79e184c5
Rewrite _sys_strchr
2017-09-19 15:07:07 +03:00
Nekotekina
0e72cc879f
Rewrite _sys_strcpy
2017-09-19 15:07:07 +03:00
Nekotekina
13304bd18b
Rewrite _sys_strcat
2017-09-19 15:07:07 +03:00
Nekotekina
a4b824c50a
Rewrite _sys_strncmp
2017-09-19 15:07:07 +03:00
Nekotekina
ccc87081f3
Rewrite _sys_strcmp
2017-09-19 15:07:07 +03:00
Nekotekina
800ba9d902
Rewrite _sys_strlen
2017-09-19 15:07:07 +03:00
Nekotekina
015b9fdf8b
Fix _sys_strncasecmp
2017-09-19 15:07:07 +03:00
Nekotekina
83f93202d0
Rewrite _sys_memcmp
2017-09-19 15:07:07 +03:00
Nekotekina
ae2ea02377
Implemented _sys_prx_load_module_on_memcontainer
2017-09-19 15:07:07 +03:00
Nekotekina
4fe4521881
Implemented __sys_look_ctype_table
...
Implemented _sys_tolower, _sys_toupper
Fixed _sys_strncasecmp
2017-09-19 15:07:07 +03:00
Nekotekina
b9b71ccbc1
Implemented syscall _sys_process_exit
2017-09-19 15:07:07 +03:00
Nekotekina
e789b969b0
Implemented MFF_HIDDEN for VNIDs
...
Minor refactoring
Now possible: ```REF_FUNC(...).flag(MFF_HIDDEN);```
2017-09-19 15:07:07 +03:00
Nekotekina
837c5dddee
Add <typeinfo>
2017-09-19 15:07:07 +03:00
Nekotekina
669b1385cc
Move sys_process_exit
2017-09-19 15:07:07 +03:00
scribam
01ffaab3e0
Silent some compiler warnings
2017-09-19 13:21:12 +03:00
Robbie
d5fb7180d0
HGA calls sys_rsx_context_attribute before calling sys_rsx_memory_allocate. This inevitably causes RPCS3 to crash. Add nullptr check to prevent this.
2017-09-18 21:24:13 +01:00
Megamouse
b141b43c1c
[Qt] fix graphics adapter selection and rebase for less redundancy
2017-09-17 21:05:54 +01:00
Megamouse
cad91e114d
Qt: add char count label to osk dialog
2017-09-17 12:39:52 +03:00
Megamouse
db51779682
Qt: settings_dialog layout fix (hack)
2017-09-17 11:40:41 +03:00
Peter Mcteague
c18e71ca29
Add git_branch to git-version.h, add display version info to gs_frame and add branch and version to log. ( #3186 )
...
* Added version number and branch name to gs_frame and log file. This also involved making the files that generate git-version.h , get the branch.
2017-09-16 14:54:25 +03:00
myfreeweb
07af701afe
Vulkan: use pkg-config instead of checking for Linux ( #3440 )
...
Makes Vulkan optional on Linux / makes it possible on FreeBSD.
2017-09-14 21:02:09 +03:00
Nekotekina
669d953529
Implement fs::error::notempty
2017-09-14 00:23:23 +03:00
Nekotekina
22d8b57027
Improve lv2_memory object
2017-09-14 00:23:23 +03:00
Nekotekina
0e691e2c51
sys_mmapper: minor range fix
2017-09-14 00:23:23 +03:00
Nekotekina
ae1e9e78db
sys_fs: use g_tls_error for diagnostic
...
Affected syscalls:
sys_fs_open
sys_fs_opendir
sys_fs_stat
sys_fs_mkdir
sys_fs_fcntl (get free space)
2017-09-14 00:23:23 +03:00
Zion Nimchuk
4a10dcc549
Fix buffer overrun in cert loading, made it more accurate. Fixes #3408
2017-09-13 17:40:57 +03:00
Megamouse
553f67d7e3
Qt: improve gamelist refresh, fix some more scroll issues
...
despite earlier efforts with modelindex and so on the annoying scroll jump still surfaced sometimes, so we only scrollTo index on selected occasions from now on.
Furthermore we don't need to refresh the gamelist if no custom config has been applied, so this will only be needed on accept from now on
2017-09-11 23:17:32 +03:00
Megamouse
fac8a520f0
Qt: Remove duplicate gui repaints in settings dialog
...
ApplyGuiOptions(true) already forces GuiStylesheetRequest and therefore RepaintGui in main_window if necessary.
We don't need GuiRepaintRequest on accept because there should be no option left that doesn't repaint immediately
2017-09-11 23:17:32 +03:00
Megamouse
f0358f85fc
[Qt] fix small buttons/missing icons in the toolbar (Doppelgänger) ( #3413 )
...
* Qt: use lambda for colorizedIcon in main_window and game_list_frame
* Qt: enable AA_UseHighDpiPixmaps for better looking icons
* Qt: use iconSize instead of sizehint for linux, add some comments
2017-09-10 20:46:39 +03:00
Henrique Jung
4b9fa8ec6d
CMake build: copy QT DLLs files to bin directory
...
AppVeyor build relies on CMake to build the VS project files, which then
is used to build RPCS3, so we must tell CMake to copy Qt DLLs files the
same way VS build does.
2017-09-10 19:25:54 +03:00
Robbie
47685bef39
If the loop is never entered, then the jit is null.
2017-09-10 18:51:59 +03:00
Megamouse
b11f9e0405
[Qt] add scrollbar to about dialog ( #3417 )
...
* Qt: add scrollbar to about dialog
* move contributors
2017-09-10 14:03:24 +03:00
Henrique Jung
84e7de0a78
VS build: copy Qt5WinExtras.dll to bin directory
...
When building RPCS3 on Visual Studio, there's some DLLs that are copied
from the local QT installation to the RPCS3's output directory using a
post-build script. However, one of these DLL was missing, which is
required for running the program on debug mode (for release versions,
the file is already present on git).
This commit just add the additional command that is needed to copy the
file.
2017-09-10 01:27:22 +01:00
scribam
f39e2b999f
[Qt] Delete "ui" pointer in destructor
2017-09-09 20:29:42 +01:00
Megamouse
cd4b28b4d7
Qt / OpenGL: fix delete_context
2017-09-09 19:46:10 +01:00
Megamouse
2db2114a45
Qt: add Refresh button to gamepad settings, minor cleanup
2017-09-09 19:46:10 +01:00