Commit graph

1929 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
ed9fb8405b Move rotate/cntlz/cnttz helpers to Utilities/asm.h 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
Dzmitry Malyshau
27474316fd Add missing virtual desctructors (#5094) 2018-09-07 14:35:40 +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
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
kd-11
dea5193fd7 rsx: Fix FP temp register count 2018-09-03 21:39:18 +03: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
scribam
bf89b709cb Remove useless #include 2018-08-31 20:13:54 +04:00
scribam
7d0e94ab0a Compilation fixes for optional on osx 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
elad
685eaedbf9 rsx: Fix typos (#5054) 2018-08-30 00:47:48 +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
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