Commit Graph

  • 88c20afd3a rsx: Implement unaligned surface inheritance with hierachial contribution - Allows render targets to behave like stacked 3D views same as shader inputs are resolved - Basically implements most of 'Read Color/Depth Buffers" option for 'free'. - Allows splitting RTV/DSV resources if they are superceded by a partial surface - Also allows intersecting new resources through the surface cache for proper inheritance from other scattered data - TODO: Refactor bind_surface_as_rtt and bind_surface_as_ds to reduce asinine code duplication kd-11 2019-05-07 21:51:53 +03:00
  • a016728a9e SPU LLVM: re-enable stack mirror Nekotekina 2019-05-16 04:12:08 +03:00
  • a69329fe02 SPU ASMJIT: Fix Giga mode Nekotekina 2019-05-16 04:11:05 +03:00
  • 26d131ef29 SPU LLVM: Fix Giga mode Nekotekina 2019-05-16 04:02:33 +03:00
  • 91897fa69d SPU LLVM/ASMJIT: fix BRA/BRASL instructions for PIC Nekotekina 2019-05-16 02:41:31 +03:00
  • f95ec8a37c SPU LLVM: simplify jump table computation Nekotekina 2019-05-16 00:54:50 +03:00
  • b138d25b97 SPU Disasm: fix absolute addressing in some instructions. Nekotekina 2019-05-16 00:53:37 +03:00
  • a921af1e96 SPU LLVM/ASMJIT: remove minor unnecessary code Nekotekina 2019-05-16 00:52:52 +03:00
  • 43ae4b3f33 SPU LLVM/ASMJIT: add missing PC clamping Nekotekina 2019-05-16 00:51:47 +03:00
  • 007108100e SPU: implement spu_runtime::g_tail_escape Nekotekina 2019-05-15 18:44:53 +03:00
  • 4e75d2c2f7 SPU LLVM: don't save $2 in optimized functions Nekotekina 2019-05-15 16:41:57 +03:00
  • adc7d96683 SPU LLVM: simplify function prototype Nekotekina 2019-05-15 16:18:13 +03:00
  • 16401722f1 SPU LLVM: fix $SP passing in functions, write PC on halt Nekotekina 2019-05-15 15:42:03 +03:00
  • b2d0ca83fb LLVM DSL: simplify value_t template for array Nekotekina 2019-05-15 15:17:36 +03:00
  • 09eb633f69 SPU ASMJIT: increase stack frame size Nekotekina 2019-05-15 02:16:08 +03:00
  • 3753d27aba SPU: fix Giga mode (kinda) Nekotekina 2019-05-14 18:55:10 +03:00
  • c481472faf SPU ASMJIT: add PIC support (fix) Nekotekina 2019-05-13 21:17:31 +03:00
  • 82295d131a SPU LLVM: split LLVM IR dump to spu-ir.log Nekotekina 2019-05-12 23:17:45 +03:00
  • ea554ae828 Implement 'Max SPURS Threads' option (hack) Nekotekina 2019-05-12 21:06:18 +03:00
  • 1eed421774 SPU LLVM: use branch patchpoints again Nekotekina 2019-05-12 03:22:14 +03:00
  • 2f6707d0a0 SPU LLVM: regain some efficiency Nekotekina 2019-05-11 20:48:47 +03:00
  • f33b81545e SPU: implement recompiler gateway function in assembly Nekotekina 2019-05-11 19:21:07 +03:00
  • a74fd27e3d SPU LLVM: fix SPU termination (spu_escape) on Windows Nekotekina 2019-05-11 13:57:34 +03:00
  • cc8c635855 SPU: PIC support preview Nekotekina 2019-05-10 13:42:46 +03:00
  • 7cf11c7637 Use setenv instead of qputenv z0z0z 2019-05-14 17:32:42 +00:00
  • 6b01c2f9f5 Further changes to Skyline and Envy drysalter 2019-05-07 18:20:05 +03:00
  • 22f61caf9f GLTexture: add missing #pragma once directive scribam 2019-05-11 10:58:45 +02:00
  • 786dc6ef40 Use if constexpr in hash_struct function scribam 2019-03-16 19:30:04 +01:00
  • 6c5ea068c9 Remove redundant semicolons scribam 2019-05-11 10:14:56 +02:00
  • 1f82a26a9c SPU LLVM: Fix Mega Rui Pinheiro 2019-05-11 22:12:09 +01:00
  • 3623f4343f gl/vk: clear scissor_setup_invalid bit along with scissor_config_state_dirty bit scribam 2019-05-11 11:49:20 +02:00
  • 8194c92f1c SPU LLVM: disable GHC CC for chunks on Windows Nekotekina 2019-05-11 02:35:05 +03:00
  • 5d33d9a3d9 Enable most warnings in GCC Nekotekina 2019-05-10 20:24:14 +03:00
  • 7492f335e9 SPU analyser: basic function detection in Giga mode Nekotekina 2019-05-05 16:28:41 +03:00
  • fce9d6a7b8 Qt/input: add LED color picker to pad settings dialog Megamouse 2019-05-09 21:31:43 +02:00
  • 7ead021aa7 rsx: Fix 3d swizzled texture to linear conversation eladash 2019-05-08 17:44:30 +03:00
  • feb77793df typo fix kd-11 2019-05-07 09:02:03 +03:00
  • f1ff75d815 correct small mistake Exfiltratior 2019-05-07 06:57:54 +02:00
  • 13d8e33d9a Return ESRCH if ppu thread ID was not found in sys_cond_signal_to eladash 2019-05-03 10:15:31 +03:00
  • 4e2650af91 Fix sys_rwlock_wlock timedout event eladash 2019-05-02 17:49:23 +03:00
  • ca08418dc1 Fix sys_rwlock_runlock on waiting readers eladash 2019-05-02 15:16:40 +03:00
  • 5141590729 overlays: add separate timestamp for the start of the d-pad interval Megamouse 2019-05-05 14:48:09 +02:00
  • fd2bc95a7b overlays: Double dpad repeat rate Malcolm Jestadt 2019-05-05 02:30:24 -04:00
  • 9aa9cbf1d8 travis: update mac build Megamouse 2019-02-12 23:03:46 +01:00
  • 87d493fe1b Qt: smoother custom config icons Megamouse 2019-05-04 21:17:34 +02:00
  • e883f4f880 Qt: center compat circles Megamouse 2019-05-04 20:42:07 +02:00
  • 767eaaa82a Qt: smoother game grid icons Megamouse 2019-05-04 19:04:12 +02:00
  • caa6895310 Qt: smoother game icons in list mode Megamouse 2019-05-04 18:15:15 +02:00
  • ea0f04e130 Qt: smoother compat circles in list mode Megamouse 2019-05-04 18:13:49 +02:00
  • f480ba13c0 Qt: show all unique game data entries Megamouse 2019-05-05 14:48:41 +02:00
  • c1e245ae73 Emu: msg_dialog_frame fixup: don't reject on Close to prevent Emu.Stop() Megamouse 2019-05-05 11:16:03 +02:00
  • b639584acc Emu/Qt: Fix Boot Recent when using BootGame(add_only=true) Megamouse 2019-01-06 23:30:38 +01:00
  • b0a24665e5 Emu: msg_dialog_frame fixes Megamouse 2019-01-06 23:00:48 +01:00
  • 8a4778ba8c Qt: add some batch operations Megamouse 2019-01-06 22:32:23 +01:00
  • 9c346c92f3 gl: undo an accidental deletion kd-11 2019-05-05 13:04:34 +03:00
  • 2bec304cca vk: Allow some drivers to bypass window polling if not needed kd-11 2019-05-04 16:56:57 +03:00
  • f246a8666a Qt: Minor Visual Fixes (#5899) drysalter 2019-05-04 23:56:55 +03:00
  • a703460fc6 SPU ASMJIT: skip some unused analyser steps Nekotekina 2019-05-04 19:35:13 +03:00
  • ba1ec1d5d6 SPU analyser: remove use_ra from HBR Nekotekina 2019-05-04 18:33:58 +03:00
  • 45ce8db6cb SPU Analyser: fix reg origin regression Nekotekina 2019-05-04 18:29:47 +03:00
  • 4bd022f778 SPU analyser: minor logic fix and cleanup Nekotekina 2019-05-03 14:18:22 +03:00
  • 6c34d7104e SPU analyser: fix excessive workload list size Nekotekina 2019-05-02 23:29:02 +03:00
  • 54dc617f39 SPU analyser: internal spu_itype optimization Nekotekina 2019-05-02 19:25:00 +03:00
  • 15bd3b8724 SPU: fix minor UB in STQD/LQD instructions Nekotekina 2019-05-02 17:59:15 +03:00
  • 2b4da18709 SPU LLVM: fix xfloat regression Nekotekina 2019-05-02 13:36:56 +03:00
  • d48dc29e55 SPU LLVM: fix perf regression Nekotekina 2019-05-01 15:31:17 +03:00
  • 69d2ea35b9 SPU: minor analyser cleanup Nekotekina 2019-05-01 14:58:05 +03:00
  • a4c4ee9cb2 SPU: fix excessive cache size regression Nekotekina 2019-05-01 14:56:41 +03:00
  • bc42719c48 Put DS3/DS4 instructions to Wiki instead msuih 2019-05-02 11:20:34 +03:00
  • 6b7cd458e3 rsx: Silence some diagnostics unless compiled with debugging options kd-11 2019-04-29 22:29:00 +03:00
  • 1d5c52f476 rsx: Ignore stencil clear flag if the stencil write mask is disabled kd-11 2019-04-29 18:56:35 +03:00
  • 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 kd-11 2019-04-29 18:41:02 +03:00
  • 63f9b8e0c6 gl/vk: Minor cleanup kd-11 2019-04-29 14:37:49 +03:00
  • ec9aa74008 rsx: Fix section base offset calculation for blit_dst targets which affects confirmed memory range - Fixes flushes only writing partially to target memory kd-11 2019-04-29 14:37:30 +03:00
  • 4e3ec162e2 rsx: Fix broken texture cache search when flipping kd-11 2019-04-27 17:11:15 +03:00
  • 6feffe6ff6 rsx: Ignore transfer offsets when wrapping behaviour is expected kd-11 2019-04-25 17:25:45 +03:00
  • f56a6548b0 gl: Remove workaround for AMD driver bug fixed in driver 19.4.3 kd-11 2019-04-25 17:07:33 +03:00
  • 1bc5e27507 SPU LLVM: move reg origin search to analyser Nekotekina 2019-05-01 00:06:42 +03:00
  • 1294e0d189 SPU LLVM: improve codegen in loops Nekotekina 2019-04-25 13:43:03 +03:00
  • e09c6ea4b4 SPU analyser: add spu_iflag Nekotekina 2019-04-28 03:36:17 +03:00
  • 716737ecf2 LLVM DSL: expression matching (alpha) Nekotekina 2019-04-25 20:18:27 +03:00
  • c24b74398f Update to README.md due to dependency Deep Sleep 2019-04-30 12:01:12 +02:00
  • 301dd82819 DS3 Linux fix RipleyTom 2019-04-26 13:25:27 +02:00
  • 3bd29b8bac Fix Unregistered HLE function access eladash 2019-04-16 16:33:28 +03:00
  • ea1c9a2e17 Fix PPU Breakpoints and ppu_check_toc eladash 2019-04-16 14:59:57 +03:00
  • 468e1e90c8 Touch-ups to Skyline and Envy (#5884) drysalter 2019-04-29 22:02:50 +03:00
  • be6d9af1ab Print OS info to log msuih 2019-04-19 15:05:47 +03:00
  • 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. kd-11 2019-04-24 18:12:37 +03:00
  • 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 kd-11 2019-04-23 17:53:39 +03:00
  • 4cd1c25729 "rsx: Ignore argument sign for SQRT operations" kd-11 2019-04-20 14:57:05 +03:00
  • 32396ba366 rsx: Simplify use of some mixed input functions using OPFLAGS to avoid implicit conversions kd-11 2019-04-20 13:30:08 +03:00
  • 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. kd-11 2019-04-20 13:02:05 +03:00
  • 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. kd-11 2019-04-16 21:57:52 +03:00
  • 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 kd-11 2019-04-16 13:50:39 +03:00
  • 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 kd-11 2019-04-15 20:39:42 +03:00
  • 7ad1646c2c vk: Skip feature check if extension is not supported kd-11 2019-04-13 17:58:17 +03:00
  • 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 kd-11 2019-04-13 13:20:50 +03:00
  • 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 kd-11 2019-04-13 00:25:44 +03:00
  • ee319f7c13 rsx: Implement strict clamp16 operation needed for NVIDIA cards kd-11 2019-04-12 16:25:12 +03:00
  • 2ade3c594c LLVM DSL: expression matching (preview 2) Nekotekina 2019-04-25 03:33:18 +03:00