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
Nekotekina
efe067bfa0
LLVM: handle cascadelake CPU name
2019-03-05 21:47:34 +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
ebb24375d1
LLVM: handle icelake-client and icelake-server CPU names
...
Correct AVX / AVX-512 disabling logic
2019-03-01 00:20:04 +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
Nekotekina
9ee2867247
Improve count leading/trailing zeros implementation
...
Use x86 intrinsics if compiled with appropriate instruction support
2019-03-01 00:08:19 +03:00
Nekotekina
7b344b7654
Implement utils::refptr for typemap (with && syntax)
...
Ref-counted pointer, object is always allocated on heap.
Rvalue reference && in typemap is converted to refptr for convenience.
2019-03-01 00:08:19 +03:00
Nekotekina
6c5d9fffaa
typemap: improve pointer support
...
If stored object is a pointer, access dereferenced object directly via ->
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
JohnHolmesII
c325534f07
readme - direct qt link to avoid confused kot noises
2019-02-23 13:29:38 +01: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