1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-23 03:02:53 +01:00
Commit Graph

900 Commits

Author SHA1 Message Date
msuih
dbd4814584 Disable thread assignment for Intel 2018-12-24 19:33:08 +00:00
msuih
1dd3a4b3f0 Detect hyperthreading on Windows 2018-12-24 19:33:08 +00:00
vit9696
5a40c1802b Support macOS bundling for binary distribution 2018-12-16 18:17:21 +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
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
vit9696
634a5fa31c Fix macOS compilation 2018-11-19 14:39:33 +03:00
Nekotekina
1fdd013e4b fs: normalize atime (ensure atime >= mtime) 2018-11-17 14:40:11 +03:00
Nekotekina
c719ae360d fs: disable ctime (return mtime instead) 2018-11-17 14:40:11 +03:00
Nekotekina
7180c1f2d0 typemap: make use of volatile qualifier
Use shared lock for volatile pointers
Use no lock for const volatile pointers
2018-11-09 16:19:59 +03:00
Nekotekina
6a30d5a6c1 shared_mutex: increase max_readers to 16383
Standard requires at least 10000 for SharedMutex concept
2018-11-09 16:19:59 +03:00
Nekotekina
6104685ad6 Implement cond_one sync primitive
Change futex() args to use unsigned int
2018-11-05 13:14:11 +03:00
Dennis Luxen
36d4614d12 Fix a warning that shift overflows data type width (#5116) 2018-10-23 18:49:01 +03:00
Nekotekina
f588454d26 Internal: register WaitOnAddress family functions (WinAPI) 2018-10-19 22:22:35 +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
8ca6c9fff0 Fix thread_base::get_cycles (Linux/POSIX) 2018-10-19 22:22:35 +03:00
Megamouse
76da3fa907 RSX/Overlays: don't press buttons on every iteration 2018-10-03 21:37:05 +02:00
Nekotekina
a8a9c11bf8 typemap improvements 2018-10-02 23:26:54 +03:00
Nekotekina
f6f72c1cf8 Rename -> typemap_ptr::unlock() 2018-10-02 23:26:54 +03:00
Nekotekina
bc87c5808c Add cond_variable::wait_unlock 2018-10-02 23:26:54 +03:00
Nekotekina
4bef0f8dab Rename thread_abort (name conflict) 2018-10-02 23:26:54 +03:00
Nekotekina
3359e9a51b Minor thread fixes
Call thread result destructor
2018-10-02 02:22:26 +03:00
Nekotekina
7a024f3355 Implement shared_mutex::lock_unlock
Minor fix for shared_mutex::try_lock - don't optimize for pessimistic case
2018-10-02 02:22:26 +03:00
Nekotekina
8a1b5abee1 utils::typemap implemented
Container for all types
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
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
b2f29cd4d4 LLVM: remove false alarm errors
Writable sections ARE supported
2018-09-27 12:16:43 +03:00
Nekotekina
bb524db236 Implement utils::memory_reset 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
Nekotekina
9e5b633779 shared_mutex cleanup
Rewrite to use unsigned arithmetic, shrink to u32
Ensure zero default unlocked state (will need it later)
Inline all public methods, rewrite lock_upgrade()
Remove try_lock_degrade(), lock_degrade() methods
Implement lock_downgrade() (now trivial)
Remove is_reading(), added is_free()
Added reader_lock::try_upgrade()
2018-09-27 12:16:43 +03:00
Rui Pinheiro
8b3d1c2c91 Implement address_range utility class 2018-09-24 15:26:40 +03:00
Rui Pinheiro
a07cbaca8e Update ASSUME, add ASSERT and AUDIT
- ASSUME now uses __builtin_assume in clang
- ASSERT defined as a wrapper around verify
- AUDIT aliases ASSERT when _DEBUG or _AUDIT are set, otherwise empty
2018-09-24 15:26:40 +03:00
Rui Pinheiro
13faf4e816 Avoid silent failures in RSX violation handler 2018-09-24 15:26:40 +03:00
Lassi Hämäläinen
972de4c730 CMake: Fix Linux WITHOUT_LLVM build
- _XABORT_RETRY is defined in immintrin.h which wasn't included
2018-09-19 21:17:01 +03:00
Nekotekina
26da91c972 Optimize logs
Pass va_args instead of constructing a temporary array
2018-09-19 14:14:04 +03:00
Nekotekina
11e297c975 Remove explicit in atomic_t constructor
Match with std::atomic
C++17 now allows writing std::atomic<int> x = 3;
2018-09-19 14:07:38 +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
Nekotekina
4cebf431fd Add forgotten SAFE_BUFFERS 2018-09-17 12:18:40 +03:00
Nekotekina
9de31fc5ce Fix trailing zeros in CPU brand 2018-09-17 12:18:40 +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
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
d347145855 Fix bitset formatting 2018-09-15 17:09:56 +03:00
Nekotekina
445e5def42 Remove safe_reader_lock, safe_writer_lock
It worked as a simple recursive locker for shared_mutex
But its design is flawed and thus can't be fully implemented
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
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
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
Nekotekina
ea4a3b2476 bs_t<>: add missing operators 2018-09-08 00:32:04 +03:00
scribam
549a5370d8 cleanup: remove recursive_wrapper.hpp 2018-09-06 13:15:59 +03:00
scribam
a745f02a07 cleanup: remove compatibility code for old versions of clang 2018-09-06 13:15:59 +03:00
scribam
d7bb59cd99 c++17: use std::size 2018-09-06 13:15:59 +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
ce4c4696dd Try to get rid of SIZE_32 macro 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
a6d06b2e20 Use fold expr in fs::write_file 2018-09-03 21:40:36 +03:00
Nekotekina
01b4c68238 Remove EXPECTS/ENSURES macro 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
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
Jan Beich
cd6bf37d06 Utilities: explicitly add more includes found by GCC
Utilities/Log.cpp: In member function 'void logs::file_writer::log(logs::level, const char*, std::size_t)':
Utilities/Log.cpp:559:9: error: 'memcpy' is not a member of 'std'
    std::memcpy(pos, text, frag);
         ^~~~~~
Utilities/Log.cpp:559:9: note: suggested alternative: 'empty'
    std::memcpy(pos, text, frag);
         ^~~~~~
         empty
Utilities/Log.cpp:560:9: error: 'memcpy' is not a member of 'std'
    std::memcpy(m_fptr, text + frag, size - frag);
         ^~~~~~
Utilities/Log.cpp:560:9: note: suggested alternative: 'empty'
    std::memcpy(m_fptr, text + frag, size - frag);
         ^~~~~~
         empty
Utilities/Log.cpp:564:9: error: 'memcpy' is not a member of 'std'
    std::memcpy(pos, text, size);
         ^~~~~~
Utilities/Log.cpp:564:9: note: suggested alternative: 'empty'
    std::memcpy(pos, text, size);
         ^~~~~~
         empty
Utilities/sync.h: In member function 'int futex(int*, int, int, const timespec*, int*, int)::futex_map::operator()(int*, int, int, const timespec*, int*, uint)':
Utilities/sync.h:110:20: error: 'find' is not a member of 'std'
     map.erase(std::find(map.find(uaddr), map.end(), ref));
                    ^~~~
Utilities/sync.h:110:20: note: suggested alternative: 'rend'
     map.erase(std::find(map.find(uaddr), map.end(), ref));
                    ^~~~
                    rend
2018-08-31 03:19:17 +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
Dzmitry Malyshau
c452b43ebc Basic support for Vulkan Portability on OSX 2018-08-28 21:20:11 +03:00
zarroboogs
23f5cee653 Git Revision Fix (#5043)
* fix shotrened git revision in version string
2018-08-27 22:53:45 +04:00
Nekotekina
84abb9923a Don't use std::aligned_storage
Don't need its limiting behaviour anyway
2018-08-25 15:47:03 +03:00
Nekotekina
363811981d Reintroduce LOG_CHANNEL
Groundwork for further improvements
2018-08-25 15:39:00 +03:00
Nekotekina
57f394e156 Fix type-safe formatting 2018-08-25 12:06:57 +03:00
Nekotekina
1c6c24f8ac Update GSL and yaml-cpp submodules 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
3aa6741b8c Simplify error_code 2018-08-25 01:15:47 +03:00
Nekotekina
56a165ecdc Rearrange atomic operator internals 2018-08-25 01:15:47 +03:00
Nekotekina
76bac80dde Add MATCH macro 2018-08-24 16:44:19 +03:00
Nekotekina
6cc7d1fb26 Use std::void_t 2018-08-24 16:44:19 +03:00
kd-11
1200ca8172 rsx: Optimize hash_struct; vk cleanup 2018-08-18 16:14:30 +03:00
Nekotekina
441541a42f Implement fs::make_gather 2018-08-14 12:46:22 +03:00
eladash
f349695a75 Rsx: rewrite address translation 2018-08-13 16:16:34 +03:00
Megamouse
d057c79733 RSX: use localtime_s instead of localtime 2018-07-28 23:10:45 +02:00
scribam
b09321354a clang: fix compilation on 3.7 2018-07-15 12:51:09 +04:00
scribam
4babe9076b clang: fix compilation on 3.8 2018-07-15 12:51:09 +04:00
kd-11
46abe0f315 vm: Fix memory mirror performance regression 2018-07-14 15:19:56 +03:00
kd-11
c5b2469fe7 silence warning 2018-07-12 18:02:28 +03:00
scribam
3935cef691 pugixml: update submodule and build integration 2018-06-24 02:02:36 +04: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
VelocityRa
9d431e77a4 Utilities/geometry: Add unsigned specializations to typedefs 2018-06-18 22:34:26 +03:00
Megamouse
af71cf0922 implement "Enable TSX" combobox 2018-06-17 00:43:00 +04:00
scribam
968f3995ff Merge branch 'master' into asmjit 2018-06-13 09:27:12 +02:00
scribam
14dc1fead6 yaml-cpp: update submodule and build integration 2018-06-13 04:25:34 +04:00
scribam
3a9778668a asmjit: update build integration 2018-06-12 20:03:53 +02:00
Daniel Valentine
fb20c27e7b Delay GDB server launch until emulator run (#4658) 2018-06-08 13:34:27 +01:00
Nekotekina
37577714fa SPU LLVM: emulate PSHUFB
For targets without SSSE3 support
2018-05-30 20:35:35 +03:00
Nekotekina
1193ab0b89 Use memfd_create (Linux) 2018-05-30 20:35:35 +03:00
Jan Beich
3d632a3774 CPUStats: add support for macOS and BSDs 2018-05-30 12:35:41 +03:00
VelocityRa
8981227644 util/thread_ctrl: Method for measuring cycles a thread has run for
Also add a getter for the native thread handle.
2018-05-30 12:35:41 +03:00
VelocityRa
5defa9c7b0 util: Class for getting overall CPU usage and thread count 2018-05-30 12:35:41 +03:00
kd-11
824340363d disable thread scheduler on intel 2018-05-29 13:54:30 +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
33a1c743a4 Transactions: move loops inside
Rewrite loops in assembler (minor optimization)
2018-05-21 00:18:37 +03:00
Nekotekina
0b1c8bc676 Change retire strategy in cond_variable::imp_wait (WIN32)
Instead of waiting infinitely, try and yield until success
2018-05-17 21:29:49 +03:00
Nekotekina
08cd8e0cb1 Cleanup: unused imports 2018-05-17 18:33:44 +03: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
Jan Beich
a68dac7282 JIT: add missing header after fd525ae1cf
In file included from Utilities/JIT.cpp:1:
Utilities/JIT.h:33:23: error: implicit instantiation of undefined template 'std::__1::array<asmjit::X86Gp, 4>'
        std::array<X86Gp, 4> args;
                             ^
/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
2018-05-17 04:42:05 +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
Nekotekina
a46ef4f29a Increase open file limit on Linux
Add some assertions to VirtualMemory.cpp
2018-05-13 23:56:43 +03:00
Jan Beich
177da2984d VirtualMemory: add missing header after 5d15d64ec8 (#4532)
Utilities/VirtualMemory.cpp:123:8: error: use of undeclared identifier 'errno'
                        if (errno != EEXIST)
                            ^
Utilities/VirtualMemory.cpp:123:17: error: use of undeclared identifier 'EEXIST'
                        if (errno != EEXIST)
                                     ^
2018-05-13 11:34:33 +03:00
Nekotekina
a77896c1b6 Update LLVM commit, use small code model 2018-05-13 00:03:08 +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
cfa9b163fd Implement fmt::to_lower
It was strangely removed...
2018-05-09 22:19:55 +03:00
Nekotekina
eae78a8711 Improve fs::create_path
Don't fail if already exists
2018-05-09 22:19:55 +03:00
Nekotekina
88dc6b7700 Cfg: add missing get() methods 2018-05-09 22:19:55 +03:00
Nekotekina
a975ecdc4f Use LLVM 6 2018-05-08 13:05:29 +03:00
Nekotekina
a7c34123a6 Improve dynamic_library 2018-05-08 13:05:29 +03:00
Nekotekina
841d8955de Fix warning (fmt_unveil) 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
Nekotekina
0797164fac SPU: fix possible livelock
The bug affects TSX path
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
402ca480cd Fix vm::check_addr usage 2018-04-01 22:39:48 +03:00
Birk Magnussen
c5caaa9211 Fix missing Detection for AVX OS Support 2018-03-24 03:30:27 +04:00
Nekotekina
20785b00f6 Implement fmt::base57
For future use
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
Nekotekina
f66d5adf5f Prevent accessing incomplete RPCS3.log.gz
Use permissions to make it inaccessible
On Windows, autodelete the file

Implement fs::unread for this purpose
Rename fs::unshare to fs::lock
Fix fs::lock correctness
2018-03-17 00:39:45 +03:00
Jan Beich
e487480ca9 Thread: unbreak build on BSDs after ac82ecf387
Utilities/Thread.cpp:1644:2: error: use of undeclared identifier 'pthread_setname_np'; did you mean 'pthread_set_name_np'?
        pthread_setname_np(pthread_self(), m_name.substr(0, 15).c_str());
        ^~~~~~~~~~~~~~~~~~
        pthread_set_name_np
/usr/include/pthread_np.h:58:6: note: 'pthread_set_name_np' declared here
void pthread_set_name_np(pthread_t, const char *);
     ^
2018-03-13 12:51:22 +04:00
Nekotekina
ac82ecf387 Use pthread_setname_np (Linux, GDB) 2018-03-11 19:33:02 +03:00
Nekotekina
4b1c052030 Fix crash on exit after access violation 2018-03-11 19:33:02 +03:00
Nekotekina
7f542a5c99 Fix safe_writer_lock (typo) 2018-03-11 19:33:01 +03: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
Nekotekina
76be7d40ac Remove PSP2 2018-02-09 15:24:46 +03:00
Nekotekina
d66e56392e Handle exceptions at loading patch file 2018-02-08 20:46:13 +03:00
Nekotekina
e2439e962c SPU: use XOP instructions 2018-02-08 20:46:13 +03:00
Zeke Sonxx
c21fa2d8bc Make fs::dir::open skip forward on failed metadata instead of crashing 2018-02-04 00:21:40 +04:00
kd-11
ab17b49e15 scheduler stuff
- more threads for rsx
- better 1600
2018-01-22 11:43:35 +03:00
kd-11
cbc8bf01a1 cell/scheduler: Manage thread placement depending on cpu hardware 2018-01-19 12:03:57 +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
Nekotekina
198e9dce1d Fix #4005 regression
Delay unregister EH frames (Linux)
2018-01-01 10:41:07 +03:00
Nekotekina
d40aaf0391 PPU: use shared jit_compiler instance
(Linux) Fix deregisterEHFrames error message
2017-12-31 22:08:17 +03:00
Nekotekina
6d34dcd75f SPU: add some AVX-512 variants 2017-12-20 00:04:09 +03:00
Nekotekina
61de20a633 RSX: remove SSSE3 dependency 2017-12-20 00:04:08 +03:00
scribam
42c2df877f Remove std::move on a const variable 2017-12-10 16:48:33 +04:00
scribam
c2ae7ee402 Remove redondant "virtual" keyword when "override" is used 2017-12-10 16:48:33 +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
Zion Nimchuk
c424652b43 Silence warnings in misc files (gui, psp2, mfc, mouse) 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
Peter Mcteague
6702c14b88 Added installation for additional packages to game boot 2017-11-28 22:22:37 +03: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
33aa2f0b62 Fix log limit 2017-11-27 23:15:28 +03:00
Nekotekina
2ac773385f Clamp utime range (Wnd) 2017-11-26 09:02:37 +03:00
Nekotekina
7d3a528871 Use Qt for error reports 2017-11-23 20:36:21 +03:00
Nekotekina
cc4bc41cf4 Fix free space check (Wnd) 2017-11-23 18:38:05 +03:00