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
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
Jake
ec0cd9f006
cellGame: Fix cellDiscGameGetBootDiscInfo return values ( #4241 )
2018-03-03 03:11:25 +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
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
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
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
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
6141bc5598
Fix firmware installation for vfs
2018-02-28 17:27:06 +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
scribam
ede76033a7
Add callbacks for cellMusic
2018-02-24 02:38:43 +04:00
Megamouse
ae7e275a9d
sceNpTrophyGetRequiredDiskSpace: take vfs into account for trophy dir
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ofek
a6208d2bd7
Reset initial seek position in MSELF files ( #3977 )
2017-12-23 23:18:55 +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
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
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
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
elad335
3aefd14b3d
disasm: display db[x]cyc
2017-12-10 16:19:36 +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
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
2ec4f66427
Input: improve evdev and mmjoy stick input
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