Compare commits

...

6402 Commits

Author SHA1 Message Date
lightningterror
2fedecb809 GS-hw: Purge Evangelion crc hack.
It's broken, HPO special does the job.
Someone should add it to the hw gamefixes.
2022-03-21 17:25:25 +01:00
PCSX2 Bot
b24a8c70e3 PAD: Update to latest controller database. 2022-03-21 17:14:41 +01:00
RedDevilus
d6684efd26 GameDB: GS HW Batch X
Relevant:
Bully
Colosseum - Road to Freedom
Dark Chronicle (Dark Cloud 2)
Killzone
God of War
Gun
Midnight Club 3
Mortal Kombat - Deadly Alliance
Need for Speed Carbon / Most Wanted / Undercover
Prince of Persia - Sand of Time / The Two Thrones / Warrior Within
Resident Evil 4 (BioHazard 4)
Thrillville / Off the Rails
2022-03-21 15:04:45 +00:00
TellowKrinkle
644241959a GS: Fix inverted DSB check 2022-03-21 02:33:38 +00:00
TellowKrinkle
273c1b1922 GS: Clean up leftover definitions
Accidentally leftover during the blend op refactor
2022-03-21 02:33:38 +00:00
Connor McLaughlin
45682c382f GS: Add NO_COLOR flag to PS (depth-only) 2022-03-20 23:41:33 +00:00
Connor McLaughlin
4e6b86f8f4 GS/Vulkan: Use VK_ARM_rasterization_order_attachment_access if available 2022-03-20 23:41:33 +00:00
Connor McLaughlin
a6b4ca69db GS/Vulkan: Support rendering without D32S8 2022-03-20 23:41:33 +00:00
Connor McLaughlin
6b32e00097 GS: Make factors part of blend state
Instead of using the blend map indices.
2022-03-20 23:41:33 +00:00
Connor McLaughlin
19d310475b GS: Draw alpha pass when dual source blend is missing 2022-03-20 23:41:33 +00:00
Connor McLaughlin
a8b9df3952 GS: Utilize GL_EXT_framebuffer_fetch where available 2022-03-20 23:41:33 +00:00
Connor McLaughlin
bb75c78c1a GS: Add option to disable texture barriers/geometry shaders 2022-03-20 23:41:33 +00:00
Mrlinkwii
57ea137982 Gamedb: add missing serials 2022-03-20 23:25:42 +00:00
refractionpcsx2
9721ed0fb3 GS: Use pixel format mask for FBMSK checks 2022-03-20 23:24:42 +00:00
Mrlinkwii
224863fbd5 GameDB: adds 'VUSyncHack' to Panzer Elite Action - Fields of Glory 2022-03-20 17:40:43 +00:00
Mrlinkwii
1d459d8fab Gamedb: Remove VU rounding form 'Hitman - Contracts' 2022-03-20 15:30:00 +00:00
arcum42@gmail.com
33e0ac729e Core: Remove memcmp_mmx. 2022-03-20 12:54:58 +00:00
Connor McLaughlin
268ecf42c3 Build: Remove 32bit configs from vsprops 2022-03-20 12:53:42 +00:00
refractionpcsx2
708281f00b GS: Properly detect 16bit format on Texture Shuffle + Convert 2022-03-20 06:49:16 +00:00
RedDevilus
56b68a50e9 GameDB: Even more GS HW Fixes
Affects:
Ape Escape 3
Armored Core Last Raven
Berserk
Forever Kingdom
Front Mission 4 / 5
Need For Speed Underground 1 / 2
Kings Field 4 - The Ancient City
Test Drive Unlimited
Jak 2 / 3 / X
2022-03-20 05:57:18 +00:00
RedDevilus
e4048dc2dd CI: Update labeler to expand WX 2022-03-20 04:50:29 +00:00
TheLastRar
5949c772d1 Qt: Fix bugs relating to per-game settings 2022-03-20 04:13:45 +00:00
RafaelTrepaUnCarballo
63998b64cc fix comment format 2022-03-20 04:10:11 +00:00
RafaelTrepaUnCarballo
fbb3ea142a Add files via upload
Added gshack (wild arms hack) for all releases of Wild Arms Alter Code F
2022-03-20 04:10:11 +00:00
Tyler Wilding
435f760b5d GameDB: remove duplicate YAML keys 2022-03-20 04:03:03 +00:00
Tyler Wilding
f47129bd72 deps: update rapid-yaml to v0.4.1 2022-03-20 04:03:03 +00:00
Tyler Wilding
aa42acfe22 common: fix method name and clarify some behaviour 2022-03-20 04:03:03 +00:00
Tyler Wilding
ddfe6ac5c1 memcard: update ryml parsing for folder memory cards
also make the file handling safer
2022-03-20 04:03:03 +00:00
Tyler Wilding
624dff1b96 gamedb: move away from deprecated ryml::parse func 2022-03-20 04:03:03 +00:00
Tyler Wilding
8d498b564d deps: update rapid-yaml to latest commit
has a bug fix that we hit in folder memory cards
2022-03-20 04:03:03 +00:00
Christian Kenny
26561261bc Core: Remove unused code 2022-03-20 04:00:27 +00:00
Connor McLaughlin
44728be719 Misc: Fix incorrect printf of std::string_view 2022-03-20 04:00:13 +00:00
Tzerinas
678bb1218b GameDB: Add fixes for Tak Games
SoftwareRendererFMVHack for Tak 1&2, Half-Pixel Offset (Texture) for Guardians of Gross.
2022-03-20 04:00:04 +00:00
RedDevilus
c496e80eac PCSX2-GUI: Rename skipdraw and IDC for Partial Invalidation
Skipdraw and SkipDrawOffset isn't obvious to what it is. SkipDrawStart and SkipDrawEnd makes it obvious it's a range of values.
Also forgot to change the IDC for Disabling Partial Invalidation.
2022-03-20 03:59:38 +00:00
refractionpcsx2
269db188d0 Build: Remove 32bit from CMake. 2022-03-20 00:39:39 +00:00
refractionpcsx2
f5afbfd4f5 GS: Remove 32bit code from SW renderer 2022-03-20 00:39:39 +00:00
refractionpcsx2
ccd86a242c EE/VU JIT: Remove 32bit code 2022-03-20 00:39:39 +00:00
refractionpcsx2
42a5cb7ad2 Build: Remove 32bit targets from VS solution 2022-03-20 00:39:39 +00:00
Tyler Wilding
6977323d88 ci: remove redundant words from job names
its always 64bit now!
2022-03-19 21:19:48 +00:00
Tyler Wilding
7b1d03d45a ci: add link to previous release page in discord announcement 2022-03-19 21:19:48 +00:00
Tyler Wilding
8a4f1ef51a ci: stop building 32-bit
At this point -- not cleaning up the solution files / etc, only our actions.

Until the 32bit code itself is removed, we should still have an easy way to flip these back on.
2022-03-19 21:19:48 +00:00
Mrlinkwii
9b50bb2e81 Gamedb: remove no longer needed comments 2022-03-19 15:56:06 +00:00
Connor McLaughlin
4f27d779a1 GS/DX11: Fix incorrect format check for compressed textures 2022-03-19 03:57:20 +00:00
RedDevilus
73c6353351 Qt: Partial Invalidation
Some missing strings from the renaming.
2022-03-18 23:47:21 +00:00
Immersion95
f571b66a43 GameDB: HW fixes for Mega Man/Rockman X7 + Clamping mode fix (#5694) 2022-03-18 20:53:48 +00:00
BuildTools
901664ba44 GameDB: Rename fastTextureInvalidation
Attempt 2 renames fastTextureInvalidation to disablePartialInvalidation for more consistency with the new GUI name.
2022-03-18 13:52:36 +00:00
Immersion95
02012b5491 GameDB: HW fixes for Rockman X8
SoftwareRendererFMVHack for the NTSC-J & NTSC-K version of Megaman X8
2022-03-18 10:24:58 +00:00
TellowKrinkle
4f57e40c91 GS:SW: Fix lod on x64 2022-03-18 03:59:51 -05:00
RedDevilus
832e536a9e GameDB: Haunting Ground + 50 Cent and Level 5
Ranging from blurriness to font artifacts.
2022-03-18 08:44:33 +00:00
BuildTools
c2316ca5bc GUI: Rename Fast Texture Invalidation
Renames Fast Texture Invalidation to Disable Partial Invalidation.

Update GraphicsSettingsWidget.ui
2022-03-18 02:11:12 +00:00
refractionpcsx2
3535edcfa1 GameDB: Add partial preloading to Stolen 2022-03-17 18:40:11 +00:00
KrossX
a4932ed0f1 GameDB: Add DMABusy fix to Shining Wind 2022-03-17 14:33:07 +00:00
seta-san
515d9040a1 GameDB: Add gsHWFixes for Tales of Symphonia
Co-Authored-By: RedDevilus <martensregis@gmail.com>
2022-03-17 09:16:20 +00:00
Connor McLaughlin
fe3a743814 ImGuiManager: Cap usage percents to 100% 2022-03-17 09:10:12 +00:00
Connor McLaughlin
8e08cd772b PerformanceMetrics: Add GPU time 2022-03-17 09:10:12 +00:00
Connor McLaughlin
206f80c5f4 GS: Compute SW CPU per-thread not per-draw 2022-03-17 09:10:12 +00:00
RedDevilus
c6ce380042 GameDB: More GS HW Fixes
Some extra comments for Monster Lab and SSX Tricky.

New entries:

- Alter Echo
- Beyond Good and Evil
- Dragon Ball Z - Budokai Tenkaichi 2
- Fatal Frame 1 / 3
- Ghost in the Shell - Stand Alone Complex
- Global Defence Force
- Xenosaga 1 / 2 / 3
2022-03-17 08:57:58 +00:00
lightningterror
939d98d660 Qt: Allow skipdraw up to 10k max. 2022-03-17 02:44:14 +01:00
lightningterror
c9a3420f85 GS: Fix Wunused-variable warnings. 2022-03-17 00:50:28 +01:00
refractionpcsx2
9a1a399bac GameDB: Add a bunch of hw fixes and upscaling fixes 2022-03-16 23:40:53 +00:00
RedDevilus
c8aac1dca9 GameDB: Ace Combat + Soul Calibur + Metal Gear Solid Series
Missing mipmap from the Europese Ace Combat Zero/4/5, Align Sprite for them and Round Sprite. Align Sprite for SoulCalibur series.
Metal Gear 2 substance gets round sprite for font and Metal Gear 3 Subsistence gets Special (Texture) for blurriness.
2022-03-16 22:38:39 +00:00
lightningterror
14c17916f5 GS-hw: Optimize blending equations based on alpha value.
It will allow us to use free sw blending without texture barriers.

Will be especially helpful for opengl/vulkan.
2022-03-16 15:17:00 +01:00
RedDevilus
7b0576d7cc GameDB: Dog Island and COD Final Fronts (#5671) 2022-03-16 07:24:05 +00:00
Blackbird88
ecb118d5af GameDB: Add gsHWFixes for GTA LCS/VCS (#5662)
Co authored by @Blackbird88
2022-03-15 20:22:19 +00:00
RedDevilus
efbf187b35 GameDB: Upscaling GS Batch 2
Adds second batch of upscaling fixes.
2022-03-15 20:21:15 +00:00
Tzerinas
2ea3feba90 GameDB: Add Upscaling Fixes to Onimusha 3
Adds Half-Pixel Offset: Special (Texture) and Round Sprite (Full) to Onimusha 3: Demon Siege
2022-03-15 20:19:06 +00:00
Tzerinas
f265257efb GameDB: Add Software FMV to Grandia 2 and Xtreme
Adds the SoftwareRendererFMV hack to Grandia 2 and Xtreme. Also adjusted titles.
2022-03-15 20:18:43 +00:00
lightningterror
13cc0caed7 GS Debugger: Fix hw hacks behavior not properly disabling. 2022-03-15 15:46:24 +01:00
refractionpcsx2
2068240e1a GS: Adjust Auto Flush to catch edge cases
Affected Beyond Good and Evil water
2022-03-15 10:15:21 +00:00
Tzerinas
7f5901f022 GameDB: GS HW renderer fixes for Tales of the Abyss
Description of Changes
Add Half-Pixel Offset: Special (Texture) to Tales of the Abyss.
2022-03-15 09:38:24 +00:00
Tokman5
a022de6225 GameDB: Add gsHWFixes for Shutokou Battle 01. (#5659)
Co-authored-by: Tokman5 <isozin_1210@yahoo.co.jp>
2022-03-15 08:12:52 +00:00
RedDevilus
f5570b7f40 GameDB: Rogue Galaxy
Adds half roundsprite to make upscaled HW more like software mode such as minimap while fighting.
2022-03-15 08:11:17 +00:00
RedDevilus
7e1c48694a GameDB: Upscaling GS Batch 1
Fixes the lint and adds a bunch of upscaling fixes.
2022-03-15 00:54:38 +00:00
lightningterror
a546f61ea8 Qt: Fix Round sprite hack not applying. 2022-03-14 23:43:25 +01:00
PCSX2 Bot
7ecac10eee PAD: Update to latest controller database. 2022-03-14 22:20:49 +01:00
Mrlinkwii
ee2e10e86b GameDB: correct and update serials 2022-03-14 19:15:50 +00:00
RedDevilus
7752f44a90 GameDB: Documentation
Add values for GameDB, GUI options and the default to easier make GameDB changes
2022-03-14 19:14:40 +00:00
refractionpcsx2
e01fc3eb47 GS: Loosen requirement for half bottom 2022-03-14 19:14:26 +00:00
SaltyBet
910c8190e0 GameDB: Added missing variants of NAMCO games 2022-03-14 15:47:02 +00:00
SaltyBet
a62ccc0d69 GameDB: Auto GS HW renderer fixes for some NAMCO games
- Tekken 4
- Tekken 5
- Tekken Tag Tournament
2022-03-14 15:47:02 +00:00
Dreadmoth
4f47041108 GameDB: Metal Arms - Glitch in the System (PAL)
Force disable mVU Flag Hack to prevent SPS
2022-03-14 15:33:39 +00:00
Connor McLaughlin
16cfde0538 GS: Use single array for dump packets 2022-03-14 15:26:19 +00:00
Connor McLaughlin
6a15d46461 Qt: Improve boot filename autodetection 2022-03-14 15:26:19 +00:00
Connor McLaughlin
4331ae1925 VMManager: Support playing back GS dumps 2022-03-14 15:26:19 +00:00
Connor McLaughlin
4d85d916b7 GS: Move dump file loading to core 2022-03-14 15:26:19 +00:00
Connor McLaughlin
4f4b14dd4d GameList: Add GetEntryByCRC() 2022-03-14 15:26:19 +00:00
Connor McLaughlin
444e650711 StringUtil: Add StartsWithNoCase/EndsWithNoCase 2022-03-14 15:26:19 +00:00
refractionpcsx2
c65ccaa153 GS-Config: Clear missing manual GS fixes 2022-03-14 11:08:39 +00:00
Connor McLaughlin
6b54db9b75 GS/VertexTrace: Fix min/max when last provoking vertex unsupported
This was causing incorrect min/max alpha values due to the index swap,
which caused the sides of text boxes in KH to disappear (because the
alpha test optimized to always failing).

Closes #5639.
2022-03-14 08:47:32 +00:00
Mrlinkwii
3bab470db6 Docs : Add GS hardware fixes and MTVUSpeedHack 2022-03-13 18:33:37 +00:00
refractionpcsx2
adf01cb56a GS-Build: Fix Dump Verticles for linux 2022-03-13 05:01:51 +00:00
refractionpcsx2
bbe3af7f61 GS-Debug: Dump verticles with draws
- Move context dumping to the top so we see it as the game set, not after we've messed with it.
Thanks to tadanokojin for these changes
2022-03-13 03:46:16 +00:00
refractionpcsx2
3e7d32c807 GameDB: Give slightly clearer message for GS Fix override 2022-03-13 03:18:44 +00:00
refractionpcsx2
76e25cb738 GameDB: Add mipmapping/trilinear for Hot Shots/Everybody's Golf games 2022-03-13 02:34:29 +00:00
refractionpcsx2
8f0dc34847 GS: Improvements to MTBA address calculation 2022-03-13 01:55:08 +00:00
RedDevilus
fc6ec2cc02 GameDB: Transformers Armada: Prelude to Energon
Adds missing VIFFIFO + force disabling MTVU for not getting black screen
2022-03-13 01:53:48 +00:00
refractionpcsx2
34b7b07ff8 GameDB: Added a whole host of auto GS HW renderer fixes 2022-03-13 01:53:15 +00:00
Connor McLaughlin
6c33b73cdd GS: Make TC offset changable without recreating 2022-03-12 20:48:51 +00:00
Connor McLaughlin
1e86ba4120 GS: Append game serial/name to dump filename 2022-03-12 20:48:51 +00:00
Connor McLaughlin
89c79aa6c3 GSDump: Add embedded screenshot 2022-03-12 20:48:51 +00:00
Connor McLaughlin
4ed748fa30 GSDump: Add extensible header and serial
Serial is used to apply hw fixes.
2022-03-12 20:48:51 +00:00
Connor McLaughlin
5569e94f41 GS: Make setting change detection more fine grained
Avoids the slower full restart when it's not needed.
2022-03-12 20:48:51 +00:00
Connor McLaughlin
892eec79ed Workflows: Fix lint-gamedb for gsHWFixes 2022-03-12 20:48:51 +00:00
Connor McLaughlin
b248b4a8af GameDB: Add HW fixes for GTASA/GOW/GOW2 2022-03-12 20:48:51 +00:00
Connor McLaughlin
39fe467b64 GS: Purge CRCs of unused titles 2022-03-12 20:48:51 +00:00
Connor McLaughlin
1c301ec889 GS: Move point list palette to gamedb 2022-03-12 20:48:51 +00:00
Connor McLaughlin
de5690ddcb GS: Move texture-inside-rt flag to gamedb 2022-03-12 20:48:51 +00:00
Connor McLaughlin
f376c8f7ae GS: Remove second source of truth for HWMipmap 2022-03-12 20:48:51 +00:00
Connor McLaughlin
2e199d47a8 GS: Move automatic mipmapping override to gamedb 2022-03-12 20:48:51 +00:00
Connor McLaughlin
96269db93e GameDatabase: Add ability to override GS fixes 2022-03-12 20:48:51 +00:00
Connor McLaughlin
d35db63d73 GS: Reference GSConfig instead of using theApp
Removes multiple sources of truth, enables overrides.
2022-03-12 20:48:51 +00:00
refractionpcsx2
9d003486c2 GS-hw: Attempt to improve half screen detection 2022-03-12 12:28:18 +00:00
refractionpcsx2
0c4b85980c GS: Support local to local transfers that overwrite themselves 2022-03-12 12:27:43 +00:00
Connor McLaughlin
5961db6b9b GS/Vulkan: Elide render pass restarts on depth buffer toggle 2022-03-12 12:22:51 +00:00
Connor McLaughlin
d0039c2920 Gif_Unit: Vectorize analyzeTag() 2022-03-12 12:10:32 +00:00
TellowKrinkle
5bdec2f532 x86emitter: Fix x64 8-bit rmw codegen 2022-03-11 12:59:57 +00:00
refractionpcsx2
fd758bb307 GameDB: Added MTVU disable to InstantVU off games 2022-03-11 10:25:15 +00:00
refractionpcsx2
a11d09ebdf Git: Update GameDB Validation script 2022-03-11 10:25:15 +00:00
refractionpcsx2
d294064da6 GameDB: Disable MTVU on T-Bit games 2022-03-11 10:25:15 +00:00
refractionpcsx2
fd4a5acc40 MTVU: Try to make T-Bit more reliable.
Add MTVUSpeedHack option to GameDB so it can be forcefully disabled
2022-03-11 10:25:15 +00:00
refractionpcsx2
05a7a61257 GS/Autoflush: Handle different page widths/arrangements 2022-03-11 10:24:26 +00:00
refractionpcsx2
90a4a11d49 GS: Add Auto Flush for Z buffer draws
Adjust Burnout CRC hack
2022-03-11 10:24:26 +00:00
lightningterror
d9f914eb7c GS-hw: Move the Ad to As equation swap when alpha is masked to Basic level and higher on gl/vk.
Safer this way, otherwise need to take in to account when accumulation, non recursive, and blend mix is enabled, or manually enable them on Minimum level.

Everything that we need is enabled on Basic level.

Change is done for clamp 1 only.
2022-03-09 23:24:44 +01:00
TheLastRar
134242973b Config: Set a sane default value for HddSizeSectors 2022-03-09 10:07:54 +00:00
TheLastRar
92900d8dc8 Config: Fix manual subnet mask save/load 2022-03-09 10:07:54 +00:00
Ziemas
7a970e1d00 Filesystem: Properly convert stat return to bool.
Two of the overloads where wrong.
2022-03-09 09:33:51 +00:00
Connor McLaughlin
e8e0f355fc GS/WX: Fix default adapter causing unnecessary GS restarts 2022-03-09 09:14:36 +00:00
Mrlinkwii
3202fd88d2 Gamedb: add VU clamping to 'DT Racer' and update MGS2 hack 2022-03-09 00:10:00 +00:00
RedDevilus
1c66c904ab GameDB: Katamari games
Katamari games have become sensitive again to this hack. It's forcefully disabled for this PR to fix performance and other breaking issues.
2022-03-09 00:08:21 +00:00
lightningterror
784e090081 GS-hw: Improve how we handle blending when output is Cd.
Disable hw blending on Cd output,
Disable rgb write on Cd output.
2022-03-08 23:46:27 +01:00
Connor McLaughlin
2d08d3dc94 GL/Context: Drop GL string logging back to devbuilds 2022-03-08 10:39:50 +01:00
Connor McLaughlin
237b9754c6 Qt: Log graphics driver info on startup 2022-03-08 10:39:50 +01:00
Connor McLaughlin
74bbccdf59 Wx: Log graphics driver info on startup 2022-03-08 10:39:50 +01:00
Connor McLaughlin
062d625901 Vulkan/Context: Allow non-debug device when validation layers unavailable 2022-03-08 10:39:50 +01:00
Connor McLaughlin
3f30c2bda2 VulkanHostDisplay: Improve Vulkan version reporting 2022-03-08 10:39:50 +01:00
PCSX2 Bot
0702692746 PAD: Update to latest controller database. 2022-03-07 17:11:41 +01:00
dependabot[bot]
11a218b1aa Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 14:15:25 +01:00
Connor McLaughlin
f4acff1321 Qt: Fix incorrect dropdown value in game properties 2022-03-07 14:14:49 +01:00
Connor McLaughlin
a8ee746c39 Qt: Fix live changing game settings not applying 2022-03-07 14:14:49 +01:00
Connor McLaughlin
ddd5fc7bf3 VMManager: Fix brief unpause before shutdown 2022-03-07 14:14:04 +01:00
lightningterror
22dfe05287 GS-hw: Optimize blending when ALPHA.A is equal to ALPHA.B.
Set ALPHA A B to 0 (Cs), and ALPHA.C to 0 (As).
2022-03-07 14:13:19 +01:00
refractionpcsx2
fa78e1295a GS: Handle Auto Flush across pages + scissor, add TEXFLUSH
Fixes Jak 3 shadows, partially fixes Beyond Good and Evil water, improves Auto Flush performance hugely (x3 in Jak 2 @ 3x Native)
2022-03-06 03:07:37 +00:00
refractionpcsx2
4a634ca154 GS: Fix compilation of GS SW Int Rasterizer 2022-03-05 16:55:54 +00:00
refractionpcsx2
bd1f5d0888 GS: Adjust Tekken 5 CRC hack for fire effect, fixes sun bleed.
Fixes #2766
2022-03-05 15:55:36 +00:00
Connor McLaughlin
2f028c5f40 Qt: Implement CTRL+C and confirm shutdown 2022-03-04 17:41:28 +00:00
Connor McLaughlin
56c8843406 Qt: Add log options to debug menu 2022-03-04 17:41:28 +00:00
Connor McLaughlin
37c4c596b5 Qt: Fix a few warnings on Linux 2022-03-04 17:41:28 +00:00
Connor McLaughlin
7b0bde4f1f Qt: Move section/key in setting binder
It's passed in by value, so elide the copy.
2022-03-04 17:41:28 +00:00
Connor McLaughlin
5c5c7d64a8 Qt: Remove version check macros
Not needed anymore since we require Qt6 on all platforms.
2022-03-04 17:41:28 +00:00
lightningterror
565189d08c GS-hw: Fix Wunused-variable warning in GSRendererHW. 2022-03-03 22:27:40 +01:00
lightningterror
682580e318 GS-hw: Fix Wsign-compare warnings in GSRendererNew. 2022-03-03 22:27:40 +01:00
lightningterror
74e3d6470a GS-hw: Fix Wunused-but-set-variable warnings in GSTextureCache. 2022-03-03 22:27:40 +01:00
refractionpcsx2
b4e6a715fc EE/JIT: Flush const on LDL/LDR instructions 2022-03-03 16:18:16 +00:00
Mrlinkwii
85f0d44997 Gamedb: add patch for Cars 2022-03-03 11:29:52 +00:00
TellowKrinkle
294855700d GS:OGL: Don't memset C++ objects 2022-03-02 12:10:12 +00:00
TellowKrinkle
099ddfedc7 GS:Mac: Properly init vulkan on main thread 2022-03-02 12:02:15 +00:00
TellowKrinkle
d9e2bcef6d GS:Mac: Nicer message send 2022-03-02 12:02:15 +00:00
TellowKrinkle
7a628f1a12 WX: Make texture dump location configurable 2022-03-02 11:58:44 +00:00
Mrlinkwii
75bc680934 GameDB: add 'VUSyncHack' to 'Tiger Woods PGA Tour 2002' and update documentation 2022-03-02 11:36:11 +00:00
Connor McLaughlin
0c98b5ff76 GS/TextureCache: Don't let hash cache memusage go negative 2022-03-01 17:34:59 +00:00
arcum42
11918e5846 Disable warnings on several third party libraries. (#5519) 2022-02-28 21:14:52 -08:00
refractionpcsx2
2c33bf8c6f GUI/Qt: Update VU Sync option in Qt interface 2022-02-28 19:29:53 +00:00
refractionpcsx2
e833a67bb7 VU: Rework VUKickstart in to VUSync, swap behaviour 2022-02-28 19:29:53 +00:00
refractionpcsx2
6dc5087cbd VU: Run sync ahead on small blocks 2022-02-28 19:29:53 +00:00
PCSX2 Bot
eabda670ac PAD: Update to latest controller database. 2022-02-28 17:52:52 +01:00
Connor McLaughlin
845e7930d7 microVU: Move VU0 micro flag instance setup to program start
They're only used in micro mode, so no point updating them in a cop2
chain.
2022-02-28 15:07:15 +00:00
Connor McLaughlin
d20bfa240d EE: Add COP2 flag hack 2022-02-28 15:07:15 +00:00
Connor McLaughlin
ba27a46ac6 GS/TextureCache: Don't count replacements in hash cache budget
Large replacement textures were causing the hash cache to disable
itself. There's plenty of other massive VRAM sinks in PCSX2 that we need
to consider before we can say we're managing VRAM well anyway.
2022-02-28 09:38:12 +00:00
Connor McLaughlin
866e5bd929 GS/TextureReplacements: Disable generated mipmaps on compressed textures
They should be provided in the file.
2022-02-28 09:38:12 +00:00
TellowKrinkle
1beb5517a7 Pad: Fix connection of macOS GameController framework controllers 2022-02-28 09:51:11 +01:00
TheLastRar
a12ad1f627 Config: Clang format Pcsx2Config 2022-02-28 09:44:14 +01:00
TheLastRar
c18be9dde7 Dependencies: Remove LibXml 2022-02-28 09:44:14 +01:00
TheLastRar
4eba400170 DEV9: Don't enforce MTA requirement
Also CoUninitialize() needs to be called for all successful calls to CoInitialize/Ex(), not just those that return S_OK
2022-02-28 09:44:14 +01:00
TheLastRar
dc376ab161 DEV9: Clang format net.cpp 2022-02-28 09:44:14 +01:00
TheLastRar
5ff49a78eb Config: Add DEV9 options to global struct
Additionally switch to using std::string in various locations in DEV9
2022-02-28 09:44:14 +01:00
TheLastRar
6df50992c4 DEV9: Remove old settings/log directory functions 2022-02-28 09:44:14 +01:00
TheLastRar
5d2bcfaa38 DEV9: Fix off by one error on LBA range check 2022-02-28 09:44:14 +01:00
TheLastRar
990d7ad0f7 DEV9: Correct DEV9 include in Tap 2022-02-28 09:44:14 +01:00
TheLastRar
510283cd4d DEV9: Rename DEV9's Config.h to DEV9Config.h 2022-02-28 09:44:14 +01:00
TheLastRar
dcc183179a DEV9: Use fs namespace instead of ghc 2022-02-28 09:44:14 +01:00
TheLastRar
30bc9b04c5 DEV9: Use UTF8 strings on windows for AdapterEntry 2022-02-28 09:44:14 +01:00
dependabot[bot]
8aaeb1c7ce Bump actions/setup-node from 2 to 3
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2 to 3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 09:25:18 +01:00
AKuHAK
1984c68516 PCSX2: Add ability to combine CLI options --elf or --irx with --gameargs
Exception: if full path to host: contains spaces, then arguments will be ignored. To avoid this you can use relative paths when possible.
2022-02-28 09:20:01 +01:00
refractionpcsx2
c81c89d6d9 GUI/Qt: Fix startup project for debugger 2022-02-28 07:34:52 +00:00
refractionpcsx2
9ce2405f3f GUI/Qt: Fix loading ELF files from menu 2022-02-28 07:05:15 +00:00
refractionpcsx2
21fba45a3c GameDB: Added patch for PowerDrome US 2022-02-27 15:22:42 +00:00
refractionpcsx2
a0bbdcefb3 GS: Ignore 24bit on DATE and Handle Reversed Color and Z
Clamp Framebuffer width to 1-32
2022-02-27 15:22:42 +00:00
lightningterror
753da789a0 GS-hw: Adjust DATE selection.
Remove fbmask check from DATE,
Enable DATE_BARRIER with one barrier when alpha isn't written and there is no alpha test.
2022-02-26 17:48:27 +01:00
lightningterror
cd5ce6e162 GH-workflows: Remove os mentions for auto pad db update.
Not needed anymore.
2022-02-24 14:52:41 +01:00
Connor McLaughlin
5a25cc171d GS: Add texture dumping and replacement system 2022-02-24 10:18:49 +00:00
Connor McLaughlin
32dc68f103 GS: Support BC1/BC2/BC3/BC7 compressed texture formats 2022-02-24 10:18:49 +00:00
Connor McLaughlin
69a500d657 GS: Add Swap() to GSTexture 2022-02-24 10:18:49 +00:00
Connor McLaughlin
ed9f34de5f Common/FileSystem: Add EnsureDirectoryExists() 2022-02-24 10:18:49 +00:00
iMineLink
d6f1291c0b GS: skip no output draws. 2022-02-24 10:12:59 +00:00
iMineLink
01079f5162 GS: upscale regardless of PCRTC enabling. 2022-02-24 10:12:59 +00:00
RedDevilus
9b0dc287c1 PCSX2-GUI: Rename Interlacing to Deinterlacing
So to sketch what is an annoying issue is that this for years has been wrongly presented to users.
None Interlacing = Interlacing but if used with a no-interlacing patch it will look like progressive but PCSX2 or really the internal PS2 side only detects interlacing mode. Which blows my mind that the user wouldn't be wrong to assume that None Interlacing = Interlacing.
Weave = Interlacing method (saw-tooth)
Bob = Likely the sharpest but can do vertical bouncing.
Blending = A bit blurry but the most consistent and has no bouncing.

I didn't change the code just the visual presentation to the users.

Example in gif format: https://upload.wikimedia.org/wikipedia/de/1/1e/Interlaced_Animation.gif
2022-02-24 00:38:01 +00:00
lightningterror
bb92566781 GS-hw: Don't trigger no overlap check for DATE_BARRIER on d3d11.
d3d11 doesn't support DATE_BARRIER, it's better to let the Date one cases handle it as it will be more accurate.
2022-02-23 20:48:00 +01:00
Connor McLaughlin
17b1c664a8 GS: Add option to disable status indicators
Fast forward/pause icons.
2022-02-23 15:45:47 +00:00
Connor McLaughlin
2eaba084c7 GS/TextureCache: Fix target not getting invalidated in some cases
This would happen when there was a source from local memory with the
same pointer as the target.

Fixes sky getting messed up in the Jak 3 menu when the hash cache is
enabled.
2022-02-23 15:45:19 +00:00
arcum42@gmail.com
ff75ab73cc Qt: Fix qt compilation on linux. 2022-02-22 19:23:51 +00:00
RedDevilus
3c54593456 Qt: Add themes
Ranging from ColorBlind themes to flashy to pastel. Based on the Fusion factory. 3 Light and 1 Dark extra themes (2 light and 2 dark themes on master) with enough variability and choice.
It's just a placeholder for when other factories are implemented and perhaps even viable for future community-based static or dynamic ones.
2022-02-22 16:13:09 +00:00
RedDevilus
39dfb2e606 Qt: Resize default headersize BIOS
Qt: Resize default headersize BIOS

The first column was too small and visually makes it harder to see what BIOS you have.
2022-02-22 16:13:09 +00:00
PCSX2 Bot
4e7ade8612 pad-windows/unix: Update to latest controller database. 2022-02-21 21:22:07 +01:00
seta-san
664013e7ad Qt: Fix type on graphics panel (#5553) 2022-02-21 19:10:14 +00:00
Connor McLaughlin
9d51c64d92 GS: Support mipmaps in hash cache 2022-02-21 16:50:57 +01:00
Connor McLaughlin
ee82c7834d GS: Auto-disable hash cache when it's too large 2022-02-21 16:50:57 +01:00
Connor McLaughlin
b389c6e103 GS: Only allocate valid page array when needed 2022-02-21 16:50:57 +01:00
Connor McLaughlin
b3a2d3c1e4 GS: Track hash cache memory usage 2022-02-21 16:50:57 +01:00
Connor McLaughlin
5d33af13ca GS: Add full (hash cache) texture preloading option 2022-02-21 16:50:57 +01:00
Connor McLaughlin
6b2a851dec GS/Vulkan: Fix uploading large (>64MB) textures 2022-02-21 16:50:57 +01:00
Connor McLaughlin
3b3072801c GS/OpenGL: Fix uploading large (>16MB) textures 2022-02-21 16:50:57 +01:00
Connor McLaughlin
9ed33d4337 GS/HW: Fix mipmap level not updating on live config change 2022-02-21 16:50:57 +01:00
Mrlinkwii
728b3eb5db Core: remove not needed logging 2022-02-21 10:46:29 +01:00
Connor McLaughlin
f73398ea84 GS/Vulkan: Fix warning when compiling RGBA8->RGB5A1 shader
Also gets rid of the program info log length check, since that's been
long removed in glslang.
2022-02-20 14:03:33 +00:00
lightningterror
2b646c2153 GS-hw: Disable dithering if blend mix is enabled.
It breaks stuff since we do a mix of hw/sw.
2022-02-20 02:31:03 +01:00
lightningterror
f83692c0df GS-ogl: Remove GL_ARB_get_texture_sub_image.
Not used.
Also remove some not used commented out defines.
2022-02-19 18:08:05 +01:00
lightningterror
b8236b1b1c GS-hw: Partially revert #5540
Allow to wrap on colclip.
For real tho, ideal solution is sw blend, doing any clamp/wrap is wrong on blend mix.
2022-02-19 00:38:13 +01:00
lightningterror
1a3d77b2c0 GS-hw: Fix d3d11 depth sample shader.
Also adjust some comments to match updated shader names.
2022-02-18 19:21:01 +01:00
lightningterror
816ee9e545 GS-hw: Prefer sw blend for clr_blend1_2 on ultra blending.
Opengl/Vulkan: Prefer sw blend over hw for clr_blend1_2 on ultra blending, doing hw is less accurate and will introduce rounding issues.

Direct3D11: Prefer sw blend over hw for clr_blend1_2 only when primitives don't overlap.
2022-02-18 19:06:49 +01:00
lightningterror
06766ddb98 GS-hw: Don't wrap on 16bit destination format for blend mix.
Helps Dog's Life blending, we shouldn't wrap as we do more blend math afterward which will be wrong if we wrapped before.
2022-02-18 19:00:54 +01:00
lightningterror
7151848406 GS-hw: Rename alpha_clamp to blend_mix. 2022-02-18 19:00:54 +01:00
Ziemas
45b5347092 SPU2: Don't cap pitch setting on register write.
While 0x3FFF is indeed the highest playable pitch I think that the
register is 16 bits wide and that the cap is enforced by the pitch
counter algorithm.

This fixes the air time ticking sound in Jak X.
2022-02-18 12:32:04 +00:00
Ty Lamontagne
5b6986c230 Core: Export recompiler offsets 2022-02-16 17:51:40 +00:00
Connor McLaughlin
de195d9b20 Qt: Add game summary and audio/memcard placeholders 2022-02-16 17:34:53 +01:00
Connor McLaughlin
b47552c08f Qt: Add per-game settings UI 2022-02-16 17:34:53 +01:00
Mrlinkwii
48dabd3ca2 QT: Add icon for Hk BIOS. 2022-02-15 20:54:27 +01:00
lockhart
91ac0368e3 GameDB: Add Ratchet & Clank demo and Spider-Man 3 Fixes + several new entries as well as the removal of the virtual-on Ontario program fixes.
This commit fixes several entries from the GameIndex, removes the clamping fixes from Virtual On ontario program which wasn't needed, adds several rounding fixes to Ratchet 1 titles to fix the Hydrodisplacer Behaviour and adds several entries as well.

For Ratchet 1, After having done tests on actual hardware,

the results shows that even real hardware will behave badly on the retail version....

However, the demo does indeed have an issue, so let's fix that.

Also, this fixes an oversight made for Spiderman 3 in the past, now the proper fix is applied.
2022-02-15 12:58:27 +00:00
Connor McLaughlin
dfe4bc199f GS/HW: Use integers for depth conversion shaders
Fixes z-fighting in reflections in DBZ BT3, maybe others?
2022-02-15 10:41:37 +01:00
PCSX2 Bot
1630404621 pad-windows/unix: Update to latest controller database. 2022-02-14 21:06:50 +01:00
Mrlinkwii
02c66491e8 Gamedb: add 'VUKickstartHack' to 'Jet Li - Rise to Honor' 2022-02-14 18:29:57 +00:00
refractionpcsx2
d4b1d9abe5 GS-hw: Increase 32->16bit conversion accuracy
Improves Dogs life (no longer goes completely black right away, but has decal problems)
Vastly improves texture quality in Spider-Man 3 when using Framebuffer Conversion to fix the textures
2022-02-14 14:50:21 +00:00
Ty Lamontagne
6ab77be8fc COP2: Move COP2 timing messages to release builds. 2022-02-14 01:52:44 +00:00
RedDevilus
6cf518e7df actions: Add windows category for SDL
Upcoming Qt will feature native support for multiple controllers + remapping for all relevant OSes. This makes the step a bit easier.

Rationale:
Windows has cleaner code (becoming just like OnePad) and no more DS4/DualSense/Switch Pro/... wrapper such as steam or DS4Windows (ryochan7) though will still work if you want it.
Linux will have OnePad legacy remapping.
Mac will have feature parity to some extent.
2022-02-14 01:50:57 +00:00
Mrlinkwii
8f1745bf44 Gamedb: add EETimingHack to 'Obscure 2' and patch to 'Snoopy Vs Red Baron' 2022-02-14 01:50:39 +00:00
lightningterror
38f1ae34ad GS-hw: Prefer sw blend when one barrier is already enabled and prims don't overlap.
More accurate, speed will be the same.
2022-02-13 14:11:51 +01:00
refractionpcsx2
ad415945a6 GS-hw: Apply clamp/wrap when FBMask enabled 2022-02-11 19:33:38 +01:00
Frank Hartung
a44fe29b8d CMake: add back HarfBuzz to fix build (#5510)
- pango relies on HarfBuzz & pulls in its headers
2022-02-10 17:56:19 -08:00
RedDevilus
c1d96fc876 CI: Label Qt into GUI/Qt
The label has recently been changed into GUI/Qt for more clarity that it touches upon a GUI toolkit just like WX. Also added the 3rdparty for the binary.
2022-02-10 21:04:28 +01:00
Florin9doi
65db50df5d Qt: Add icon for Cn BIOS. 2022-02-10 21:02:55 +01:00
Blackbird88
f009d6f9e7 GameDB: Add missing Gran Turismo demos 2022-02-09 10:56:25 +00:00
Mrlinkwii
ed8bd18dfb GameDB: disable mVUFlagHack for Maken Shao 2022-02-09 10:21:52 +00:00
PCSX2 Bot
af648334d1 pad-linux: Update to latest controller database. 2022-02-07 17:11:12 +01:00
987123879113
8f4ce02d05 GameDB: Update Bemani game titles and add new entries for Japanese DDR X and SuperNOVA2 2022-02-07 02:52:57 +00:00
C.W. Betts
9b7e87c043 Mark static functions in headers as static inline:
This quiets unused function warnings (-Wunused-function) which is on by default on Xcode.
2022-02-07 02:32:56 +00:00
C.W. Betts
cae8e6ae79 Change a couple of includes from angle brackets to quotes:
This makes Xcode happy, as it interprets angled brackets as system headers or headers inside of frameworks.
2022-02-07 02:32:56 +00:00
iMineLink
1a2272ad43 GS: partially revert "c1e5e45431863bc206686c49b8fb4fa2775be9a2".
overwrite the target pitch when an overlapping write is detected
with the write pitch itself.
fixes the broken splashscreen in This is Football 2002.
2022-02-07 02:17:19 +00:00
iMineLink
fede91a98b GS: update target pitch on frame lookup.
fix Jurassic Park - Operation Genesis loading disk logo.
2022-02-07 01:42:54 +00:00
Connor McLaughlin
7e8c6fcc9d Wx: Fix live vsync changes not applying 2022-02-07 01:42:40 +00:00
Connor McLaughlin
0ca3167595 Vulkan: Implement adaptive vsync (FIFO-relaxed) 2022-02-07 01:42:40 +00:00
Connor McLaughlin
c74cc9bc12 HostDisplay: Fix vsync getting lost on window changes 2022-02-07 01:42:40 +00:00
iMineLink
061fff6f17 cmake: copy resources in build folder. 2022-02-06 16:01:39 +00:00
lightningterror
2aaabdd2ea GS-hw: Cleanup crc stuff.
Merge the following crc lists, gets rid of duplication since code is shared:
BurnoutDominator, BurnoutRevenge, BurnoutTakedown ->BurnoutGames

GetaWay, GetaWayBlackMonday ->GetaWayGames

GT3, GT4, GTConcept, TouristTrophy ->PolyphonyDigitalGames

Yakuza, Yakuza2 -> YakuzaGames

ValkyrieProfile2, StarOcean3, RadiataStories -> TriAceGames

Rename defines Dx_and_OGL to CRC_Partial, Dx_only to CRC_Full, Aggressive to CRC_Aggressive
2022-02-06 16:21:30 +01:00
lightningterror
2f06ed2af8 GS-hw-tc: Remove JackieChanAdv crc hack.
Game seems to work fine currently.
2022-02-06 15:45:49 +01:00
Florin9doi
52252de3a6 GameDB: Add missing NTSC-J games (#5491)
Co-authored-by: Florin9doi <Florin9doi@users.noreply.github.com>
2022-02-06 13:58:09 +00:00
Florin9doi
ff725980c3 Game DB: Add missing PAL games to GameIndex Correct AFL Football serial
PR #5490
Co-authored-by: Florin9doi <Florin9doi@users.noreply.github.com>
2022-02-06 13:57:12 +00:00
lightningterror
d6d420b1f7 QT: Add missing Texture Inside RT option. 2022-02-06 13:17:28 +01:00
TellowKrinkle
977e8a4c54 GS:HW: Fix scale of color → 8 bit converted textures 2022-02-06 05:04:56 +00:00
iMineLink
b8188a7954 GS: remove bw equality check in tex in rt.
fixes jak mipmapping.
2022-02-06 04:53:09 +00:00
refractionpcsx2
8ac57db117 GS: Don't process CLUT load condition on invalid PSM 2022-02-05 15:13:48 +00:00
RedDevilus
5cc66e4d36 Qt: Resize Windows + Change Framerate Presets + Lower OSD time
The main window will now correctly display the full Toolbar. Interface Settings will not go out of bounds. The OSD message for cheats and patches has been changed and the overall timing of the static (not dynamic) OSD messages are now 5 seconds instead of 10 seconds which is pretty long. Tested on 1920 x 1080 + 2560 x 1080 on 125% and 150% DPI scaling.
2022-02-05 14:09:34 +00:00
Connor McLaughlin
d9d2022096 InputManager: Missing motor bindings are not errors 2022-02-05 14:09:11 +00:00
Connor McLaughlin
1ea38b1981 Qt: Fix current tab resetting when switching renderers 2022-02-05 14:09:11 +00:00
Connor McLaughlin
d63a36216f Qt: Fix default values for software mipmap/AA1 2022-02-05 14:09:11 +00:00
s-andro
9ac935ed94 CRC: Gran Turismo 4 [PlayStation 2 Racing Pack] 2022-02-05 09:01:41 +01:00
s-andro
02bb2b7477 GameDB: Gran Turismo 4 [PlayStation 2 Racing Pack] 2022-02-05 09:01:41 +01:00
TheLastRar
9cfce59547 DEV9: Check for null ifa_addr in PCAPGetIfAdapter 2022-02-05 00:51:50 +00:00
lightningterror
99f0d5c685 GS-hw: Properly enable/disable each channel based on fbmask, adjust fbmask detection when to do blending for 16bit/24bit.
Optimization.
2022-02-04 23:28:24 +01:00
lightningterror
f84cb1c9cc GS-hw: Optimize fbmask on 16bit format.
Set fbmask to 0 if unused bits are the ones enabling it, they aren't used anyway.
2022-02-04 19:27:08 +01:00
lightningterror
ae4733c59d GS-hw: Purge LordOfTheRingsThirdAge crc hack.
Shadows are now rendered correctly on all renderers.
2022-02-04 18:53:28 +01:00
Connor McLaughlin
2629c92a00 GS/Vulkan: Fix HDR resolve to cleared target
Fixes shadows in LOTR: Third Age.
2022-02-04 18:32:53 +01:00
Ty Lamontagne
4ccb922d1a Debugger: Make memory search size depend on platform 2022-02-04 16:52:27 +00:00
Ty Lamontagne
8113e9a168 Debugger: Fix memory search drawing and sizing
Now it should be sized a little better
A little funky on dpis greater than 100%
(sorry wx is not easy to work with)
2022-02-04 16:52:27 +00:00
Ty Lamontagne
a632f3c5cb Core: Lighten IOP breakpoint load
standardizeBreakpintAddress calls on the IOP just return the address unmodified. Considering this is called at least once every load / store instruction when there is an IOP OR EE memcheck enabled, it's pretty hot.
2022-02-04 16:52:27 +00:00
Tokman5
e64e2f2c4e Debugger: add register name pattern 2022-02-04 15:34:46 +00:00
RedDevilus
f6d49eb5b9 Qt: More sizing + improve hotkeys code
There were other sizing issues with region and CRC that are now have better width. Taking the liberty to organise the hotkeys as it is laid on the GUI-level + adding missing hotkeys. There is still much work to be done.
2022-02-04 02:26:01 +00:00
lightningterror
ee4f498a13 GS-hw: Re add alpha c check for clr_blend1_2.
Removed it by accident, nobody saw nothing.
2022-02-03 23:37:01 +01:00
lightningterror
3bdb1f8550 GS-hw: No PABE for hw clr_blend1_2 optimization.
Will require sw blend.
2022-02-03 23:34:59 +01:00
RedDevilus
971f060029 Qt: Fix type table sizing + spaces
Type table in the main window was not wide enough. Also adding spaces in some strings and removing some redundant spaces in others.
2022-02-03 15:22:08 +00:00
Connor McLaughlin
2684fd6b62 GS: Add depth copy convert shader 2022-02-03 15:20:35 +00:00
lightningterror
6085c5bf01 GS-hw: Enable Ad to As blend swap when it detects barrier(fbmask) on d3d11..
Allow to run it on basic level, fb is already read so there is no extra cost and is more accurate.
2022-02-03 10:16:16 +01:00
lightningterror
550f0d9936 GS-hw: Cleanup some stuff from clr3 blend. 2022-02-03 01:11:08 +01:00
lightningterror
9c00554118 GS-hw: Allow to run clr_blend1 and clr_blend2 over sw blending.
As or F case only, no Ad.

Allow condition to run when there are no texture barriers (gl/vk),
or copying the fb (d3d11).
Run when colclamp is 1 as hw blend will clamp value to 0-1.
Check for texture barriers, don't run if any is enabled.
2022-02-03 01:11:08 +01:00
lightningterror
ec7e8989a6 GS-hw: Move the sw blend for BLEND_C_CLR3 to High level and upper.
Reading the frame buffer is slow, let's allow hw blend to run, can partially handle it.
2022-02-03 01:11:08 +01:00
lightningterror
3ca4272230 GS-hw: Implement hw, hw/sw, sw blending on Ad when alpha write is masked.
Idea is to replace Ad with As when alpha write is masked,
then expand/let blend mix, accumulation blend non recursive blend or hw clr blend to
do the blending with Ad swapped as As.

We are doing this to try to bring some originally higher blending modes to lower levels
where we can do the draws with less texture barriers instead (gl/vk),
as for d3d11 this allows to run blending on the draws since previously the cases weren't handled properly,
it will be slower on d3d11 since we will be reading the frame buffer but it's better than nothing.

D3D11: It is enabled on Medium blending or higher, if draw is fbmask then it will enable
it on basic blending too.

OpenGL/Vulkan:
It is enabled based on the previous blending modes:
accumulation blend -> either minimum or basic level, depending on colclamp.
non recursive blend -> either minimum or basic level, depending on colclamp.
blend mix -> basic and higher level.
hw clr blend -> minimum and higher level.

All:
Prefer full sw blend when primitives don't overlap, sw fbmask or full barrier is used, it is more accurate.
2022-02-03 01:11:08 +01:00
lightningterror
ae14afd5f7 GS-hw: Combine BLEND_C_CLR2_AF and BLEND_C_CLR3_AS in one shader bit.
Free a shader bit.
2022-02-03 01:11:08 +01:00
RedDevilus
3d40b23496 GameDB: Beatmania entries
Adding missing entries so that Ziemas can be happy.
2022-02-02 23:52:59 +00:00
TellowKrinkle
88c0c41a70 CMake: Use relative paths for package mode
Allows relocating install prefix without recompiling
2022-02-02 17:09:48 -06:00
TellowKrinkle
176917caf4 CMake: Require gettext for translations on macOS
MacOS uses modified po files, which means it can't use the precompiled mos
2022-02-02 17:09:48 -06:00
TellowKrinkle
e2e8fdafb1 CMake: Make translation macro a function
Macros can set variables in the parent scope but we don't need that here
2022-02-02 17:09:48 -06:00
TellowKrinkle
aad8b09d81 CMake: Remove all argument option from translations macro
There's no reason you wouldn't want it
2022-02-02 17:09:48 -06:00
TellowKrinkle
90e3d9e460 CMake: Move translation file processing to main pcsx2 directory
Reduces workarounds for cmake dumbness
2022-02-02 17:09:48 -06:00
TellowKrinkle
baf9e4a9af CMake: Properly use MACOSX_PACKAGE_LOCATION for translations on macOS
Translations are now properly tracked by CMake and will be regenerated if you delete them
2022-02-02 17:09:48 -06:00
TellowKrinkle
1b453d0436 GUI: Move translations to resources directory
Also fixes finding translations in package mode builds
2022-02-02 17:09:48 -06:00
TellowKrinkle
49b1a496b1 GS: Fix OSD scaling on hidpi displays 2022-02-02 16:29:19 -06:00
TellowKrinkle
50afd83bc6 GUI: Fix scale factor on macOS 2022-02-02 16:29:19 -06:00
TellowKrinkle
85934dcbe2 GS: Track DPI change events 2022-02-02 16:29:19 -06:00
Connor McLaughlin
095ff20e2b GS/DX11: Fix binding depth as tex + fbmask 2022-02-02 20:05:54 +01:00
Connor McLaughlin
3a91ed2571 Vulkan/Context: Remove unused memory type functions
VulkanMemoryAllocator takes care of this.
2022-02-02 17:39:53 +00:00
Connor McLaughlin
20c534fc46 Vulkan/Context: Fix incorrect app name/version 2022-02-02 17:39:53 +00:00
Connor McLaughlin
0c0bd8be98 GS/Vulkan: Use fence counter for upload cmdbuffer selection
Readbacks don't increment the frame number, but submit the cmdbuffer.

Fixes incorrectly rendered status bar in Devil May Cry.
2022-02-02 17:39:53 +00:00
RedDevilus
ead6f9f4cd CI: Automatically label Qt
This will label PRs that touches on Qt-related files.
2022-02-02 17:33:41 +00:00
Connor McLaughlin
2328d9e107 ImGui/Vulkan: Don't leak font image/memory on reupload 2022-02-02 11:50:34 +00:00
Connor McLaughlin
87aa8333a8 ImGuiManager: Fix double init of font texture 2022-02-02 11:50:34 +00:00
Connor McLaughlin
f1de985304 GS: Reset/restore API state when changing OSD scale
Closes https://github.com/PCSX2/pcsx2/issues/5451
2022-02-02 11:50:34 +00:00
TellowKrinkle
5d3cbf8d1a GS: ReadAndExpandBlock4H_32 improvements 2022-02-02 09:34:30 +00:00
TellowKrinkle
c24ed8d47b GS: Use smartblend on WriteColumn32 2022-02-02 09:34:30 +00:00
TellowKrinkle
cbf4a83b3f GS: Minor Zen optimizations 2022-02-02 09:34:30 +00:00
TellowKrinkle
a6887715c7 GS: Faster palette lookup for AVX2 platforms with slow VPGATHERDD 2022-02-02 09:34:30 +00:00
TellowKrinkle
e2169bc1da GS: Consolidate repeated BlockH code 2022-02-02 09:34:30 +00:00
TellowKrinkle
89f3b46a9e GS: AVX2 ReadBlock4P 2022-02-02 09:34:30 +00:00
TellowKrinkle
d64e838b6d GS: AVX2 WriteBlock functions 2022-02-02 09:34:30 +00:00
TellowKrinkle
263e495561 GS: Make xmm → ymm zext/sext functions take GSVector4i
Removes the need for casts everywhere
Also renames them to remove the `c`, the fact that they take a GSVector4i should make it clear
2022-02-02 09:34:30 +00:00
TellowKrinkle
127433628d GS: AVX2 ReadAndExpandBlock4(HH|HL)_32 2022-02-02 09:34:30 +00:00
TellowKrinkle
29e8da0944 GS: pshufb-based ReadAndExpandBlock4(HH|HL)_32 2022-02-02 09:34:30 +00:00
TellowKrinkle
a2992c86e6 GS: AVX2 ReadAndExpandBlock8[H]_32 2022-02-02 09:34:30 +00:00
TellowKrinkle
1cc796b1a7 GS: AVX2 ReadAndExpandBlock4_32 2022-02-02 09:34:30 +00:00
TellowKrinkle
679cc7af38 GS: pshufb-based ReadAndExpandBlock4_32 2022-02-02 09:34:30 +00:00
TellowKrinkle
c4b3239e33 GS: Improved ReadColumn4 2022-02-02 09:34:30 +00:00
TellowKrinkle
4139da82b9 GS: Remove special casing alignment on AVX+
Extra code, unneeded as AVX+ has fast unaligned loads
2022-02-02 09:34:30 +00:00
TellowKrinkle
bdc7dc2cd8 GS: ReadColumn8 AVX2 path 2022-02-02 09:34:30 +00:00
TellowKrinkle
244a4da28a GS: ReadBlock16 performance improvements 2022-02-02 09:34:30 +00:00
TellowKrinkle
e7e0dbd29a GS: Drop SSE3 ReadColumn16
It was no faster than the SSE2 one and requires loading an extra shuffle vector
2022-02-02 09:34:30 +00:00
TellowKrinkle
1f6b2e629b GS: Use broadcast loads on AVX2
Broadcast loads are free on AVX2 processors, might as well use them
2022-02-02 09:34:30 +00:00
Connor McLaughlin
793ba944d6 GS/Vulkan: Prefer coherent for upload and cached for download buffers 2022-02-02 00:30:56 +00:00
Connor McLaughlin
438480517b GS/Vulkan: Prevent GS state overriding present viewport/scissor 2022-02-02 00:30:56 +00:00
Connor McLaughlin
e3b4d13c47 HostDisplay: Remove levels/layers from HostDisplayTexture
Wasn't implemented for updates, and we're not going to use it any time
soon.
2022-02-02 00:30:56 +00:00
Connor McLaughlin
3caebb31ae Qt: Add save state loading/loaded/saved events 2022-02-02 00:23:49 +00:00
Connor McLaughlin
8b9eee4961 Qt: Add QtUtils::StringViewToQString() 2022-02-02 00:23:49 +00:00
Mrlinkwii
280f5adb22 Readme: add note about Vulkan drivers 2022-02-02 00:22:06 +00:00
iMineLink
16cfcad0bf GS: fully support target rescaling in TC, take 2. 2022-02-02 00:21:48 +00:00
Tyler Wilding
51431d22ba memcard: fix YAML emitting bugs 2022-02-02 00:21:07 +00:00
Tyler Wilding
ef3bc9202b memcard: don't fail on bad yaml, but this isn't the underlying issue... 2022-02-02 00:21:07 +00:00
refractionpcsx2
cdae169922 GS: Add Point Pallete SW Render for 120-en no Haru
Fixes #5211
2022-02-02 00:14:41 +00:00
RedDevilus
c45a7a2ef6 GameDB: Urban Reign
EE cyclerate +1 will fix the issue but a compromise on default is to enable EE-Timing-hack. Ee cyclerate +1 can be combined with or without EETiming.
2022-02-01 23:02:58 +00:00
Mrlinkwii
ddf16b71c2 GameDB: add eerounding to 'Neopets - The Darkest Faerie' 2022-02-01 22:59:00 +00:00
Connor McLaughlin
d29f843525 GS/HW: Don't disable depth testing for channel shuffle
Mercenaries needs it. But we can skip it when z testing is off.
2022-02-01 12:40:40 +01:00
Connor McLaughlin
8ce8ac4404 GS/Vulkan: Handle case where DS == Texture
Technically we can handle this as another feedback loop, but in my
opinion it's not worth it, since there's only two games I've seen which
do this - Ico and Mercenaries.
2022-02-01 12:40:40 +01:00
TellowKrinkle
b55e59e665 GS: Fix region repeat bounds checking for zero crossings 2022-02-01 02:58:09 -06:00
TellowKrinkle
598a3b5d7b GS:HW: Avoid REGION_REPEAT when possible
We don't support upscaling for it right now
2022-02-01 01:24:35 +00:00
TellowKrinkle
8c16e3231e GS:HW: Add a few clamp mode optimizations 2022-02-01 01:24:35 +00:00
TellowKrinkle
eca5eced63 GS:HW: Handle coordinate wrapping on target-sized sources 2022-02-01 01:24:35 +00:00
TellowKrinkle
e87d8da1fb GS:TC: Track whether or not textures use their clamp modes 2022-02-01 01:24:35 +00:00
TellowKrinkle
f5fba1cbd1 GS: Add BitScanReverse polyfill 2022-02-01 01:24:35 +00:00
TellowKrinkle
06b4c3faab GS: Fix minmax of REGION_REPEAT 2022-02-01 01:24:35 +00:00
TellowKrinkle
6d0b9b3747 GS:HW: Don't scale rt when converting to texture
Scale texture coordinates instead
2022-02-01 01:24:35 +00:00
TellowKrinkle
92f2cef4d1 GS:HW: Default rt size to 0 2022-02-01 01:24:35 +00:00
lightningterror
5fdfbd470b Revert GS-hw: Exclude triangles from no prim overlap fb read on dx11.
Issue fixed in #5422
2022-01-31 19:13:45 +01:00
Connor McLaughlin
75b5f70196 CI: Build Qt binaries 2022-01-31 16:46:23 +00:00
PCSX2 Bot
b68be77865 pad-linux: Update to latest controller database. 2022-01-31 17:11:37 +01:00
refractionpcsx2
105aab0345 QT-SDL: Fix SDL Input compilation 2022-01-31 14:29:03 +00:00
Connor McLaughlin
9c3270a2de InputManager/SDL: Drop version checks
They're not needed since we're always using the latest SDL.
2022-01-31 14:21:38 +00:00
Connor McLaughlin
5c33e9666a Qt: Enable SDL2 input source for Qt 2022-01-31 14:21:38 +00:00
Connor McLaughlin
aeb9403b67 3rdparty: Add SDL2 2022-01-31 14:21:38 +00:00
Connor McLaughlin
50735567c9 Qt: Fix crash when disconnecting controller which isn't last in list 2022-01-31 13:56:28 +00:00
Connor McLaughlin
0e83c992c3 InputManager/XInput: Fix inverted/incorrect axes 2022-01-31 13:56:28 +00:00
Connor McLaughlin
dac7106df8 Qt: Make input binding dialog match widget 2022-01-31 13:56:28 +00:00
refractionpcsx2
11b467e455 QT: Remove 32bit build targets (which don't exist)
Use a separate environment varible for our QT folder to save conflicts
2022-01-31 12:40:25 +00:00
TellowKrinkle
7cc2437ef7 Core: Enable GS Debugger with DevMode flag 2022-01-31 12:54:57 +01:00
TellowKrinkle
8d4ffc0713 GSDumpGUI: Add framelimiter 2022-01-31 12:54:57 +01:00
TellowKrinkle
5ec5fb17ca GSDumpGUI: .gs.xz support 2022-01-31 12:54:57 +01:00
TellowKrinkle
234d643dd3 GSDumpGUI: Parse all the packets in a transfer 2022-01-31 12:54:57 +01:00
TellowKrinkle
7288a1fcb2 GSDumpGUI: Don't expand everything by default 2022-01-31 12:54:57 +01:00
TellowKrinkle
b8b23cd359 GSDumpGUI: Show packet data in main entry 2022-01-31 12:54:57 +01:00
TellowKrinkle
c05eaa9382 GSDumpGUI: Make window resizable 2022-01-31 12:54:57 +01:00
TellowKrinkle
6d14bda7b0 GSDumpGUI: Format floats with %g 2022-01-31 12:54:57 +01:00
TellowKrinkle
e2fd951ff3 GSDumpGUI: Cleanup 2022-01-31 12:54:57 +01:00
Mrlinkwii
bf598d5fe9 GameDB: add 'EETimingHack' to 'Indiana Jones and the Emperor's Tomb' 2022-01-31 10:42:55 +00:00
iMineLink
32f420dbe5 GS: fix overlap check in hw tc.
Textures can span a single block indeed.
Fixes Jak 3 desert rendering.
2022-01-31 09:39:54 +00:00
TellowKrinkle
6d0e35ddcb CMake: Prevent people from doing in-tree builds
Can create weird messes with include directories
2022-01-30 20:07:34 -06:00
dependabot[bot]
f9f4557841 Bump node-fetch in /.github/workflows/scripts/releases/announce-release
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.5 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.5...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-30 19:06:25 +01:00
dependabot[bot]
d441cdba71 Bump node-fetch
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.5 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.5...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-30 19:06:11 +01:00
dependabot[bot]
9f24fb618f Bump node-fetch
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.5 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.5...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-30 19:05:39 +01:00
refractionpcsx2
9d43641765 Build-QT: Fix error in VS Project 2022-01-30 15:27:20 +00:00
Connor McLaughlin
93f9ae8a31 Qt: Add work in progress interface 2022-01-30 14:29:18 +00:00
Connor McLaughlin
c2ca0852d9 Build: Add pcsx2core variant for Qt 2022-01-30 14:29:18 +00:00
Connor McLaughlin
8bedfc257f Common: Don't define __i386__ on Windows
It breaks Qt.
2022-01-30 14:29:18 +00:00
Connor McLaughlin
b709810079 PAD/Host: Add default settings 2022-01-30 14:29:18 +00:00
Connor McLaughlin
d4721d50f7 VMManager: Permit setting reload without active VM 2022-01-30 14:29:18 +00:00
Connor McLaughlin
14b54e554e InputManager: Add device/motor enumeration, connect callbacks 2022-01-30 14:29:18 +00:00
Connor McLaughlin
7555091d56 InputManager: Add UpdateSettings() to sources 2022-01-30 14:29:18 +00:00
Connor McLaughlin
dbc176fe25 GS/DX11: Don't bind 16 SRVs every draw
That's just silly.
2022-01-30 14:17:12 +00:00
Connor McLaughlin
0a45385d48 GS/DX11: Only copy draw area when sampling RT/depth
Should save a decent chunk of VRAM bandwidth outside of channel
shuffles.
2022-01-30 14:17:12 +00:00
Connor McLaughlin
f33ee27f56 GS: Get rid of extra binding for channel shuffle
Having this binding was redundant, as there's no "normal" texture
sampled when we're doing a channel shuffle, and it caused issues in
Vulkan when the render target or depth buffer the source.

Also fixes the Urban Chaos HLE shader.

Fixes validation errors in GT4, NFS: Carbon, Urban Chaos, probably
others too.
2022-01-30 14:17:12 +00:00
tellowkrinkle
5444b575f3 GS: Prefer one-frame-old textures 2022-01-28 18:17:31 -06:00
iMineLink
6361cd8268 GS: add TextureInsideRt flag to selected games. 2022-01-29 00:03:10 +00:00
iMineLink
0055fcf489 GS: add tex in rt hw hack in GUI. 2022-01-29 00:03:10 +00:00
iMineLink
b7899d0c8c GS-hw, TC: search tex in wrapping RT.
Improves Beyond Good & Evil shadow.
2022-01-29 00:03:10 +00:00
iMineLink
c1e5e45431 GS-hw, TC: search tex in rt in dirty targets.
Also move any target BW update from InvalidateVideoMem to LookupTarget.
Fixes Indiana Jones map rendering in cutscenes.
2022-01-29 00:03:10 +00:00
iMineLink
44d0966892 GS: improve GSDirtyRect psm conv., add bw field. 2022-01-29 00:03:10 +00:00
iMineLink
be0932f538 GS-hw, TC: add some const modifiers. 2022-01-29 00:03:10 +00:00
iMineLink
6cfa740f90 GS-hw: reset RT size on reset. 2022-01-29 00:03:10 +00:00
iMineLink
1bd8ec786b GS-hw, TC: log InvalidateLocalMem calls. 2022-01-29 00:03:10 +00:00
iMineLink
9a276d7289 GS-hw, TC: invalidate targets from LRU to MRU. 2022-01-29 00:03:10 +00:00
iMineLink
ac63d41daf GS-hw: lookup source before target.
- this avoids the currently used target to
become the MRU in its cache and correctly keeps
the target used by the previous draw as the MRU
during the lookup source call.
2022-01-29 00:03:10 +00:00
iMineLink
bd0a8a642b GS-hw, TC: log LookupSource calls. 2022-01-29 00:03:10 +00:00
iMineLink
3e9b38044f GS-hw, TC: improve tex in rt. 2022-01-29 00:03:10 +00:00
lightningterror
d8ca9b5f39 GS-hw: Replace depth +bilinear assert with log, also do some cost, fix some logs.
Assert was annoying when debugging, being hit too often.
2022-01-27 19:57:29 +01:00
lightningterror
e9f8e5eebd GS-hw: Properly disable skipdraw when userhacks are disabled. 2022-01-27 18:55:46 +01:00
lightningterror
bf2613ee49 GS-hw: Adjust how clr_blend is handled based on blend level on d3d11.
Blend level High and lower: Prefer clr_blend.
Blend level Full, prefer clr_blend when ALPHA.C != 1, otherwise sw when primitives don't overlap.
Blend level Ultra, remains the same but we can probably prefer clr_blend when alpha again is As or F, let's play it safe and leave it as it is for now.
2022-01-27 12:09:35 +01:00
lightningterror
3b691da8d1 GS-hw: Implement alternative hw blending for Cs*Ad, Cs*Ad + Cd, Cd - Cs*Ad.
Alpha destination value is wrong so let us try to compensate.

Multiply Cs by (255/128) in shader.
Will work best if Cs is 0.5 or less,  if it's higher than 0.5 then the closer to 1 the less accurate it gets.

Ofc it is best to use sw blending but it will help if sw blending is not present/selected for specific draw, will help d3d11 quite more.
2022-01-27 12:09:35 +01:00
Ty Lamontagne
4955a4ef98 GS-wx: Add extra check for shader options when VK is selected 2022-01-27 08:46:48 +01:00
lightningterror
ca55d86187 GS-hw: Exclude triangles from no prim overlap fb read on dx11.
Fixes mgs3 regression on ultra blending.
2022-01-25 21:34:35 +01:00
refractionpcsx2
5974856924 GS: Adjust auto interlace mode with scanmask(frame) 2022-01-25 00:18:01 +00:00
Mrlinkwii
bdb7c65ab0 Gamedb: remove EETimingHack from 'Paris-Dakar 2' 2022-01-24 21:19:03 +00:00
Florin9doi
45ba8690a9 USB: CaptureEye/OV511p webcam emulation 2022-01-24 21:06:03 +00:00
refractionpcsx2
7054190832 Revert "GS: fully support target rescaling in TC."
This reverts commit 2a2564cf45.
2022-01-24 21:02:10 +00:00
PCSX2 Bot
dbd997b551 pad-linux: Update to latest controller database. 2022-01-24 17:45:11 +01:00
refractionpcsx2
369bda13f8 GS: Only autoflush on draws of same format
Move overlap check to State
2022-01-24 12:00:37 +00:00
lightningterror
c9216e5625 GS-hw: Remove useless shader line from CLR As/Af case. 2022-01-24 11:42:54 +01:00
lightningterror
93af9656d0 GS-hw: Fix clr 1 case shader.
Forgot to rename.
2022-01-24 11:11:38 +01:00
refractionpcsx2
bcade5bb9d mVU: Clean up branch chain handling 2022-01-23 20:31:08 +00:00
refractionpcsx2
59ab303c5c mVU: Rework multiple branch chaining 2022-01-23 20:31:08 +00:00
lightningterror
4ab9d1a493 GS-hw: Implement alternative hw blending for Cd*As, Cd*F.
Do hw blend for Cd*As, Cd*F, expand the clear color blend method as it is almost the same.

Most helpful for dx11 ofc, for gl/vulkan will help with rendering on lower
levels of blending without needing a barrier.
2022-01-23 20:59:35 +01:00
refractionpcsx2
f1576eeb32 GameDB: Patch for Midnight Club 2 T-Bit 2022-01-23 18:35:30 +00:00
iMineLink
1f851887d9 GS: fix Majokko A-La-Mode 2 palette rendering. 2022-01-23 17:56:46 +00:00
iMineLink
2a2564cf45 GS: fully support target rescaling in TC.
Also avoid redundant clears when the target
is going to be completely drawn when rescaling.
2022-01-23 17:56:46 +00:00
Connor McLaughlin
b5a78763f8 GameList: Add game list and scanner functions 2022-01-23 17:15:48 +00:00
Connor McLaughlin
728e1ffdd0 VMManager: Introduce new manager functions
VMManager takes the place of all the core thread stuff for Qt.
2022-01-23 17:15:48 +00:00
Connor McLaughlin
14c9cfb310 InputManager: Add InputManager implementation 2022-01-23 17:15:48 +00:00
Connor McLaughlin
b511a54445 MemoryCardFile: Add routine to enumerate cards 2022-01-23 17:15:48 +00:00
Connor McLaughlin
f446e5ad3d SaveState: Save screenshot in state archive 2022-01-23 17:15:48 +00:00
Connor McLaughlin
c263c12448 HostDisplay: Add GetDriverInfo() 2022-01-23 17:15:48 +00:00
Connor McLaughlin
ed9b6f0d3f Vulkan/Context: Get driver properties 2022-01-23 17:15:48 +00:00
Connor McLaughlin
d3152bee9c GS: Add heuristic-based internal FPS 2022-01-23 17:15:48 +00:00
Connor McLaughlin
a504b429bd GS: Use global upscale multiplier 2022-01-23 17:15:48 +00:00
refractionpcsx2
7b6db5ad7a IPU DMA: If no underflow occurs on QWC = 0, end DMA.
Explanation in changes
2022-01-23 15:52:02 +00:00
Connor McLaughlin
398f675412 GS/Vulkan: Add image format check to features 2022-01-23 15:51:37 +00:00
Connor McLaughlin
d18bf338b6 Host: Fix ReportFormattedErrorAsync() 2022-01-23 15:51:37 +00:00
Connor McLaughlin
3091d28615 GS: Release host display if GS init fails
That way we don't try to create it when it already exists next attempt.
2022-01-23 15:51:37 +00:00
lightningterror
ab2365b475 GS-hw: Disable BLEND CD when full barrier is already enabled. 2022-01-22 23:59:02 +01:00
refractionpcsx2
7d356a2d20 GS: Force Blend TFF when scanmsk is used on the frame 2022-01-22 22:03:14 +00:00
refractionpcsx2
e5a4f27e79 VU: Adjust path for conditional evil blocks
Add patch for Pac-man World Rally
2022-01-22 21:43:45 +00:00
TellowKrinkle
9cbcda0f7b GS: Fix alpha blend mode clamping 2022-01-22 19:40:20 +01:00
Mrlinkwii
93b2cd6002 GameDB: add fixes for Simple Series vol.7 and other games 2022-01-22 17:06:18 +00:00
Mrlinkwii
411ed1e0c7 GameDB: add 'SkipMPEGHack' to "David Beckham Soccer" 2022-01-22 15:12:17 +00:00
TheLastRar
e5c4fe003b Build: Use git tag for file version on windows, attempt 2 2022-01-21 23:41:07 +00:00
TellowKrinkle
d6293ab081 Revert "Build: Use git tag for file version on windows"
This reverts commit 7f2a9f6806.
2022-01-20 23:17:43 -06:00
TheLastRar
38a5431ceb Build: Update file copyright to 2022
Also update the copyright year of SysForwardDefs.h
2022-01-20 22:52:09 +00:00
TheLastRar
7f2a9f6806 Build: Use git tag for file version on windows 2022-01-20 22:52:09 +00:00
lightningterror
6ab69e5c1c GS-hw: dbg: Fix blend debug logs. 2022-01-20 21:36:16 +01:00
lightningterror
cd902a12b3 GS-hw: Always enable full sw blend on full barrier, disable accumulation mode (hw/sw blend).
Full barrier requires full sw blend, disable accumulation mode for it (sw fbmask, date_barrier).
2022-01-20 21:02:25 +01:00
lightningterror
72809e8724 GS-hw: Purge TenchuFS, TenchuWoH crc hacks.
d3d11 will require high blending to render properly.
2022-01-20 21:02:25 +01:00
lightningterror
610cad00bf GS-hw: Move fbmask for texture shuffle on Basic level.
Shouldn't be that slow, right?
Also update comments.

Previous High level is now Medium.
2022-01-20 21:02:25 +01:00
lightningterror
4f5bbebcd8 GS-hw: Move blend mix condition to blend switch case.
Cleaner.
2022-01-20 21:02:25 +01:00
lightningterror
33f88039d7 GS-hw: Disable accumulation blend when there is fbmask with no overlap.
Using a mix of hw/sw will be slower, so let's just do full sw blend, we already read the fb.
2022-01-20 21:02:25 +01:00
lightningterror
2cf6b5052d GS-hw: Enable sw blend when prims don't overlap on basic blend with fbmask.
FBMASK already reads the fb so let's allow it to run sw blending since there will be no cost, only if fbmask is already running.
2022-01-20 21:02:25 +01:00
lightningterror
8cb680f34e GS-hw: Remove fbmask check for Genji.
Fb will be read when primitives don't overlap, no need for the mask check now.
2022-01-20 21:02:25 +01:00
lightningterror
f089ef3fbe GS-hw: Allow to sample the framebuffer when primitives don't overlap on d3d11.
All: check when prims don't overlap.

High: When there is no blend mix, accu blend, recursive.

Full: When there is no accu blend, or recursive.
alpha is higher than 1.

Ultra: When there is no accu blend or recursive blend.

Allow to check for overlap on d3d11.
Support sw colclip when prims don't overlap on d3d11.
Support sw pabe when prims don't overlap on d3d11.
2022-01-20 21:02:25 +01:00
lightningterror
e1d2d4b863 GS-hw: Fix interaction with hdr and sw colclip on PABE.
PABE will do full sw blend so we need to disable hdr and enable sw colclip instead.
2022-01-20 08:10:29 +01:00
lightningterror
d0b34dc04c GS-hw: Implement BLEND CD.
Allow hw blend only to do the math, output will be Cd, no need to run costly barriers, will help Vulkan/Opengl.

Disable colclip on BLEND CD as there is no wrapping, will help all renderers, especially on hdr cases.
2022-01-20 08:10:29 +01:00
refractionpcsx2
6a8cffe615 GameDB: Correct Kessen 2 Korean patch 2022-01-19 18:00:40 +00:00
Connor McLaughlin
d08101a5f4 GS/Vulkan: Fix combining DATE/barriers with HDR 2022-01-19 14:40:42 +01:00
Connor McLaughlin
7b6a26367a R5900: Use unsigned ops for add/sub 2022-01-17 20:08:11 +01:00
Connor McLaughlin
08ecf3f582 iR5900: Use unsigned math for constant prop of add/sub
Signed overflow is undefined.
2022-01-17 20:08:11 +01:00
arcum42@gmail.com
8d38e97c0b PAD: Clean up the remains of the old logging code from when this was Onepad. 2022-01-17 20:03:23 +01:00
iMineLink
4c167cf528 GS: remove redundant clears from tc. 2022-01-17 20:02:16 +01:00
iMineLink
7d27b675d0 GS: sparse targets need to be cleared on fetch. 2022-01-17 20:02:16 +01:00
PCSX2 Bot
0ef7e82548 pad-linux: Update to latest controller database. 2022-01-17 19:34:44 +01:00
iMineLink
8db0b52821 GS: optimize xxHash usage in palette hashing. 2022-01-16 11:54:58 +00:00
Connor McLaughlin
364199916f GS: Hash local memory blocks instead of expanded textures 2022-01-16 11:54:28 +00:00
iMineLink
42066ecaba GS: use xxHash to hash palettes. 2022-01-16 03:28:28 +00:00
Connor McLaughlin
986b5a2afe GS/DX11: Use shader cache 2022-01-16 03:17:04 +00:00
Connor McLaughlin
921689aa04 Common: Add D3D11 shader cache/compiler classes 2022-01-16 03:17:04 +00:00
TellowKrinkle
283dcaffe2 GS: Support wrapping off-the-end offsets in GSOffset 2022-01-16 02:00:53 +00:00
Christian Kenny
074ffacf9d GS: Don't apply offset when using SLBG. Fixes The Suffering video monitors 2022-01-15 23:19:55 +00:00
Silent
f1d3177b69 GUI: Make aspect ratio/frame limiter OSD messages keyed
Keyed messages don't pile up so spamming turbo/frame limiter
keys will not generate multiple messages now.
2022-01-15 13:51:54 +01:00
Mrlinkwii
fa50e9dd20 GameDB: add VUKickstartHack to Ghosthunter 2022-01-15 12:12:14 +00:00
icup321
d4de43a062 GameDB: Add eeRoundMode to Teen Titans & Scaler and fixes to other games (#5338) 2022-01-14 22:13:06 +00:00
TellowKrinkle
af795985fc GS:SW: Allow up to 32 threads without breaking 2022-01-14 19:24:51 +01:00
TellowKrinkle
610b19d646 GS:SW: Fix crash when scanline count wasn't divisible by thread count 2022-01-14 19:24:51 +01:00
arcum42
95c8915d78 Fix several gcc warnings. (#5232) 2022-01-13 12:19:23 -08:00
Mrlinkwii
6bdfec743c GameDB: add EETiming to 'Kya: Dark Lineage' 2022-01-13 11:40:24 +00:00
refractionpcsx2
e270c46703 GIF: Separate GIF Reset and GIF DMA Reset
The two shouldn't be reset together anyway, the GIF has no control over the DMA.
2022-01-13 09:53:11 +00:00
Mrlinkwii
0c0a866481 GameDB: add serials from #4535
Co-Authored-By: icup321 <28464642+icup321@users.noreply.github.com>
2022-01-13 09:52:36 +00:00
Mrlinkwii
28ca0aed48 GameDB: add patch to MX Unleashed Migrated
Co-Authored-By: icup321 <28464642+icup321@users.noreply.github.com>
2022-01-13 09:52:36 +00:00
lightningterror
ca9ab100e5 GS-hw: Add crc ids for Ape Escape 2.
Sp, De, It, Fr versions.
2022-01-13 03:32:33 +01:00
icup321
73732bfb29 GS-hw: Add/remove crc ids.
Add CRCs for (almost) all versions of R&C, WOC, & J&D.
Remove all non-retail crc versions.
Re-add Crash 4 version CRC, it's retail actually.

Original PR #4535

Close #4535
2022-01-13 03:17:24 +01:00
refractionpcsx2
048e7f4c1b GUI: Convert Power plan name to UTF-8 2022-01-12 18:45:47 +00:00
lightningterror
d041df8254 GS-hw: Don't enable blending when only alpha is written.
Optimization.
2022-01-12 18:15:50 +01:00
lightningterror
8e8b9a3cff GS-wx: Add tooltip for Preload Textures. 2022-01-11 15:11:43 +01:00
lightningterror
b7b65d7361 GS: Fix tooltips, d3d11 blend, add vulkan in tooltips. 2022-01-11 15:11:43 +01:00
lightningterror
6263c8a0cd GS-wx: Fix d3d11 blend option, broke during Vulkan merge.
Merge the option with GL/VK.
2022-01-11 15:11:43 +01:00
lightningterror
3c92054a6e GS-hw: Move PABE shader bit to the top of sw blending.
Early return when there is no sw blending, no need to run the blend code.
Optimization.
2022-01-11 13:15:56 +01:00
Connor McLaughlin
cf2b6a895f GS/DX11: Get rid of local context reference in GSTexture11 2022-01-11 12:30:11 +01:00
Connor McLaughlin
5bdb34521d GS/HW: Add a field for LOD clamp to sampler
This way SampleLevel for manual LOD doesn't get clamped.
2022-01-11 12:30:11 +01:00
Connor McLaughlin
e1e83c11cc GS: Compute mipmap levels in base device
Also fixes the incorrect number of levels.
2022-01-11 12:30:11 +01:00
Connor McLaughlin
0f5b17de0f GS/DX11: Implement automatic/manual LOD in pixel shader 2022-01-11 12:30:11 +01:00
Connor McLaughlin
568d9a3e30 GS/HW: Correct min lod/minification filter for mipmaps 2022-01-11 12:30:11 +01:00
Connor McLaughlin
1518b793dc GS/DX11: Fix mipmap textures and support trilinear 2022-01-11 12:30:11 +01:00
Connor McLaughlin
6182b46033 GSState: Minimum texture size is 1x1, not 2x2
Fixes out of bounds uploads when full mipmapping is enabled.
2022-01-11 12:30:11 +01:00
refractionpcsx2
4194553450 CDVD: Centralise cdvd.Ready updates + add MECHA_INIT bit 2022-01-10 22:57:09 +00:00
PCSX2 Bot
5f5a696717 pad-linux: Update to latest controller database. 2022-01-10 20:42:54 +01:00
lightningterror
35d516e140 GS: Fix GetRecommendedCRCHackLevel for Vulkan.
Issue #5312
2022-01-10 20:42:06 +01:00
refractionpcsx2
fb5e5cc13f CDVD: Don't delay abort commands on DVDs, at least for now..
Fixes #5301
2022-01-10 11:28:10 +00:00
lightningterror
aa475a8d2e GS-hw: Rename DATE_GL42 DATE_GL45.
DATE_GL42 -> DATE_PRIMID
DATE_GL45 -> DATE_BARRIER
2022-01-09 17:54:13 +01:00
Mrlinkwii
fa5c023d33 GameDB: add game fix to Cocoto Funfair 2022-01-09 16:08:58 +00:00
Connor McLaughlin
22d8e6f79f GS/SW: Use target instead of texture for upload 2022-01-09 16:35:34 +01:00
Connor McLaughlin
126ae4a0f0 GS/Vulkan: Handle uploads to render targets 2022-01-09 16:35:34 +01:00
Connor McLaughlin
68f18245a7 GS/DX11: Implement merge feedback write 2022-01-09 16:35:34 +01:00
Mrlinkwii
e2e25b7134 GameDB: fix some entries 2022-01-09 15:35:08 +00:00
Mrlinkwii
32088647c3 GameDB: add some missing serials 2022-01-09 13:27:06 +00:00
Mrlinkwii
baf8df9597 GameDB: add patches to Koukaku Kidoutai and fixes for other games 2022-01-09 13:25:16 +00:00
lightningterror
34aa266260 vcxproj: Add vulkan shaders and group shaders in renderer category. 2022-01-08 18:22:40 +01:00
refractionpcsx2
8c887c2eee CDVD: Adjust error timing and modify error used for high sector. 2022-01-08 17:07:43 +00:00
lightningterror
a95250cabb GS-hw: Purge WildArms4 and WildArms5 crc hacks.
Issue got resolved before 1.6 release.
2022-01-08 09:27:27 +01:00
lightningterror
96bc6807ae github: auto labeler: Add GS Vulkan label. 2022-01-08 08:35:02 +01:00
Connor McLaughlin
81a139b875 Vulkan: Force textures to be allocated in device local memory 2022-01-08 05:19:45 +00:00
Connor McLaughlin
1a3c20f0f7 Vulkan: Use memory budget extension where available 2022-01-08 05:19:45 +00:00
Connor McLaughlin
4f735d0201 GS: Prevent out of bounds copy for half_right TC target copies 2022-01-08 05:19:45 +00:00
Connor McLaughlin
ec0543335e GS: Fine gained change detection for mips/trifilter/anisotropy 2022-01-08 05:19:45 +00:00
Connor McLaughlin
0872d024f9 GSDevice: Add ClearSamplerCache() method 2022-01-08 05:19:45 +00:00
Connor McLaughlin
0ce21c91ef GS: Allocate mipmaps for Basic+ and only on non-copy textures 2022-01-08 05:19:45 +00:00
Connor McLaughlin
220c7c271b GS/Vulkan: Use VK_EXT_provoking_vertex where supported 2022-01-08 05:19:45 +00:00
Connor McLaughlin
bf389b94d6 GS: Add texture preloading option 2022-01-08 05:19:45 +00:00
Connor McLaughlin
6187f36c33 Vulkan/StreamBuffer: Use VulkanMemoryAllocator 2022-01-08 05:19:45 +00:00
Connor McLaughlin
73df4e4abf GS: Only swap DATE_GL42 with DATE_GL45 when full barriers are used
Saves the expensive draw splitting/barriers when mixed software blending
is used.
2022-01-08 05:19:45 +00:00
Connor McLaughlin
1a8a5a5e8e GS: Add Vulkan renderer 2022-01-08 05:19:45 +00:00
Connor McLaughlin
c4ab6280c6 Frontend: Add VulkanHostDisplay 2022-01-08 05:19:45 +00:00
Connor McLaughlin
a27b6a113a Common: Add Vulkan helper classes 2022-01-08 05:19:45 +00:00
Connor McLaughlin
a60ded5c94 3rdparty: Add Vulkan headers 2022-01-08 05:19:45 +00:00
Connor McLaughlin
5ff67d4b2d 3rdparty: Add glslang 2022-01-08 05:19:45 +00:00
Connor McLaughlin
874e3d976f GSTexture: Implement Save() using common code 2022-01-08 05:19:45 +00:00
Connor McLaughlin
90e1284d83 GS: Move mipmap generation flag to GSTexture 2022-01-08 05:19:45 +00:00
Connor McLaughlin
75518b71ea GS: Fix forced trilinear + full mipmapping
i.e. generate mips when not provided by the game and trilinear filtering
is forced on.
2022-01-08 05:19:45 +00:00
Connor McLaughlin
b355efd73a GS: Separate shader convert for float -> 16/32bit int 2022-01-08 05:19:45 +00:00
Connor McLaughlin
8e920d727f GS: Make GL_NNN macros device independent 2022-01-08 05:19:45 +00:00
Connor McLaughlin
5976be55f4 GS: Use textures instead of render targets for target copies
Saves the clear.
2022-01-08 05:19:45 +00:00
Ty Lamontagne
4c3df1a963 CMake: Pass -fsanitize=address to the linker when USE_ASAN 2022-01-08 00:15:51 +00:00
lightningterror
5b44f495ee GS-hw: Improve DATE selection.
Check for fbmask, accurate path isn't supported so just to DATE.
Check for FBA, all pixels will be 128 or more so use Fast path DATE_one.
2022-01-08 01:15:19 +01:00
refractionpcsx2
3951e15446 VIF: If Force break + Reset requested, Reset gets priority
Fixes #5275
2022-01-07 17:37:10 +00:00
lightningterror
b9da7c6f27 GS-d3d11: Enable amd broken point sampler hack only for amd.
Intel and Nvidia don't need it, get rid of it for them.
2022-01-07 14:06:53 +01:00
refractionpcsx2
c5ae4a6957 CDVD: If you abort, actually abort. 2022-01-06 14:16:31 +00:00
Connor McLaughlin
e40c2f97f0 SysThreadBase: Fix double init of SPU2 etc 2022-01-06 11:46:01 +00:00
Connor McLaughlin
1dbc11bdd5 IPU: Fix software renderer FMV hack without AR change 2022-01-06 09:05:41 +00:00
Connor McLaughlin
299edae7c0 GSDump: Fix renderer override 2022-01-06 07:32:32 +00:00
refractionpcsx2
86309bd837 GS SW: Adjust order SW is destroyed, fixes GS Dump crash 2022-01-06 07:15:01 +00:00
refractionpcsx2
0312e9026d Core: Savestate version bump 2022-01-05 17:13:50 +00:00
refractionpcsx2
a7bafb60e9 CDVD: Improve Break/Abort handling 2022-01-05 17:13:50 +00:00
refractionpcsx2
602769b9d0 CDVD: Add Eject IRQ 2022-01-05 17:13:50 +00:00
refractionpcsx2
e76546f8e4 CDVD: Implement speed register, fix up SpindleCtrl
Also Set the drive as not spinning when ejected
2022-01-05 17:13:50 +00:00
Mrlinkwii
a9ef1680ce GameDB: Removal of some patches and adding some fixes 2022-01-04 14:10:37 +00:00
trostboot
670ddef944 GameDB: Add VU Kickstart Hack to Dark Cloud 2/Dark Chronicle (#5266)
Co-authored-by: trostboot <trostboot@gmx.de>
2022-01-04 13:56:24 +00:00
TellowKrinkle
be6b8dce25 VTLB: Fix ppmap allocation in 64-bit 2022-01-04 13:01:49 +00:00
Connor McLaughlin
75fd20f5df 3rdparty: Add xxhash.h 2022-01-04 13:00:40 +00:00
Connor McLaughlin
f0509a6631 3rdparty: Add Vulkan Memory Allocator 2022-01-04 13:00:33 +00:00
PCSX2 Bot
702319c4ca pad-linux: Update to latest controller database. 2022-01-03 17:14:01 +01:00
iMineLink
d5bd187930 GS: fix loopPagesWithBreak last iteration logic. 2022-01-03 14:21:04 +00:00
RedDevilus
753036f0c8 ProgramLog: Comment out deleted keymapping 2022-01-03 10:18:59 +00:00
iMineLink
cfc763b488 gitignore: update gs debug gl filename. 2022-01-03 09:45:56 +01:00
Connor McLaughlin
7edfeab0b7 3rdparty: Remove freetype 2022-01-03 09:45:31 +01:00
Connor McLaughlin
226b0540c5 GS: Enhance stats 2022-01-02 15:06:39 +00:00
Connor McLaughlin
0c36647506 GS: Rewrite presentation interface and OSD 2022-01-02 15:06:39 +00:00
Connor McLaughlin
1348c8880e Add font resources 2022-01-02 15:06:39 +00:00
Connor McLaughlin
9334285edd 3rdparty: Add imgui 2022-01-02 15:06:39 +00:00
Connor McLaughlin
2330d3a056 GS: Use hardware point/line expansion where supported in GL 2022-01-02 15:06:39 +00:00
Connor McLaughlin
bce54a64ff GS: Use flat/nointerpolation for IIP=0 instead of GS 2022-01-02 15:06:39 +00:00
Connor McLaughlin
bd43400ad8 GS/OpenGL: Set features in Create() instead of constructor 2022-01-02 15:06:39 +00:00
Connor McLaughlin
b16c75324e GSState: Move m_dev to base class 2022-01-02 15:06:39 +00:00
TellowKrinkle
0ddef1169d GS: Fix config default label alignment 2022-01-01 16:58:26 -06:00
TellowKrinkle
4da09bd841 GS: Fix missing space in config dialog 2022-01-01 16:58:26 -06:00
TellowKrinkle
6811cd617b GS: Add system default adapter config option 2022-01-01 16:58:26 -06:00
TellowKrinkle
4e762c75b0 GS: Move adapter list stuff to module in GSUtil
Will be helpful for when renderers other than DX that let you choose adapters are added
2022-01-01 16:58:26 -06:00
TellowKrinkle
f471c30036 GS: Default adapter_index to -1 to indicate default 2022-01-01 16:58:26 -06:00
TellowKrinkle
aaed932a67 PAD:SDL: Remove fallback code for unsupported SDL versions 2022-01-01 16:36:15 -06:00
TellowKrinkle
5f168b1a1e PAD: Store rumble intensity as float
No longer have to worry about what the max value should be
Unlocks > 50% rumble power on new rumble API
2022-01-01 16:36:15 -06:00
TellowKrinkle
5d6f0d7e47 PAD: Call SDL_GameControllerUpdate during pad testing 2022-01-01 16:36:15 -06:00
TellowKrinkle
cf176f1b99 CMake: Remove SDL1.2 option
Not sure if it worked before but it definitely doesn't work now
2022-01-01 16:36:15 -06:00
TellowKrinkle
d97e867c07 GHActions: Cache patchelf 2022-01-01 16:36:15 -06:00
TellowKrinkle
3d0654dd48 PAD:SDL: Let users set their own hints from the config 2022-01-01 16:36:15 -06:00
TellowKrinkle
e688840703 PAD:SDL: Set some hints 2022-01-01 16:36:15 -06:00
TellowKrinkle
8bf272e806 PAD:SDL: Switch to SDL_GameControllerRumble for rumble
Old method was deprecated according to https://github.com/libsdl-org/SDL/issues/4435#issuecomment-896432954
2022-01-01 16:36:15 -06:00
TellowKrinkle
0744bc4004 GHActions: Build latest SDL on linux
Package manager version too old
2022-01-01 16:36:15 -06:00
TellowKrinkle
918f8cbe16 PAD: Format some things 2022-01-01 16:36:15 -06:00
xantares
b6dafff524 Rename ConfigSoundtouch.cpp to ConfigSoundTouch.cpp (#5238)
Fixes build on a case-sensitive filesystem
2021-12-31 16:51:36 -06:00
Mrlinkwii
34686dc167 GameDB: remove patches for 'Neo Contra' and add EE rounding and clamping 2021-12-30 15:15:38 +00:00
Ty Lamontagne
c0c75bf18e Linux: Fix executable case in PCSX2-linux.sh 2021-12-30 14:04:02 +00:00
lightningterror
66cfb403c6 GS-d3d11: MaxAnisotropy value range is 1-16, clamp it. 2021-12-29 15:45:41 +01:00
lightningterror
0375f9c0ae GS-wx: Aniso can run with nearest texture filtering so let's leave it.
Option just disabled the toggle, it would still run on opengl.
2021-12-29 15:45:41 +01:00
lightningterror
11ac758d78 GS-d3d11: Mirror anisotropic filtering behavior on Direct3D11.
Don't run aniso filter on m_convert.pt and m_convert.ln samplers.
Running m_convert.pt broke shadows on color clipping.

Also use the aniso bit from hw renderer.

Aniso will now behave the same as on OpenGL.
2021-12-29 15:45:41 +01:00
Filipe da Silva Santos
9e705b2f53 FileSystem: follow c++17 and unbreak FreeBSD 2021-12-28 19:11:18 -06:00
Filipe da Silva Santos
b475108ff3 ryml: unbreak non-Linux Unices 2021-12-28 19:11:18 -06:00
Florin9doi
ab34dff152 USB: Save Sony prints in BMP format 2021-12-29 00:38:52 +00:00
Florin9doi
6a3f093cfa USB: Sony DPP-MP1 printer emulation 2021-12-29 00:38:52 +00:00
lightningterror
04ef9af703 GS-hw: Optimize PABE.
Add an early condition to check if alpha is lower than 128, if so then no blending so early exit.
2021-12-28 18:39:32 +01:00
TellowKrinkle
b773ab3fb4 GHActions: Fix game controller db updater 2021-12-28 18:04:19 +01:00
refractionpcsx2
32085dc009 CDVD: Add detection for PS2 Linux Disc 2 2021-12-28 12:17:42 +00:00
refractionpcsx2
18fdfc26aa Core: Savestate version bump 2021-12-28 12:17:42 +00:00
refractionpcsx2
f50d2fa48e CDVD: Add more error checking, set seek status 2021-12-28 12:17:42 +00:00
refractionpcsx2
e82859c979 CDVD: Separate SCMD/NCMD Fifo's set to right size 2021-12-28 12:17:42 +00:00
refractionpcsx2
99bb35f109 CDVD: Added missing busy/ready checks 2021-12-28 12:17:42 +00:00
refractionpcsx2
8637f8ee9b CDVD: Extra error handling and fix some flag details 2021-12-28 12:17:42 +00:00
refractionpcsx2
1e11d40828 CDVD: Improve status handling/implement sticky status 2021-12-28 12:17:42 +00:00
refractionpcsx2
5546b102eb CDVD: Replace cdvd.Ready handling 2021-12-28 12:17:42 +00:00
refractionpcsx2
7d9c8c9172 CDVD: Add some error handling, fix up some IRQ stuff 2021-12-28 12:17:42 +00:00
refractionpcsx2
8dd51b7207 CDVD: Zero sector handling and fix CdStop 2021-12-28 12:17:42 +00:00
lightningterror
746c5b603f GS: Try to fix -Wreorder warning. 2021-12-28 10:09:08 +01:00
qurious-pixel
d0de8d22fe MISC: codacy fixes 2021-12-28 08:54:17 +00:00
qurious-pixel
231b8e9481 reference the app-variables.sh apprun-hook file 2021-12-28 08:54:17 +00:00
qurious-pixel
f9f36700bb Update AppRun 2021-12-28 08:54:17 +00:00
qurious-pixel
ba9fced3db Create app-variables.sh 2021-12-28 08:54:17 +00:00
Connor McLaughlin
c192ecf6b7 GSDumpDialog: Cache length instead of querying every packet
Length() internally calls fseek() to end, ftell(), and fseek() back
again (really slow).

Shaves several seconds off loading large gs dumps.
2021-12-28 07:43:28 +00:00
Connor McLaughlin
6ee029e14b PAD: Add platform independent implementation 2021-12-28 05:22:45 +00:00
Connor McLaughlin
935f880fa7 USB: Fix compilation of USBNull on Windows 2021-12-28 05:22:45 +00:00
Connor McLaughlin
47d046c5fe DEV9: Prepare for Qt 2021-12-28 05:22:45 +00:00
Connor McLaughlin
4305e17cbe SPU2: Prepare for Qt (add Host wrapper) 2021-12-28 05:22:45 +00:00
Connor McLaughlin
c5c4cdd0b4 PINE: Disable for Qt (for now) 2021-12-28 05:22:45 +00:00
Connor McLaughlin
252562db90 Misc: #ifdef out last bits of wx-dependent code 2021-12-28 05:22:45 +00:00
Connor McLaughlin
a898682f3e Host: Add layered settings interface for per-game settings 2021-12-28 05:22:45 +00:00
Connor McLaughlin
7829094668 3rdparty: Add simpleini 2021-12-28 05:22:45 +00:00
Connor McLaughlin
042c23a545 Config: Add folder initializers 2021-12-28 05:22:45 +00:00
Connor McLaughlin
af2b9e3a4c Config: Add SPU2 options to global struct 2021-12-28 05:22:45 +00:00
Connor McLaughlin
b3b7c55b9a Host: Add ReportErrorAsync() and formatted variant 2021-12-28 05:22:45 +00:00
Connor McLaughlin
1859ede325 GameDatabase: Use resource abstraction to read yaml 2021-12-28 05:22:45 +00:00
Connor McLaughlin
2c32c374fb GameDatabase: Don't include rapidyaml in header
Name clashes with Qt.
2021-12-28 05:22:45 +00:00
Connor McLaughlin
65d22406a3 SettingsWrapper: Fix enums being stored as ints 2021-12-28 05:22:45 +00:00
Connor McLaughlin
92689a60ae Common/StringUtil: Add whitespace strip methods 2021-12-28 05:22:45 +00:00
Connor McLaughlin
1a598ccf0d Common/StringUtil: Add wide string conversion for non-windows 2021-12-28 05:22:45 +00:00
Italo Di Renzo
e50feb74fd Add "Clear missing files" option to recent ISO list (#4975)
* GUI: Add "Clear missing files" option to Recent ISO list

* GUI: Show list of files to remove in confirmation dialog.
2021-12-27 20:50:04 -08:00
arcum42
af067a8c84 Default to a native build. Remove --clean-plugins. (#5132) 2021-12-27 20:31:27 -08:00
tellowkrinkle
61a196bc3d GS: Move afix check to high blend level 2021-12-27 20:18:47 -06:00
lightningterror
6a431daffc GS-hw: Extend Blend mix to work when alpha is higher than 1.
Clamp the alpha(As/Af) to 1 in the shader, it is already clamped to 1 in hw blend unit.
It should allow to better render the effects, still not fully accurate but it's closer to what we want.
Hopefully it helps D3D11 more.
2021-12-27 20:22:41 +01:00
Mrlinkwii
1aad3e6cc8 GameDB: add VU clamping to "Ultimate Spider-Man" and fixes to other games 2021-12-27 18:02:16 +00:00
refractionpcsx2
c8d42e32ed GameDB: Properly use vuRoundMode child node 2021-12-27 03:47:52 +00:00
refractionpcsx2
514cc6edb8 IPU: Unbreak previous change with IDEC sync
Testing in Production y'all
2021-12-26 23:44:50 +00:00
lightningterror
208d3ffa7b GS-hw: Fix pabe regression from renderers merge.
Only OpenGL should disable accumulation and blend mix to allow reading the framebuffer next.

Also pabe will only be accurate with non recursive blend on d3d11 only so enable it for it only.
2021-12-26 19:12:28 +01:00
refractionpcsx2
25dd92f8c0 IPU: Modify IDEC sync position.
Previously broke the Onimusha patch, sorry
2021-12-26 14:56:52 +00:00
Connor McLaughlin
3f81b7e56d GL/ShaderCache: Time various shader compilation tasks 2021-12-26 13:21:51 +00:00
Connor McLaughlin
99b7333991 GS/OpenGL: Add option to disable shader cache 2021-12-26 13:21:51 +00:00
Connor McLaughlin
a2ae4ba441 GS/OpenGL: Get rid of interface blocks for convert shaders 2021-12-26 13:21:51 +00:00
Connor McLaughlin
4e1b2792c9 GS/OpenGL: Move some uniform buffers to program uniforms 2021-12-26 13:21:51 +00:00
Connor McLaughlin
55695bb5bc GS/OpenGL: Use ShaderCache 2021-12-26 13:21:51 +00:00
Connor McLaughlin
6e064da536 GS/OpenGL: Use programs instead of separate pipelines 2021-12-26 13:21:51 +00:00
Connor McLaughlin
69ff12645c Common: Add GL/ShaderCache 2021-12-26 13:21:51 +00:00
Connor McLaughlin
efb93d22d9 Common: Add GL Program wrapper class 2021-12-26 13:21:51 +00:00
Connor McLaughlin
cdb0068dcc Common: Add MD5Digest 2021-12-26 13:21:51 +00:00
Connor McLaughlin
b0a0d714c4 Common: Add HashCombine.h 2021-12-26 13:21:51 +00:00
refractionpcsx2
7e36ee243c GameDB: Fix Round/Clamp nodes 2021-12-26 11:58:27 +00:00
Sergeanur
21bc56a8ba GS: Simulate scan mask 2021-12-26 11:51:25 +00:00
refractionpcsx2
e920c0fe3e VS: Fix filters 2021-12-26 10:37:43 +00:00
refractionpcsx2
31992fb398 GameDB: Fix loading patches for some games 2021-12-26 08:43:06 +00:00
refractionpcsx2
dc65599fae GameDB: Remove no longer required patches 2021-12-26 04:48:49 +00:00
refractionpcsx2
eb9dc7b70d IPU: BDEC/IDEC wait for IPU0 to drain before proceeding 2021-12-26 04:48:49 +00:00
refractionpcsx2
06bf2502a6 IPU: Tidy up and fix up toIPU DMA, remove some hacks 2021-12-26 04:48:49 +00:00
refractionpcsx2
242655bac9 IPU: Tidy up some DMA and FIFO behaviour 2021-12-26 04:48:49 +00:00
refractionpcsx2
8335b3ee77 IPU: Only fill IPU with required data, no more. 2021-12-26 04:48:49 +00:00
refractionpcsx2
a0c8ad9511 Savestate: Bump version 2021-12-26 04:48:49 +00:00
refractionpcsx2
d775a9364b IPU: Set DMA to only transfer on request (or reset) 2021-12-26 04:48:49 +00:00
Ty Lamontagne
1695124472 Linux / Windows CMake Builds: Change output executable to lowercase
No reason to be uppercase.
2021-12-25 15:11:17 +00:00
Tyler Wilding
70145eb150 macos: add undef to fix macOS builds 2021-12-25 15:11:01 +00:00
Tyler Wilding
dacd7d94d9 memcard: fix saving and loading handling on new yaml lib 2021-12-25 15:11:01 +00:00
Tyler Wilding
85bd8555c0 common: add some file-path helpers to Path ns 2021-12-25 15:11:01 +00:00
Tyler Wilding
6920b4e366 gamedb: handle yaml parsing errors properly 2021-12-25 15:11:01 +00:00
Tyler Wilding
bda3835cb1 memcard: migrate folder memory cards to rapidyaml 2021-12-25 15:11:01 +00:00
Tyler Wilding
83e5aa6137 gamedb: migrate GameDB implementation to rapidyaml 2021-12-25 15:11:01 +00:00
Tyler Wilding
4719e52c6e fs-api: extend host API to allow retrieval of a resource file path 2021-12-25 15:11:01 +00:00
Tyler Wilding
e313eadcd2 common: pull our string functions into common 2021-12-25 15:11:01 +00:00
Tyler Wilding
be952e40ba vs: update project configuration to include rapidyaml 2021-12-25 15:11:01 +00:00
Tyler Wilding
4d4b24f8b0 cmake: support rapidyaml 2021-12-25 15:11:01 +00:00
Tyler Wilding
9533fa25c3 deps: remove yaml-cpp and add rapidyaml 2021-12-25 15:11:01 +00:00
lightningterror
013c9072b9 GS-hw: Move the blend mix alpha check after sw blending selection.
Optimization.
2021-12-25 14:52:07 +01:00
lightningterror
bf8dc05fac GS: Redo GetAlphaMinMax.
Cleaner this way, also fix recent regression on Full Blend with alpha max.
2021-12-25 14:52:07 +01:00
Connor McLaughlin
f4b38662fa GS/Null: Move methods to cpp file 2021-12-24 11:01:00 +00:00
Connor McLaughlin
ea41cce5ef GS: Add missing override specifier to a few files 2021-12-24 11:01:00 +00:00
TellowKrinkle
013c292ffb GS: Fix looping over pages of textures with massive strides 2021-12-23 19:10:19 -06:00
refractionpcsx2
cb18f11133 GS: Added auto Mipmap support in hardware for Jurassic Park 2021-12-23 08:25:52 +00:00
TellowKrinkle
ea25f49c65 Common: Fix GetWorkingDirectory on unix 2021-12-23 07:49:14 +00:00
Connor McLaughlin
5d15d5958e GS: Only copy draw area for colclip/DATE 2021-12-22 11:41:57 +01:00
Connor McLaughlin
efed92b15c GS/OpenGL: Move scaling factor to shader constant 2021-12-22 11:41:57 +01:00
Connor McLaughlin
7d39d02e98 GSDeviceOGL: Don't set scissor unconditionally 2021-12-22 11:41:57 +01:00
Connor McLaughlin
e006442e4f GSRendererNew: Remove another constant buffer copy 2021-12-22 11:41:57 +01:00
Connor McLaughlin
212848e931 GSDevice: Force inline accessor methods
Don't want to make debug builds slower.
2021-12-22 11:41:57 +01:00
Connor McLaughlin
732de53d1b GS: Get rid of second constant buffer for alpha pass 2021-12-22 11:41:57 +01:00
Connor McLaughlin
08c00eed1e GS: Unify constant buffers between renderers 2021-12-22 11:41:57 +01:00
refractionpcsx2
2a1c3d1f33 GS: Fix texture offset Y vector 2021-12-20 16:30:26 +00:00
lightningterror
5f57084ed9 GS-hw: Run GetAlphaMinMax only when required for Blend Mix.
Optimization.
2021-12-20 16:23:43 +01:00
lightningterror
9368e29d62 GS-d3d11:fx: Flip x and y dithering positions. 2021-12-19 22:24:30 +01:00
TellowKrinkle
ae8751e9ca GS:DX11: Use GSHWDrawConfig selector structs 2021-12-19 22:21:10 +01:00
TellowKrinkle
a11b8c4750 GS:OGL: Use GSHWDrawConfig selector structs 2021-12-19 22:21:10 +01:00
TellowKrinkle
1e7e23df96 GS: Less memcmp
It has a lot of work to do for its fancier return value
2021-12-19 22:21:10 +01:00
TellowKrinkle
8395e00835 GS: Remove now-unused renderers 2021-12-19 22:21:10 +01:00
TellowKrinkle
66bc1bdc77 GS: Add new shared hw renderer 2021-12-19 22:21:10 +01:00
TellowKrinkle
b8984661d9 GS: Use shared enum for blend level
Even if DX11 doesn't support all modes we can just use the ones it does support from the enum
2021-12-19 22:21:10 +01:00
Mrlinkwii
ea98a1c9f9 GameDB: change VUclamping on "Sled Storm" 2021-12-19 16:45:31 +00:00
Connor McLaughlin
9173b40e2e SPU2: Add function to pause output stream 2021-12-19 15:14:04 +00:00
Connor McLaughlin
59e5b1918f SPU2/XAudio: Get rid of exceptions 2021-12-19 15:14:04 +00:00
Connor McLaughlin
ab4b7b8ee6 SPU2: Remove unused methods from output modules 2021-12-19 15:14:04 +00:00
Connor McLaughlin
7f0f153ebd 3rdparty: Remove Portaudio 2021-12-19 15:14:04 +00:00
Connor McLaughlin
f3d51a242d SPU2: Remove Portaudio and SDL2 output modules 2021-12-19 15:14:04 +00:00
Connor McLaughlin
88ce192610 SPU2: Add Cubeb SndOut driver 2021-12-19 15:14:04 +00:00
Connor McLaughlin
bd489647e9 3rdparty: Add cubeb 2021-12-19 15:14:04 +00:00
Florin9doi
c36666b4d4 USB: Gametrak/RealPlay 2021-12-19 13:33:04 +00:00
Connor McLaughlin
97727cae2c GS/OpenGL: Don't delete null objects for PBO 2021-12-18 14:12:37 +00:00
Connor McLaughlin
f412b6818e GS/OpenGL: Fix incorrect VAO cleanup
This wasn't an issue in wx, since the whole context/device gets torn
down and recreated when you pause/unpause, or change settings.

But on Qt it is, since the context/device is preserved for a
faster/lighter settings apply.
2021-12-18 14:12:37 +00:00
Mrlinkwii
e8aea86e75 GameDB: Add EE Clamping to 'Digimon Battle Chronicle' and fixes to other games (#5178) 2021-12-18 14:04:18 +00:00
Connor McLaughlin
fac171fa95 CDVD: Check file actually opened before proceeding
If you loaded an invalid file, particularly with compression, the file
open may fail, leading to a division by zero (on block size), or trying
to read from nothing.
2021-12-18 13:41:56 +00:00
refractionpcsx2
fa1b6493da CDVD GZip: Correct type causing index creation to fail 2021-12-17 11:46:31 +00:00
refractionpcsx2
e58766745c Log: Restore BIOS Found message 2021-12-16 11:45:12 +00:00
Mrlinkwii
d8a9c5b479 Gamedb add gamefixes to 'Titeuf Mega-compet' and patch 'Yamiyo ni Sasayaku - Tantei Sagara Kyouichirou' series 2021-12-15 17:17:18 +00:00
Mrlinkwii
9a4d8ba934 Gamedb: add more 2k games patches 2021-12-15 10:52:22 +00:00
refractionpcsx2
ab816543c8 CDVD: Fixed typo opening gzip files
Fixes #5162
2021-12-15 09:38:04 +00:00
refractionpcsx2
37ccd81985 GS: Avoid some unnecessary flushes
CLUT only updates if valid index type used in PSM
2021-12-14 18:28:21 +00:00
refractionpcsx2
42dad4ade8 GS: Check CLUT dirty write on vertex kick 2021-12-14 18:28:21 +00:00
refractionpcsx2
b2ac035862 VS: Fix location of shaders in project 2021-12-14 17:47:53 +00:00
refractionpcsx2
f42d7eec74 CDVD: Don't set as Reading when buffering. 2021-12-14 10:35:12 +00:00
refractionpcsx2
e4ef41f86a CDVD: Fix some read timing logic 2021-12-14 10:35:12 +00:00
Mrlinkwii
103dd3954a missing UI and game elements. 2021-12-14 09:22:31 +00:00
Tokman5
2f9577a28e Add "Jikkyou Powerful Pro Yakyuu 2009" to GameIndex.yaml 2021-12-14 08:06:34 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
33ec4d9430 msvc: fix issues with size() not being correctly evaluated as const 2021-12-13 09:34:24 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
209f09ca7a pine: send serial without gui beautification 2021-12-13 09:34:24 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2e6af75f1d pine: add vle replies 2021-12-13 09:34:24 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f68122a380 ipc: rename to pine 2021-12-13 09:34:24 +00:00
TellowKrinkle
d51bdccf7f CMake: Remove gio dependency on macOS 2021-12-13 03:29:16 -06:00
iMineLink
7d8377b133 GS-hw: define some consts only in debug mode. 2021-12-13 08:06:52 +01:00
iMineLink
80d3a8a757 GS-hw, TC: don't linearly interpolate downloads.
Greatly improves Burnout games clouds rendering
with even (x2, x4, ...) upscaling factors.
2021-12-13 08:06:52 +01:00
iMineLink
2e6c5cde29 GS-hw: rework surface fetching.
Factorized code.
Always clear render targets and depth stencils
when being fetched.
"force_texture_clear" OGL only config removed.
2021-12-13 08:06:52 +01:00
iMineLink
0f2768dca4 GS-hw, TC: improve LookupTarget.
allow propagation of increased target size and
correct the rescaling.
2021-12-13 08:06:52 +01:00
iMineLink
d5be095482 GS-hw: fix burnout black sky and no clouds.
Achieved with a combination of OI+OO hacks that operate
during level loading to consolidate the rendering results
in the GS local memory.

* OI_BurnoutGames to perform small draws directly in local memory:
** improved OI_PointListPalette to draw clouds CLUT,
** improved SwSpriteRender to draw sky texture;
* OO_BurnoutGames used to download clouds texture from GPU.
2021-12-13 08:06:52 +01:00
iMineLink
b315625a94 GS-hw: resize rt and ds before draw if necessary. 2021-12-13 08:06:52 +01:00
iMineLink
6b51462fa0 GS-hw: use CanUpscale to check for upscaling. 2021-12-13 08:06:52 +01:00
iMineLink
373e698545 GS-hw, TC: fix tex scaling for native res draws.
The GSTextureCache::ScaleTexture method did not work
correctly when an old texture with a scale factor
different from 1 was recycled for a draw which was forced at
native resolution (the old scale factor was kept).
2021-12-13 08:06:52 +01:00
iMineLink
3b309c6d4e GS: dump alpha channel too. 2021-12-13 08:06:52 +01:00
kenshen112
8e93e9f516 CMake: Switch Wayland find script and usage to use imported targets
Also clears warning about mismatched names getting sent to FIND_PACKAGE_HANDLE_STANDARD_ARGS
2021-12-13 00:23:52 -06:00
kenshen112
ac8582eca7 CMake: Set minimum version first
Makes policy enabling based on minimum version work properly
Also increases minimum version to 3.11 because we actually do use 3.11 features
2021-12-13 00:23:52 -06:00
kenshen112
e6f72fdde7 GHActions: Enable Wayland in CI builds 2021-12-13 00:23:52 -06:00
Connor McLaughlin
9166218d07 EERec: Remove zero-distance jmp in full fpu mode 2021-12-13 00:56:50 +00:00
Mrlinkwii
c0b1bde94b Gamedb: add EEclamping to 'Dark cloud 2' 2021-12-12 22:31:30 +00:00
Mrlinkwii
756a679262 Gamdb:add EE clamping to 'Chou Saisoku! Zokusha King B.U.' 2021-12-12 21:35:54 +00:00
Mrlinkwii
13b19b35c0 GameDB: add patches to the 'Netsu Chu!' series and 'Samurai 7' series 2021-12-12 18:16:46 +00:00
Mrlinkwii
cadb70d1e4 Gamedb: add EEtiminghack to 'MGS2' and change VU and EE rounding for 'Primal' and add missing entries 2021-12-12 12:30:47 +00:00
TellowKrinkle
4cb4844e8d AppImage: Fix resource location 2021-12-12 06:10:47 -06:00
TellowKrinkle
556c7ca080 CMake: Don't include non-windows files on non-windows 2021-12-12 06:10:47 -06:00
TellowKrinkle
962db4bfc4 Resources: Move fxaa.fx to out of dx11 directory
It was used by both DX and OGL
2021-12-12 06:10:47 -06:00
TellowKrinkle
da651cabe4 Resources: Move shaders to shared shader/ directory 2021-12-12 06:10:47 -06:00
TellowKrinkle
e03076c6ff CMake: Fix macOS resource packaging
Previously was just putting in empty folders
2021-12-12 06:10:47 -06:00
refractionpcsx2
122968e63a CDVD: No rotational delay for seeks less than buffered sectors
Fixes Shadow Hearts Covenant hangs
2021-12-12 06:33:01 +00:00
Connor McLaughlin
6beac26727 GS/OpenGL: Fix an unused variable warning 2021-12-12 03:27:43 +00:00
Connor McLaughlin
3073281d13 CMake: Fix package mode 2021-12-12 03:27:43 +00:00
TellowKrinkle
0e0e23eefb PAD: Use files on disk instead of embedded resources 2021-12-12 03:27:43 +00:00
Connor McLaughlin
bcec38bd97 Patch: Make variables static 2021-12-12 03:27:43 +00:00
Connor McLaughlin
bd706f99b2 GlobalCommands: Remove FreezeGS
This was ifdefed out anyway...
2021-12-12 03:27:43 +00:00
Connor McLaughlin
501af632f7 IopBios: Use FileSystem for host access 2021-12-12 03:27:43 +00:00
Connor McLaughlin
a143122804 CI: Copy resources into AppImage 2021-12-12 03:27:43 +00:00
Connor McLaughlin
92aa426bba Move cheats_ws.zip to resources directory 2021-12-12 03:27:43 +00:00
Connor McLaughlin
96a1ce2fb2 CI: Fix path to GameIndex.yaml 2021-12-12 03:27:43 +00:00
Connor McLaughlin
c203a09435 Wx: Add check for resources directory before starting 2021-12-12 03:27:43 +00:00
Connor McLaughlin
c4084b4162 Add PerformanceMetrics to replace multiple sources of truth 2021-12-12 03:27:43 +00:00
Connor McLaughlin
2a7c948a57 GameDatabase: Store enums instead of strings 2021-12-12 03:27:43 +00:00
Connor McLaughlin
46912595ea GameDatabase: Move out of gui 2021-12-12 03:27:43 +00:00
Connor McLaughlin
120ee6c673 Get rid of wxChar in EnumToString 2021-12-12 03:27:43 +00:00
Connor McLaughlin
112238fbd7 Config: Add cache folder 2021-12-12 03:27:43 +00:00
Connor McLaughlin
38e288ef6a Common: Add utility classes 2021-12-12 03:27:43 +00:00
Connor McLaughlin
35322cf49b BiosTools: Add autoloader 2021-12-12 03:27:43 +00:00
Connor McLaughlin
8d44e1af0e CDVD: Remove wx from file access 2021-12-12 03:27:43 +00:00
Connor McLaughlin
16af078b3b BiosTools: Remove wx 2021-12-12 03:27:43 +00:00
Connor McLaughlin
3e968b4390 GS: Use files on disk instead of embedded resources 2021-12-12 03:27:43 +00:00
Connor McLaughlin
0029dac32d Host: Add the ability to read files from the resources directory 2021-12-12 03:27:43 +00:00
Connor McLaughlin
a083343c6e Common: Add FileSystem 2021-12-12 03:27:43 +00:00
refractionpcsx2
c277ee1d34 GS: D3D11 Download texture use rect 2021-12-10 11:06:36 +00:00
refractionpcsx2
ebe8592a8d GS: Fix typo on GS download
Fixes #5131
2021-12-10 09:49:50 +00:00
lightningterror
6c3e357d9e GS-ogl: Optimize fragment shader uniform buffer.
Couple MaxDepthPS with TA and Af vector.

Vectors are free so let's use them.

Optimization.
2021-12-10 03:44:47 +01:00
TellowKrinkle
64455620e8 GS: Use actual names for GL convert shaders 2021-12-09 05:26:26 -06:00
TellowKrinkle
fc799778de GS: Use actual names for DX11 convert shaders 2021-12-09 05:26:26 -06:00
TellowKrinkle
e04e0e38d1 GS:GL: Move TextureOffset to vs cb
It's used by the vs, why would you put it in the ps cb?
2021-12-09 05:26:26 -06:00
TellowKrinkle
8d6569be95 GS: Remove separate GSTextureCaches 2021-12-09 05:26:26 -06:00
TellowKrinkle
8b086a3898 Common: Clean up ScopedAlloc 2021-12-09 05:26:26 -06:00
TellowKrinkle
a4b8c33cf3 GS: Convert texture format to enum 2021-12-09 05:26:26 -06:00
TellowKrinkle
1d37ba47f4 GS: Make GSTexture::Type an enum class 2021-12-09 05:26:26 -06:00
TellowKrinkle
8d480c28ce GS: Remove unused virtuals from GSDevice 2021-12-09 05:26:26 -06:00
TellowKrinkle
6e38f40f96 GS: Convert ShaderConvert to enum class 2021-12-09 05:26:26 -06:00
arcum42
017c37f212 Only pass C++ flags to C++ files. (#5115) 2021-12-08 21:10:21 -08:00
TellowKrinkle
6eee4cb38a Core: Remove empty file
Had everything commented out and there's already a file with the same name and things not commented out in CDVD
2021-12-08 11:18:42 +00:00
TellowKrinkle
1f6a14261c VS: Add missing filters 2021-12-08 11:18:42 +00:00
refractionpcsx2
14e8d840ff GS SW: Handle flat prims without float conversion 2021-12-08 10:57:00 +00:00
lightningterror
125b9ea1e1 GS-hw: Purge SoTC crc hack.
No longer needed, fixed by #5110
2021-12-08 11:48:29 +01:00
lightningterror
e6b1e1948e GS-d3d11: Add a condition to not enable blend_mix if sw blending is already enabled.
Not yet needed but will be useful for sw blending when prims don't overlap.
2021-12-08 11:36:22 +01:00
lightningterror
ba1072f470 GS-ogl: Don't enable blend_mix if sw blend is already enabled.
Less accurate.
2021-12-08 11:36:22 +01:00
lightningterror
1fb29de082 GS-ogl: Try to use a mix of hw/sw blending in more situations.
When alpha is less than 128:
Do Cs*F or Cs*As in shader.
Do Cs*(As + 1) or Cs*(F + 1) in shader.
Do Cs*(1 - As) or Cs*(1 - F) in shader.

Optimization, might be faster as we will require less barriers.
2021-12-08 11:36:22 +01:00
lightningterror
f79e5ab559 GS-d3d11: Try to use a mix of hw/sw blending in more situations.
When alpha is less than 128:
Do Cs*F or Cs*As in shader.
Do Cs*(As + 1) or Cs*(F + 1) in shader.
Do Cs*(1 - As) or Cs*(1 - F) in shader.
2021-12-08 11:36:22 +01:00
Mrlinkwii
c3a9fd469e GameDB: add VU clamping to 'MVP Baseball 2003' 2021-12-08 10:29:05 +00:00
Mrlinkwii
c8abc909fa GameDB:add EEclamping full to 'Shinobido Takumi' 2021-12-07 20:00:15 +00:00
Mrlinkwii
401a9f4c62 GameDB: add patches to the 'K-1 World' series games and EE clamping full to 'D1 Professional Drift Grand Prix Series' 2021-12-07 15:51:13 +00:00
lightningterror
f1edb0c960 GS-ogl: Disable accumulation blend on PABE.
Requires accurate sw blending.
2021-12-07 10:12:58 +01:00
lightningterror
d73335e4d3 GS-d3d11: Don't enable PABE on accumulation blend.
Requires full sw blending.
2021-12-07 10:11:02 +01:00
TellowKrinkle
7a554be7a7 GS: Fix compiler warning and possible memory leak on exception 2021-12-06 05:44:16 +01:00
TellowKrinkle
31b6ff6046 GS: Use static_assert over assert where possible 2021-12-06 05:44:16 +01:00
lightningterror
38ab0630e6 GS-ogl: Update SetupCBMisc buffer only when GXBY channel is used, and cleanup some variables.
Optimization.
2021-12-06 03:15:48 +01:00
lightningterror
b5fa9deb30 GS-d3d11: Update ChannelShuffle buffer only when GXBY channel is used, and cleanup some variables.
Optimization.
2021-12-06 03:15:48 +01:00
lightningterror
4e8bae1703 GS-ogl: Sample depth on green channel. 2021-12-06 03:15:48 +01:00
lightningterror
464ce1c3cd GS-d3d11: Sample depth on green channel. 2021-12-06 03:15:48 +01:00
lightningterror
bb55c320c1 GS Debugger: Fix Length of dump. 2021-12-05 10:57:24 +01:00
TheLastRar
af585bffa9 DEV9: Add DEV9: prefix to "Can't open Device" log message 2021-12-05 03:53:33 +01:00
TheLastRar
bde4868b67 DEV9: Enable pcap non-blocking 2021-12-05 03:53:33 +01:00
TheLastRar
3835fc5ad1 DEV9: Don't shadow return value of GetAdaptersAddresses 2021-12-04 06:09:01 +01:00
Tyler Wilding
7b815b5f07 actions: increase linux build times as well until cache is reliable
We can rely on the cache more once the following issue is resolved - https://github.com/actions/cache/issues/342#issuecomment-673371329

Once we can, we should be able to dynamically set the timeout according to the cache-hit/miss
2021-12-04 06:05:38 +01:00
Tyler Wilding
754c6126b1 actions: Only announce pre-release releases in the discord 2021-12-04 05:57:05 +01:00
Mrlinkwii
2dc2a32e45 GameDB: add 'VUKickstartHack' to 'Crash Twinsanity' 2021-12-04 02:56:22 +00:00
lightningterror
7a579303b9 GS-d3d11:fx: Split color clamp/wrap in it's own function.
Use the function for both sw blending and dithering, less code duplication.
2021-12-03 19:59:29 +01:00
lightningterror
03401e377b GS-ogl:glsl: Split color clamp/wrap in it's own function.
Use the function for both sw blending and dithering, less code duplication.
2021-12-03 19:59:29 +01:00
Ziemas
ff4ec6d843 SPU: Change dummy SP check for consistency 2021-12-03 19:37:19 +01:00
Ziemas
0dc3dcd9ed SPU: Start the sample pointer at -1
This makes videos in Stolen work again.
2021-12-03 19:37:19 +01:00
Ziemas
ed3237f808 SPU: Use hex values for sample pointer 2021-12-03 19:37:19 +01:00
Tyler Wilding
9321c3c334 gh: remove 32-bit Windows 11, it doesn't exist 2021-12-03 19:24:05 +01:00
Tyler Wilding
adc7d41183 gh: add minimal issue template for issues that don't pertain to games
A lot of the required information we enforce is not applicable to application level bugs
2021-12-03 19:24:05 +01:00
Tyler Wilding
4ca69d8818 gh: Update issue-templates to include Win11 2021-12-03 19:24:05 +01:00
Mrlinkwii
cca52e271b Gamedb: add 'VIFFIFOHack' to 'Men in Black II: Alien Escape' 2021-12-02 19:29:28 +00:00
TellowKrinkle
a2e15bbc87 GHActions:macos: Install glib
Looks like GHActions changed what things they preinstall
2021-12-02 15:08:18 +01:00
Mrlinkwii
9d6ad0303c GameDB: Add fixes for 'Shadow Man - 2econd Coming' and 'Ghosthunter' games. 2021-12-02 14:01:47 +00:00
Mrlinkwii
bbaa23c22d Readme : update links 2021-12-01 22:43:36 +00:00
Ziemas
bacb860cc1 GUI: Allow relative elf file paths on command line. (#4451) 2021-11-30 10:06:17 +01:00
Ziemas
7a4191e16d Fix compilation with LTO on GCC 2021-11-30 02:25:06 +00:00
PCSX2 Bot
0fa620e3ba pad-linux: Update to latest controller database. 2021-11-29 17:17:26 +01:00
dependabot[bot]
96642d8bc3 Bump mathieudutour/github-tag-action from 5.6 to 6.0
Bumps [mathieudutour/github-tag-action](https://github.com/mathieudutour/github-tag-action) from 5.6 to 6.0.
- [Release notes](https://github.com/mathieudutour/github-tag-action/releases)
- [Commits](https://github.com/mathieudutour/github-tag-action/compare/v5.6...v6.0)

---
updated-dependencies:
- dependency-name: mathieudutour/github-tag-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 16:01:55 +01:00
dependabot[bot]
8a26c3783a Bump actions/cache from 2.1.6 to 2.1.7
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 13:21:27 +00:00
lightningterror
d2742a177c GS-d3d11: Properly set afix in EmulateBlending.
Accumulation blend -> afix is already handled in shader, no need to set it for hw blending too.
SW blending -> done in shader.
HW blending - > set only when it is actually used, Alpha C.

GS-d3d11: Properly set afix in EmulateBlending.

Accumulation blend -> afix is already handled in shader, no need to set it for hw blending too.
SW blending -> done in shader.
HW blending - > set only when it is actually used, Alpha C.
2021-11-26 21:25:16 +01:00
TellowKrinkle
6d4713e069 GS: Alloc sw renderer things on custom heap 2021-11-26 13:44:07 -06:00
TellowKrinkle
342170b077 GS: Add new heap for SW renderer allocations 2021-11-26 13:44:07 -06:00
TellowKrinkle
df02d784d6 GS: Throw from vmalloc on failure 2021-11-26 13:44:07 -06:00
tellowkrinkle
340874996e CMake: Always default CMAKE_BUILD_PO off
Git files getting modified by build is just as much of a pain in release builds as it is in devel builds
2021-11-26 13:02:25 -06:00
lightningterror
3bd89154d3 GS-wx: Fix some gui interaction.
Fix interaction of Anisotropic filtering with Nearest Texture Filtering and GPU Palette Conversion.
Fix interaction of Trilinear Filtering with selected renderer.

Options should gray out properly now.
2021-11-26 18:32:58 +00:00
Connor McLaughlin
1e198fbb83 GS/OpenGL: Use CreateRenderTarget() for temp HDR target
Probably won't change much, except maybe with sparse textures,
where it'll use less video memory.
2021-11-25 23:26:31 +01:00
TellowKrinkle
01855fc66a GHActions: Don't shallow clone submodules
Shallow clones tend to be 5-10s slower
2021-11-24 15:43:56 -06:00
refractionpcsx2
7ac045b5e2 GS: Partial revert of #5061 2021-11-24 01:01:55 +00:00
lightningterror
03f1617ff5 GS-GSState: Mask out AA1 on triangles.
AA1 is not supported on hw renderers so ignore flushing the prims on triangles.

Should provide a nice speed boost on games that use AA1 on triangle prims.
2021-11-24 00:14:03 +01:00
lightningterror
c75b20e37d GS-hw: Also disable Blending when AA1 and ABE or PABE are both set on lines.
There's no need to blend them since there is no implementation.
2021-11-24 00:14:03 +01:00
lightningterror
08f72596d4 GS-hw: EmulateBlending move early return to the top.
Optimization.
2021-11-24 00:14:03 +01:00
lightningterror
dcd1f90ae7 GS-hw: Disable Z writes on AA1 flag when prim are lines.
When AA1 flag is enabled Z is not written on lines since coverage is always less than 0x80.
2021-11-24 00:14:03 +01:00
lightningterror
c10603d161 GS-hw: Disable alpha blending when only AA1 flag is enabled.
There is no hw implementation of AA1.

Alpha blending shouldn't be enabled by AA1 flag, only ABE and PABE flags.
2021-11-24 00:14:03 +01:00
Mrlinkwii
7ea335e59b GameDB : fix Fuuraiki 2 patch 2021-11-23 11:55:23 +00:00
lightningterror
d20cb91d90 Gs-d3d11:fx: Adjust sw blend shader a bit.
Use As and Cs in pabe code, makes more sense.

Get rid of Cv vector, use Color parameter for operations instead like on gl.
2021-11-23 09:02:54 +01:00
lightningterror
e38d754e86 Gs-ogl:glsl: Adjust sw blend shader a bit.
Get rid of Color_pabe vector, makes more sense to use As and Cs in pabe code.
2021-11-23 09:02:54 +01:00
refractionpcsx2
afacc47f33 CDVD: Adjust DMA timing based on PS1 timings.
Bus width is 16bit on the PS2 and 8bit on PS1, so serves to reason the DMA would be twice the speed. (PS1 is 24 cycle per word)
2021-11-22 22:18:32 +00:00
refractionpcsx2
5803cc441e GS: Improve FixedTEX0 accuracy 2021-11-22 22:17:59 +00:00
Mrlinkwii
d60c66deee GameDB: purge patches for 'Knockout Kings 2002' 2021-11-22 21:42:26 +00:00
PCSX2 Bot
d7797a50f5 pad-linux: Update to latest controller database. 2021-11-22 20:55:52 +01:00
Mrlinkwii
87bbebed36 Gamedb: remove the patch for Virtua Fighter 4 2021-11-22 17:51:51 +00:00
Mrlinkwii
3aa33bf0b1 Gamedb :add 'GIFFIFOHack' to 'FIFA 2005'and EE clamping for 'D1 Professional Drift Grand Prix Series 2005' 2021-11-22 15:41:25 +00:00
Christian Kenny
e37afd6976 3rdparty: Upgrade soundtouch lib to 2.3.1 2021-11-22 15:38:03 +00:00
Christian Kenny
791f2a63ac 3rdparty: Upgrade xbyak to 6.00 2021-11-22 15:37:44 +00:00
refractionpcsx2
1917f2b98a GS: Re-remove part of Clamp Repeat opt.
This is kind of not needed, it's handled above really.
2021-11-22 10:35:19 +00:00
Connor McLaughlin
78b74f1115 GLLoader: Remove glCopyTextureSubImage2D() wrapper
Not needed anymore.
2021-11-22 05:53:44 +01:00
Connor McLaughlin
8ea24d9ff9 GS/OpenGL: Use shader+draw for CopyRectConv 2021-11-22 05:53:44 +01:00
Ty Lamontagne
f36d5fdbdf Debugger: Format search hits with proper specifier 2021-11-21 22:00:49 +01:00
RedDevilus
d421fc6e6f GUI: Bring back F6 string (Aspect Ratio)
Fixes regression from https://github.com/PCSX2/pcsx2/pull/4140
2021-11-21 20:28:23 +00:00
refractionpcsx2
90c4c9e96b Build: Fix clang
Stupid thing, the actions builds were fine!
2021-11-21 18:43:37 +00:00
refractionpcsx2
0a79892923 microVU: Preserve XGKIck cycles in delay slot
Also added handling for xgkick sync on single instructions
2021-11-21 17:18:34 +00:00
refractionpcsx2
d88f638fbc GS: Redo the Texture min/max opt 2021-11-21 17:18:11 +00:00
Christian Kenny
d29121a871 Core: Reset game loaded/started variables on recompiler shutdown. 2021-11-21 03:25:37 +00:00
Christian Kenny
5b8e983478 ELFHeader: Detect CRC properly for PSX games, improve formatting of game serial output. 2021-11-21 03:25:37 +00:00
Christian Kenny
24d47cb10b Don't update saveslot info if VM isn't running yet 2021-11-21 03:25:37 +00:00
Christian Kenny
ae7b84a85f Savestates: Use folders for organizing savestates per game. 2021-11-21 03:25:37 +00:00
Mrlinkwii
161240045f Gamedb: add various fixes for various games and removal of patches 2021-11-21 03:03:21 +00:00
refractionpcsx2
fe85fc9d25 GIF: Modify fifo read behaviour
Fixes some glitching in Need for Speed Underground 2
2021-11-21 03:01:03 +00:00
arcum42
b8a2cd1b06 PAD: Call one joint pad header in most of pcsx2, not two. (#4985)
Add Gamepad.h

Cleanup.

Remove the Windows version of PAD.h as well.

Update CMakeLists.txt

Revert language changes.
2021-11-20 18:57:58 -08:00
refractionpcsx2
eee51828cb Build: Remove old unused cheatscpp.h file 2021-11-21 00:22:34 +00:00
refractionpcsx2
1eddd9017b 3rd Party: Update rogue file to correct license.
Got missed in an update as they switched to auto generation, but the license was switched prior to us last updating the library. See this commit: 819c6a8d68 (diff-dcf9d0451a6397210424fc9699e209255660a4d3b3072c2f1b35048df8df4092)
2021-11-20 23:33:48 +00:00
tellowkrinkle
9c0582a103 wx: Fix pxExplore on macOS (#4989)
* wx: Fix `pxExplore` on macOS

Trying to open file urls in a browser does not actually launch a file explorer in macOS

* wx: Remove pxExplore/pxLaunch

Was barely used
2021-11-19 18:35:50 -08:00
arcum42
6cd8b34abb Update the FAQ, as well as some general cleanup. (#5033)
* Update the FAQ, as well as some general cleanup.

* A few more adjustments.

* Change indentation.

* Minor changes.

* Remove the information about the time, which was incorrect.

* Life is like a hurricane...

* Modify Windows controller information.

* Add more ways to contribute.
2021-11-19 16:22:44 -08:00
Ty Lamontagne
47075bec49 Debugger: Make memory dialog transparent
Was supposed to do this in my initial memory search pr but ended up removing while fighting with git accidentally.
2021-11-19 00:53:05 +00:00
lightningterror
8eb6cbd400 GS-gui: Change blending option from None to Minimum.
None doesn't actually fully disable sw blending, so the option is a bit inaccurate, rename it to Minimum instead.

Also slightly update tooltip.
2021-11-17 22:44:51 +01:00
TellowKrinkle
8f394b5c3f GHActions:macos: Remove gtk3 dependency 2021-11-17 14:23:15 -06:00
TellowKrinkle
2245315b60 CMake: Remove gtk dep on macOS
We only need gio now
2021-11-17 14:23:15 -06:00
Connor McLaughlin
0d40661b33 VSProps: Set MultiProcessorCompilation in CodeGen props 2021-11-16 10:08:20 +00:00
refractionpcsx2
e015b91ed1 CDVD: Don't allow DMA read if DMA isn't running 2021-11-16 09:31:34 +00:00
PCSX2 Bot
de577709d9 pad-linux: Update to latest controller database. 2021-11-15 17:19:19 +01:00
refractionpcsx2
52c6d79975 VS: Organise filter confusion between GS and GIF files 2021-11-14 21:57:33 +00:00
refractionpcsx2
512064f1b5 GS: Only reload Auto MIPs on TEX base change 2021-11-14 21:57:33 +00:00
Ty Lamontagne
a396b50610 Debugger: Allow access to all of 0xBXXXXXXX 2021-11-14 20:19:33 +00:00
TellowKrinkle
67299fcd9f Core: Remove __packed macro 2021-11-14 13:52:20 -06:00
TellowKrinkle
f7476dfb63 Core: Replace alignment macros with alignas 2021-11-14 13:52:20 -06:00
TellowKrinkle
87f7672dbf GS: Remove windows includes from GS.h 2021-11-14 13:52:20 -06:00
TellowKrinkle
648a958290 GS: Split GS.h into multiple smaller headers 2021-11-14 13:52:20 -06:00
TellowKrinkle
ed90e2fcf9 GS: Header cleanup 2021-11-14 13:52:20 -06:00
TellowKrinkle
b74be70ffc GS: Switch integer typedefs to match rest of pcsx2
Had to capitalize the names of some struct params that had the same names
2021-11-14 13:52:20 -06:00
TellowKrinkle
2351431d71 Misc: Remove custom countof macros in favor of std::size 2021-11-14 13:52:20 -06:00
TellowKrinkle
7435f76609 Misc: Move GS preprocessor defs to main PCSX2 file 2021-11-14 13:52:20 -06:00
TellowKrinkle
d2c1a4a7fb Core: Add header for PCSX2-specific preprocessor definitions 2021-11-14 13:52:20 -06:00
TellowKrinkle
e37fbfddc3 Misc: Better GCC defs
Less warnings about fastcall being unsupported, proper __assume implementation
2021-11-14 13:52:20 -06:00
TellowKrinkle
8ab884a89e Misc: Format Pcsx2Defs.h 2021-11-14 13:52:20 -06:00
Mrlinkwii
42f438146c GameDB: add ee-rounding and vu-rounding to various entries 2021-11-14 16:31:25 +00:00
TellowKrinkle
08b1b350db wx: Remove wxString implicit conversion to std::string on windows
Can be lossy, and no one likes a lossy implicit conversion
2021-11-13 18:44:26 -06:00
TellowKrinkle
cbcd9b5004 wx: Remove wxString implicit constructor from std::string
On windows, it uses the current system's character encoding instead of utf-8, which breaks a lot of things.  We should avoid it.
2021-11-13 18:44:26 -06:00
TellowKrinkle
162a0bbe46 CMake: Fix duplicate definition of WavFile on Windows 2021-11-13 18:44:26 -06:00
refractionpcsx2
69d50e583e GameDB: Patches for MX Vs ATV Unleashed SPS 2021-11-13 18:51:11 +00:00
orbea
40a8384087 Update libchdr
Fixes https://github.com/PCSX2/pcsx2/issues/5009
2021-11-13 01:11:37 +00:00
lightningterror
6053b2b5c9 GS-wx: Adjust some checkboxes to be in alphabetical order. 2021-11-12 20:32:18 +01:00
TellowKrinkle
7e17497c1e GS: Require hardware renderer for hacks in wx config 2021-11-12 20:15:07 +01:00
TellowKrinkle
b573be918e wx:GS: Grow notebook with GS settings pane 2021-11-12 20:15:07 +01:00
TellowKrinkle
2fada14a65 GS: Fix Half Pixel Offset and Half Screen Fix config swap 2021-11-12 20:15:07 +01:00
TellowKrinkle
cf64a2bc8e GS: Rename accurate date config option 2021-11-11 18:18:28 -06:00
TellowKrinkle
39fd3479b7 Core: Add dev mode config 2021-11-11 18:18:28 -06:00
TellowKrinkle
536133289f wx:GS: Pad all the things 2021-11-11 18:18:28 -06:00
TellowKrinkle
3f280649a9 GS: Make spinners full width in wx config
Lines up nicer with other elements
2021-11-11 18:18:28 -06:00
TellowKrinkle
6c80aa8c98 GS: Add D3D11 blend mode selector to wx config 2021-11-11 18:18:28 -06:00
TellowKrinkle
65c39f600f GS: Renderer and upscale prerequisites for wx config 2021-11-11 18:18:28 -06:00
TellowKrinkle
3b5a9f6c6a GS: More generic prerequisite checking for wx config 2021-11-11 18:18:28 -06:00
TellowKrinkle
665db4bdad wx: Stop tripping wx3.1+ asserts in gs config 2021-11-11 18:18:28 -06:00
TellowKrinkle
b34e7fa303 GS: Add X and Y labels to wx settings texture offset 2021-11-11 18:18:28 -06:00
kojin
abc0458d4f GS: remove image header from wx settings dialog 2021-11-11 18:18:28 -06:00
kojin
1e35398a84 GS: new wx config dialog working on windows 2021-11-11 18:18:28 -06:00
kojin
be3253bf87 d3d: abstract some dxgi functionality
- adapters are now referenced by index instead of string matching, hopefully this will make a few things easier
- add a setting to enable dxgi/device debugging (instead of hiding it behind a compiler macro)
- improve logging
- remove some d3d cruft from gsutils
2021-11-11 18:18:28 -06:00
arcum42
241a762d04 GS: Switch to wx config dialog 2021-11-11 18:18:28 -06:00
TellowKrinkle
b944687191 GS: Clean up wx config code 2021-11-11 18:18:28 -06:00
arcum42
736c66ee31 GS: Add tooltips to the wx settings dialog 2021-11-11 18:18:28 -06:00
arcum42
d96f31d01b GS: Add new wx version of GS settings dialog 2021-11-11 18:18:28 -06:00
Mrlinkwii
e30c096d87 GameDB:add 'GIFFIFOHack' to 'Gunfighter 2 - Legend of Jesse James' 2021-11-11 09:15:35 +00:00
Ty Lamontagne
be71b98c55 Debugger: Update enums and fix 32 bit support
Also move bitcast to a proper location
2021-11-11 00:41:40 +00:00
Ty Lamontagne
6bec3162f6 Debugger: Use bit_cast where needed, cleanup some stuff 2021-11-11 00:41:40 +00:00
Ty Lamontagne
c863876dee Debugger: Implement CtrlMemorySearch 2021-11-11 00:41:40 +00:00
TellowKrinkle
f5d0542f06 DEV9-GUI: Rearrange config interface
Fixes HDD Size ticks from 1 to 10 (40,50,60,...) and less squished together.
2021-11-11 00:40:23 +00:00
RedDevilus
b1650eb503 PCSX2-GUI: Fix Groupboxes to align correctly
Make things look more symmetrical and structured.
Affects Audio Settings (SPU2) , Gamepad Settings (PAD) + Network and HDD Settings (DEV9).
For audio settings the slider will no longer do 0.5 steps when you change from TimeStretch. Reduce max audio latency from 750 to 200 (less is better if your PC can handle it).
Windows SPU2 codebase is in dire need of a rehaul on how it handles this behaviour (not convert it multiple times).
2021-11-11 00:40:23 +00:00
Mrlinkwii
82b090e234 GameDB: add nearest rounding to 'Hitman - Contracts' and various fixes 2021-11-10 14:14:52 +00:00
lightningterror
7f1e416d31 GS-ogl: Remove device, driver checks in GLLoader.
Duplicate, it is already handled elsewhere.

Also cleanup some stuff.
2021-11-10 02:27:18 +01:00
Ty Lamontagne
4312bf711c Debugger: Fix breakpoint window on linux 2021-11-09 18:07:46 +01:00
Ty Lamontagne
f8061448d1 Debugger: Reset breakpoint skip on savestate load 2021-11-09 18:06:54 +01:00
PCSX2 Bot
e934bec4b7 pad-linux: Update to latest controller database. 2021-11-08 17:27:08 +01:00
TellowKrinkle
4e5d7ba8ef GS:SW: Fix fog on x64 avx2 2021-11-08 09:19:05 +00:00
TellowKrinkle
59fd815c3d GS: Faster GSOffset::PAHelper 2021-11-07 03:44:31 +00:00
TellowKrinkle
b901c6af71 GS: Switch back to row+column for pixel lookups
Code for the full calculation was way too complicated to run for every pixel in a loop
2021-11-07 03:44:31 +00:00
TellowKrinkle
b2fb6c7804 GS: Don't calculate a pageOffset per bp 2021-11-07 03:44:31 +00:00
TellowKrinkle
84c5f8f738 GS: Remove rowOffset 2021-11-07 03:44:31 +00:00
TellowKrinkle
39c7f11b98 GS: Pixel loop optimizations 2021-11-07 03:44:31 +00:00
TellowKrinkle
86a2d73931 GS: Clean up old GSOffset remnants 2021-11-07 03:44:31 +00:00
TellowKrinkle
8eb50c3517 GS: Switch to new non-cached GSOffset 2021-11-07 03:44:31 +00:00
TellowKrinkle
d9defb19f9 GS: Add new GSOffset class 2021-11-07 03:44:31 +00:00
TellowKrinkle
874804bcfd GS: Add block/page loop functions to GSSwizzleInfo 2021-11-07 03:44:31 +00:00
TellowKrinkle
b0f9662811 GS: Add srav and blend backwards compat to GSVector4i 2021-11-07 03:44:31 +00:00
TellowKrinkle
24850823a2 GS: Use new swizzle calculation class 2021-11-07 03:44:31 +00:00
TellowKrinkle
951604475b GS: Add class for swizzle calculations 2021-11-07 03:44:31 +00:00
Ty Lamontagne
74f3bb2aa9 Debugger: Make the register list DPI aware 2021-11-07 03:43:55 +00:00
Tyler Wilding
4442b798c9 CDVD: set the correct RTC year when input recording 2021-11-07 02:21:01 +00:00
Tyler Wilding
f10a8de2c1 input-rec: Use a constant RTC for power-on recordings 2021-11-06 16:24:53 +00:00
Tokman5
329b29269b GameDB: Add and fix Power Pros series 2021-11-06 16:23:02 +00:00
Mrlinkwii
5b3ffe6bab GameDB: add EE clamping to 'Shadow of Zorro' and 'Evil Twin - Cyprien's Chronicles'
GameDB: add EE clamping to 'Shadow of Zorro' and 'Evil Twin - Cyprien's Chronicles'
2021-11-06 16:20:04 +00:00
Joey
fb14500b41 pad-linux: Abort 'set all btns' on escape key + gui fixes (#4809) 2021-11-06 00:44:08 -07:00
TellowKrinkle
ad29594d08 Use correct clock for GS fps calculations on unix 2021-11-05 23:11:53 -05:00
tellowkrinkle
37e2142cca Common: Fix Darwin thread times
Percentages will now actually be percentages instead of permille (units of 1/1000)
Was caused by trying to match Windows's returns of 100ns units, but then reporting 1µs units from `GetThreadTicksPerSecond()`
2021-11-05 23:11:53 -05:00
tellowkrinkle
1e5f1de12c CMake: Increase deployment target to 10.13
Allows use of throwing `optional` and `variant` methods
2021-11-05 23:11:53 -05:00
tellowkrinkle
0f93dbcd5e USB: Make save state non-required
Fixes save state loading for systems using a null USB plugin (macOS, BSD)
2021-11-05 23:11:53 -05:00
RedDevilus
e415d85dbe GameDB: Add and fix SingStar Entries
I noticed we had a ton of missing SingStar serial + minor other fixes.
2021-11-05 15:59:29 +00:00
Mrlinkwii
4c8bf53e69 CI:Add build date to program log of nightly builds 2021-11-05 01:16:08 +00:00
refractionpcsx2
83fcd4bd1f SPU: Kind of revert last ADMA change. Clear as reading.
This is a temporary measure while we run some hardware tests, the previous change broke Burnout 3's engine sounds.
2021-11-04 20:13:18 +00:00
TellowKrinkle
bfd960ad1b GHActions:Linux: Upgrade to Clang 9 2021-11-04 20:11:15 +00:00
qurious-pixel
6b81808ecc gcc compatibility for older distros
Add compatibility layer for using newer gcc on older distros.
- use AppImageKit-checkrt
- copy build system stdc++ and gcc_s
2021-11-04 20:11:15 +00:00
TellowKrinkle
c615a6f6e2 GHActions:Linux: Upgrade to GCC 10 2021-11-04 20:11:15 +00:00
TellowKrinkle
40b522b42f GHActions:Linux: Remove unneccessary packages 2021-11-04 20:11:15 +00:00
TellowKrinkle
f2655b763f GHActions:Linux: Clean up setup scripts 2021-11-04 20:11:15 +00:00
TellowKrinkle
fd145e65aa GS: Remove virtual destructor from GSAlignedClass
No point, and made it not a standard layout type
2021-11-04 19:32:27 +00:00
TellowKrinkle
6596b7f27e GS: Enable AVX2 on x64 2021-11-04 19:32:27 +00:00
TellowKrinkle
9d767838d6 GS: Remove old DrawScanline code generators 2021-11-04 19:32:27 +00:00
TellowKrinkle
f55219bb1b GS: Replace 6 DrawScanline code generators with one merged one 2021-11-04 19:32:27 +00:00
TellowKrinkle
805b647c73 GS: Remove old SetupPrim code generators 2021-11-04 19:32:27 +00:00
TellowKrinkle
fd0351ca8f GS: Replace 6 SetupPrim code generators with one merged one 2021-11-04 19:32:27 +00:00
TellowKrinkle
ed5a7802f3 Common: Add non-constant offsetof macro 2021-11-04 19:32:27 +00:00
TellowKrinkle
44f8317b7e GS: Add new code generator for easy native-isa codegen 2021-11-04 19:32:27 +00:00
TellowKrinkle
0200933ddd GS: Don't catch code generation exceptions
If codegen throws an exception, it ends up just crashing when you jump to the incompletely-generated code which is kind of useless
2021-11-04 19:32:27 +00:00
lightningterror
f712b2b63a GSDeviceOGL: Fix Wunused-private-field warnings. 2021-11-04 11:18:26 +01:00
Tyler Wilding
71923e7cba actions: cleanup discord embed links and add release body 2021-11-03 23:46:45 +00:00
refractionpcsx2
532d14611c GS: Properly loop when reading 32bit CLUT from offset 2021-11-03 18:24:57 +00:00
refractionpcsx2
3a91a07d51 GS: Fix up CLUT offset handling in 32bit I8 mode 2021-11-03 18:24:57 +00:00
refractionpcsx2
6a8287ea9f EE JIT: Backup shift on LDR/L if rs==rt 2021-11-03 18:03:09 +00:00
Tyler Wilding
dc051541bd actions: create automatic controller db updating workflow 2021-11-03 16:40:36 +01:00
lightningterror
3265c2a614 GS-ogl: Put GL_ARB_get_texture_sub_image code under a define.
Code is currently disabled, no need to check for the extension.
2021-11-03 16:37:55 +01:00
lightningterror
f798401e93 GS-ogl: Remove checks for extensions we don't yet use.
They serve no purpose, no need to check unless we actually use them

GL_ARB_compute_shader,
GL_ARB_shader_storage_buffer_object,
GL_ARB_texture_view,
GL_ARB_vertex_attrib_binding,
GL_ARB_multi_bind
2021-11-03 16:37:55 +01:00
tellowkrinkle
60791e4c2b GS-OGL: Add comment on m_accurate_stq usage 2021-11-03 01:21:11 +00:00
TellowKrinkle
bd8fcc8f81 GS: Remove inaccurate stq calculations from GSVertexTrace
They were the same speed or slower than full div on IvyBridge+ and Bulldozer+
2021-11-03 01:21:11 +00:00
TellowKrinkle
5d33165fa5 GS: Reduce repeated code in GSVertexTrace::FindMinMax
Why repeat things when you can make the compiler repeat them for you
2021-11-03 01:21:11 +00:00
TellowKrinkle
2e1d147135 GS: Faster accurate_stq calculations 2021-11-03 01:21:11 +00:00
refractionpcsx2
ee8d24a260 GS: Don't propagate 24bit textures on download 2021-11-03 00:54:29 +00:00
RedDevilus
81ac26c33c GameDB: Clean-up V2
Some minor typo clean-up and fix japanese serials.
2021-11-03 00:54:06 +00:00
Tyler Wilding
0a9cc924a4 actions: only run these new workflows and new steps on PCSX2/pcsx2 2021-11-01 20:07:31 -05:00
Tyler Wilding
86e12c9603 cmake: properly set the new tag variable 2021-11-01 20:07:31 -05:00
Tyler Wilding
79e56f21d1 actions: lint yaml replace semver with just version 2021-11-01 20:07:31 -05:00
Tyler Wilding
f9e4bb5288 actions-win: Remove remaining retention override 2021-11-01 20:07:31 -05:00
Tyler Wilding
d1085a40ba actions-docs: Add documentation for how this works 2021-11-01 20:07:31 -05:00
Tyler Wilding
c0f83524a9 actions-linux: Update linux workflow to upload artifacts to release 2021-11-01 20:07:31 -05:00
Tyler Wilding
9d2976cef6 actions-win: Update windows workflow to upload to release, also include symbols as an artifact 2021-11-01 20:07:31 -05:00
Tyler Wilding
b20dd73b30 actions: Add brand new workflows - creating and announcing the releases 2021-11-01 20:07:31 -05:00
Tyler Wilding
c32d5f1672 actions: Create script to announce a new release via a Discord WebHooks 2021-11-01 20:07:31 -05:00
Tyler Wilding
6eacade082 actions: Move the temporary location of the AppImages to align with the rest 2021-11-01 20:07:31 -05:00
Tyler Wilding
8baecb9c9c actions: Create script to upload artifacts from workflow and publish release if all are accounted for 2021-11-01 20:07:31 -05:00
Tyler Wilding
b7bdbffad4 actions: Create script for generating release notes 2021-11-01 20:07:31 -05:00
Tyler Wilding
c4e5a21c86 build: If available - use the current git tag for the build metadata 2021-11-01 20:07:31 -05:00
refractionpcsx2
a494e05fd9 CDVD: Left a debug message enabled. 2021-11-01 12:23:31 +00:00
refractionpcsx2
b5eed53db0 CDVD: Fix rotational delay, don't apply to seek commands.
Fixes #4955
2021-11-01 12:07:42 +00:00
refractionpcsx2
78881113b9 GS: Further state cleanup + fixes for older dump compatibility 2021-10-31 23:49:39 +00:00
refractionpcsx2
0d946d8083 GS: Let draw happen even if invalid, log invalid draws 2021-10-31 23:48:48 +00:00
lightningterror
2a20119fbb GSRenderer: Fix Wunused-variable warning. 2021-10-31 21:12:14 +01:00
refractionpcsx2
c84e56329f SPU2: Don't read sound input area if ADMA disabled 2021-10-31 02:24:35 +00:00
refractionpcsx2
6348fe7362 CDVD: Fix handling of Dual Layer disc latencies
Fixes #4962
2021-10-30 20:49:03 +01:00
Connor McLaughlin
20ab4dbf20 GL/StreamBuffer: Use partial instead of exact match for NVIDIA
It's "NVIDIA Corporation" on Macs, and on Windows we don't support any
GL3 GPUs anyway.
2021-10-30 16:01:55 +01:00
Connor McLaughlin
c09240de3b GS: Use stream buffer for VS/GS/FS uniforms 2021-10-30 16:01:55 +01:00
Connor McLaughlin
62b40b516c GS: Use stream buffer for vertices/indices 2021-10-30 16:01:55 +01:00
TellowKrinkle
9d2bdd5681 ContextAGL main thread & wx compatibility fixes 2021-10-30 02:00:21 +01:00
Connor McLaughlin
46283cd513 GS: Make Config.h include explicit 2021-10-30 02:00:21 +01:00
Connor McLaughlin
5ba70c8c20 GS: Remove GSWnd and use GL::Context 2021-10-30 02:00:21 +01:00
Connor McLaughlin
198fc2629e Common: Add GL context wrappers 2021-10-30 02:00:21 +01:00
Connor McLaughlin
5848efe03b GS: Migrate to glad 2021-10-30 02:00:21 +01:00
Connor McLaughlin
ca2a75db9c 3rdparty: Add glad 2021-10-30 02:00:21 +01:00
Connor McLaughlin
97474488d8 wx: Call XInitThreads on startup 2021-10-30 02:00:21 +01:00
Connor McLaughlin
0f5ed59e50 Replace pDsp with WindowInfo 2021-10-30 02:00:21 +01:00
Connor McLaughlin
114d78d378 CMake: Add options for building with X11/Wayland 2021-10-30 02:00:21 +01:00
Connor McLaughlin
fadd97c021 Common: Add WindowInfo 2021-10-30 02:00:21 +01:00
Connor McLaughlin
09764393e0 Common: Add align helpers 2021-10-30 02:00:21 +01:00
Connor McLaughlin
de8b4f17a1 Common: Add ScopedGuard 2021-10-30 02:00:21 +01:00
refractionpcsx2
52eab49359 Merge branch 'master' of https://github.com/PCSX2/pcsx2 2021-10-28 20:03:03 +01:00
refractionpcsx2
3ac86a19ff GIF: Time transfers from FIFO correctly.
Will break FIFA Street 2 / FIFA 2005 but they can be fixed with GIF FIFO Gamefix + Cycle Rate + 3
2021-10-28 20:02:35 +01:00
TheLastRar
0dea6dbc9d DEV9: DNS logger crash fix 2021-10-28 19:48:20 +02:00
lightningterror
23283b7f0a pad-linux: Update to latest controller database. 2021-10-27 01:50:27 +02:00
lightningterror
7ac56a0d11 emitter: Fix Wsign-compare warnings. 2021-10-27 01:00:38 +02:00
lightningterror
667f98334a iR5900: Fix Wodr warnings. 2021-10-27 01:00:38 +02:00
lightningterror
6825b5d79a SaveSlots/UpdateUI: Fix Wsign-compare warning. 2021-10-27 01:00:38 +02:00
lightningterror
ac91a48182 PGIF: Fix Wunused-variable warnings. 2021-10-27 01:00:38 +02:00
refractionpcsx2
855b46edee VU: Fix Wsign-compare warnings. 2021-10-27 01:00:38 +02:00
lightningterror
8a531ad2cb VU: Fix Wsequence-point warnings. 2021-10-27 01:00:38 +02:00
lightningterror
5a1dabc293 GS: Fix Wunused-variable warnings. 2021-10-27 01:00:38 +02:00
Ty Lamontagne
3705054095 Debugger: Support multi-line assembling 2021-10-26 15:24:52 +01:00
Ty Lamontagne
0fed1cbedd clang-format: pcsx2/CDVD/CDVD.cpp 2021-10-26 09:56:41 +01:00
Ty Lamontagne
f5a9b98578 CDVD: Reset VM on sceCdPowerOff writes 2021-10-26 09:56:41 +01:00
refractionpcsx2
bfbe86a3d5 COP2: Tighten LQC2/SQC2 sync
Fixes some small glitches with the R&C games
2021-10-26 00:05:46 +01:00
kojin
d70631477d gs: remove unused path3 hack 2021-10-25 20:35:37 +02:00
kojin
936cf5b60d gs: remove unused tex flush param
keep the logging for now
2021-10-25 20:35:37 +02:00
kojin
8095490d23 gs: remove old pre-mtgs cruft 2021-10-25 20:35:37 +02:00
kojin
740b421ce8 gs: gsstate (the old gsdx one) misc cleanup
just some spring cleaning since I'm here anyway.
mostly getting rid of dead code and comments
adding some comments and logging
remove some asserts
making the code a little easier to read

stuff like that
2021-10-25 20:35:37 +02:00
TheLastRar
4273b6ce37 DEV9: Fix Windows config saving/loading 2021-10-25 20:31:39 +02:00
lightningterror
0717353069 Core: Few more warnings fixup. 2021-10-25 20:23:55 +02:00
refractionpcsx2
bb494af6b0 CDVD: Buffer up to 16 sectors 2021-10-25 09:42:00 +01:00
Mrlinkwii
05dfe0b0ac GameDB:add 'VUKickstart' to 'Maken Shao' games (#4935) 2021-10-24 23:40:09 +01:00
TellowKrinkle
b63f6e807c DEV9: Prevent saving invalid configurations 2021-10-22 20:39:44 -05:00
TellowKrinkle
18b982dc6a DEV9: Clean up config code 2021-10-22 20:39:44 -05:00
TellowKrinkle
f5cfd7e6bf DEV9: Split ethernet adapter api config selection into separate dropdown 2021-10-22 20:39:44 -05:00
TellowKrinkle
b16b759adf DEV9: Inline hdd size in config 2021-10-22 20:39:44 -05:00
TellowKrinkle
687e5d41e1 DEV9: Don't use collapsible panes for config 2021-10-22 20:39:44 -05:00
TellowKrinkle
3ba3ac5813 DEV9: Add tap adapters to new config on Windows 2021-10-22 20:39:44 -05:00
TellowKrinkle
b48ae6d519 DEV9: Translatable strings for HddCreate 2021-10-22 20:39:44 -05:00
TellowKrinkle
e068d24920 DEV9: Switch Windows config dialog to wx 2021-10-22 20:39:44 -05:00
TellowKrinkle
85bc4f1027 DEV9: Switch Linux config dialog to wx 2021-10-22 20:39:44 -05:00
Connor McLaughlin
005f8c7d1d Config: Fix zoom/stretch options not updating on Apply 2021-10-21 13:22:31 +02:00
refractionpcsx2
0a72e7474e GameDB: Add gamefixes for Ruff Trigger 2021-10-20 20:18:22 +01:00
refractionpcsx2
7a330340ac GameDB: Port Iridium Runners patch, update fixes 2021-10-20 20:15:46 +01:00
refractionpcsx2
24e73b3134 Savestates: Add missing things from Savestates (#4917)
Savestates: Add missing variables from Savestates
2021-10-20 10:41:50 +01:00
TellowKrinkle
c3e5b4225b GSdx:SW: Prevent thread ping-pong in software renderer sync 2021-10-19 16:04:15 -04:00
TellowKrinkle
85f1acb7b7 MTGS: Don't unlock mutex if you're just going to lock it again
Poor MTVU thread getting trolled by the GS thread.  By the time it wakes up its lock is taken again.  When under contention (GS thread behind the VU thread), this caused the GS thread to waste an additional 8% of its time pointlessly waking the VU thread
2021-10-19 16:04:15 -04:00
TellowKrinkle
881b017606 Utilities: Add TryWait and spin waits to semaphore and mutex 2021-10-19 16:04:15 -04:00
TellowKrinkle
5ff89dd695 Utilities: Add functions for spin waiting 2021-10-19 16:04:15 -04:00
TellowKrinkle
cf02893d22 macOS: faster semaphores
mach semaphore is kernel-only, and doesn't have a userspace fast path
2021-10-19 16:04:15 -04:00
refractionpcsx2
5011b9ead5 EE: Cyclerate > 1 caused some cycles to be lost 2021-10-19 20:09:07 +01:00
refractionpcsx2
6746578120 VU JIT: Include ADDi in flag calculations
Fixes #4916
2021-10-18 12:32:44 +01:00
refractionpcsx2
a85247ff9f GIF: re-re-fix FIFO behaviour
Fixes #4915
2021-10-18 12:14:21 +01:00
refractionpcsx2
c363241fad GS: Partial revert of #4891
Fixes performance problems with Baldur's Gate 2
2021-10-17 16:45:04 +01:00
lightningterror
d875bff471 pad-linux: Update to latest controller database. 2021-10-17 17:15:38 +02:00
Connor McLaughlin
44bc273590 microVU: Use uncached reg when clamping for FMAC instructions 2021-10-17 15:54:58 +01:00
arcum42
9044531a80 Add the current profile to the status bar. (#4888) 2021-10-17 01:19:18 -07:00
TellowKrinkle
f22ba886d9 Fix unparenthesized macro input 2021-10-17 04:17:58 +01:00
Ziemas
3f6ac2fa68 Debugger: Separate EE and IOP symbol maps
Previously they shared a single map which dosen't make sense.
2021-10-17 04:08:35 +01:00
Ziemas
7fd40f094a Debugger: more clang-tidy 2021-10-17 04:08:35 +01:00
Ziemas
f873e3b630 Debugger: Prefer override over virtual 2021-10-17 04:08:35 +01:00
Connor McLaughlin
6da938a714 GS: Get rid of a bunch of warnings in GSDeviceOGL 2021-10-17 03:34:44 +01:00
tellowkrinkle
934a7f70b2 Remove 30-day artifact retention on windows builds
Should revert to default of 90 days
2021-10-16 23:55:24 +01:00
refractionpcsx2
9109751ff0 CDVD: Insert step on swap for Generic Detect before type detect 2021-10-14 23:16:48 +01:00
refractionpcsx2
880107e72b BIOS/FastBoot: If OSDConfig is written, turn off HLE
Fixes #4902
Savestate bump, sorry.
2021-10-14 22:27:02 +01:00
refractionpcsx2
f14c9e7ddd CDVD: Fix tray closure on No Disc 2021-10-14 22:22:37 +01:00
refractionpcsx2
d736c8b281 CDVD: Use CD or DVD detecting types 2021-10-14 21:51:48 +01:00
refractionpcsx2
a96f900760 COP2: Simplify reg allocation 2021-10-14 10:06:13 +01:00
Ziemas
45bb57a38c IOP Recompiler: Fix BIOS trace logging on 64bit 2021-10-13 22:42:51 +02:00
refractionpcsx2
1b31eb9e4a Common: Fix AT&T mixup in FastJmp code 2021-10-12 23:08:13 +01:00
lightningterror
d36043c678 GS Debugger: Show "D3D11 HW" only on windows. 2021-10-12 03:54:35 +02:00
refractionpcsx2
54d10d21ec CDVD: Simulate 1 sector read ahead 2021-10-11 00:16:00 +01:00
Mrlinkwii
4c7a251f6d GUI : remove EE Cycle Skipping 3 2021-10-10 16:52:28 +01:00
lightningterror
e597f68620 pad-linux: Update to latest controller database. 2021-10-10 15:07:26 +02:00
lightningterror
6ed00107cf GS: Revert be7e1163b4
Completely remove the code instead of commenting it out, seems to cause
issues with several games.
2021-10-08 21:56:25 -04:00
kojin
ef2c7ac480 gs-tc: propagate texture shuffle format on readback 2021-10-08 21:43:54 -04:00
lightningterror
575b88ac04 gs: Fix recent clamp range changes.
Arguments were in wrong order by mistake.
Let's pretend that didn't happen.
2021-10-09 02:40:30 +02:00
lightningterror
2e0b8302dd GS-hw: Add Slam Tennis to automatic mipmapping.
Close #4866
2021-10-08 20:57:39 +02:00
lightningterror
a2ba0ae818 gs-d3d11: Fix Shade Boost Contrast and Saturation swapped values. 2021-10-08 13:31:17 +02:00
refractionpcsx2
ae1f1599f6 COP2: Fix reg allocation issue
Really fixes Devil May Cry which was a bug hidden by clamping hidden by a bug, yeah i think that covers it all...
2021-10-07 23:29:04 +01:00
Mrlinkwii
296911bef9 GUI: remove preset 4,5,6 2021-10-07 22:15:00 +01:00
refractionpcsx2
05dc48df07 GameDBL Add VU clamping for Devil May Cry
Also fix a COP2 arrangement issue, not sure what it fixes.

Clamping previously wasn't needed as it was masked by a bug.

Fixes #4884
2021-10-07 20:45:24 +01:00
lightningterror
660c623dd0 pad-linux: Update to latest controller database. 2021-10-05 16:29:14 +02:00
refractionpcsx2
b8f4a8ffb3 CDVD: Added simple rotational latency
Also removed DMA delay
2021-10-05 13:25:12 +01:00
refractionpcsx2
6bed14cb26 CDVD: Time reads by sectors per second instead of bytes 2021-10-05 13:25:12 +01:00
Mrlinkwii
8cad96499d GameDB :add PS2Linux Release 1.0 Runtime Environment [Disc 1] 2021-10-05 13:24:57 +01:00
Connor McLaughlin
0ccad56ee6 Wx: Reinitialize folders after running first time wizard 2021-10-05 11:54:44 +01:00
Connor McLaughlin
d440360906 clang-format Config.h and Pcsx2Config.cpp 2021-10-05 11:54:44 +01:00
Connor McLaughlin
3c522a0e60 Config: Add missing equality comparisons for a few fields
Fixes memory card changes not getting applied.
2021-10-05 11:54:44 +01:00
Connor McLaughlin
00fbc8289d Wx: Fix trace log settings getting very confused 2021-10-05 11:54:44 +01:00
kojin
1f386cf8bd recording: don't use NULL in wxChoice 2021-10-04 03:17:30 -04:00
kojin
86278b75e4 core: fix header includes for bsd 2021-10-04 03:17:30 -04:00
kojin
a94a324423 common: Don't use linux-specific OS description
wxGetLinuxDistributionInfo is linux only
2021-10-04 03:17:30 -04:00
kojin
4df3bee178 common: don't use NULL in SafeSysMunmap
BSD maps NULL to nullptr_t which is a problem because it's not a ptr type
2021-10-04 03:17:30 -04:00
kojin
e04c890018 cmake: freebsd fixup 2021-10-04 03:17:30 -04:00
kojin
e096814697 cmake: fix a bunch of override warnings 2021-10-03 18:27:19 -04:00
refractionpcsx2
a6e188692e Savestate version bump due to CDVD changes 2021-10-03 20:14:55 +01:00
refractionpcsx2
8d92c0668c CDVD: Implement Disc Swapping (#4860)
Inspired by the work by fldef, fixes up swapping support for ISO's and physical discs

CDVD: Set the disk type to none/detecting when seeking.
Also disable the skip BIOS flag if we're not skipping the BIOS
CDVD: Fix up swapping behaviour, Singstar etc
2021-10-03 17:27:15 +01:00
Mrlinkwii
759b869c1c GameDB :add VU clamping to Monster Rancher 3 2021-10-03 17:00:02 +01:00
lightningterror
c59db35ce2 GS: Fix OSD, Shade Boost slider values not showing. 2021-10-03 14:25:44 +02:00
refractionpcsx2
d0d58ded29 CDVD: Redesign and fix the Fast CDVD speedhack
Rather than setting it to a constant cycle count, it just halves all cycle counts being passed to it which aren't full seeks.
2021-10-03 10:49:51 +01:00
Mrlinkwii
65ce152e2c Gamedb :add 'SingStar ABBA' entry 2021-10-03 10:16:21 +01:00
Connor McLaughlin
4fc8a588ed Wx: clang-format AppConfig.cpp 2021-10-03 06:04:00 +01:00
Connor McLaughlin
a585a27d1e Wx: Fix regressions from settings decouple
Wx: Fix GS hotkeys losing values after reboot

Wx: Fix trace log hotkey losing value after reboot

WxSettingsInterface: Fix uint value loads

Wx: Fix presets resetting GS window settings

Common/SettingsWrapper: Fix SettingsWrapBitfield
2021-10-03 06:04:00 +01:00
Connor McLaughlin
1e703286f0 Config: Convert MemoryCardType to an enum class 2021-10-03 04:44:16 +01:00
Connor McLaughlin
d72c476483 Config: Fix folder memory cards initial load 2021-10-03 04:44:16 +01:00
Ty Lamontagne
3fdc32d9d7 Debugger: fix Goto in Disasm option for memory view
Was I drunk?
2021-10-02 22:04:11 +01:00
lightningterror
5e481951ea GS: Cleanup ini ranges for some values.
Use clamp instead of min max for OSD and Shade Boost.
Don't allow negative value for upscale multiplier.
2021-10-02 17:59:39 +02:00
TellowKrinkle
603537719e GS: Switch SW renderer statistics back to rdtsc
GetCPUTicks can be pretty low resolution on some systems
2021-10-02 00:01:19 -04:00
TellowKrinkle
c4e3bd148f GS: SW renderer statistics printout improvements 2021-10-02 00:01:19 -04:00
TellowKrinkle
91f1eca95e GS: Fix prim count in SW renderer debug stats
Previously was actually draw count, not prim count
2021-10-02 00:01:19 -04:00
TellowKrinkle
8123cc27db GS: Improved SW renderer debug stats 2021-10-02 00:01:19 -04:00
TellowKrinkle
e68fa34372 core: Force-include pch on vs
CMake does this by default.  This way we can make non-pch builds not take forever by only including what's required instead of the entire pch
2021-10-01 23:58:27 -04:00
refractionpcsx2
8476fc3b5a CDVD: Implement correct SpindleCtrl handling
Semi decouple end of CDVD DMA's
Fix alternative reading method for reading not picking the correct speeds for DVD's
2021-10-02 04:47:11 +01:00
Connor McLaughlin
a41ec422d2 Config: Move some Current fields to wx and fix UTF8 handling 2021-10-01 23:46:52 -04:00
Connor McLaughlin
ca523edf0e Config: Move folders to their own namespace
Don't duplicate in EmuOptions.
2021-10-01 23:46:52 -04:00
Connor McLaughlin
43dfbe3f29 Move more classes from common to gui 2021-10-01 23:46:52 -04:00
Connor McLaughlin
c1fc018449 Config: Use SettingsInterface for base config 2021-10-01 23:46:52 -04:00
Connor McLaughlin
6fa82da1f1 Common: Add SettingsInterface and SettingsWrapper 2021-10-01 23:46:52 -04:00
Connor McLaughlin
817524bd1c Config: Use std::string instead of wxFileName 2021-10-01 23:46:52 -04:00
Connor McLaughlin
171a395369 Common: Add StringUtil 2021-10-01 23:46:52 -04:00
Connor McLaughlin
4d8905abd6 Config: Swap out wxString for std::string
Also in CDVD.
2021-10-01 23:46:52 -04:00
Connor McLaughlin
d13982ea0e IniInterface: Support std::string entries 2021-10-01 23:46:52 -04:00
Connor McLaughlin
f79f85480b CDVD: Use ANSI variants on Windows for disc access
The drive path is not going to contain unicode characters.
2021-10-01 23:46:52 -04:00
Connor McLaughlin
17c049d7e3 SaveState: Simplify and convert to std::thread 2021-10-01 23:46:52 -04:00
Connor McLaughlin
3fdab1222b Rename keyEvent to HostKeyEvent 2021-10-01 23:46:52 -04:00
Connor McLaughlin
c234f83ca6 SaveState: Move file generation logic out of GUI 2021-10-01 23:46:52 -04:00
Connor McLaughlin
640e955c38 Move MemoryCard{File,Folder} out of GUI 2021-10-01 23:46:52 -04:00
Connor McLaughlin
307feefa87 Config: Move gzip index template to base config 2021-10-01 23:46:52 -04:00
Connor McLaughlin
15365c8702 Config: Remove unused FullBootConfig 2021-10-01 23:46:52 -04:00
Connor McLaughlin
bd9b43b482 Config: Move more GS settings to base class 2021-10-01 23:46:52 -04:00
Connor McLaughlin
77a890ff4a Config: Move Folders/BaseFilenames to base config 2021-10-01 23:46:52 -04:00
Connor McLaughlin
3f265b3f1c Config: Get rid of subset mutators and const global 2021-10-01 23:46:52 -04:00
Connor McLaughlin
4b2a81e7ff Move GetCoreThread()/GetMTGS() to AppCoreThread.cpp 2021-10-01 23:46:52 -04:00
Connor McLaughlin
6b2a865e57 Remove references to global CoreThread (use accessor) 2021-10-01 23:46:52 -04:00
Connor McLaughlin
324a3d09e6 PathUtils: Make wxDirName::{Rmdir,Mkdir} const 2021-10-01 23:46:52 -04:00
Connor McLaughlin
8b44e3d6f6 Config: Move some enums from AppConfig->Config 2021-10-01 23:46:52 -04:00
TellowKrinkle
0cc8d402d6 GHActions: Enable partial LTO 2021-10-01 23:04:42 -04:00
TellowKrinkle
83e9513623 CMake: Add option for partial LTO 2021-10-01 23:04:42 -04:00
TellowKrinkle
7ede817241 CMake: Move PCSX2 compile flags to separate target
Makes it easier to split compilation across multiple targets
2021-10-01 23:04:42 -04:00
kozarovv
a09a6db24d PGIF: Remove force fifo clear on GP1 (00-01)
Clearing GP0 fifo is handled internally in PS1DRV.

This commit additionally remove annoying log from devbuilds.
2021-10-01 22:47:17 -04:00
Connor McLaughlin
2241e635c6 gui: Use uintptr_t for storing numbers in pointers 2021-10-01 22:45:12 -04:00
Connor McLaughlin
dd3db3fc54 GS: Fix a couple of 64 bit warnings 2021-10-01 22:45:12 -04:00
Connor McLaughlin
928bf71d2a tools/bin2cpp: Fix 64-bit warnings 2021-10-01 22:45:12 -04:00
Connor McLaughlin
8e1470f637 iR5900: Use fastjmp instead of longjmp 2021-10-01 23:30:39 +01:00
Connor McLaughlin
91627b28b4 R5900: Get rid of ScopedBools 2021-10-01 23:30:39 +01:00
Connor McLaughlin
4594e02812 Common: Add Fastjmp 2021-10-01 23:30:39 +01:00
refractionpcsx2
2af8cde40d GIF: Correct GIF FIFO timing logic 2021-10-01 22:25:09 +01:00
Connor McLaughlin
97b94acd86 CDVD: Fix possible uncaught exception in CheckDiskTypeFS 2021-10-01 13:26:08 +01:00
lightningterror
e0caacfa6f GS-hw: Don't write clamped depth test value to depth buffer when ZMSK is enabled.
Fixes missing shadows in Kingdom Hearts: Chain of Memories.
2021-10-01 13:25:49 +02:00
Connor McLaughlin
6ff46a795f Common/StringHelpers: Fix printing of 64-bit pointers 2021-10-01 12:10:19 +01:00
Connor McLaughlin
9abaa1adf6 Common/Mutex: Fix compiling without wxUSE_GUI 2021-10-01 10:06:09 +01:00
jackun
42d730c80f USB: dshow: Initialize multi-threaded COM libs 2021-09-30 21:49:56 +02:00
Tokman5
c3c15a95c4 Use GetCheatsFolder() to check the path correctly when non-default folder is set. 2021-09-30 10:00:56 +01:00
lightningterror
384f87b89c locales: Fix '\v' escape sequence warnings. 2021-09-30 02:15:43 +02:00
lightningterror
a25dc9c38c ICore: Cleanup Wsign-compare warnings. 2021-09-30 01:07:59 +02:00
lightningterror
1497e894cf Debugged: Fix Wimplicit-fallthrough warning. 2021-09-30 01:07:59 +02:00
Mrlinkwii
e6728d9d55 Docs : add 'VUOverflowHack' to GameIndex documentation and corrections 2021-09-29 17:41:08 +01:00
refractionpcsx2
c0443e25f9 UI: Reorder the gamefixes panel 2021-09-29 17:33:13 +01:00
refractionpcsx2
7faa5db9e5 VU/GameDB: Move Mac/Status overflow flag checks to a gamefix
We can't really do this reliably on x86 without soft floats, but superman still needs it, but it breaks other games.
2021-09-29 17:33:13 +01:00
lightningterror
d53171e20f ci-mac: Bump macos version to 11. 2021-09-28 20:14:29 -05:00
Mrlinkwii
48eee328b9 UI: Hide Synchronous GS in release builds (#4838)
UI: make ' Synchronized MTGS'  UI settings exclusive to debug/devel
2021-09-28 12:11:12 +01:00
lightningterror
21c6bb6b59 SourceLog: Try to fix Wreorder warnings. 2021-09-26 20:42:12 +02:00
lightningterror
b0932825a9 Debugger: Try to fix Wreorder warnings. 2021-09-26 20:42:12 +02:00
TheLastRar
be9587d520 DEV9: Reuse variable in internal server 2021-09-26 17:56:42 +01:00
TheLastRar
635f411880 DEV9: Add DNS Logging 2021-09-26 17:56:42 +01:00
TheLastRar
24f97fd221 DEV9: Add internal DNS server 2021-09-26 17:56:42 +01:00
TheLastRar
ca3b857f22 DEV9: Rename config struct to avoid conflicting with USB Config struct 2021-09-26 17:56:42 +01:00
TheLastRar
bac0930591 DEV9: Correct namespace for DNS Enums 2021-09-26 17:56:42 +01:00
Ty Lamontagne
1f31edf65c Perf: Fix missing include 2021-09-26 17:26:57 +01:00
TheLastRar
39328c5c66 DEV9: Clang format tap-win32 2021-09-26 17:14:40 +01:00
TheLastRar
26ea5bcfed DEV9: Log when we fail to get adapter information for internal servers 2021-09-26 17:14:40 +01:00
TheLastRar
2d0ad7fb72 DEV9: Add missing flag to GetAdaptersAddresses call in pcap 2021-09-26 17:14:40 +01:00
Ty Lamontagne
cd22a1d00d GS-ogl: Fix regression that broke linux HW mode 2021-09-26 17:05:04 +01:00
Mrlinkwii
485e514409 SPU2:fix Wsign-compare warning
SPU2:fix Wsign-compare warning
2021-09-26 16:47:18 +01:00
Silent
71b2c17e2c SPU2: Refactor SndOut_XAudio2.cpp 2021-09-26 16:06:40 +01:00
Mrlinkwii
954688a38d Docs: improve documentation for Gameindex.md
Docs: improve  documentation  for Gameindex.md
2021-09-26 16:01:12 +01:00
lightningterror
def04c2524 pad-linux: Update to latest controller database. 2021-09-26 14:16:04 +02:00
lightningterror
963f071a70 GS-d3d11: Cleanup GSDevice11 a bit.
Use const if possible, declare and initialize HRESULT at the same time
when possible.
2021-09-26 14:09:43 +02:00
lightningterror
e45aa63a8b GS-ogl: Cleanup GSDeviceOGL a bit.
Use const, constexpr if possible,
Isolate m_debug_gl_file code in debug level only,
shorten some functions and properly initialize variables.
2021-09-26 14:09:43 +02:00
lightningterror
5627d91c17 GS: Cleanup GSDevice a bit, use const when possible. 2021-09-26 14:09:43 +02:00
Ty Lamontagne
aef731fdbe MicroVU: Fix branch type detection
amendment of 589aba
2021-09-26 05:13:28 +01:00
Mrlinkwii
5a9aeb165f GameDB:add 'VUKickstartHack' to SOCOM II entries 2021-09-26 03:20:43 +01:00
Silent
c1fea5bc16 GSTexture11::Save: Preserve the original pointers for a RAII Unmap
Fixes a regression from WIL migration, Unmap was called on
mutated pointers.
2021-09-25 14:32:10 -04:00
Silent
b5f9e14cd3 PortAudio: Uncomment Pa_Terminate
Thanks to the threading changes, proper teardown can now be allowed.
2021-09-25 14:32:10 -04:00
Silent
0ab31a2e9f GSCapture: Fix a premature GSSource release
CUnknown starts with a refcount of 0, so a "nonstandard"
assignment needs to be performed, even though it looks like
a COM reference leak at the first glance.
2021-09-25 14:32:10 -04:00
Silent
4c941f81ec Delegate systems teardown to EE Core when pausing
Fixes issues caused by Cleanup/Init on the Main Thread
instead of the EE Core thread. Now systems are only set up
and torn down on one thread.
2021-09-25 14:32:10 -04:00
Silent
e6e7a55d7e AppCoreThread: Clean up BaseSysExecEvent_ScopedCore usage
Seems like the ScopedCoreThreadPause parameter is legacy
and was only getting in the way of an upcoming change to that event.
2021-09-25 14:32:10 -04:00
refractionpcsx2
f7bcb92d9a VU: Only wait for VU sync after wait macro if VU0 still running
Makes Tekken Tag a good 2-4 FPS faster.
2021-09-25 01:51:19 +01:00
Mrlinkwii
2406ae6e07 GameDB: add EEclamping to the 'Virtual On' series
GameDB: add EEclamping to the 'Virtual On' series
2021-09-24 15:59:21 +01:00
TellowKrinkle
74b08589c4 CMake: Fix up some defines 2021-09-24 00:31:16 -05:00
TellowKrinkle
5435718167 Common: Clean up DarwinMisc 2021-09-23 22:45:37 -05:00
TellowKrinkle
87c56ccfc4 macOS: Fix async file reader error handling
Should fall back to blocking io if aio fails
2021-09-23 22:42:11 -05:00
kojin
1a29a6da1d gs: test for th for tex0 flush
previous code didn't test TH which was a problem for vampire nights because they upload a c16 texture to the same address but with a different height
2021-09-23 16:48:39 -04:00
refractionpcsx2
d73bf834b3 SIF: Kind of revert a SIF timing change made a while back to fix Parappa the Rapper 2 2021-09-23 04:44:34 +01:00
TellowKrinkle
ffbfd2c844 GUI: Check console color support before using it 2021-09-22 15:16:02 -05:00
TellowKrinkle
0f4f09c597 GUI: Enable console to stdio on macOS 2021-09-22 15:16:02 -05:00
refractionpcsx2
f5f44286bf EE: 64bit compare for 64bit mode, not 32bit 2021-09-22 19:57:40 +01:00
TellowKrinkle
65e57a8230 iR5900: Use 64-bit math on x86-64 2021-09-22 12:47:49 +01:00
TellowKrinkle
e74ba82093 iR5900: Move repeated code into functions 2021-09-22 12:47:49 +01:00
TellowKrinkle
b8eb18836f GUI: Remove ineffective alignment specifiers
WX 3.1.5 asserts on these, not fun
2021-09-21 22:04:56 -05:00
TellowKrinkle
66a1c26b77 GUI: Fix crash on asserts from outside of PCSX2 2021-09-21 22:04:56 -05:00
TellowKrinkle
f4010029f1 core: Fix up issues introduced in vtlb xmm change 2021-09-21 21:47:40 -05:00
Silent
cff9f83a45 PortAudio: Remove DirectSound backend 2021-09-21 23:14:39 +01:00
TellowKrinkle
0d7f141279 EERec: Don't load in skip case of SW[LR] 2021-09-21 22:57:41 +01:00
TellowKrinkle
23578e963f EERec: Don't load in skip case of SD[LR] 2021-09-21 22:57:41 +01:00
TellowKrinkle
e9518f78c7 vtlb: Switch read64 and read128 handlers to return in sse regs 2021-09-21 22:57:41 +01:00
TellowKrinkle
7563f54e83 EERec: Clean up [LS]D[LR] a bit 2021-09-21 22:57:41 +01:00
RedDevilus
b7f1c65f7e GameDB: Add missing chinese entries v2
Seems there were still some missing serials, it's pretty hard to track if there are dozen more but it did had a console ban there after short-lived debut.
2021-09-21 22:50:00 +01:00
refractionpcsx2
e127ca0cd1 COP2: Set correct number of XMM's per COP2 OP + Fix some hidden bugs
Corrects XMM count for COP2 ops (some might be wrong, keep an eye out in the logs)
Fixes a hidden microVU bug with a SUB shortcut + some reg allocation bugs in QMFC/QMTC hidden by flushes.
2021-09-21 22:46:33 +01:00
refractionpcsx2
752957604e COP2: Flush only needed register slots 2021-09-21 22:46:33 +01:00
refractionpcsx2
fba9c6c04d COP2: never flush EE regs but back them up conditionally 2021-09-21 22:46:33 +01:00
Mrlinkwii
05b8e80ac8 GameDB: add VU clamping to 'Battle Engine Aquila'
GameDB: add VU clamping to 'Battle Engine Aquila'
2021-09-21 18:32:21 +01:00
Mrlinkwii
5f9653d9ef Gamedb: add EE clamping to 'Max Payne 2 - The Fall of Max Payne'
Gamedb: add EE clamping to 'Max Payne 2 - The Fall of Max Payne'
2021-09-21 18:31:20 +01:00
Joey
d67caab621 Docs: correct CONTRIBUTING.md
fix spelling mistake in CONTRIBUTING.md
2021-09-21 17:59:54 +01:00
Mrlinkwii
5e9fe31f4e GameDB:fix serial for 'Panzer Elite Action - Fields of Glory'
GameDB:fix serial for 'Panzer Elite Action - Fields of Glory'
2021-09-20 21:28:10 +01:00
RedDevilus
55173bf27a GS-GUI: Add tooltip for Dithering
The PS2 and PS1 supported dithering where-as PCSX2 didn't support hardware dithering till 1.7 dev builds. Some games have no dithering, others have dithering in the shadows or others like baroque just smear it full with this affect so it's an extreme example: https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=ab92a0e0-f91e-11ea-bf88-a15b6c7adf9a
2021-09-19 21:04:53 +01:00
Ty Lamontagne
252eaa2d62 UI: Select a bios by default 2021-09-19 20:47:28 +01:00
Mrlinkwii
cfdacb900e GameDB: add VU clamping to 'Enthusia Professional Racing'
GameDB: add VU clamping to 'Enthusia Professional Racing'
2021-09-19 18:53:13 +01:00
refractionpcsx2
8fe0061751 VU: Sync tighter when VU Kickstart is disabled + Improved M-Bit Sync 2021-09-19 18:49:24 +01:00
refractionpcsx2
ee9672858c VU Int: Remove rogue value from debug logging 2021-09-19 16:30:08 +01:00
Connor McLaughlin
1ee0e23617 GS: Downgrade include AppCoreThread.h -> AppConfig.h 2021-09-17 22:03:00 -04:00
Connor McLaughlin
1dfd2e2ec1 AppCoreThread: Remove unused DisassemblyDialog.h include 2021-09-17 22:03:00 -04:00
Connor McLaughlin
65aa811344 DebugTools: Add missing Config.h include 2021-09-17 22:03:00 -04:00
Connor McLaughlin
e2992cbc02 Remove gui/ directory from target-wide includes 2021-09-17 22:03:00 -04:00
refractionpcsx2
a546cb8f7f microVU: Use 16 xmm's in x64 2021-09-17 14:37:11 +01:00
Mrlinkwii
9c24e48e68 Docs: update GameIndex .md and .pdf
Docs: update  GameIndex .md and .pdf
2021-09-17 14:29:49 +01:00
refractionpcsx2
862d606514 EE Rec: Added LDR/LDL
Also fixed slight optimisation bug in SDL
2021-09-17 13:06:47 +01:00
refractionpcsx2
5f58c325ca EE JIT: Implement SDR/SDL instructions 2021-09-17 13:06:47 +01:00
refractionpcsx2
c1d21c5513 GameDB: Added some required XGKick gamefixes 2021-09-17 13:04:26 +01:00
refractionpcsx2
d9c4ace613 VU: Put XGKick 1 cycle behind to fix sync issues with Jaws Unleashed
Also added Jaws unleashed xgkick gamefixes to the DB
2021-09-17 13:04:26 +01:00
refractionpcsx2
59dfe52b52 microVU: Replace XGKick hack with synced XGKick option
Fixes Tennis Court Smash and Love Smash games which previously couldn't be fixed.
WRC no longer requires a patch, just the xgkickhack option.

Note: it's not a hack anymore, it just has to be called that :P
2021-09-17 13:04:26 +01:00
refractionpcsx2
d3f0718001 SPU2: Disallow KeyOn within 2T of last KeyOn
Fixes Legend of Spyro New Beginning hang
2021-09-17 13:04:15 +01:00
RedDevilus
f460cac3ba GameDB: Sports (RTL)
Mostly missing RTL sports clamp modes. People knew the fixes on the forum but don't make PR or didn't tell anyone. Testers hoarding bugs :P
2021-09-17 10:24:13 +01:00
RedDevilus
4586a645fc GameDB: Katamari Games
The automatic gamefixes were incorrect as it would SPS. Fix the SPS with nearest VuRound and then Extra + Preserve sign for VuClamp. God will be pleased.
2021-09-17 10:20:15 +01:00
Mrlinkwii
beb8ec2668 GameDB :add 'VUKickstartHack' to the Full Spectrum games
GameDB :add 'VUKickstartHack' to the Full Spectrum games
2021-09-17 10:19:57 +01:00
Mrlinkwii
e68c977ecf GameDB: add 'VUKickstartHack; to path of neo
GameDB: add 'VUKickstartHack' of path of neo
2021-09-17 01:08:43 +01:00
Silent
45de8f77cd Make CheckIsUserOnHighPerfPowerPlan use WIL 2021-09-16 17:31:45 -04:00
Silent
ec9c6521fd Migrated tap-win32 2021-09-16 17:31:45 -04:00
Silent
bdb4ff0d83 Migrated SndOut_XAudio2 2021-09-16 17:31:45 -04:00
Silent
f343614640 Target Windows 8 via project settings
It's needed for the next commit, as thanks to wxWidgets
anything using the precompiled header would default to 0x0600 (Vista)
instead of 0x0602 (Win8).

Now-redundant WINNT definitions resulting in macro redefinition
warnings have been removed.
2021-09-16 17:31:45 -04:00
Silent
8841df96c0 Migrated GSDevice11, GSTexture11, GSSettingsDlg, GSUtil 2021-09-16 17:31:45 -04:00
Silent
8c6cad559e Migrated GSCapture and GSCaptureDlg 2021-09-16 17:31:45 -04:00
Silent
ed62ae124b Add Windows Implementation Libraries 2021-09-16 17:31:45 -04:00
kojin
0a7b725340 don't track local vs cmake settings 2021-09-16 14:56:10 -04:00
refractionpcsx2
ac87484acc GameDB: Patch rounding problem in Playmobil Hype The Time Quest 2021-09-14 17:45:29 +01:00
RedDevilus
8235d6cb72 GameDB: Punisher
Changes to recent VU timings have upset the punisher, this will quench his issues with VUKickstart.
2021-09-14 09:23:59 +01:00
kojin
77c961ba40 vs: fix an oversight
when I merged the utils and emitter project in #4707 I neglected to update the SVNRootDir macro so it was causing common libraries to not be written to the correct directory.

don't use this macro anymore so just remove it make output relative to solution dir instead
2021-09-13 20:51:58 -04:00
refractionpcsx2
154ed57633 VU Int: Remove need to pass VU struct to XGKick function.
It's always VU1, so we don't need to tell it.
2021-09-13 20:55:53 +01:00
refractionpcsx2
b0d1d4ff44 VU Int: Clang formatting 2021-09-12 16:12:31 +01:00
refractionpcsx2
52943d8399 VU Int: Link in clamping settings from UI
The only settings are either None or every other option is On (basically Extra + Preserve Sign)
2021-09-12 16:12:31 +01:00
refractionpcsx2
980c954bf4 GIF: Fix GIF FIFO behaviour when the FIFO drains 2021-09-12 16:12:31 +01:00
refractionpcsx2
73bb8e4fdf VU Int: Make XGKick flush on VU program end
Some games like to write directly to VU memory once the program has finished and I have no easy way to update the kick without being super slow. so for now, we'll just flush it.
2021-09-12 16:12:31 +01:00
refractionpcsx2
3f56414824 VIF/VU: Cleaned up VIF Stall behaviour, sync XGKick with Unpacks.
Also cleaned up a bunch of bad/old code
Fixed branches on E-Bit and M-Bit (VU0)
Fixed up VU Int behaviour with VU Instant on/off

Savestate bump
2021-09-12 16:12:31 +01:00
refractionpcsx2
7e29a7e5a4 VU Int: Put XGKicks through the Gif Unit directly, don't buffer
Solves problems with PATH3 masking games
2021-09-12 16:12:31 +01:00
refractionpcsx2
7966c27246 GIF: Handle PATH2 ending when VIF not running 2021-09-12 16:12:31 +01:00
refractionpcsx2
c2af477758 VU Int: Combine XGKick handling in to one function
Also fixed a situation where PATH3 could transfer a packet to the GIF and finish its DMA while PATH1 was busy, so PATH3 never finished transferring properly as it relies on the DMA to handle the pretend timing of PATH3.
2021-09-12 16:12:31 +01:00
refractionpcsx2
b4eaf3722f VU: Adjust timings of VU calls 2021-09-12 16:12:31 +01:00
refractionpcsx2
ddf305fce5 VU Int: Correct EFU stalls + explanation 2021-09-12 16:12:31 +01:00
refractionpcsx2
857ab07f1c VUInt: Fix macro flags and implement EFU ops correctly.
Also now using the microVU style Tri-Ace hack as the interpreters seem to now need it
2021-09-12 16:12:31 +01:00
refractionpcsx2
1f50dd7496 VU Int: Some formatting/logging cleanup, optimise some variable placement 2021-09-12 16:12:31 +01:00
refractionpcsx2
83143bd42e VU Int: Rewrote most of the FMAC/IALU handling, now with 2x performance 2021-09-12 16:12:31 +01:00
refractionpcsx2
e19b0bce57 VU: Improve VU0/Mbit sync with VU Interpreter. Improve Kickstart. 2021-09-12 16:12:31 +01:00
refractionpcsx2
2e2d6ba35d VU Int: IALU stalls, improve VI backup emulation 2021-09-12 16:12:31 +01:00
refractionpcsx2
aad4f3e753 VU: Tag which VU is being logged 2021-09-12 16:12:31 +01:00
refractionpcsx2
d7e6ef4ce6 VU Int: Properly limit ints when converting from float 2021-09-12 16:12:31 +01:00
refractionpcsx2
77eb380305 VU Int: Stop old versions of flags being written 2021-09-12 16:12:31 +01:00
refractionpcsx2
0326659b14 VU Int: Write back all pending pipes (will likely be ripped out later) 2021-09-12 16:12:31 +01:00
refractionpcsx2
3bad60ce84 VU Int: Fix XGKick wrapping 2021-09-12 16:12:31 +01:00
refractionpcsx2
067faccdd2 VU: Initial work to overhaul VU interpreter
Still a bit janky in some games and subject to changes
2021-09-12 16:12:31 +01:00
Ziemas
253571fd35 Delete unused vol_t type 2021-09-12 00:17:37 -04:00
Ziemas
a58fde68e6 C++-ify freezeData definition 2021-09-12 00:17:37 -04:00
Ziemas
8fe7a173cd C++-ify Pcsx2Types 2021-09-12 00:17:37 -04:00
Ziemas
fc9beafc32 Change s8 typedef to int8_t 2021-09-12 00:17:37 -04:00
Ty Lamontagne
2175814acf Debugger: CtrlRegisterList: Fix warning and screw up 2021-09-12 00:17:08 -04:00
Kojin
19072b6595 common: move some gui stuff into the main project (#4751)
* common: move ThreadingDialogs and wxAppWithHelpers to main project
* common: move CheckedStaticBox to the main project
* common: move pxCheckBox to the main project
* common: move pxRadioPanel to the main project
* common: move pxEvents.h to main project
2021-09-11 10:59:14 -04:00
kojin
43e3055d11 config: normalize limiter values before saving 2021-09-11 10:48:24 -04:00
Ty Lamontagne
ab64023e56 MicroVU: Cleanup stale comments and code 2021-09-11 01:33:02 +01:00
Connor McLaughlin
a8a50641f6 R5900: Fix LWL not sign extending in interpreter
This was zero extending because of the implicit promotion from
signed->unsigned, causing incorrect high bits in the GPR.

Funnily enough, this was noted in the source, but implemented
incorrectly.
2021-09-09 09:28:03 +01:00
refractionpcsx2
9722bcd3c3 CDVD: Revert seek status.
WRC didn't like "Seek" being on the seek... We're going to need to run tests for this.
2021-09-09 02:55:16 +01:00
Ziemas
9832a935d7 Common: Fix IniInterface warnings 2021-09-07 09:33:09 -04:00
Ty Lamontagne
b12f0d865f Debugger: Remove 64/32 bit views. Revamped VU0F titles 2021-09-06 22:24:46 +01:00
Ty Lamontagne
77e630b78a Debugger: Don't resize register view anymore
Possible workaround for broken wx or gtk or wm implementations where setting an initial size of the current size breaks the register view.
2021-09-06 22:24:46 +01:00
kojin
30e5731f14 common: fix locale oversight in IniInterface 2021-09-06 16:53:32 -04:00
Ty Lamontagne
18311d6a4c MicroVU: Purge Min/Max speedhack 2021-09-06 21:36:10 +01:00
Mrlinkwii
17fdc6a0f3 GameDB: Dropship disable InstantVU
GameDB: Dropship  disable InstantVU
2021-09-06 20:55:39 +01:00
refractionpcsx2
33ac2e7d15 CDVD: Fix up Pause and some Status behaviour 2021-09-06 20:54:16 +01:00
Ty Lamontagne
589aba3713 [MicroVU] Revert "bla"
This reverts commit 6800753f09.
2021-09-06 19:53:08 +01:00
HazNut
2e6174bd2c readme: Replace dead BIOS extraction link 2021-09-06 19:43:14 +01:00
Kojin
13dfceff48 Common: reformat (#4720)
* common: format AlignedMalloc.cpp

* common: format AppTrait.h

* common: format Assertions.h

* common: format CheckedStaticBox

* common: format Console

* common: format Dependencies.h

* common: format EmbeddedImage

* common: format EventSource

* common: format Exceptions

* common: format FastFormatString.cpp

* common: format General.h

* common: format InitInterface

* common: format MathUtils.h

* common: format MemsetFast/MemcpyFast

* common: format Mutex.cpp

* common: format PageFaultSource.h

* common: format Path.h

* common: format PathUtils.cpp

* common: format Pcsx2Types.h

* common: format Perf

* common: format PersistentThread.h

* common: format RwMutex

* common: format SafeArray

* common: format ScopedAlloc.h

* common: format ScopedPtrMT.h

* common: format Semaphore.cpp

* common: format StringHelpers

* common: format ThreadTools.cpp

* common: format Threading.h

* common: format ThreadingDialogs

* common: format ThreadingInternal.h

* common: format TraceLog.h

* common: format VirtualMemory.cpp

* common: format pxCheckBox

* common: format pxEvents.h

* common: format pxForwardDefs.h

* common: format pxRadioPanel

* common: format pxStaticText

* common: format pxStreams

* common: format pxTranslate.cpp

* common: format pxWindowTextWriter.cpp

* common: format wxAppWithHelpers

* common: format wxBaseTools.h

* common: format wxGuiTools

* common: format wxHelpers.cpp

* common: format Darwin directory

* common: format Linux directory

* common: format Windows directory

* common: format LnxCpuDetect.cpp

* common: format WinCpuDetect.cpp

* common: format bmi.cpp

* common: format cpudetect.cpp

* common: format cpu_detect_internal.h

* common: format fpu.cpp

* common: format groups.cpp

* common: format instructions.h

* common: format internal.h

* common: format jmp.cpp

* common: format legacy.cpp

* common: format legacy_instructions.h

* common: format legacy_internal.h

* common: format movs.cpp

* common: format simd.cpp

* common: format tools.h

* common: format x86emitter.cpp

* common: format x86types.h

* common: format bmi.h

* common: format dwshift.h

* common: format group1.h group2.h group3.h

* common: format incdec.h

* common: format jmpcall.h

* common: format movs.h

* common: format simd_arithmetic.h

* common: format simd_comparisons.h

* common: format simd_helpers.h

* common: format simd_moremovs.h

* common: format simd_shufflepack.h

* common: format simd_templated_helpers.h

* common: format test.h
2021-09-06 14:28:26 -04:00
Mrlinkwii
f9bf87f50d GameDB: add positive EE&VU rounding to Simple 2000 Series Vol.48
GameDB: add positive EE&VU rounding to Simple 2000 Series Vol.48
2021-09-06 17:56:09 +01:00
refractionpcsx2
0226c443e7 GameDB: Update patches for Musashi Samurai Legend/Musashiden II
These don't cause TLB misses
2021-09-05 21:18:29 +01:00
Ty Lamontagne
f91286dbf3 MicroVU: Skip VU1 instructions on VU0 2021-09-05 21:18:19 +01:00
lightningterror
aec1249481 pad-linux: Update to latest controller database. 2021-09-05 21:48:56 +02:00
refractionpcsx2
b919de9dd1 VU: Adjust sync timing for VU Kickstart
Fixes Crash Twinsanity
2021-09-05 18:14:53 +01:00
lightningterror
c2dad218e5 microVU: Combine mVU0cacheReserve and mVU1cacheReserve. 2021-09-05 18:06:46 +02:00
refractionpcsx2
ddb300027c VU: Improve sync during interlock and Scratchpad VU mem writes
Also added some setting of next block cycles to 0 in cases where we don't know ahead of compile time or the VU is ending.
2021-09-05 16:37:43 +01:00
refractionpcsx2
420b675746 GameDB: Revert Musashi - Samurai Legend (PAL-M4) patch until it's improved
Patch causes TLB misses and can make the game non-functional.  Will replace it again once the TLB misses have been corrected.
2021-09-05 06:28:17 +01:00
TellowKrinkle
1fe352d8a6 CMake: Add proper dependencies for bin2cpp invocations 2021-09-04 21:06:20 -05:00
RedDevilus
de7a92944f Add 7xMultiplier
7x was bullied for far too long (2520P / 4.5K resolution).
2021-09-04 18:31:28 -04:00
TellowKrinkle
dae8e0d233 Core: Remove unused mmx stuff 2021-09-04 18:28:24 -04:00
TellowKrinkle
5260d63565 Core: Format recompilers 2021-09-04 18:28:24 -04:00
kojin
7aa85960ba common: add vs filters 2021-09-04 18:28:07 -04:00
kojin
dcbf62a294 common: add some stuff to the pch 2021-09-04 18:28:07 -04:00
kojin
42f2210f7f common: remove unused pch 2021-09-04 18:28:07 -04:00
kojin
0717bf788a common: fix cmake on linux/macos 2021-09-04 18:28:07 -04:00
kojin
831c8b9189 common: fix cmake on win32 2021-09-04 18:28:07 -04:00
kojin
8fdaaa2eab common: reorganize 2021-09-04 18:28:07 -04:00
RedDevilus
ce8a30bf8f Gamedb:Kuon
Fixes game pieces in the mini-game
2021-09-04 23:27:33 +01:00
Mrlinkwii
0a0430051c GS : update OGL advanced settings tool tip
GS : update OGL advanced settings tool tip
2021-09-04 03:31:26 +02:00
dependabot[bot]
8ba9cc102a build(deps): bump mikehardy/buildcache-action from 1.2.1 to 1.2.2
Bumps [mikehardy/buildcache-action](https://github.com/mikehardy/buildcache-action) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/mikehardy/buildcache-action/releases)
- [Changelog](https://github.com/mikehardy/buildcache-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mikehardy/buildcache-action/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: mikehardy/buildcache-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-03 16:48:16 -05:00
refractionpcsx2
bb5bfda5c6 App: Link in version number information to exe version information 2021-09-02 10:00:59 +01:00
refractionpcsx2
b61f6d517b App: Add Windows exe version information 2021-09-02 10:00:59 +01:00
kojin
38f1a9a762 util: purge fixed-point library 2021-09-01 08:32:14 -04:00
refractionpcsx2
bda80fc748 Clang Format VU files 2021-08-31 21:29:31 +01:00
refractionpcsx2
553d8ccbb4 Savestate version bump 2021-08-31 21:29:31 +01:00
refractionpcsx2
d8dfe0a1e9 VU: optimise entering VU JITs
Keeps note on how many cycles it needs for the next block to save exiting the EE JIT and entering the microVU JIT for no reason
2021-08-31 21:29:31 +01:00
refractionpcsx2
ef9c8ce877 SPU2: Don't initialise sound buffer if it's not open 2021-08-31 20:03:40 +01:00
refractionpcsx2
4dc0db6ee6 SPU2: Adjust DMA timings for IRQ's and small packets
This also gets rid of a little kinda hack thing that was in there.
2021-08-31 20:03:25 +01:00
TellowKrinkle
c93692a779 GHActions:Linux: Make ccache config global
New testing step was missing the config
2021-08-30 13:42:28 +02:00
lightningterror
756e3b4a12 pad-linux: Update to latest controller database. 2021-08-30 12:45:49 +02:00
kojin
681531d128 vs: enable mp on debug/devel builds 2021-08-29 19:51:24 -04:00
kojin
6bff64f834 vs: fix some project config associations 2021-08-29 19:51:24 -04:00
kojin
4dc26ab234 vs: remove optimizations for debug config of a few projects 2021-08-29 19:51:24 -04:00
kojin
c6fc357c43 vs: fix a few compiler warnings 2021-08-29 19:51:24 -04:00
kojin
64cc1b106c linux: remove gl optimizations from wrapper script 2021-08-29 01:17:41 -04:00
tellowkrinkle
b61619cf40 CMake: Fix builds outside of CI 2021-08-27 23:27:59 -05:00
kenshen112
14cfdafd05 Disable gl threaded optimization 2021-08-28 00:14:23 -04:00
TellowKrinkle
010893092e CMake: Match recently removed files from vcxproj 2021-08-28 04:27:16 +01:00
Christian Kenny
b5fd684160 PAD: Clean up includes, remove old code 2021-08-28 03:27:29 +01:00
Christian Kenny
a9c2409e0f PAD: Remove Force Hide (for mouse). Remove DirectInput options for mouse and keyboard 2021-08-28 03:27:29 +01:00
TellowKrinkle
6d5fedcf97 tmp: Add manifest to CMakeLists on Windows 2021-08-28 03:25:33 +01:00
TellowKrinkle
2881149f0b CMake: Add CI flag for CI builds 2021-08-28 03:25:33 +01:00
TellowKrinkle
142d91dfb5 GHActions: Run tests on Windows 2021-08-28 03:25:33 +01:00
TellowKrinkle
4d8b9aee2a CMake: Support windows for tests 2021-08-28 03:25:33 +01:00
TellowKrinkle
04df2824cf GHActions: Clean up old unused code 2021-08-28 03:25:33 +01:00
TellowKrinkle
059d856f45 CMake: Match git info to vs project 2021-08-28 03:25:33 +01:00
TellowKrinkle
2ce3a004ba GHActions: Add buildcache on windows 2021-08-28 03:25:33 +01:00
TellowKrinkle
e9e58fd791 GHActions: Use ninja for windows cmake builds 2021-08-28 03:25:33 +01:00
TellowKrinkle
4f22bc8162 GHActions: Add windows cmake build 2021-08-28 03:25:33 +01:00
TellowKrinkle
1159f6d4f8 Remove unused file 2021-08-28 03:25:33 +01:00
TellowKrinkle
315c87bd4f cmake: Windows build 2021-08-28 03:25:33 +01:00
TellowKrinkle
e1bb96cc94 cmake: Windows dependency builds 2021-08-28 03:25:33 +01:00
kojin
205c8a05c3 gs: purge clut reload before draw hack 2021-08-27 22:01:36 -04:00
refractionpcsx2
c288be3d4c COP0 PCCR: Don't update counters if counting is disabled
Gets rid of the spooky apparition in Grand Theft Auto 3 if you watch the intro.

This is kind of just enabling the old code which was kind of correct, but the old code didn't ignore the time passed, so this also updates the last cycles.
2021-08-27 19:42:28 +01:00
TheLastRar
feaf5ba5f2 DEV9: Reduce the amount of log spam from HDD access 2021-08-26 00:21:38 +01:00
TheLastRar
f7838750c9 DEV9: Reduce the amount of log spam form network traffic in Debug mode 2021-08-26 00:21:38 +01:00
TheLastRar
6051312dfb DEV9: Dev logging fixes 2021-08-26 00:21:38 +01:00
Mrlinkwii
bafb0db6d1 GameDB: Add various fixes
GameDB:  Add various fixes
2021-08-25 18:29:54 +01:00
refractionpcsx2
31dcacb941 GameDB: Added VU Kickstart for remaining Dororo (Blood Will Tell) entries 2021-08-24 23:38:10 +01:00
Ty Lamontagne
74105d6983 AppMain: Fix no$ symbol loading for elfs
Previously, we would look for (isoname.sym) even if we were loading an ELF. Just another part of the mess that CDVD is.
2021-08-24 23:15:34 +02:00
Mrlinkwii
e4e306baca SPU2: remove waveout windows
SPU2: remove waveout windows
2021-08-24 23:13:26 +02:00
Ziemas
5f3c1816f9 Cmake: Link vtune in utilities 2021-08-24 23:10:06 +02:00
Ziemas
90a198e3f1 Cmake: Update vtune paths 2021-08-24 23:10:06 +02:00
lightningterror
2dbfe9f743 gs: Cleanup remaining stuff from sse2/3 purge. 2021-08-24 12:58:18 +02:00
kojin
a68d834f8f gs: remove a bunch of unofficial crcs
stop encouraging people
2021-08-24 05:39:14 -04:00
arcum42@gmail.com
c3b45f3237 Remove MakeUnique.h, which is unused. 2021-08-24 04:33:46 -04:00
refractionpcsx2
61dca40679 GameDB: Added VU Kickstart for Dororo (Blood Will Tell) 2021-08-22 08:20:29 +01:00
Mrlinkwii
94c6814be8 GameDB: add'EE timing hack' to Spartan: Total Warrior
GameDB: add'EE timing hack' to Spartan: Total Warrior
2021-08-21 21:44:53 +01:00
RedDevilus
436e252d0e GameDB: Ratchet and Clank
Add EETiming to Ratchet and clank to avoid TLB misses.
2021-08-21 20:18:30 +01:00
RedDevilus
4032b91e72 GameDB:Powerpuff Girls
Fixes hangs in certain locations like building under construction.
2021-08-21 20:15:08 +01:00
Ty Lamontagne
509e24f966 IOPBios: Fix OOB read when IRQ line is invalid.
Fixes a PS2AutoTest where RegisterIntrHandler(-1,... ) crashes PCSX2.
2021-08-21 20:08:36 +01:00
lightningterror
d0f3c620d2 GSBlock: Cleanup warnings. 2021-08-20 13:35:01 +02:00
lightningterror
86263d05bc pgif: Cleanup warnings. 2021-08-20 13:35:01 +02:00
TellowKrinkle
cee077d1d3 cmake: Fix missing librt include 2021-08-19 20:46:37 -05:00
RedDevilus
ee0b2b1249 GS-GUI: Enable Software Edge-Aliasing by default
This will enable the checkbox for the software renderer, it has far more pros than cons (negligble performance hit)
2021-08-19 19:22:30 -04:00
refractionpcsx2
b167bd6807 GameDB: Added other versions of midnight club.
Improved the patches also as apparently was causing issues with the net config
2021-08-19 14:29:08 +01:00
refractionpcsx2
90e8923c31 GameDB: Add patch for MTVU performance in Midnight Club 3 Dub Remix 2021-08-19 11:31:19 +01:00
TellowKrinkle
7af74deaac Pad: Fix crash on shutdown in macOS 2021-08-18 17:25:37 -05:00
TellowKrinkle
d96b1ef525 Pad: Formatting 2021-08-18 17:25:37 -05:00
kojin
0bd65614d0 wx: make position validation multi-monitor aware 2021-08-18 13:40:45 -04:00
Mrlinkwii
0e3401da2c Clang: LnxMisc.cpp
Clang: LnxMisc.cpp
2021-08-18 18:24:47 +02:00
Mrlinkwii
692adbd04a Utilities : Return distro info instead of kernel version
Utilities: Return  distro info instead of kernel version
Co-Authored-By: Ty <29295048+F0bes@users.noreply.github.com>
2021-08-18 18:24:47 +02:00
lightningterror
7b587dcc9c pad-linux: Update to latest controller database. 2021-08-18 15:20:53 +02:00
Ty Lamontagne
17c66cc2d3 Misc: Fix lastpath updating when using --elf cmdline 2021-08-18 14:26:17 +02:00
Connor McLaughlin
d7de81aaaa iR5900: Make const register write clearer
This was apparently sign extending anyway, but using SD makes it clear
that the 32-bit assignment will sign extend to 64-bit.
2021-08-17 14:43:24 -04:00
Connor McLaughlin
a216f28c9d iR5900: Use a signed multiply for MULT1 const prop 2021-08-17 14:43:24 -04:00
refractionpcsx2
1180de51fd GameDB: Add clamping to True Crime: New York, fixing SPS 2021-08-16 22:32:36 +01:00
Connor McLaughlin
6844849305 microVU: Don't emit add reg, 0 in a few instructions 2021-08-15 08:02:34 +01:00
TellowKrinkle
af07d803fd cmake: Enable features by checking targets
Helpful for if targets are added as submodules in the future (hint: Windows builds)
2021-08-15 02:13:36 -04:00
TellowKrinkle
284ca6ae68 cmake: Add support for using c++ bin2cpp instead of perl 2021-08-15 02:13:36 -04:00
TellowKrinkle
122de7a7d7 cmake: Remove old add_pcsx2_* macros
No longer used
2021-08-15 02:13:36 -04:00
TellowKrinkle
e17f83c2cf bin2cpp: Remove fcloseall usage
fcloseall isn't available on macOS, and everything gets closed when the program exits anyways
2021-08-15 02:13:36 -04:00
TellowKrinkle
7ed0f38623 CMake: Define targets early instead of gathering variables 2021-08-15 02:13:36 -04:00
Tyler Wilding
ae2ae8b982 github: Switch to new issue forms (#4657)
* github: New issue forms

* remove default numbered list
2021-08-14 01:08:18 -04:00
RedDevilus
02a60acbcc 3rdparty: Update GHC 1.5.4 to 1.5.8
Make ghc act more like std::fs + consistency with C++17 and other fixes.
2021-08-13 18:53:11 -04:00
RedDevilus
69ba5b447f Update SysConfigDialog.cpp 2021-08-13 23:10:24 +02:00
RedDevilus
11c346ab02 PCSX2-GUI: Undo formatting 2021-08-13 23:10:24 +02:00
RedDevilus
88c2e9ea48 PCSX2-GUI: Remove hackfix
Future change to be made to fix the height of General Settings.
2021-08-13 23:10:24 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
52cefc5543 ftw: remove inheritance, make sure warning popup shows
Turns out we had an unneeded layer of inheritance in the name of
BasePathsPanel, whose only job was to, wait for it, be inherited.
It is an empty class inheriting wxPanel instead of the needed
BaseApplicationConfigPanel, making it all the more unecessary.

Someone _really_ loved their OOP.

Also added back the OnShown trigger for the BIOS page to ensure BIOS
confirmity.
2021-08-13 23:10:24 +02:00
RedDevilus
3e1b76c0a9 PCSX2-GUI: Rehaul BIOS / Folder Selector (#4620)
Since emulation settings has been renamed general settings, we can put BIOS and Folder in the same location where people have an overview and can just use tab key on icons or mouse. Less confusion and also fixes the speedhacks section *for the zillionth time*.
2021-08-13 23:10:24 +02:00
Silent
f45c618fc2 KeyboardQueue: Remove a Windows-specific critsec 2021-08-13 17:00:56 -04:00
refractionpcsx2
9892624242 Counters: Fix scanline count for double strike modes. 2021-08-13 16:21:13 +01:00
GiantEnemyCrab
4dee68faaf Add StartupWMClass to desktop file 2021-08-12 12:43:40 +02:00
Mrlinkwii
04aa251dee Docs: correct GameIndex.md
Update GameDB docs
2021-08-12 11:40:32 +01:00
Mrlinkwii
be6db93698 GameDB: add 'EETimingHack' for Marvel Super Hero Squad and positive EE and VU rounding forPac-Man Fever
GameDB: add 'EETimingHack' for Marvel Super Hero Squad and positive EE and VU rounding  forPac-Man Fever
2021-08-10 23:21:43 +01:00
refractionpcsx2
c61473d060 SPU2: Re-enable log file writing in dev builds 2021-08-10 18:08:13 +01:00
kozarovv
47bdc58c1a PGIF: Code refactoring/cleanup.
Improve few games like RE2, THPS2, Castlevania SOTN, FF8.
2021-08-08 19:01:35 +01:00
lightningterror
70a862fced pad-linux: Update to latest controller database. 2021-08-08 19:09:32 +02:00
RedDevilus
c6a39006d5 3rdparty: update GL headers
Update the headers to a more recent version while it brings no improvements at this moment, it can in the future.

Update glcorearb.h from 7 February 2019
Update wglext.h from 33248 (10-24-2016) to 20200813 (13 August 2020)
Update glext.h from 33248 (10-24-2016) to 20210420 ( 20 April 2021)
Creation of khrplatform.h
2021-08-07 20:58:19 -04:00
refractionpcsx2
0c5df806bf Counters: Correct H-Blank for 1080i mode 2021-08-07 14:02:12 +01:00
kozarovv
94910216f7 CDVD: Implement SCMD 0x27
Fix PS1 mode for SCPH-50009, and DTL-H50009.
2021-08-07 13:11:04 +01:00
Ty Lamontagne
f1b4bee88f X86Emitter: Use __rdtsc define on non-msvc compilers 2021-08-07 00:57:22 -04:00
Ty Lamontagne
87ee413141 Debugger: codacy warnings 2021-08-07 05:54:13 +01:00
Ty Lamontagne
823618aea8 Debugger: Properly implement VU0F titles 2021-08-07 05:54:13 +01:00
Ty Lamontagne
bb3fb35c7e clang-format: DebugInterface.cpp CtrlRegisterList.cpp CtrlRegisterList.h 2021-08-07 05:54:13 +01:00
Ty Lamontagne
8f171c70f5 Debugger: Add option to display VU0F registers as floats 2021-08-07 05:54:13 +01:00
Christian Kenny
f11334cb3b SPU2: Missed Linux WX files 2021-08-07 05:51:58 +01:00
Christian Kenny
df1461bba6 SPU2: Final GUI adjustments. It's not pretty but it'll do until the dialog gets rewritten. 2021-08-07 05:51:58 +01:00
Christian Kenny
97749e6005 SPU2: Remove awful dealias filter that made games sound like crap. 2021-08-07 05:51:58 +01:00
Christian Kenny
11ed747741 SPU2: Remove user option to disable reverb. 2021-08-07 05:51:58 +01:00
lightningterror
a982852e30 pad-linux: Update to latest controller database. 2021-08-06 07:07:31 +02:00
jackun
a811e653a7 USB: Fix HID mouse packet size and tablet poll interval 2021-08-06 03:33:34 +03:00
TellowKrinkle
0d4549a66e cmake: Mark .inl files with the right type in Xcode 2021-08-05 18:20:58 -05:00
TellowKrinkle
f3dbf24864 vcxproj: Add filters for some missing files 2021-08-05 18:20:58 -05:00
TellowKrinkle
525027f993 vcxproj: Fix filters for case sensitive matching 2021-08-05 18:20:58 -05:00
TellowKrinkle
e34116e340 cmake: Parse vcxproj filters for cmake generators 2021-08-05 18:20:58 -05:00
Christian Kenny
55d0d40697 SPU2: Restore functionality to switch modules on the fly without being tied to GS window status. 2021-08-05 23:51:11 +01:00
Christian Kenny
9d9e8a9217 SPU2: Simplify reset mode function for sample rate. 2021-08-05 23:51:11 +01:00
kozarovv
167a4b4d12 CDVD: Fix CdlReadS for PS1 games with CDDA.
Fix Legend of Dragoon, maybe more.
2021-08-05 23:04:01 +01:00
TellowKrinkle
c1e6773818 cmake: fix missing .h on header reference
Prevents cmake from bugging us about it
2021-08-05 03:00:43 -05:00
TellowKrinkle
e1a223c7c3 deps: Update gtest to 1.11.0
Prevents newer cmake from screaming at us about its ancient CMakeLists
2021-08-05 03:00:43 -05:00
Jannik Vogel
21c13a850c Misc:Debugger: Fix vmulai and vmaddai disassembly 2021-08-04 00:49:14 +01:00
Mrlinkwii
64d8b7fbe7 GameDB: add 'EEtiming hack' to Way of the Samurai Sega Soccer Slam (#4643)
GameDB: add 'EEtiming hack' to Way of the Samurai & Sega Soccer Slam
2021-08-03 22:55:26 +01:00
refractionpcsx2
8f82cd11b9 microVU: avoid half completed program loading null block 2021-08-03 11:52:15 +01:00
TellowKrinkle
958e27c782 GHActions: Run tests 2021-08-02 00:24:59 -05:00
TellowKrinkle
f032e663cd testing: Fix x86emitter includes on x86emitter tests 2021-08-02 00:24:59 -05:00
TellowKrinkle
70a1b31f5d testing: Add block swizzle tests 2021-08-02 00:24:59 -05:00
lightningterror
dc4b382b20 gs-d3d11: Move BlendEnable toggle. 2021-08-01 10:03:44 +02:00
lightningterror
4308aa29dd gs-d3d11: Set blend index to 0 when hw blending is disabled. 2021-08-01 10:03:44 +02:00
lightningterror
043b5d351f gs-d3d11: Cleanup fxaa and external shader.
Instead of relying on bools for checks rely on the pixel shader
pointer, also merge the functions.
2021-08-01 10:02:59 +02:00
refractionpcsx2
97bfe08c04 VIF: Only enable reverse FIFO hack if VIF1 is still active 2021-08-01 01:54:32 +01:00
Francisco Javier Trujillo Mata
407a64c118 HostFS: make const several no mutable variables 2021-07-31 23:23:40 +01:00
Francisco Javier Trujillo Mata
e7513c8c58 HostFS: Add remove file functionality 2021-07-31 23:23:40 +01:00
refractionpcsx2
3eda42075a Clang: Format FiFo.cpp 2021-07-29 20:33:52 +01:00
Timothy O'Barr
85d35311d0 UI: Added PGIF log source (#4564) 2021-07-29 17:56:17 +01:00
refractionpcsx2
88a53f013e Clang: Format Gif.cpp, Vif_Codes.cpp, Vif.cpp 2021-07-29 14:58:36 +01:00
refractionpcsx2
88edd1acd6 GIF: Adjusted intermittent mode split of large packets
Should be a bit more performant now in games like Tekken Tag
Adjusted for The Suffering
2021-07-29 14:58:36 +01:00
refractionpcsx2
fd1305e4da GIF: Reimplement GIF FIFO to kick in only when it is needed.
Need to adjust GameDB entries for to remove ones no longer required, added EE Timing fix for SOCOM as that seems to fix it up like its sequel.

Some misc changes too which are inconsequential (mostly formatting)
2021-07-29 14:58:36 +01:00
lightningterror
35c50e01e1 gs-hw: Sync external shader logs between gl and d3d11. 2021-07-29 12:32:39 +02:00
RedDevilus
2a409af54e GameDB: Patches for 18 games (or 15 individual games)
- Arctic Thunder
- Evolution Snowboarding
- From Software First Previews
- Growlanser Generations
- ICO
- Major League Baseball 2K5
- Major League Baseball 2K10
- Musashiden II - Blademaster
- Musashi Samurai Legend
- NHL 2K5
- NHL 2K6
- NHL 2K7
- NHL 2K8
- NHL 2K9
- Virtua Fighter 4
-- Removed patches and other miscellaneous changes
2021-07-29 10:36:02 +01:00
Christian Kenny
cf3d5bc040 SPU2: Remove unused Lowpass files 2021-07-29 10:33:53 +01:00
Christian Kenny
40da5697c5 SPU2: Remove unused includes, defs, ect. 2021-07-29 10:33:53 +01:00
lightningterror
ea759d7b68 microVU: Clean up a few warnings. 2021-07-28 22:10:47 +02:00
Connor McLaughlin
34e779a654 GS: Manage draw rectangle in GS instead of wx 2021-07-27 12:38:52 -04:00
Ty Lamontagne
8bc01eb375 IOPBios: Workaround for '\' for HLE path functions
Fixes some ulaunchelf's on *NIX platforms
2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
b373763924 Fix warning and disable dummy static analysis warnings 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
b2618ba148 HostFS: Add is_host check in the dopen_HLE method 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
6902ce007a HostFS: Improve Hle_SetElfPath method 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
e9b3b89620 HostFS: Use filesystem to make it compile in windows 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
1606a50bb4 HostFS: Improving buffers allocation 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
4402bbda55 clang-format: pcsx2/IopBios.h and pcsx2/IopBios.cpp 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
4bf3819778 HostFS: Clean functions to save host path and elf path 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
9ecda0489b HostFS: Add native mode to the open file 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
0dadda66cf HostFS: Implement getstat and dread 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
aa20220627 HostFS: Implement opendir and closedir 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
45103ec496 HostFS: Add mkdir and rmdir support 2021-07-27 15:37:41 +01:00
lightningterror
397f257b39 vcxproj: Cleanup file includes, makes the solution a bit more tidy.
Mostly mirrors how source files are oranized.
2021-07-26 14:19:51 +02:00
Ty Lamontagne
0f20a22e10 Counters: Reset Timer Count Regardless of Interrupt Enable 2021-07-25 22:56:55 +01:00
Mrlinkwii
e64567e119 GameDB: add 'XGKickHack' to Super Monkey Ball Adventure
GameDB: add 'XGKickHack' to Super Monkey Ball Adventure
2021-07-25 20:25:22 +01:00
TellowKrinkle
73116752b9 GHActions: Remove dashes from build names
If you're going to switch dashes to spaces, swich all the dashes to spaces
2021-07-23 21:02:15 -05:00
kozarovv
cd33a17584 IPU: Store thresholds for color conversions in u16, bump savestate version. 2021-07-23 18:10:56 +01:00
Mrlinkwii
1a327a73a0 SPU2: remove unused variable
SPU2: remove unused variable
2021-07-22 14:19:04 +02:00
Ziemas
c1232136c2 SPU: Remove NEVER_SKIP_VOICES
This optimization is disabled and not really safe. Lets just remove it
and clean up the function that uses it.
2021-07-22 10:17:31 +01:00
refractionpcsx2
06d6001b0c SPU2: Add rogue BIOS loop point which Megaman X7 relies on.
Thanks to Ziemas for debugging this!
2021-07-22 09:38:17 +01:00
Ziemas
080ba94ed2 CHD: Fix parent search on windows
Apparently you can't use the constructor to concat a literal and a
wxString like that.
2021-07-21 08:51:57 +01:00
TellowKrinkle
a13222f926 CMake: Fix cmake reconfigure breaking dependencies
pkg_search_module was looking at our lib_FOUND and thinking it was its own
Fixed by tracking who found the library and only invoking pkg_search_module if pkg_search_module also found the library the previous time
2021-07-20 01:14:54 -05:00
Ty Lamontagne
146f9a766e System: Check active power profile on application launch 2021-07-20 07:31:56 +02:00
lightningterror
7b495437ae GSDebugger: Rename dump load error window title. 2021-07-20 06:45:17 +02:00
lightningterror
2b95e3b48b vcxproj: Include shaders in vs project. 2021-07-20 02:45:50 +02:00
RedDevilus
22fb1e2df4 GUI: Re-order config settings
This will re-organise the config window to be more visually distinct.
Also fixes the issue where GamePad and Graphics if used with Alt, though it would still work technically if you press G again.
2021-07-20 00:39:30 +02:00
kojin
52b6ae0bc2 vs update project files with new build props 2021-07-19 17:05:52 -04:00
kojin
e293e96f00 vs: add base and avx2 build config props 2021-07-19 17:05:52 -04:00
TellowKrinkle
d4f87112ec CDVD: Add minimum buffer size to ThreadedFileReader
If buffers are smaller than the threshold PCSX2 uses to decide whether to time a read as a seek, ThreadedFileReader fails to provide data in time for the very small linear read time cutoff
2021-07-19 22:01:41 +02:00
TellowKrinkle
f3ac8ee464 CDVD: Clean up CHD initialization
Now with 100% less `delete`s
2021-07-19 22:01:41 +02:00
TellowKrinkle
286e32c012 GUI: Add CHD to macOS Info.plist 2021-07-19 22:01:41 +02:00
TellowKrinkle
c39598b98d CDVD: Make CHD file reader threaded 2021-07-19 22:01:41 +02:00
TellowKrinkle
ae945f49e3 CDVD: Make CSO file reader threaded 2021-07-19 22:01:41 +02:00
TellowKrinkle
bdcfcc65ea CDVD: Add ThreadedFileReader 2021-07-19 22:01:41 +02:00
TellowKrinkle
d8d69f2aa8 Misc: Move thread name setting to global function
Useful for things that don't want an entire pxthread
2021-07-19 22:01:41 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
70f29072bf debian: Remove debian specific packaging hooks.
We switched to appimage in an earlier commit. It makes more sense for us
to maintain a distribution agnostic packaging method than something
which is already forked by upstream anyways.
2021-07-19 20:04:12 +02:00
Ziemas
9bdf6675fc USB: Freeze mode enum for keyboardmania 2021-07-19 19:37:30 +02:00
Ziemas
3ba2ae0275 SaveState: Use enum for freeze mode
Instead of preprocessor defines.
2021-07-19 18:39:41 +02:00
TellowKrinkle
4f50e7e478 GHActions: Don't update homebrew when not necessary
It's pretty slow and if GH hasn't been updating their image, could cause huge numbers of extra dependants and dependencies to have to be installed
2021-07-18 22:49:31 -05:00
kojin
2e411a6019 vs: drop asio build configuration for portaudio 2021-07-18 12:03:21 -04:00
arcum42
6d9d39d4c8 Completely remove __rdtsc define. (#4510) 2021-07-17 19:34:33 -07:00
TellowKrinkle
dba223eb18 cmake: override yaml-cpp settings to clear warning 2021-07-17 21:08:30 -05:00
TellowKrinkle
c072c0e82b cmake: Don't overwrite cmake default flags
Also makes sure we don't push our warning settings onto 3rd party libraries
2021-07-17 21:08:30 -05:00
TellowKrinkle
7bb3f41fdc cmake: Drop X11 requirement on macOS
We don't actually benefit from it
2021-07-17 21:08:30 -05:00
TellowKrinkle
248c8b9da4 GS: Remove circular header include 2021-07-17 21:08:30 -05:00
TellowKrinkle
4213b4a409 cmake: Use imported targets 2021-07-17 21:08:30 -05:00
TellowKrinkle
e788dd352c cmake: Fix FindGTK3 not creating targets properly 2021-07-17 21:08:30 -05:00
TellowKrinkle
2c869afbc6 Upgrade libchdr
Fixes cmake includes
2021-07-17 21:08:30 -05:00
TellowKrinkle
108e8bdf0a cmake: Remove unused options 2021-07-17 21:08:30 -05:00
refractionpcsx2
7584571fbc GameDB: Removed Ratchet Dynamic patch. 2021-07-18 01:24:29 +01:00
tellowkrinkle
e92d15e459 CI: Fix avx2-pch build
Was broken when `ADDITIONAL_CMAKE_ARGS` got quoted
2021-07-17 17:39:29 -05:00
refractionpcsx2
03b0d2eb00 RatchetDynaHack: Actually enable it when enabling the gamefix 2021-07-17 16:54:59 +01:00
Florin9doi
0fcabe2b8e Change Graphical to Graphics 2021-07-17 08:57:49 -04:00
Florin9doi
2925f3635f Set missing icons and update titles 2021-07-17 08:57:49 -04:00
Margen67
8628993fb0 Build improvements
Remove unneeded quotation marks.

linux-workflow.yml:
 Checkout Submodules:
  Shorten --jobs to -j, use $(getconf _NPROCESSORS_ONLN).
 Make restore-keys into one line.
 Remove unneeded ./.

macos-workflow.yml:
 Checkout Submodules:
  Shorten --jobs to -j.
 Use $(getconf _NPROCESSORS_ONLN) instead of 2.
 Move HOMEBREW_NO_INSTALL_CLEANUP to env: and add HOMEBREW_NO_ANALYTICS.
 Remove unneeded ./.

pr-triage.yml:
 Make on: pull_request_target into one line.
 Properly capitalize GitHub.

compile.sh:
 Add warning when running outside of GitHub Actions CI.
 Use $(getconf _NPROCESSORS_ONLN).

validate-vs-filters.ps1:
 End of file newline.

windows-workflow.yml:
 Rename config to configuration.
 Opt out of PowerShell telemetry.
 Checkout Submodules:
  Shorten --jobs to -j, use $env:NUMBER_OF_PROCESSORS.
 Remove unneeded shell from Verify VS Project Files.
 setup-msbuild:
  Use v1. (always the latest version)
  Remove useless vs-version parameter.
 Remove unneeded ./ and .\.
 Add -p to mkdir.

.gitmodules:
 Make submodules shallow.

build.sh:
 Move parameters from shebang to set.
 Consistent formatting for ifs.
 Use $(getconf _NPROCESSORS_ONLN).
2021-07-17 08:07:53 -04:00
qurious-pixel
4995b13994 Build: Add Nix dependencies
Add libthai.so.0
2021-07-17 07:38:31 -04:00
qurious-pixel
f430bca472 Build: Bundle GDK/GTK modules
Fixes Manjaro and Fedora crashes
2021-07-17 07:38:31 -04:00
qurious-pixel
c3403de216 Build: Bundle GDK/GTK modules
Add pkg-config and librsvg2-dev for i386.
Fixes Manjaro and Fedora crashes
2021-07-17 07:38:31 -04:00
lubuntu
dcfe9f7aff Build: Remove plugin references 2021-07-17 07:38:31 -04:00
qurios-pixel
bac66e1e5e CI: generate appimage with linux workflow 2021-07-17 07:38:31 -04:00
kojin
4eb5d2c5ed vs: properly disable gm and warnings 2021-07-17 00:31:33 -04:00
TellowKrinkle
5bfd48c65c cmake: Convert indentation to tabs
Previously was a random mix of tabs and spaces
2021-07-16 22:05:48 -05:00
lightningterror
d1344fdd91 pad-linux: Update to latest controller database. 2021-07-17 01:31:16 +02:00
kojin
a8b392e662 vs: clean up libsamplerate project 2021-07-16 19:17:02 -04:00
kojin
9768cfb4ba 3rdparty: convert jpgd to external library 2021-07-16 06:26:32 -04:00
Ziemas
975f33df52 SPU: Delete broken/unused alsa backend (#4530) 2021-07-15 22:41:44 -07:00
Ty Lamontagne
49986bab5e IOP: Warn on branches to zero 2021-07-15 18:34:53 +01:00
RedDevilus
a949b24434 GameDB: Official Playstation Demo serials
Adds a bunch of missing magazine demos.
2021-07-15 18:17:45 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6523b0e9c2 cmake: remove leftover calls to plugin cmakefiles 2021-07-15 14:01:45 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
29f83b4364 AppCoreThread: remove unneeded includes & unneeded double init call 2021-07-15 14:01:45 +01:00
Ty Lamontagne
efd2df8a33 clang-format: Debugger files (check commit message)
gui/Debugger/CtrlDisassemblyView.cpp
gui/Debugger/CtrlMemView.cpp
gui/DebugerLists.cpp

Had to manually format wx event tables
2021-07-15 14:01:09 +01:00
Ty Lamontagne
58a9460f7c Debugger: Modify hotkeys, add delete breakpoint context menu button
Add assemble opcode hotkey as well


Update debugger docs
2021-07-15 14:01:09 +01:00
IlDucci
f9909f4226 GameDB: Adding a couple of demo discs.
Adding Forbidden Siren (PAL demo disc) as well as the Bonus Demo 8 (old) demo disc, which was included with an updated Network Disc.

NOTE: The "(old)" part is written verbatim on the disc.
2021-07-15 14:00:26 +01:00
refractionpcsx2
56372cc46d GameDB: Rename VU0Kickstart -> VUKickstart
Clean up a couple of bits in microVU
2021-07-15 13:58:34 +01:00
refractionpcsx2
c31d6b9ca3 GameDB: Add dynamic patching for Ratchet & Clank games
Removed IPUWait hack as it is no longer required
2021-07-15 13:43:16 +01:00
refractionpcsx2
6d9ace148e VU: Improve sync with VU Kickstart, loosen without kickstart 2021-07-15 13:42:52 +01:00
Víctor "IlDucci
8d167158ae GameDB: Changing some Spanish-exclusive disc content. (#4551)
- Adding the hack fix for Oni (Spanish).
- Adding the proper name for GoldenEye Rogue Agent on the Spanish disc.
2021-07-15 12:45:32 +01:00
Mrlinkwii
71a04aae23 GameDB:add missing serials
GameDB: add serials that where missing
2021-07-14 17:16:58 +01:00
lightningterror
21908bdaad libchdr: Undo recent libchdr change. 2021-07-13 17:22:39 -05:00
sonicfind
1e056ca3fa Capture: Stop a capture at the end of an input recording 2021-07-13 23:03:03 +02:00
refractionpcsx2
45c1579a15 Debug: ignore perfectly timed DIV's, cycle count is off by one 2021-07-13 10:26:42 +01:00
Florin9doi
b85ebbbc2d USB: Move jpgd files to 3rdparty 2021-07-12 23:20:01 +03:00
Florin9doi
060ca1915f USB: Add experimental support for JPEG and multiple resolutions 2021-07-12 23:20:01 +03:00
Florin9doi
de728dbefc USB: Add jpge from https://github.com/richgel999/jpeg-compressor 2021-07-12 23:20:01 +03:00
Florin9doi
bba37b1ff7 USB: EyeToy's default registers 2021-07-12 23:20:01 +03:00
Florin9doi
e5f19a4312 USB: EyeToy LED status 2021-07-12 23:20:01 +03:00
refractionpcsx2
14be2649cf Debug: Detect bad COP2 DIV Unit Timing in Devel Builds 2021-07-12 20:45:50 +01:00
jackun
1f0f584397 USB: Simplify evdev controller mapping
Remove "clever autoconfig" that possibly mapped wrong control to wrong player.
Breaks mapping analog stick's single axis to two axes, for now.
2021-07-12 18:09:39 +03:00
jackun
2925077169 USB: Remove joydev support 2021-07-12 18:09:39 +03:00
jackun
d0ada6b40a USB: Add evdev support for keyboardmania 2021-07-12 18:09:39 +03:00
Aleksander Rem
238da17196 USB: Add keyboardmania
Signed-off-by: jackun <jack.un@gmail.com>
2021-07-12 18:09:39 +03:00
refractionpcsx2
9b8239bafa gameDB: Added required gamefix for Fighting Fury 2021-07-11 18:45:13 +01:00
Mrlinkwii
6d21761a4e Gamedb: add missing serial
Gamedb: add missing serial
2021-07-11 18:43:21 +01:00
Mrlinkwii
16fcd1d1ad GameDB: add missing serials
GameDB: add serials that were missing
2021-07-11 18:43:21 +01:00
kojin
d9bd63fcb7 gs: add jakx greatest hits crc 2021-07-10 05:13:33 -04:00
refractionpcsx2
98b19656c9 VU: Fix address masking in MTVU 2021-07-10 03:31:04 +01:00
refractionpcsx2
93e5f86e24 VUs: Mask start addresses
Fixes the crash in Red Faction 2 when using the VU0 JIT
2021-07-09 23:14:26 +01:00
RedDevilus
2195ac9051 SPU2: Clean up + add Gaussian value in comment 2021-07-09 19:00:42 +02:00
RedDevilus
be2bf9faca clang-format: -pcsx2\gui\Debugger\DisassemblyDialog.cpp 2021-07-09 18:59:35 +02:00
RedDevilus
b0edc68c3d Debugger-GUI: Resize help + add 2 hotkeys
A bit easier and nicer to look at but still needs some work.
2021-07-09 18:59:35 +02:00
Silent
a4057d569f GSFrame: Pass focus to GSPanel once Frame receives focus
Passing focus on the focus message instead of the activate message
resolves an issue where external processes (e.g. NVIDIA overlay)
forced a focus change to the GS Frame, requiring the window to be
refocused in order for keyboard inputs to work again.

Currently, GSFrame rejects focus messages and instead passes it to
the child GSPanel.
2021-07-09 18:45:31 +02:00
lightningterror
f7966bd213 misc: Change gsdx to gs comments. 2021-07-09 18:03:44 +02:00
lightningterror
e8cc2df46c cmake: SearchForStuff update to match gs merge. 2021-07-09 18:03:44 +02:00
lightningterror
7283b1a177 linux various: Update/tweak stuff to match recent gs merge. 2021-07-09 18:03:44 +02:00
lightningterror
26fdc3ea4b github: Update contributing template to match gs merge. 2021-07-09 18:03:44 +02:00
lightningterror
b52a2f4962 pad-linux: Update to latest controller database. 2021-07-08 20:03:31 +02:00
lightningterror
3376722a43 gs: Add crc id for GetaWay JP. 2021-07-08 18:58:31 +02:00
kozarovv
7dd4fd16fd IPU: Fix SETTH threshold masks
Bits 8:0 for transparency, and 24:16 for translucency.
2021-07-08 09:20:59 +01:00
Ty Lamontagne
178354099d clang-format: WinMisc.cpp 2021-07-07 18:30:38 -04:00
Ty Lamontagne
d9cee7467f Utilities: remove getversionex dependency 2021-07-07 18:30:38 -04:00
Tyler Wilding
811f9c52c6 ci: Split avx2 and non-avx2 windows builds (#4522)
* ci: Split avx2 and non-avx2 windows builds

* ci: Improve workflow naming

* ci: Avoid bleeding-edge emojis 🪟

* ci: Don't include debug symbol artifacts by default
2021-07-06 21:23:04 -04:00
ty
6dd90aeaef clang-format: -BiosSelectorPanel.cpp -ConfigurationPanels.h
If you need the full paths:
-pcsx2/gui/Panels/BiosSelectorPanel.cpp
-pcsx2/gui/Panels/ConfigurationPanels.h
2021-07-05 22:14:03 +02:00
ty
24e5d909d0 UI: Async bios enumeration
Update pcsx2/gui/Panels/BiosSelectorPanel.cpp

gonna squash this 1sec

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
2021-07-05 22:14:03 +02:00
Ty Lamontagne
2101e17004 Misc: Suppress a warning regarding GetVersionEx 2021-07-05 22:08:48 +02:00
refractionpcsx2
627f216bf7 Core: Reset game CRC when rebooting. Avoids previous games patches being loaded. 2021-07-05 15:43:57 +01:00
lightningterror
1630805fd8 GS-hw: Enable pabe bit only when sw blending is enabled.
Minor optimization.
2021-07-05 13:14:06 +02:00
refractionpcsx2
c77e0a3a56 microVU: Enable T-Bit to work with MTVU 2021-07-05 10:26:50 +01:00
refractionpcsx2
f925c88753 Update gamedb test workflow 2021-07-05 10:26:09 +01:00
refractionpcsx2
973ebd153d microVU: Consolidate I-bit hacks in to one generic one 2021-07-05 10:26:09 +01:00
TellowKrinkle
4116aed738 MTGS: Only pause when the queue is empty
Prevents other threads from freezing waiting for the queue to empty when it never will
2021-07-05 10:25:28 +01:00
arcum42
0f917c24a5 General cleanup of various linux pad code. (#4281)
* Headers cleanup.

* Remove stray Windows code.

* Rename Gamepad.* to Device.*.

* Rename ini.cpp to Config.cpp. Get rid of controller.cpp, moving code to controller.h.

* Change controller.h to Config.h. More cleanup.

* More header cleanup.

* Switch things over to the InputManager. Didn't move the update code there for now.

* Move to pragma once. Move update code to InputManager.

* Reformatted files. Rearranged some includes and defines.

* Not sure how I missed this...

* It's 2021.

* clang-format: make sure the formatting changes are correct

Co-authored-by: Gauvain 'GovanifY' Roussel-Tarbouriech <gauvain@govanify.com>
2021-07-04 19:39:52 -07:00
arcum42@gmail.com
2feaa8adf7 Don't include GS.h twice in a row. 2021-07-04 19:11:59 -07:00
ty
54590a843a Misc: Pattern match to find the bios thread address 2021-07-05 03:17:10 +02:00
lightningterror
91acaa2555 ci: Update pr labelers to match gs merge. 2021-07-05 02:56:37 +02:00
lightningterror
a0dc71378e nsis: Update external shader file names. 2021-07-04 03:09:48 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c19f8f8997 mcd: correctly display osd message 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
bd3918bd64 settings: make emulation settings modal as it changes core state 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d85d02ac02 shaders: rename to fit new defaults 2021-07-03 18:16:11 -04:00
kojin
32c30ad9e4 vs: split target names for avx and avx2 builds 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8dd9af23d4 gs: make sure gspanel close doesn't starve corethread events 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2384a3d172 mcd: make sure to allow two resume in a row
the cleaner solution would be to make our cdvd implementation using
scopecorepausedthread cleaner but I'm probably going to hold off on
doing that until I do some major refactoring because the GS merge is
alreadying getting out of hand
2021-07-03 18:16:11 -04:00
kojin
9814d442cd vs: move the pcsx2 project
Move the pcsx2 project from pcsx2/windows/VCprojects/ to pcsx2/

This is to fix an issue that was causing the intermediate files to go to the wrong directory.
pcsx2/windows/VCprojects/Win32/Devel/../../GS/GS.o -> pcsx2/Win32/Devel/GS/GS.o
2021-07-03 18:16:11 -04:00
kojin
601241b2c7 vs: move the common props 2021-07-03 18:16:11 -04:00
TellowKrinkle
63645de85b GS: Don't include xbyak into everything
Xbyak header is massive
2021-07-03 18:16:11 -04:00
TellowKrinkle
2849f0bc81 GS: Fix some defines 2021-07-03 18:16:11 -04:00
TellowKrinkle
d2d5fcf07a gs: formatting 2021-07-03 18:16:11 -04:00
lightningterror
8281eec60e gs: change screenshot prefix from gsdx to gs. 2021-07-03 18:16:11 -04:00
lightningterror
146b33f120 misc-linux: Cleanup leftover stuff from gs merge for linux build. 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
483f28044b gs: fix freeze on close all windows 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7597ac12b6 gs: ensure the panel doesn't open at all when unneeded 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b06468e268 gs: ensure gspanel is correctly defined as in use when paused 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a3a700eeaf gs: ensure the frame is hidden if not in use 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8d56332993 misc: fix codacy warnings 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
23c0b0f7b1 settings: ensure gs settings are applied on close/make gs sstate 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3ca8ada424 gs: fix avx2 64bit compile 2021-07-03 18:16:11 -04:00
kojin
7040ad9990 gs: workaround failing avx2 compile 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a9d8a7d70f renderswitch: remove delay, fix long standing race condition 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4237ab9925 buildbot: default to non avx2 release 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
db80ff5477 mtgs: fix threading woes 2021-07-03 18:16:11 -04:00
kojin
c73769607e vs: fix some SSE/AVX stuff 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
841d0cfe0e linux_various: remove plugin ldd finder on runner 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d6e39b7ab0 gs: ensure gs has a first try at input handling before pad 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
31c70a7c38 gs: ensure the config file is set correctly 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
edaa8f7817 gs-debugger: fix gsfreeze wrong retval 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8e52dc1e22 gs: ensure closegspanel is closed after suspend, in sysexecutor 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1e84b00126 mtgs: comment the waitforopen reasoning + add closepanel 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ab02bfa7c0 buildbot: compile without plugins 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b70b3382c7 cmake: remove infinite warning spam on clang 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5a4c05607d sstate: make use of mtgs to ensure thread safety when saving 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fa4f4bca73 mtgs: make renderswitch save current state 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ab65f2ab5e gs: port renderswitch to mtgs 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
527e5a8610 gs: gui-windows: fix alignment of swthreads 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e65019a6fc sstate: use structs instead of parallel arrays + enum 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0009ff8853 gs: ensure gsclose is sent from the main mtgs thread and not sysexecutor 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
70a6c59126 gs: update windows ui to fit with pluginless system 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
90a9708619 gs: use sstate freezedata includes 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b5f50f283c gs: make sure the gs panel handler is opened when needed 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
44026aa899 sstate: major redesign, remove split freeze{out,in}, remove gsfreezedata 2021-07-03 18:16:11 -04:00
Kojin
e90fbfe138 vs: explicitly add floating point model back with note 2021-07-03 18:16:11 -04:00
Kojin
848a930e1a vs: cleanup deps 2021-07-03 18:16:11 -04:00
Kojin
2669a31171 vs: clcompile cleanup 2021-07-03 18:16:11 -04:00
Kojin
59e06c8bbd gs: silence a couple warnings 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3ed58ffde0 sstate: bump version 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0542fa527c mtgs: ensure gs is closing when necessary 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d48e4cd138 mtgs: use SysExecutor to route events back to itself for suspend operations 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f020ffabeb bin: remove spu2 replay cmd 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1317f19de2 gs: initial windows port compiles! 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
614ef4a35b gs: continuing on linker errors on windows 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c8524022b7 gs: initial windows port done up to linking issues 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9c77896f2d baseclasses: prevent collision with wxwidgets
surprisingly, GSdx never ran into this issue prior as linux didn't use
baseclasses but used wxwidgets, while windows did but used the winAPI
GUI system. Software is cursed
2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d5abf459bb windows: continue the merge, handle some subprojects linking 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
763533060a gitignore: update to ignore obj files 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8cd2da61c5 windows: remove project references to plugins 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8a7f6c8c01 windows: update the resource pre-build step to remove plugins assets 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
290ca11fc7 gs: update gui to remove logo/references to gsdx 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8281b57c56 windows: make object files relative to their directory so vs isn't drunk with 2 files sharing the same filename 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4803ed0a4e windows: add xbyak as a windows dependency 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3313acac84 windows: add gs filters 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b52063e4e0 gs: remove unneeded windows project files 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2e9349328a gs: begin preliminary windows support 2021-07-03 18:16:11 -04:00
lightningterror
94901f8be3 nsis: Remove remaining plugins (gsdx) and references. 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
06da3a1359 mtgs: fix pesky assert on gs init 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
25af4de320 cmake: remove infinite warning spam 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
80c67e2d48 pad: separate full and per-pad sstate 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9cb0093a1a docs: update them to remove mention of plugins 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
136c326059 pcsx2: clean up references to plugins 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3b56b0340d ftw: remove the plugin panel 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a7ff19ac98 gs: reimplement renderer switch sstate 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
18bc19a09c savestate: remove a bunch of dead code 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a781b4529b gs: ensure coherent use of gsfreeze 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fbf10dcdf5 gs: implement sstate handler functions 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
83a28ddab1 savestate: add back gs sstate 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
70dde551e3 gs: introspect gs state directly 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fa9b30fa9e pcsx2: remove relative imports
gosh that was a pain, please don't make me do that again
2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4f33bfb9f3 gsdump: fix reorder warning 2021-07-03 18:16:11 -04:00
TellowKrinkle
b2da348834 GS: Fix GSVector.h not seeing SSE defines 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e0499b587e gs: remove old logo 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9d4c41e051 gs: pause configuration screen when opened 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
707d2dae71 gs: add back configuration menu 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9422e32f23 gs: ensure avx2 has access to gsvector8 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d2a5e3b675 gs: fix redefinition hell on _d token concatenation 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
727693248d utilities: fix a few omissions when building on nopch 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c1e625cc4b cmake: require XCB libs and not just X11-XCB 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
77b6ce1c27 gitignore: update gs templates 2021-07-03 18:16:11 -04:00
TellowKrinkle
a207abcfc1 ghactions: Add avx2 CI
Needed until we get multi-isa working again
2021-07-03 18:16:11 -04:00
TellowKrinkle
7177bd3597 GS: Disable clang-format to keep alignment 2021-07-03 18:16:11 -04:00
TellowKrinkle
67a5c8e314 cmake: Enable sse4.1 by default 2021-07-03 18:16:11 -04:00
TellowKrinkle
fec12819fa GS: Fix warning spam in macOS 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
08419440f1 license: clarify we are licensing under LGPLv3+ 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
18e892f473 gs: update license headers 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
48aef61027 gui: fix assert with default case unreachable by removing plugin remnant 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b7c0c9589a gs: initial merge complete 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
24b9c5698e gs: initial merge complete up to linking errors 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3a5d1ace91 gs-merge: gui fixups, getting rid of the plugin selector 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4e96ed3e74 gs-merge: initial merge of the gs codebase finished 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
00ed02f831 gs-merge: fix codegen scoping/xbyak misc things for our jit 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3851014634 gs-merge: make sure x11 defines are scoped 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fef8dfd05b gs-merge: make xbyak intrinsics includes scoped, avoid cross project linking with x86_intrin 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
bbcfc0ff1d gs-merge: include hell, scoping, redefinitions 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5f0699d382 gs: xbyak and gs type incompat workarounds for the merge 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fc1e00b7ef gs: trying to sort out this include hell 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b284ab7566 gs: core code and components merged up to gs 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ada56a1c03 mtgs: ensure thread safety, reimplement coreplugins intermediate layer 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
160117ffbb mtgs: switching to a plugin-less architecture 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f04f941dbb gs: continue merge, modify plugin boundaries and expose signature 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e68a3606a9 mcd: finish to remove the remnants of the plugin interface 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
27cb700259 mcd: begin to remove the plugin interface 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f75ae3e046 gs: continue merge, remove plugin selector references 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d272334c71 plugins: cleaning up more plugin cruft, adding a note on freezeData 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9587afc5ed cmake: port glib resources for gs into core 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fd39f14b4e cmake: initial cleanup of the dep lookup 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1893bfe93d gs: initial build system additions 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c87a054b4c 3rdparty: initial addition of xbyak 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
587a893a0e gs-merge: remove initial plugin subsystem 2021-07-03 18:16:11 -04:00
Ty Lamontagne
fbffa1c7bc Translations: Remove unnecessary warning regarding string length 2021-07-03 20:48:46 +02:00
lightningterror
e3d6e50ba0 pad-linux: Update to latest controller database. 2021-06-29 16:32:51 +02:00
Ziemas
b7dfb2c294 vsprops: Explicitly link setupapi. (#4495)
Currenty it only works because of portaudio linking it with a pragma.
2021-06-27 13:13:05 +02:00
Ilya Trukhanov
3c59221dd1 pad: Fix gamepad choice not affecting rumble test on Linux
The rumble test using either the checkbox or the slider in the gamepad
configuration GUI always causes the first gamepad to rumble, even if
other gamepads are selected in the drop-down menu.
2021-06-26 22:09:38 +01:00
Ziemas
d310ae948d SPU2: Remove SPU2setClockPtr 2021-06-23 14:30:54 +02:00
Ziemas
67cd7713b8 SPU2: Remove cycleptr and read the cycle directly
Seemed like any chance of working without grabbing this straight out of
the iop was given up on anyway.
2021-06-23 14:30:54 +02:00
TheLastRar
f5346129ae DEV9: Clang format pcap_io.cpp 2021-06-22 04:34:50 +02:00
TheLastRar
a333a65419 DEV9: Discard Jumbo Frames from pcap 2021-06-22 04:34:50 +02:00
Jonathan Li
982ef41814 cdvd: Simplify and fix disc variable handling
This fixes an issue on Windows where the previously selected disc drive
choice is cleared if there is no disc in the drive when PCSX2 is opened.
2021-06-20 10:00:31 +01:00
Jonathan Li
7f8ca17752 cdvd:windows: Fix disc path
The disc path was not always in the correct format.

Fixes a regression from the CDVD merge.
2021-06-20 10:00:31 +01:00
lightningterror
33d8290fd4 pad-linux: Update to latest controller database. 2021-06-18 04:40:34 +02:00
TellowKrinkle
f3b17cf021 iR5900: Move recConstBuf memory near recompiler memory 2021-06-18 00:44:02 +01:00
Mrlinkwii
b5a917fb08 GameDB: remove 'OPHFLagHack' for ""Naruto - Uzumaki Chronicles 2" (#4488)
No longer needed.
2021-06-09 18:47:47 +02:00
refractionpcsx2
739787e8c4 Add new hack 2021-06-08 19:07:19 +01:00
Tyler Wilding
d988e8d764 input-rec: Add warning when creating a save-state recording 2021-06-06 17:51:28 +02:00
refractionpcsx2
a6193b0a51 Core: Make DMA's instant during the BIOS 2021-06-05 02:01:10 +01:00
Mrlinkwii
8552090f50 GameDB: Adds VU clamping mode extra to 'Enthusia Professional Racing' (#4478) 2021-06-04 18:03:55 +02:00
TheLastRar
286b6448be DEV9: Always open HDD image as binary
Previously the file was only opened in binary mode if it existed before starting emulation
2021-06-02 20:28:19 +02:00
lightningterror
48961ed3df usb: Fix a few more warnings. 2021-06-02 20:27:50 +02:00
dependabot[bot]
1b4c8991c8 build(deps): bump actions/cache from 2.1.5 to 2.1.6
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 21:15:59 +02:00
TheLastRar
a35edc95cf DEV9: Clang format DHCP_Server.cpp 2021-05-27 16:07:18 +02:00
TheLastRar
91c2f62c9e DEV9: Fix off by one error with manual DNS1, auto DNS2 2021-05-27 16:07:18 +02:00
Tyler Wilding
7a7f98955b input-rec: Allow configuring the frame advance amount 2021-05-27 16:02:06 +02:00
TheLastRar
3a877a51b5 DEV9: Sleep instead of yield in RxThread 2021-05-27 16:00:07 +02:00
refractionpcsx2
17519c21b4 SPU2: Fix hi def audio streaming 2021-05-27 00:10:33 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ead1243c61 DEV9: ensure DEV9 use wchar ghc 2021-05-26 15:52:21 +02:00
TheLastRar
fad389faab DEV9: Clang Format 2021-05-26 15:52:21 +02:00
TheLastRar
af63023d92 DEV9: GHC related changes 2021-05-26 15:52:21 +02:00
Florin9doi
0b51f09a38 Remove PSX references to distinguish between PS1 and DVR 2021-05-26 15:24:41 +02:00
Tyler Wilding
18abe94e7f ci: Make acceptable values obvious 2021-05-26 15:07:26 +02:00
Tyler Wilding
128eaf5790 ci: Add workflow_dispatch support for Windows debugging builds 2021-05-26 15:07:26 +02:00
Tyler Wilding
bfe0ba7e99 ci: Add an explicit flag to retain Windows debugging artifacts 2021-05-26 15:07:26 +02:00
Mrlinkwii
1bbc51c947 GameDB: Add missing db entries. (#4456)
Official Playstation Magazine - Demo Disc 40'entries, Official Playstation Magazine - Demo Disc 85, Singstar Boy Bands vs Girl Bands, Singstar Take That.
2021-05-26 14:52:39 +02:00
Ty Lamontagne
1097e246a4 Differentiate Impossible block clearing message from IOP & EE 2021-05-26 10:14:20 +01:00
icup321
f90a4871b4 GameDB: Add Kickstart for Rayman Raving Rabbids (#4462) 2021-05-26 10:13:52 +01:00
Nobbs66
e0111195a5 Fix Emulated PSX GPU Version
The PS2 emulates a version 0 PSX GPU rather than a version 2 GPU.  This removes the extra v2 commands
2021-05-21 00:06:16 +02:00
Ziemas
bb09d3fe74 SPU: Make SPU use the MADR from iopHw 2021-05-20 23:50:49 +02:00
Ty Lamontagne
e88f29d3ac Misc: Save ELF last path when auto-running an elf 2021-05-20 23:48:54 +02:00
TheLastRar
084c7db9ac DEV9: Increase min HDD size to 40gb 2021-05-17 14:29:03 +02:00
Mrlinkwii
1af6979e88 GUI: change 'Console to Stdio' to 'Program Log to Stdio'
GUI: change  'Console to Stdio' to 'Program Log to Stdio'
2021-05-17 14:25:59 +02:00
TheLastRar
f28bfa4ad1 DEV9: Correctly populate DNS2 field with DNS2 IP 2021-05-17 14:25:21 +02:00
lightningterror
7efa96c732 pad: Update log that mentioned plugin settings. 2021-05-12 18:20:54 +02:00
Florin9doi
2eb6d9a0fb Eyetoy: Don't send duplicate frames 2021-05-10 17:02:59 +02:00
Florin9doi
02546459ea Eyetoy: Improve logging 2021-05-10 17:02:59 +02:00
Mrlinkwii
b6ac5e3be0 GUI: Updates the 2 smaller icons to the same icon as the main icon used for the program. (#4431) 2021-05-10 16:53:29 +02:00
TheLastRar
bc25ffb52c DEV9: Better align IP fields 2021-05-10 16:24:43 +02:00
TheLastRar
3d1b79464c DEV9: Add internal DHCP Server 2021-05-10 16:24:43 +02:00
TheLastRar
221a8dc530 DEV9: Move reconfiguration code into net.cpp
Also make the internal server aware of the reconfiguration
2021-05-10 16:24:43 +02:00
TheLastRar
36406e2fd9 DEV9: Have each backend use the internal server 2021-05-10 16:24:43 +02:00
TheLastRar
7e35c7750e DEV9: Add shared internal server code 2021-05-10 16:24:43 +02:00
TheLastRar
c1ab094938 DEV9: Add internal server mac and IP 2021-05-10 16:24:43 +02:00
TheLastRar
26b954fdc6 DEV9: Add code for reading packets 2021-05-10 16:24:43 +02:00
TheLastRar
1221b5c271 DEV9: Add message in pcap GetMACAddress() for unsupported OS 2021-05-10 16:24:43 +02:00
TheLastRar
f1f888bd11 DEV9: Report blocks as true for pcap 2021-05-10 16:24:43 +02:00
TheLastRar
869bdb727a DEV9: Move ATA write queue logic into its own class 2021-05-10 16:24:43 +02:00
Tyler Wilding
076d13a7c2 lint: Address Codacy linter findings 2021-05-10 16:23:42 +02:00
Tyler Wilding
109ca396b9 ci: Create GitHub action to validate GameDB when it's modified 2021-05-10 16:23:42 +02:00
Tyler Wilding
ce0395947f ci: Create script to validate GameDB at build-time 2021-05-10 16:23:42 +02:00
Tyler Wilding
551b52922a input-rec: Remove unnecessary externs and resolve linter errors 2021-05-10 16:19:27 +02:00
Tyler Wilding
90938b100c input-rec: Cleanup inputRec namespace 2021-05-10 16:19:27 +02:00
RedDevilus
ee0ebe1c04 PCSX2-GUI: Console log rename and newline 2021-05-10 16:17:23 +02:00
ty
23f727351c Core / VU: Disable MTVU when VU1 Interpreter is selected
Also clean up Config.h a little
2021-05-10 16:15:16 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
133af79c45 CONTRIBUTING.md: removed reference to forums for development(????) 2021-05-10 16:14:25 +02:00
Margen67
704d998c7f CONTRIBUTING.md: Typo fixes, https 2021-05-10 16:14:25 +02:00
lightningterror
e50a4463a5 recording-gui: Add close box to New Input Recording. 2021-05-09 22:59:12 +02:00
macmenot
6a2ed3d078 DEV9: consistently prefix all console output with DEV9:
Around half of the debug and console output from the DEV9 tree already
had this prefix. Adding it everywhere for consistency. Also fixed
misspelling of "Unknown" whilst there.
2021-05-08 17:05:23 +02:00
kozarovv
0ad5680597 FPU: Remove FPU Compare Hack
FULL clamping mode fix games where hack was used, so is no longer required.
This commit remove hack, adjust GameDB according to that change, and rename fpuFloat4 function to fpuFloat3.
Last change is because fpuFloat3 was just wrapper for fpuFloat4 with added check for compare hack.
Additionally fpuFloat2 was only function that called fpuFloat4 directly, so that one call was changed to fpuFloat3 to respect previous changes.
2021-05-08 17:04:09 +02:00
TellowKrinkle
2e0baa7162 Update ghc::filesystem to 1.5.4
Switches to wchar on windows, which allows construction of a path from wchar*
2021-05-07 02:23:04 -05:00
lightningterror
11e08642f3 pad-linux: Update to latest controller database. 2021-05-06 01:19:38 +02:00
RedDevilus
8760214817 clang-format: -pcsx2\gui\AppRes.cpp 2021-05-05 18:10:15 +02:00
RedDevilus
d760ad7293 CDVD-GUI: Swap Browse and Ask before booting + Ask before booting is off by default 2021-05-05 18:10:15 +02:00
Mrlinkwii
0a247868df GameDB: Fix typo causing gamedb not to load (#4417) 2021-05-04 20:13:18 +01:00
Mrlinkwii
15b9e775a1 GameDB: add Nearest EErounding to SSX and SSX tricky. (#4405) 2021-05-04 17:37:26 +02:00
Tyler Wilding
82ce20210f input-rec: Resolve crash when closing emulator involving GUI elements
Gist is we paused the CoreThread without resuming it (input recording would wait until the next VSync), the shutdown routine triggers it when all required window elements are already cleaned up, hence the crash.

Reproduction Steps:
- boot game so gs window is open
- open the dialog for a new input recording, then close it
- close the GS window
- re-open the dialog for a new input recording, then close it
- close pcsx2, should error.
2021-05-04 17:35:41 +02:00
refractionpcsx2
467659200d GameDB: Add patches for Elemental Gerad and K-1 Grand Prix 2006 (SLPS) 2021-05-03 16:13:58 +01:00
RedDevilus
5639273cec readme: Add discord shield
- Discord is more obvious to endusers now with logo and corresponding blue color.

readme: Remove coverity

- Sets discord to white icon and remove coverity because it hasn't been used since 2019 and replaced by codacy.

readme: SSE4 to SSE4.1

- Make it more obvious to have atleast SSE 4.1
2021-05-01 00:34:55 +02:00
Tyler Wilding
07f2459178 github: Remove now redundant comment in PR template 2021-04-29 18:41:34 +02:00
Tyler Wilding
be6b46b793 github: Add first-time contributor message 2021-04-29 18:41:34 +02:00
Silent
bd4d04f914 clang-format: -pcsx2/gui/MemoryCardFolder.cpp -pcsx2/gui/MemoryCardFolder.h 2021-04-28 01:10:24 +02:00
Silent
c27ae16b42 Folder memcards: Suppress "file does not exist" errors for memcard index 2021-04-28 01:10:24 +02:00
Silent
affa24e596 Folder memcards: Remove an unused variable 2021-04-28 01:10:24 +02:00
Silent
52408145c1 Folder memcards: Properly handle zero sized files when writing the memcard index
fileRef is nullptr for zero sized files
2021-04-28 01:10:24 +02:00
Silent
19af887257 Folder memcards: Improve handling of legacy folder memcards (without the index file) 2021-04-28 01:10:24 +02:00
Silent
607b56be97 Folder memcards: Ensure YAML nodes are always referenced by UTF-8 2021-04-28 01:10:24 +02:00
Silent
c7ad748e98 Folder memcards: Write the file index from FlushFileEntries
Resolves issues with flushes being performed out of order,
breaking the intended order of files in the file dictionary
2021-04-28 01:10:24 +02:00
Silent
f8f783737d Folder memcards: Write metadata for directories 2021-04-28 01:10:24 +02:00
Silent
a6cec6a04e Folder memcards: Add an index file to track timestamps and file order
This resolves folder memory card incompatibilities with games assuming
the order of files in the filesystem - e.g. Grand Theft Auto games.
A newly added index file tracks the order in which files would have
landed in the FAT partition and attempts to preserve this order
upon loading.
2021-04-28 01:10:24 +02:00
Silent
8dee1a3e9f Folder memcards: Clean up FolderMemoryCard code a bit 2021-04-28 01:10:24 +02:00
ty
eef643cf63 Core: Purge OS specific CPU usage providers 2021-04-28 01:03:14 +02:00
lightningterror
290183040f gsdx-vsprops: Fix build configuration.
Fixes AVX2 build configuration on VS.
Issue was gsdx would still build as SSE4 instead of AVX2 on AVX2 configuration.

Also remove sse2.props.
2021-04-24 20:07:46 +02:00
lightningterror
ee2890517c gsdx-hw: Cleanup renderer code a bit.
Mark variables as const if applicable, initialize some as well.
2021-04-24 20:05:43 +02:00
lightningterror
46cd43ab9e gsdx-ogl: Cleanup renderer code a bit.
Mark variables as const if applicable.
2021-04-24 20:05:43 +02:00
lightningterror
4ca84e8049 gsdx-d3d11: Cleanup renderer code a bit.
Mark variables as cost if applicable.
Initialize D3D11_PRIMITIVE_TOPOLOGY.
2021-04-24 20:05:43 +02:00
tellowkrinkle
a4bb6234ac Rename main menu back to System (#4362)
There's already a `PCSX2` menu on macOS, adding a second one is incredibly confusing
2021-04-24 08:46:34 -07:00
macmenot
dac2a302ec DEV9: add ATA Idle Immediate (E1) stub
Fixes https://github.com/PCSX2/pcsx2/issues/4358
2021-04-24 14:12:16 +02:00
TheLastRar
72eddb7286 DEV9: Do not apply byteswapping to TX/RX FIFO writes/reads 2021-04-24 14:08:22 +02:00
RedDevilus
f0cdf398a6 pad-linux: Update to latest controller database. 2021-04-24 13:59:20 +02:00
Mrlinkwii
ffb1a3d11e GameDB: Fix errors in GameDB. (#4389) 2021-04-24 13:58:54 +02:00
Mrlinkwii
721253bf49 GameDB: Adds gamefixes for various games. (#4388)
Adds fixes for Energy Airforce - Aim Strike , K-1 World Grand Prix 2006.
2021-04-24 00:45:08 +02:00
Mrlinkwii
526c143eb5 GUI: rename 'show debug' to 'show debugger' and move the create blockdump' option above it above
GUI: rename 'show debug' to  'show debugger' and move the  create blockdump' option  above it  above
2021-04-23 00:17:07 +02:00
Mrlinkwii
4d2f7ae9e2 clang-format : pcsx2/gui/MainFrame.cpp
clang-format : pcsx2/gui/MainFrame.cpp
2021-04-23 00:17:07 +02:00
Mrlinkwii
d7851132c4 GUI: change window to debug and move blockdump to to debug
GUI: change window to debug and  move blockdump to  to debug
2021-04-23 00:17:07 +02:00
refractionpcsx2
6f7890b709 microVU: Fix mistake when setting Status Flag bits for Signed/Zero 2021-04-19 10:55:33 +01:00
dependabot[bot]
d3be481327 build(deps): bump actions/cache from v2.1.4 to v2.1.5
Bumps [actions/cache](https://github.com/actions/cache) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.4...1a9e2138d905efd099035b49d8b7a3888c653ca8)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-19 08:34:26 +02:00
tellowkrinkle
256afa8b9d clang-format: change alignment settings 2021-04-18 17:39:09 -05:00
Tyler Wilding
770eb0bdaf github: Beef up the CONTRIBUTING file and point people there for best-practices 2021-04-19 00:37:46 +02:00
Tyler Wilding
6e8578ff6c github: Add PULL_REQUEST template 2021-04-19 00:37:46 +02:00
Tyler Wilding
5e585c69ff github: Move CONTRIBUTING file into .github folder 2021-04-19 00:37:46 +02:00
TellowKrinkle
3db5e42b96 GSdx: Add clang-format off/on to parts clang-format breaks really badly on 2021-04-17 05:11:33 -05:00
TellowKrinkle
ae1bc651d6 GSdx: Format 2021-04-17 05:11:33 -05:00
lightningterror
fafbb3cc63 gsdx: Clean up a few warnings. 2021-04-13 02:05:18 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6251c3f8ab gsvector: fix forgotten elif during purge 2021-04-13 02:04:16 +02:00
tellowkrinkle
1e60161932 ghactions: brew update before installing in macOS
Should fix issues with homebrew's old package provider shutting down
2021-04-12 15:04:05 -05:00
Tyler Wilding
6cc969a89c ci: Automatically label pull requests 2021-04-10 20:41:01 +02:00
KrossX
0235bec410 PAD: Just enable pressure on CMD 0x4F 2021-04-10 19:46:30 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
12e9ddfa2b core: change sse4 fatal error to sse4.1 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8a9ec4c706 core: purge sse2 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5509bfc003 spu2: purge sse2 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
48f51b3ce3 gs: purge sse2/sse3 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6bc31a0023 cmake: make sse4 default 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fb1f73fbd4 sln: remove SSE4 from build options, make SSE4 default 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
970dfb9cfd buildbot: change default target because of sse2 purge 2021-04-10 19:16:42 +02:00
pgert
87daea8a06 GUI > SpeedhacksPanel: textstringcorrections 2021-04-10 13:31:58 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
edeb0d7bd7 ipc: keep previous file socket formatting 2021-04-09 11:30:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1d93cd25e5 ipc: switch to std::string, more readable code + fixes memleak 2021-04-09 11:30:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
80cd65d347 ipc: remove possible memory corruption due to strcat on provided pointer 2021-04-09 11:30:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4a2482e950 ipc: implement MsgStatus 2021-04-09 11:29:58 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
bc6e5213a0 ipc: implement MsgGameVersion 2021-04-09 11:29:58 +01:00
lightningterror
434a06cb72 gsdx-gui: Remove partial and full crc hack levels on release builds.
Normal users shouldn't really need to choose partial or full since
automatic already does that.
Keep the options on debug for testing only.
2021-04-08 21:17:07 +02:00
lightningterror
05a31bd656 pad-linux: Update to latest controller database. 2021-04-07 13:32:23 +02:00
refractionpcsx2
b60765e976 Gif: Remove MTVU spam that isn't required
Solves stuttering in MTVU mode in some games, and gets rid of some annoying asserts which mean nothing.
2021-04-05 04:45:04 +01:00
lightningterror
c61566dec0 misc: Enable GS debugger on CI artifacts. 2021-04-05 00:23:31 +02:00
RedDevilus
0fe9a9535e SPU2: Change default of latency slider
Linux: 300 to 100 (which should be fine for everyone.
Windows: Change the steps to start from 3 and increment on higher numbers instead of 0.5 steps which is just stupid to be that granular.
2021-04-04 23:18:07 +01:00
lightningterror
048356a393 pad-linux: Update to latest controller database. 2021-04-02 05:57:15 +02:00
RedDevilus
7704960e1d GUI-Speedhacks: Grayout Instant VU1 when MTVU is enabled
MTVU checked + Instant VU1 checked = MTVU is on
MTVU checked + Instant VU1 off = MTVU is on
Essentially it doesn’t matter for Instant VU1 be checked or unchecked if MTVU is checked.
MTVU off + Instant VU1 checked = Instant VU1 is on
MTVU off + Instant VU1 off = both are off

Instant VU1 enabled is the old behaviour (so think of it always being enabled in the past). Some games however don’t like this and for those few games they should be off, those kind of games should’ve normally been added as an automatic gamefix or will be in the future.
2021-04-02 00:36:51 +01:00
ty
e36199c499 Misc:Debugger: Support write-only GS priv reads 2021-04-01 16:32:47 +02:00
ty
9ea1610d37 Misc:Debugger: Bios thread view support 2021-04-01 16:30:55 +02:00
Jonathan Li
a6fac1e009 gsdx:windows: Fix incorrect printf specifier 2021-03-27 18:51:17 +00:00
Jonathan Li
157add3eea gsdx:windows: Handle capture dialog filenames properly
The capture dialog filename handling code did not handle non-English
filenames properly.

Fix the filename handling by working in Unicode only and avoiding
unnecessary and incorrect string conversions.
2021-03-27 18:51:17 +00:00
Jonathan Li
d81f236910 gsdx:windows: Handle shader dialog filenames properly
The shader dialog filename handling code had several buffer overflows
and also did not handle non-English filenames well.

Fix the filename handling by storing them as UTF-8 in the ini and
converting them to/from UTF-16 as necessary, and also fix the buffer
overflows.
2021-03-27 18:51:17 +00:00
Jonathan Li
dedd860d40 windows: Add utf-16 to utf-8 conversion function 2021-03-27 18:51:17 +00:00
KrossX
294e54c42b PAD: Add one more byte to umask. (#4305)
Seems to be enough to fix Warriors of Might and Magic.

Increased savestate version since it changes the size of the PadFreezeData struct.
2021-03-26 23:23:03 +01:00
ty
690dae5c17 Misc: Support another bios for the debugger threadlist 2021-03-26 14:26:31 +01:00
Tyler Wilding
72eafeaf40 docs: Hide PDF metadata from rendered markdown in github 2021-03-26 14:24:02 +01:00
Kojin
51253193e0 msbuild: fix libchdr include directory
I don't know what PublicIncludeDirectories is, it's not documented anywhere by MS.
Even if it doesn't fix the bot, it's at least consistent now.
2021-03-25 19:28:56 -04:00
TellowKrinkle
4a55f7b845 Upgrade libchdr
Fixes things getting built as dylibs
2021-03-25 17:12:55 -04:00
lightningterror
bc477e1ce1 pad-linux: Update to latest controller database. 2021-03-23 17:56:18 +01:00
Romain TISSERAND
b436898d2a Formatting: clang-format + copyright headers 2021-03-23 11:06:48 +00:00
Romain TISSERAND
742b829c82 MSVC: fix libchdr integration 2021-03-23 11:06:48 +00:00
Romain TISSERAND
c5196b4ebf cmake: Fix libchdr clang CI faliure 2021-03-23 11:06:48 +00:00
SleepyMan
0599e675a0 CDVD: Add support for CHD format 2021-03-23 11:06:48 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3dc5162079 gsdump: change the location of the settings button 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6c73256196 gsdump: add a settings button; add safety checks for user missing braincells 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d5b312866d gsdump: disable renderer switch keybind on debug 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cf46e52035 gsdump: simplify a switch case and do-while 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
475e5865d7 gsdump: move all gui porcelains to main thread and code reorg 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1248aa95cb gsdump: make wxwidgets highlight selected packet on debug mode 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ce24c87a3f gsdump: implem debug button functions & disable in release & minimize 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2076b90d92 gsdump: filter fswatcher events & rename the app 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
06fa29678b gsdump: ensure q is printed as float 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
00d680f4bd gsdump: reset state when dump is invalid & ensure you can't run it if started 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d6a671d4ae gsdump: add enter+dclick selection on lv + fix rd crash lifetime switch 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
501225c630 gsdump: force close-shutdown when gsdump is the callee 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f407c5aabd gsdump: switch to Add instead of += overloading, unlink about and gsdump 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d8b52111cf gsdump: remove the list refresh when stopping the dump 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1851595aff gsdump: disable run button when already running 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6249831bb9 gsdump: implement renderer overrides, fix linux GSRT, remove GS assert 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0020568823 gsdump: make our own window, handle close event, make our own vsync timers 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a4e01d4593 gsdump: fix parsing of last packet in non debug mode and code simplification 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3cfc00b355 gsdump: move to unique_ptr & references and fix GS hanging bug 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
49f566dc9f gsdump: add automatic fs watcher for dumps list & remove todo 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4280ee1f0a gsdump: add message when failing to load dump, fix dumps without preview image 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3bb8fcf655 gsdump: various logic and code formatting improvements 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
65291ace12 gsdump: fix crash on shutdown & ui refinement work 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7674545814 gsdump: use automatically initialized vectors 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d86d9f66a9 gsdump: add missing gifreg naming, fix vsync type casting & formatting 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
db2b487247 gsdump: fix casting on vsync type field 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
29356ef465 gsdump: fix windows filters & clear up warnings & unix builds 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
dae36f59d2 gsdump: new freeze definition, the dump now gets correctly loaded in memory 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6840041ee6 gsdump: use correct plugin lifetime callbacks 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9bfc82cfc7 gsdump: switch processing into a thread 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c9201111ab gsdump; packet reg parser finalized and confirmed complete 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3ef92baa74 gsdump: wxwidgets ux improvements 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
423f677264 gsdump: finalize reg parsing, we are theoretically at feature parity 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7412d1ac43 gsdump: finish implement reg tree subparsing 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2068f3fc60 gsdump: implementing some reg packet parsers 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
82c99695d7 gsdump: enum to string mapping thanks to preprocessor magic 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f9ee7e01bf gsdump: vastly simplify string exports & beginning to work on reg browser 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8817e71c99 gsdump: packet browser fields implemented up to prim 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3beb47f8d9 gsdump: implement basics of the packet browser 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
de38219927 gsdump: parse gsdump packets into treeview 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e208c0f8cf gsdump: wiring up buttons 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ca33ccc60e gsdump: debug mode messages implemented 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7c0fc3b777 gsdump: initial implem of standard replay mode done 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
20d825b054 gsdump: initial implementation of gssdump event processing 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d579dc16f1 gsdump: dump fully parsed 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0ba7b18032 gsdump: initial parsing of the dump file 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fa0deffc5d GSDump: implement layout of dump replay 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e94b5f9e54 GSDump: initial implementation of the run feature 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f1df1de64f GSDump: implement dump preview 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1f5c0639b9 GSDump: initial windows port 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
dedd82747a GSDump: add some basic event handling 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d5e8fc6fea GSDump: further painful work on the UI, preview icon added 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
794ef66392 GSDump: very early draft of the UI 2021-03-22 23:37:24 -04:00
Tyler Wilding
0dffc13e49 gui: Visually indicate the current savestate slot in the load/save menu 2021-03-22 08:40:53 +01:00
TellowKrinkle
9a435c1a7e GSdx: Re-add __forceinline to GSVector functions
Looks like MSVC isn't smart enough to inline things properly
2021-03-22 02:09:31 -04:00
TellowKrinkle
fcee1e5496 GSdx: Don't use constexpr vector constructors at runtime
The MSVC implementation is slow
2021-03-22 02:09:31 -04:00
TellowKrinkle
f8b8b5db13 GSdx: Compiler check for const initialization of vectors
Make sure we don't accidentally end up with a vector-based non-const initialization
2021-03-22 02:09:31 -04:00
Kojin
5ac4b41281 gs: remove some pesky asserts 2021-03-22 02:07:54 -04:00
Silent
68d8840075 USB: Improve Force Feedback test so it doesn't block UI 2021-03-20 23:01:11 +02:00
RedPanda4552
0af847bd29 Change visibility of end of file error
We want this to be visible at all times so ISO damage issues are more visible without enabling advanced logs. Conversely, we don't want this to show up as a big red error, since it is not necessarily a critical error as mentioned in li's comment.
2021-03-20 04:54:38 +00:00
Tyler Wilding
af98432881 ci: Stop caching submodules, no consistent way to detect changes
There doesn't seem to be an obvious way to detect a submodule change.  If the TAG was put inside the `gitmodules` file that would be another thing, but it isn't.  So after a new submodule is added, the cache is never evicted (for instance in this PR's case, where an existing submodule is bumped to a new commit)
2021-03-20 04:20:43 +01:00
Tyler Wilding
b819cfcbe8 cmake: Update minimum {fmt} version 2021-03-20 04:20:43 +01:00
Tyler Wilding
501a714b98 deps: Update {fmt} to 7.1.3 2021-03-20 04:20:43 +01:00
refractionpcsx2
d55ddd4795 GameDB: Elvandia Story, favour full clamping instead 2021-03-19 11:41:16 +00:00
refractionpcsx2
37221a5fe5 GameDB: Add clamp mode setting for Elvandia Story 2021-03-19 09:54:17 +00:00
lightningterror
5e27e6dd78 pad-windows: Fix a couple of warnings, make codacy happy. 2021-03-18 19:28:34 +01:00
ty
0a3f380718 Misc: Support 21 more BIOSes for the Debugger Thread View 2021-03-17 18:32:19 +00:00
ty
794e2e47d0 Debugger: Require emulator start before enabling Break/Run button 2021-03-17 15:39:11 +00:00
ty
e18ee42afc Misc: Fix various DebugTools Codacy complaints 2021-03-16 17:38:54 +00:00
Mrlinkwii
789c619169 Misc: cleanup more MD codacy issues 2021-03-15 15:48:27 +00:00
RedDevilus
ad4a5f9ef4 Misc: Fix regression in templates (#4299) 2021-03-15 13:57:46 +00:00
Florin9doi
b2b8bfc433 Change wheel type to device subtype 2021-03-14 23:29:43 +02:00
lightningterror
f6e12f82de gsdx-hw: Remove Bully crc hack.
Hack breaks a bunch of effects, upscaling issues can be fixed with
texture offset hw hack.
2021-03-14 21:19:02 +01:00
lightningterror
b68e8f059b gsdx-d3d11: Cleanup some gsdevice11.cpp warnings reported on codacy. 2021-03-14 21:08:17 +01:00
lightningterror
8d977d43bb pad-linux: Update to latest controller database. 2021-03-14 20:58:51 +01:00
Pierre GRASSER
be89e23030 GameDB: renamed Rogue Galaxy Director's Cut and added kozarovv's patch 2021-03-13 02:03:06 +00:00
RedDevilus
4840d1db93 Misc: cleanup MD codacy issues
Not the worst issues, we could still block or revise the styling rules where it's complaining.
2021-03-13 02:00:18 +00:00
sonicfind
bb39276ccc Input-recording: Prompt a file dialog when the base savestate can't be located
The chosen file (if one is made in the dialog window) will be saved and used as the base from then on (until the recording is stopped).
2021-03-12 15:58:43 +00:00
sonicfind
a74609d321 GUI: Additonal text and prompts with an active savestate recording 2021-03-12 15:58:43 +00:00
sonicfind
ceb7eaaf47 GUI: Visually alter status bar and Boot menu option while an input recording is active
+ Defines GSPanel method for generating the string keycode for a command
2021-03-12 15:58:43 +00:00
sonicfind
c664a48f26 Input-recording: Add new FirstFrame function
Jumps emulation to the initial state of an active input recording file whether boost or savestate. Makes it easier to reset savestate-based recordings.
* Overrides the Boot ISO/CDVD/Bios menu option.
2021-03-12 15:58:43 +00:00
sonicfind
7b9c8634f4 Capture: Swap int return types with bool
Additionally fix SPU2 error message
2021-03-12 13:22:40 +00:00
sonicfind
df446510da Capture: Introduce audio toggle setting
Allows a user to toggle recording an audio .wav file alongside the video .avi file before capturing.
2021-03-12 13:22:40 +00:00
sonicfind
c60cdbba07 Capture: Optimizations with filenames, audio, and capture mainFrame gui
*Resulting .wavs should get saved in the same location as the video file on linux
*Keep gui capture state consistent regardless of the method used to start recording
*Reworked mainFrame capture menu video options to route to a single toggleCapture_click function
*Split GS & SPU2 recording into start & end functions
2021-03-12 13:22:40 +00:00
sonicfind
1e5e742601 recording: Fix issue with drawing VPads 2021-03-12 13:22:29 +00:00
sonicfind
0a88fe1f3b recording: Remove frameLock check at the end of a frame 2021-03-12 13:22:29 +00:00
sonicfind
d49acfc087 recording: Complete separation of pasuing execution
Unhooks the execution of emulation pausing from pre-set static frame counts
2021-03-12 13:22:29 +00:00
sonicfind
b5b74388f4 recording: Reposition inputRecordingControl function execution in vsync
* No longer calls HandleFrameAdvanceAndPausing() more than once per frame. No need to increment frameCountTracker.
* Splits framelocking into its own function (which could harmlessly get called more than once per frame).
2021-03-12 13:22:29 +00:00
Tyler Wilding
b7d01b4889 gui: Don't check if the backup menu option should be enabled every UI event 2021-03-12 13:22:17 +00:00
Tyler Wilding
717677402c gui: Simplify function and solve unlikely edge-case
If backups are enabled, the .backup file will have already been created via renaming the original save-state. The asynchronous process is dumping the current emulation state, but by the time we've hit this function the rename has already taken place so we have a guarantee.

    This solves a potential bug in the existing code (which probably would have never been hit):
        Save to slot that has no current backup
        Rename fails
        Update method looks for the file without .backup, which is still there.
        Load backup option is enabled despite there not actually being a backup to load.
2021-03-12 13:22:17 +00:00
Tyler Wilding
288c8fedce gui: Enable backup saveslot when game is first loaded, if available 2021-03-12 13:22:17 +00:00
refractionpcsx2
f2525acedf LibSampleRate: Fix configs so Singstar mic works 2021-03-11 10:14:49 +00:00
refractionpcsx2
ec09699fb0 3rd Party: Update Libsamplerate to 0.2.1 2021-03-11 10:14:49 +00:00
Christian Kenny
693de2a9dd IPU: Remove useless define/includes 2021-03-11 10:13:44 +00:00
lightningterror
7d875076e2 cmake: Remove unused dependency logs. 2021-03-09 16:15:58 +01:00
lightningterror
880b93246c pad-linux: Update to latest controller database. 2021-03-09 16:00:46 +01:00
refractionpcsx2
b33321d6c6 GameDB: Added VU0 Kickstart for Ghosthunter 2021-03-07 19:51:47 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d24450f4a9 IPC: Fix type polymorphism & checkbox 2021-03-06 11:13:21 -05:00
TellowKrinkle
862518e7da gsdx: Use constexpr to initialize avx vectors without avx instructions 2021-03-05 17:33:26 -06:00
Tyler Wilding
8117df5644 CI: Add Codacy config file and README badge 2021-03-05 18:57:09 +01:00
ty
cb56b3f76b Debugger: Add "Go to address" for both disasm and memory view 2021-03-05 15:53:33 +00:00
Immersion95
1bb398c6c2 GameDB: Add kozarovv's KOF '94 Rebout - NTSC-J patch 2021-03-05 15:17:29 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1949c586f3 IPC: formatting & typo 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
23897eca23 IPC: windows port 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
df7ee3b166 IPC: add safety warranty on slot numbers 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0142d33d5c IPC: make dialog close when pressing enter 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
52c1d027ee IPC: add the settings dialog 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0be35a3799 IPC: make per emulator configuration a bit easier 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
119942b7a4 IPC: add slot init 2021-03-05 15:15:28 +00:00
Ignaz Forster
b6246a7ba4 Fix compilation in path with spaces
Compilation with the default settings failed when downloading PCSX2 into
a directory with spaces somewhere in its path:
* In CompileGResources.cmake the paths had been escaped already, resulting
  in double escaping the strings (i.e. embedding them in quotes _and_
  escaping spaces with a backslash. cmake wasn't able to parse the line
  any more.
* In pcsx2/CMakeLists.txt the paths were not escaped, but also not
  embedded in quotes, resulting in an invalid Bash command.
This commit fixes these cases (but is neither a review to find all cases
or making sure other characters such as a newline character would work).
2021-03-02 22:39:26 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a40e6ba693 IPC: avoid deadlocks 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
49dc994351 IPC: specify UTF-8 to avoid variadic traps on wxwidgets 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5ea864f09d IPC: add GetGameUUID 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
30024767ea IPC: add GetGameID 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
593e44ca54 clang-format: AppCoreThread.h 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0dee88e805 IPC: add GetTitle 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5153d9a198 IPC: add LoadState 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e651147c53 IPC: add SaveState 2021-03-02 11:05:18 +01:00
ty
047e63ee5f GSdx: Switch tooltips to unicode 2021-03-02 00:35:25 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b7bb3daa9d IPC: keep reusing the same socket to avoid windows overfill & better perf 2021-03-01 10:24:42 +00:00
jackun
3f9ea1d01b USB: remove lingering if and lock pulseaudio's recording ringbuffer earlier just in case 2021-03-01 10:07:06 +02:00
RedPanda4552
9cfe1b88fc GameDB: Add improved Xenosaga save crash prevention patch (#4259) 2021-02-28 21:30:57 +00:00
refractionpcsx2
951cce7543 microVU: move the overflow flags to the correct position... 2021-02-28 05:21:18 +00:00
refractionpcsx2
f9d96f55a5 microVU: Remove SSE4 op from Overflow flag checks + clean up the code 2021-02-28 01:20:38 +00:00
refractionpcsx2
cc9c3a2a28 GameDB: Add VU0 Kickstart for Simpsons Road Rage 2021-02-28 00:35:29 +00:00
Mrlinkwii
db4d4ed278 GameDB: Remove patches from lam manger 2003 and flipnic
GameDB: Remove patches from lam manger 2003 and flipnic
2021-02-27 21:38:59 +00:00
lightningterror
dbddc3dd75 readme: Update cpu requierements to minimum sse4. 2021-02-27 21:51:28 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d8f65dc427 GS: switch debug output to the ASCII variant by default 2021-02-27 20:43:40 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f3d31a1946 GS: fix LPARAM casted wchar transformation 2021-02-27 20:43:40 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1cbd959ae8 GS: fix unix compatibility 2021-02-27 20:43:40 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8bfe851446 GS: finish unicode conversion, fix signature inheritance and non wchar external import 2021-02-27 20:43:40 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5917029788 GS: initial switch to unicode 2021-02-27 20:43:40 +00:00
refractionpcsx2
7512c01ca6 GameDB: Removed no longer required FMV skip patches
Games are:
BDFL Manager 2005 (EU)
F1 Racing Championship (Japan and EU regions)
Paris-Dakar Rally (EU)
2021-02-27 06:11:23 +00:00
refractionpcsx2
f42befadf1 SPU: Try to recover DMA pointer after savestate load 2021-02-27 04:10:32 +00:00
Tupelov
e42d506a64 Patch System: Support Little Endian values for non-extended (#4255)
Allows users to use the leshort, leword, and ledouble datatypes inside their patches. Using these datatypes ensures that values in the memory view appear the same as the values in the patch.
This was made with easing patch development in mind as now developers can make patches without having to reverse endianness. This is especially useful when using programs like ghidra who display an instructions bytes in little endian.
2021-02-27 03:38:12 +00:00
kozarovv
9e3fb9f3ce GameDB: Fix KOF98 patches 2021-02-25 20:38:21 +00:00
TheLastRar
3806c93867 DEV9: Don't import pcap_bufsize
This got accidentally re-added in 4b722cc253
2021-02-25 19:40:15 +00:00
refractionpcsx2
4b71dd3c08 GameDB: Remove patches for Quake 3 videos, no longer required 2021-02-25 18:06:15 +00:00
ty
10e995aa06 IOP: Implement memchecks for the interpreter 2021-02-24 18:31:17 +00:00
ty
e1df43703c IOP: Execute breakpoints for the interpreter 2021-02-24 18:31:17 +00:00
ty
b088ee69cd COP0: Preserve read only fields IC and DC in the config register 2021-02-24 17:44:14 +00:00
Mrlinkwii
0a8ac3ba04 GameDB: Add entries for Tourist Trophy demo and GT3 trial (#4246) 2021-02-23 21:25:31 +00:00
lightningterror
2243b56115 spu2: Rename spu2x to SPU2 in some logs. 2021-02-23 18:18:07 +01:00
lightningterror
87eb7f1e1f build-linux: Remove EXTRA_PLUGINS flag.
There are no extra plugins.
2021-02-23 16:45:47 +01:00
KrossX
9db778a1ed Avoid presets from resetting VsyncQueueSize 2021-02-23 15:34:41 +00:00
Romain TISSERAND
7295837135 Build: Drop GSnull plugim
Fixes #4242
2021-02-23 09:19:06 +00:00
lightningterror
513f377a8f pad-linux: Update to latest controller database.
Close #4237
2021-02-23 08:34:11 +01:00
kozarovv
25628d09e6 GameDB: Add patches for KOF series
Fix for Depth precision.
Game fills upper 16bits of depth with 0xFFFF.
This results in a really high 32 bit value which is then converted to float because both hw and sw renderers lack double precision the lower 16 bits of the initial 32 bit value lose precision.
2021-02-23 00:30:29 +00:00
Oschowa
f62636e893 SPU2/SDL: Remove intermediate buffer and write samples directly to the
buffer provided by the SDL callback.
2021-02-23 00:29:58 +00:00
RedPanda4552
c5a243ba43 Prevent Vsync setting from being wiped on preset changes 2021-02-23 00:29:18 +00:00
Christian Kenny
e9e7974b15 Common: Remove obsolete/unused code 2021-02-23 00:28:53 +00:00
refractionpcsx2
e703a7b5b7 IPU: Flush DMA if BCLR called without stopping DMA
* Set VDEC Picture type to I-Picture if none selected in IPU_CTRL
2021-02-23 00:27:47 +00:00
refractionpcsx2
40d9e13334 IPU: Fill Input FIFO on command end ready for next command 2021-02-23 00:27:47 +00:00
Ziemas
32eac3ff13 SPU2: Fix windows 2021-02-23 00:27:33 +00:00
Ziemas
64c526ede2 SPU2: Optimize reverb upsampling
Skip the 0 coefs here as well.
2021-02-23 00:27:33 +00:00
Ziemas
458f22d214 SPU2: Optimize reverb downsampling.
Skip multiplying the 0's
2021-02-23 00:27:33 +00:00
Ziemas
599d25c59b SPU2: Reverb resampling, now upwards as well
Using the same filter as the downsampling
2021-02-23 00:27:33 +00:00
Ziemas
390391e119 SPU2: Downsample reverb input
These filter coefficients come from mednafen, I think they were
originally found by Neill Corlett.

I have not personally verified their accuracy.
2021-02-23 00:27:33 +00:00
ty
bbf248fc46 CDVD: Implement mechacon command 0xEF 2021-02-23 00:22:16 +00:00
Mrlinkwii
d4b1a0daa5 GameDB:corrects various singstar enteries (#4238)
GameDB: Correct and modify SingStar entries
2021-02-23 00:21:49 +00:00
jackun
edf3b43e2f USB: Don't remap R1/L1 to R2/L2 for Driving Force wheel 2021-02-22 14:18:00 +02:00
lightningterror
14edc2246e usb-gui-windows: Better align/position text and buttons.
Could be better.
2021-02-22 13:18:20 +01:00
RedDevilus
398a2dfd30 GameDB: Cleanup names + add new serials
I was expecting to add some more serials to SLUS (NTSC) but it seems to be more well maintained than the SLES (PAL). Most additions are demos but there are some normal full entries . Minor fixups on SLUS and other regions for names.
2021-02-21 21:46:49 +00:00
Romain TISSERAND
7acc51ef67 Fix Linux build not compiling afer commit a37e62337d
Missing include leads to wxTheApp macro not being defined and throw errors (GCC 10, Linux x86_64)
2021-02-21 21:04:46 +00:00
Florin9doi
7e10e4d6eb USB: eyetoy mirroring 2021-02-21 18:38:32 +00:00
lightningterror
7801682377 pad-linux: Update to latest controller database. 2021-02-21 05:46:29 +01:00
jackun
c695a7eabb USB: usb-mic: send 1ms worth of samples for 48kHz and 8kHz sample rates 2021-02-21 04:42:12 +02:00
ty
aa338d234d GSDX: Update OOM message 2021-02-20 18:42:26 +00:00
Nobbs66
1b931172fb PGIF- Fix Castlevania SoTN
PS1DRV handles bit 28 of GPU Status register, not PGIF. This fixes several games.
2021-02-20 17:53:50 +00:00
refractionpcsx2
84913da5b9 GameDB: Added Myst III - Exile patch for EU version 2021-02-20 16:15:33 +00:00
Christian Kenny
c59f1bfea6 SPU2: Add interpolate_table.h to VC project filter 2021-02-20 06:00:15 +00:00
Christian Kenny
993af8c19e SPU2: Purge SPU2Replay 2021-02-20 06:00:15 +00:00
refractionpcsx2
20e2a4055c GameDB: Remove patch for SX Superstar. No longer required 2021-02-20 01:55:19 +00:00
refractionpcsx2
8dcaa48651 GameDB: Patch for Myst 3: Exile IPU timing problems.
P.S. Game totally sucks
2021-02-20 00:31:38 +00:00
refractionpcsx2
ce8047bd8c SPU2: Reset IRQ Status when swapping game in case it got set previously 2021-02-19 10:02:45 +00:00
TheLastRar
4b722cc253 DEV9: Move Windows pcap function list to it's own file 2021-02-17 20:06:54 +00:00
TheLastRar
c121b180be DEV9: Use unique_ptr to manage buffer lifetime 2021-02-17 20:06:54 +00:00
TheLastRar
a8d1a7cba1 DEV9: Inline if in dialog code 2021-02-17 20:06:54 +00:00
TheLastRar
5d111636b4 DEV9: Clang format 2021-02-17 20:06:54 +00:00
TheLastRar
c634f2e6e3 DEV9: Retry if GetAdaptersAddresses() returns ERROR_BUFFER_OVERFLOW 2021-02-17 20:06:54 +00:00
TheLastRar
2473d626d8 DEV9: Don't import Npcap only functions
Comment out functions not present in winPcap
2021-02-17 20:06:54 +00:00
TheLastRar
4507712a72 DEV9: Re-add winpcap bridged 2021-02-17 20:06:54 +00:00
TheLastRar
2e8ca89f3d DEV9: Move Tap's packet verification into NetAdapter
Make pcap use it for addition of bridge mode
2021-02-17 20:06:54 +00:00
TheLastRar
82493343fa DEV9: Only log packets in debug mode 2021-02-17 20:06:54 +00:00
TheLastRar
33b6cbc2a9 DEV9: Use FriendlyName for Pcap adapters on windows 2021-02-17 20:06:54 +00:00
TheLastRar
802c18cb68 DEV9: Remove unneeded functions 2021-02-17 20:06:54 +00:00
TheLastRar
31606db6fe DEV9: Match Win32 adapter with Pcap adapter using GUID
When getting the source mac to generate the PS2 mac
2021-02-17 20:06:54 +00:00
TheLastRar
1144cc9ad9 DEV9: Re-enable windows support 2021-02-17 20:06:54 +00:00
TheLastRar
df6c0b610b DEV9: Add dynamic loader for pcap on windows 2021-02-17 20:06:54 +00:00
TheLastRar
e01bba4525 Deps: Add pcap includes
From Npcap SDK 1.06
2021-02-17 20:06:54 +00:00
TheLastRar
4c287191cd DEV9: Save selected api along with selected ethernet device
Also unified GetNetAdapter()
2021-02-17 20:06:54 +00:00
TheLastRar
e883e93f52 Common: Clang format PS2Ext.h 2021-02-17 15:07:10 +00:00
TheLastRar
a37e62337d Common: Allow calling SysMessage off the main thread on linux
DEV9 uses this when it can't open the selected adapter, and calls it from the EE thread
2021-02-17 15:07:10 +00:00
TheLastRar
6177f89c3f DEV9: Use PS2Ext.h SysMessage() on Linux
We still need to use the narrow char SysMessage() on windows
2021-02-17 15:07:10 +00:00
TheLastRar
81fd8e011f DEV9: Apply settings if configuration was performed during emulation 2021-02-17 14:36:21 +00:00
TheLastRar
0800cdbbc2 DEV9: Merge _DEV9open into InitNet, and check ethEnable before calling 2021-02-17 14:36:21 +00:00
lightningterror
7187b883b0 recording: Fix compilation when DISABLE_RECORDING is defined. 2021-02-12 08:10:46 +01:00
Ziemas
ef6b65afb4 SPU2: Add SPU interpolation option on windows 2021-02-11 21:49:10 +00:00
Ziemas
7f362de7db SPU2: Default to gaussian interpolation 2021-02-11 21:49:10 +00:00
Ziemas
d72a49ad5c SPU2: Add header to build files 2021-02-11 21:49:10 +00:00
Ziemas
4c166eb3e3 SPU2: SPU-style gaussian interpolation 2021-02-11 21:49:10 +00:00
Ziemas
66b2659a47 SPU2: Correct sample index advancement 2021-02-11 21:49:10 +00:00
refractionpcsx2
efe0ceb588 Counters: Add Vsync information to savestates + bump savestate version.
I honestly don't know *why* this wasn't in there already....
2021-02-11 21:34:51 +00:00
lightningterror
02bf212789 pad-linux: Update to latest controller database.
Close #4218
2021-02-09 15:50:44 +01:00
dependabot[bot]
5804af6b6c Bump actions/cache from v2 to v2.1.4
Bumps [actions/cache](https://github.com/actions/cache) from v2 to v2.1.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2...26968a09c0ea4f3e233fdddbafd1166051a095f6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-08 17:35:23 +01:00
lightningterror
7c072094ae gsdx-hw: Always enable blending if env pabe is 1. 2021-02-06 15:41:10 +01:00
lightningterror
37089065ba gsdx-hw: Implement per pixel alpha blending (PABE).
Fixes Strawberry Shortcake character lighting/face shadow.
Fixes Cartoon Network Racing shadows.

Credits to Kojin.
2021-02-06 15:41:10 +01:00
lightningterror
d993e4ebc8 misc: Update feature request template.
Exclude libretro feature requests.
2021-02-06 15:36:44 +01:00
RedDevilus
0ec98e32d4 GameDB: Add missing Speed Kings patches (#4211)
GameDB: Added Speed Kings patches for ingame hang
2021-02-04 19:45:13 +00:00
Ziemas
d55c611947 SPU2: Adjust interpolation implementations.
These seems to be have been adjusted to match the output of catmull-rom
which is really the one in the wrong by being twice as loud.

As a result of the the interpolated output being at a reasonable level
we can use ApplyVolume to apply the ADSR volume.
2021-02-04 13:02:20 +00:00
kozarovv
f3b6868e51 GameDB: Add missing GoemonTLB Hack 2021-02-04 10:19:34 +00:00
TellowKrinkle
4105fe41fb Pad: formatting
Clang format why
2021-02-04 01:26:37 -06:00
TellowKrinkle
84e0f315ad Pad: fix crash on touching disabled slider in macOS 2021-02-04 01:26:37 -06:00
TellowKrinkle
4890a26ae0 Pad: Don't Destroy() modals
On macOS it prevents the parent window from regaining focus
Also remove OK/Cancel buttons JoystickConfiguration, they already obey the Cancel/Apply/OK of the parent
2021-02-04 01:26:37 -06:00
tellowkrinkle
1470315356 Fix compile of eeProfiler 2021-02-03 20:44:03 -06:00
lightningterror
456ea95794 pad-linux: Update to latest controller database. 2021-02-04 03:34:28 +01:00
refractionpcsx2
de6c1f88dc GameDB: Patch for Dragon Quest & Final Fantasy in Itadaki Street
Fixes missing board items
2021-02-04 01:18:21 +00:00
refractionpcsx2
712a922cc5 SPU2: Make sure cache hits match previous block decoded samples
Caching blocks of ADPCM is a bit sketchy because the previous samples (which it uses to generate the new ones) can change, so you can end up with blips and glitches in the sample stream, this should avoid that problem whilst not making the cache completely unusable.
2021-02-03 16:23:42 +00:00
refractionpcsx2
97ed78109c SPU: Wait 2T when keying on a voice
Just like Delay cycles used to do, but done better and tested on a PS2 to get the correct timings
2021-02-03 16:23:26 +00:00
refractionpcsx2
2415fd3415 SPU2: Ignore LSAL/H Writes after key on if voice sets loop point
Savestate bump again
2021-02-03 16:23:26 +00:00
t o
6a6fd48af9 CDVD.cpp: Cleared old reset from write14. Cleaned up logging and added comment. cdrom.cpp: fixed bad logging statements 2021-01-31 22:14:06 +00:00
kozarovv
983f6e28f5 microVU: Fix Esin opcode
Fix X2 - Wolverine's Revenge
2021-01-31 18:33:01 +00:00
lightningterror
6445af6eb2 dev9: Fix warning, add [[maybe_unused]] attribute. 2021-01-30 19:40:46 +01:00
lightningterror
376e699515 spu2: Fix a few warnings.
Cast DMAICounter to u32, hopefully it isn't negative.
2021-01-30 19:40:46 +01:00
refractionpcsx2
e0394921e9 SPU2: Tighten AutoDMA IRQ timing.
Fixes games which monitor the MADR while transferring.
Tom & Jerry War of the Whiskers was one game that suffered (Jumpy music)
2021-01-30 04:55:28 +00:00
Mrlinkwii
4624d2d175 Update GameIndex.yaml 2021-01-29 19:22:48 +00:00
RedDevilus
541dfdfc7f GSdx-GUI: Fix alignment of font
Should fix invisible characters and move hardware renderer settings 2px down.
Also make the full window and software renderer settings consistent at 2px towards the bottom.
2021-01-27 16:50:10 +01:00
refractionpcsx2
5b5b9cc6c9 SPU2: Fix up ReadInput_HiFi to proceed correctly
Make sure CDDA mode is handled separately
2021-01-27 00:03:09 +00:00
refractionpcsx2
9efcd9a096 SPU2: Improve SPDIF Bitstream Bypass on Core 0, track MADR
Required for GTA Vice City to work
2021-01-27 00:03:09 +00:00
refractionpcsx2
e15807eff8 SPU2: Minor improvements to ADMA Timing 2021-01-27 00:03:09 +00:00
refractionpcsx2
c7267d3665 SPU2: Handle partial ADMA Transfers 2021-01-27 00:03:09 +00:00
refractionpcsx2
7c37e86283 SPU2: Change input area updates for Hifi reads
Remove the no longer required InputPosRead
Bump Savestates
2021-01-27 00:03:09 +00:00
refractionpcsx2
4497532edb SPU2: Improve ADMA behaviour/timing 2021-01-27 00:03:09 +00:00
TellowKrinkle
b9a6dca4b4 i18n: Add window menu to WX string override list
WX's translation has mnemonics on macOS
2021-01-25 18:33:47 -06:00
TellowKrinkle
803bac5da0 macOS: Properly include GameIndex in app bundle 2021-01-25 18:33:47 -06:00
TellowKrinkle
91e8e0d33c macOS:i18n: Include translations in app bundle 2021-01-25 18:33:47 -06:00
TellowKrinkle
5470f7ff5e macOS: Use standard paths
Most macOS users expect applications to store their stuff in ~/Library/Application Support
Documents is protected on newer macOSes and requires users' explicit permission (and also may be cloud synced), and use of ~/ is fairly uncommon
2021-01-25 18:33:47 -06:00
lightningterror
dabfff8b35 gsdx-hw: Get rid of some extra branches/conditions in DATE selection. 2021-01-25 23:17:42 +01:00
lightningterror
e96d316d41 pad-linux: Update to latest controller database. 2021-01-25 09:31:10 +01:00
Ziemas
ff0c9334e6 SPU2: Fix pitch modulation 2021-01-24 03:47:43 +00:00
arcum42
34f665dc7e Deleted assorted unused headers and functions. (#4138) 2021-01-23 08:14:59 -08:00
lightningterror
18da716016 pad-linux: Update logs, db should be updated via upstream only. 2021-01-23 10:01:02 +01:00
jeltaqq
e3c40359d4 Repairing dead links 2021-01-23 06:55:41 +00:00
Mrlinkwii
0689f4bb36 GUI: Fix bios label capitalization. (#4165) 2021-01-21 19:57:25 +01:00
refractionpcsx2
2ffc6b3acd SPR: Wrap transfers which would have read outside of SPR memory 2021-01-20 18:41:04 +00:00
Tyler Wilding
99f8d2fa84 input-rec: Update the GS Frame's freq. properly on enabling/disabling 2021-01-19 04:37:08 +01:00
RedDevilus
cf33fb3ca1 GUI: Address review changes + Fix formatting + Misc fixes
- Change the wxitems to reflect a more appropiate name + change comment to explain the process of Custom hotkeys.
- Cycling savestates are now in the GUI but they are grayed out because it's only used like labels for now.
- The most essential custom hotkeys are now included.
- F8 Snapshot needs some future tinkering but atleast shows up correctly now
2021-01-18 16:40:38 +00:00
RedDevilus
028f468d26 pcsx2-gui: Clang format - pcsx2\gui\AppAccelerators.h - pcsx2\gui\GlobalCommands.cpp - pcsx2\gui\MainFrame.cpp - pcsx2\gui\MainFrame.h - pcsx2\gui\Panels\GSWindowPanel.cpp - pcsx2\gui\Panels\VideoPanel.cpp 2021-01-18 16:40:38 +00:00
RedDevilus
ee54396670 GUI: Implement custom hotkeys
- This will show `default hotkeys` from `PCSX2_keys.ini.default` or based on the `copy of PCSX2_keys.ini` that the user itself added to `inis folder` for changing it `for custom hotkeys`.
2021-01-18 16:40:38 +00:00
RedDevilus
5583a75eac GUI: Keyboard Shortcuts Strings
- This will add extra hotkeys to the GUI. You can look up https://wiki.pcsx2.net/Hotkeys for all of them (not everything is added from there)
2021-01-18 16:40:38 +00:00
RedDevilus
d841f27b25 GameDB: VU0Kickstart for Spartan Total Warrior
Fixes character SPS
2021-01-18 16:33:12 +00:00
ty
cebc531c13 Core: Implement proper %s handling for syscall 117 2021-01-17 18:06:18 +00:00
TheLastRar
b8858663f4 DEV9: Use DevCon/Console log functions & silence some logs 2021-01-17 14:04:45 +00:00
TheLastRar
53dfb8efb9 DEV9: Add missing pch include to linux specific files 2021-01-17 14:04:45 +00:00
TheLastRar
b501a1deae DEV9: Run clang format on ATA code 2021-01-17 14:04:45 +00:00
TheLastRar
dc3bd53f7b DEV9: Allow configuring HDD in UI & add progress UI for HDD creation 2021-01-17 14:04:45 +00:00
TheLastRar
31a3ee3cbc DEV9: Improved SPEED emulation, also hookup ATA emulation 2021-01-17 14:04:45 +00:00
TheLastRar
afc9412191 DEV9: move DMA size correction into DEV9read/writeDMA8Mem
ATA also needs the size correction, so do it in one place
2021-01-17 14:04:45 +00:00
TheLastRar
64bc5409d1 DEV9: support old config files that specify a file name, but no path 2021-01-17 14:04:45 +00:00
TheLastRar
b76abc3550 DEV9: Unicode support 2021-01-17 14:04:45 +00:00
TheLastRar
5640ee8a23 DEV9: Add ATA emulation & Hdd Creator code 2021-01-17 14:04:45 +00:00
TheLastRar
d32b583b3e DEV9: Tweak logging to ease debugging 2021-01-17 14:04:45 +00:00
TheLastRar
e0da758d1b DEV9: Add extra defines 2021-01-17 14:04:45 +00:00
TheLastRar
6c5b63707d DEV9: Fix wrong filter for net.cpp 2021-01-17 14:04:45 +00:00
refractionpcsx2
4f9ec8caa0 CDVD: Increase buffer for DVD_LAYER_DESCRIPTOR
Also added some extra messages if that fails (and not because it's a CD)
2021-01-17 13:45:39 +00:00
TheLastRar
e649ad8241 CORE: Allow ApplySettings to be called on the core thread during emulation
Needed for CDVD to apply gamefixes after a disc swap
2021-01-17 13:45:25 +00:00
TheLastRar
5826be9a74 Core: Attempt to fix CDVD regression 2021-01-17 13:45:25 +00:00
Tyler Wilding
406403cd8e docs: Automatically update links to use the latest tagged release 2021-01-16 21:56:23 +01:00
Tyler Wilding
3f8510eaae docs: Generate PDFs 2021-01-16 21:56:23 +01:00
Tyler Wilding
11eba8738c docs: Minor edits to existing markdown documentation 2021-01-16 21:56:23 +01:00
Tyler Wilding
cd0bda3ab4 docs: Add latex template for generating PDFs
From here https://github.com/Wandmalfarbe/pandoc-latex-template
Licensed under BSD-3-Clause
2021-01-16 21:56:23 +01:00
Tyler Wilding
464031e8d3 docs: Add script for generating PDFs from markdown, add usage info 2021-01-16 21:56:23 +01:00
Ziemas
6c81bb54f7 SPU2: Switch to a more accurate noise algorithm
This algorithm comes from pcsxr and is an implementation of Dr. Hell's
research. It's supposed to be very accurate.

Bumps savestate because of new SPU core struct members.
2021-01-15 21:16:06 +00:00
refractionpcsx2
f5d89062e0 SPU2: Update voices before DMA reads, reset OutPos on reset.
Improves the booting reliability of GTA VC, especially on consecutive boots without closing the emulator.
2021-01-15 20:53:04 +00:00
tellowkrinkle
0f685fbb49 ghactions:macos: Disable homebrew cleanup
Homebrew periodic cleanup and containers don't mix well, as the "every 30 days" turns into "every time", ends up wasting 1-2m of build time
2021-01-15 04:42:01 -06:00
tellowkrinkle
de3bb1b39d Fix usage of brew --cask
I guess it didn't like that
2021-01-14 23:23:56 -06:00
lightningterror
ade09b0630 pad-linux: Update to latest controller database.
Close #4137
2021-01-14 16:30:43 +01:00
refractionpcsx2
1e7b6d6dbe GameDB: Patch for Hot Wheels - Velocity X SPS issues. Fixes #4139 2021-01-14 10:10:38 +00:00
tellowkrinkle
23d436237c ghactions:macOS: Use brew --cask
brew cask was deprecated and later disabled, breaking our builds
2021-01-14 03:59:27 -06:00
refractionpcsx2
9f12d3a380 Counters: Remove additional Pad update for now, seems to break USB somewhat. 2021-01-14 08:11:43 +00:00
jackun
618940d78c USB: skip extra audio endpoint descriptor data so it doesn't get parsed twice 2021-01-14 09:04:31 +02:00
refractionpcsx2
538e5691f0 PAD/Counters: Make VSync Queue adjustable in the UI. Extra Pad update.
New UI option (ini option has been there a while) so users can choose between a little bit extra performance or better input lag. Also added the PAD Update to the VSync call in Counters as it seemed to improve Input lag marginally.
2021-01-13 23:50:38 +00:00
refractionpcsx2
9e23d15d51 GUI: Adjust description of DMA Busy hack 2021-01-13 14:22:07 +00:00
refractionpcsx2
f21fbc24cf GameFix: Modify how DMA Busy hack works
In IPU cases, it allows writes depending on what it's doing, in the case of other channels it waits until the transfer has finished.
2021-01-13 14:22:07 +00:00
jackun
efed4a07ef USB: safe_release dshow filters
Pausing/resuming could cause double-release.
2021-01-12 00:07:16 +02:00
ManDude
0d02d1e41b GameDB: Add korean Crash Bandicoot The Wrath of Cortex 2021-01-11 20:54:15 +00:00
TheLastRar
d6575ed267 GameDB: 'Network Access Disc & Hardware - Online Arena' needs InstantVU1 2021-01-11 20:32:19 +00:00
Tyler Wilding
9031c24fc7 ci: Improve windows artifact name
Add PR title if applicable, limit the length of the file to avoid file-name length issues.
Also put all contents of the artifact into a folder with the same name to simplify extraction.
2021-01-11 03:51:09 +01:00
refractionpcsx2
89991594de Vif: Clean up some old (incorrect) code. 2021-01-10 11:02:19 +00:00
refractionpcsx2
8ec4e40ae1 GameDB: Add missing rounding for Guitar Hero Metallica (US) 2021-01-10 11:00:46 +00:00
refractionpcsx2
262d36f49a GameDB: Added WRC patch by kozarovv to fix SPS 2021-01-10 10:33:44 +00:00
Pierre GRASSER
ec7116f2ed rawinput_usb.cpp: removed unused WM_ACTIVATE/SETFOCUS/KILLFOCUS logging (#4121)
* rawinput_usb.cpp: removed unneeded WM logging
2021-01-09 17:01:12 +00:00
TheLastRar
9468b04713 DEV9: adjusted logic for loading default MAC
Now a little less confusing
2021-01-09 00:06:29 +00:00
TheLastRar
5cdb6dcb12 DEV9: Replace pcap not supported messagebox with console log 2021-01-09 00:06:29 +00:00
TheLastRar
bae445d9d2 DEV9: Generate unique MAC for TAP, much like pcap backend does 2021-01-09 00:06:29 +00:00
TheLastRar
5f2441e832 DEV9: Move writing generated MAC out of winpcap 2021-01-09 00:06:29 +00:00
RedDevilus
275f5bd744 PCSX2-GUI: Move blockdump to game settings
Blockdump gets a bit too much love which hampers with playing normally.
2021-01-08 23:59:13 +00:00
TheLastRar
4aaf55b4b7 Core: Clang-format AppCorePlugins.cpp 2021-01-08 23:54:30 +00:00
TheLastRar
acd7fa90ef Core: AppCorePlugins.cpp add missing const 2021-01-08 23:54:30 +00:00
TheLastRar
0192c538ee Core: Resume plugin if suspended for configure
SysExecEvent_SaveSinglePlugin would close the plugin, but not reopen it
2021-01-08 23:54:30 +00:00
KrossX
aed639bb20 Declangify parity tables 2021-01-08 23:47:11 +00:00
KrossX
5fe01f0149 Format documents using Clang-Format 2021-01-08 23:47:11 +00:00
KrossX
3a054b9f91 Avoid malloc when converting to RAW 2021-01-08 23:47:11 +00:00
KrossX
511ceede3b Add support for OpenPS2Loader VirtualMemoryCards 2021-01-08 23:47:11 +00:00
Maxim Nikitin
7dbf01b024 Implements IOP breakpoints (#3011)
IOP: Implement IOP Breakpoints
2021-01-08 23:34:08 +00:00
RedDevilus
170d1cb94c GSdx-GUI: Conservative Buffer Allocation + GPU Palette Conversion + Misc fixes
- Conservative Buffer Allocation will be enabled by default.
- Unscaled has a lesser visual impact but will be moved to the middle so it is more consistent with the other options in the GUI.
- Monitor will hence be named Statistics Monitor which makes it more obvious that it's similar to RivaTuner Statistics Server.
- The monitor will print the stats of the emulated components EE (roughly CPU-usage) , GS (roughly GPU-usage).
- Make room for the new checkboxes with revision of names and tooltips.
- GPU (color) Palette Conversion instead of 8bit textures (the name didn't make much sense).
2021-01-08 08:51:13 -05:00
Ziemas
1f236cab75 Folder memcards: prevent out of bounds access 2021-01-07 15:17:04 -05:00
refractionpcsx2
95e7045db7 PortAudio: Upgrade PortAudio to latest master 2021-01-07 08:55:13 +00:00
TheLastRar
f45f8c9479 DEV9: Support 16bit reads/writes to SPD_R_PIO_DATA & SPD_R_PIO_DIR
Using the same code as 8bit reads/writes
2021-01-06 17:58:58 +00:00
iwilliamson
1ad5711b63 build: Update mscompile.cmd to build with VC2019. (#4084) 2021-01-06 17:48:58 +01:00
Tyler Wilding
06cf30019b gamedb: Delimit memcard filters with '/' instead of ',' 2021-01-05 23:19:59 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7a1ee439d2 README: add discord 2021-01-05 09:27:10 -05:00
refractionpcsx2
f1e44bfd47 SPU2: ADMA fix for Vice City
TFW you revert using the wrong variable..
2021-01-04 17:11:54 +00:00
lightningterror
89a33c0ab3 misc: A couple of more leftovers from SPU2 merge. 2021-01-04 02:07:30 +01:00
refractionpcsx2
a8aeeb5a6a SPU2: Change how ADMA gets cancelled, IOP handles cancelling DMA
Fixes Raw Danger
2021-01-03 23:18:29 +00:00
refractionpcsx2
a679766740 Counters: Adjust SPU async rate
Back to original value, however modified how the next SPU2 sync value is applied
2021-01-03 23:18:29 +00:00
refractionpcsx2
f5e50d4571 SPU2: Fixes for Titeuf buzzing 2021-01-03 23:18:29 +00:00
refractionpcsx2
5cf5f40c65 SPU: Fix bugs in recent commits, redesign DMA slightly
Savestate bump, sorry
2021-01-03 23:18:29 +00:00
refractionpcsx2
ddffd9acd6 VIF: Fix MPG VU Address wrapping, fixes Boogie (works for the first time)
Thanks to deus-libri for spotting that one!
2021-01-03 21:47:55 +00:00
refractionpcsx2
bc9892d324 GameDB: Corrected patch for Titeuf Mega Compet to fix game bug 2021-01-03 21:29:59 +00:00
refractionpcsx2
0f7044a90f mVU: Removed full flag optimisations
They were unused, broken and cluttering up the code, so gotten rid.
2021-01-03 16:17:19 +00:00
refractionpcsx2
c9bc6eac69 mVU: Fix P flag instance on Ebit
Also small fix for flag statuses on M-Bit on Branch
2021-01-03 12:03:55 +00:00
Timothy O'Barr
bfdfc495a3 Add GHC Filesystem (#3999)
Adds GHC filesystem to 3rdparty deps and updates cmake and vs project accordingly.
2021-01-02 13:47:09 -05:00
lightningterror
faf147d029 pad-linux: Update to latest controller database. 2021-01-02 18:49:21 +01:00
Kojin
6bcdb55f22 GS: Remove Unofficial CRCs (#4082)
* Remove ArTonelico2 Retranslation CRCs

* Remove Wild Arms and ToA undub CRCs

* Remove unused Star Ocean 3 Undub CRC
2021-01-02 11:11:13 -05:00
refractionpcsx2
413fd004da mVU: Fix jump caching when using doJumpAsSameProgram. This is by default 2021-01-02 08:35:32 +00:00
refractionpcsx2
ee07f860fc microVU: Implement Overflow checks. Fixes Superman Returns
Removed patches for Superman Returns
2021-01-01 20:55:11 +00:00
refractionpcsx2
af89879750 SPU2: Attempt 96khz sample rate if 48khz fails 2021-01-01 04:54:29 +00:00
refractionpcsx2
a94561fba7 SPU2: Improve DMA Write timing. Better sync DMA speeds with IOP
It takes 4 cycles per word, according to No$PSX documents
Also fixed an issue with when ADMA refills the buffer, fixes The Simpsons (for real this time)
2021-01-01 04:38:23 +00:00
refractionpcsx2
f07ca859e5 SPU2: Improve DMA/IRQ timing.
Tighten SPU2 sync with IOP
2021-01-01 04:38:23 +00:00
refractionpcsx2
b7f5404062 GameDB: Remove FMV skip patches no longer required 2021-01-01 04:38:02 +00:00
refractionpcsx2
a8a5d4bca9 IPU: Return contents of the bottom of the FIFO in CMD except FDEC/VDEC 2021-01-01 04:38:02 +00:00
refractionpcsx2
c998a51f71 IOP DMA: Only acknowledge SPU2 DMA interrupt if DMA hasn't been cancelled
Fixes Gregory Horror Show bad audio
2020-12-30 05:58:24 +00:00
Christian Kenny
3b771a6a94 PAD (Windows): Remove code for fullscreen and resizing the game window. Also removed code that modified the titlebar text on the output window. 2020-12-30 04:31:59 +01:00
refractionpcsx2
3d3c039596 SPU2: Fix Address masks for voices + Effect area
Fixes reverb in The Suffering
2020-12-30 01:13:52 +00:00
refractionpcsx2
2859123c47 MTVU: Actually add MTVU to savestates
On loading a savestate, restore the VIF state on the MTVU side
2020-12-29 23:15:39 +00:00
sonicfind
c278e6414c recording: Improve NewRecordingFrame window
* File browsing will be required when creating a new input recording if at any point the filename box is empty.
* Removes the "Current Frame" selection if GS is closed. Corethread check in InputRecordingFile::openNew() no longer necesaary.
2020-12-29 22:59:55 +00:00
sonicfind
a6b2d30bd0 recording: Internalize VirtualPad Windows
* Hold virtualPad window pointers solely in the g_inputRecording object
* Only inits the windows once per session and only if recording options are enabled
2020-12-29 22:59:55 +00:00
sonicfind
acb61a3cf2 recording: Disable create & play options until a game is loaded at least once
Ensures no frames are skipped on an initial load of a input recording before booting a game first.
2020-12-29 22:59:55 +00:00
sonicfind
3f359147c8 recording: Fix console logging for file read and write errors 2020-12-29 22:32:15 +00:00
sonicfind
a1b6f0b76a recording: Log all PadData and draw all VirtualPads altogether once per frame
Fixes improper virtualPad behavior for games that do not check for button pressure values (ex: Sonic Mega Collection Plus)
2020-12-29 22:32:15 +00:00
sonicfind
ca5d78e7a5 input-recording: Re-place "replaying" osd log 2020-12-29 22:10:20 +00:00
sonicfind
7431a18bbe input-recording: Wait for savestate confirmation on initial load
* Required splitting some recording menu-related code into separate public functions to work most efficiently.
2020-12-29 22:10:20 +00:00
refractionpcsx2
c9a5443539 VIF: Slightly optimise when Row/Col are written to MTVU 2020-12-28 19:01:17 +00:00
refractionpcsx2
e8c91f0537 MTVU: Stop the buffer filling up when MTVU is disabled 2020-12-28 18:40:07 +00:00
RedDevilus
8190379519 GameDB: Cleanup comments
Adding punctation, removing duplicate serial and making english language more happy for reading.
2020-12-28 14:52:08 +01:00
TellowKrinkle
4ffc0d2247 MTVU: Allow stacking of LABEL 2020-12-28 02:12:52 -06:00
TellowKrinkle
3c2f7983a5 MTVU: Cleaned up GS SIGNAL/LABEL/FINISH communication 2020-12-28 02:12:52 -06:00
Mrlinkwii
527ba52dec Update GameIndex.yaml 2020-12-26 22:57:27 +00:00
Florin9doi
17d5f8985d USB: Improve some cryptic warnings. (#4046) 2020-12-26 12:43:03 +01:00
lightningterror
232c4b482a tools: Remove GameIndex.dbf-tool.
Deprecated with yaml db, maybe a new alternative can be made in the
future.
2020-12-26 11:09:38 +01:00
lightningterror
657ce60ff8 pad-linux: Update to latest controller database. 2020-12-26 11:04:28 +01:00
refractionpcsx2
839b243bf1 VIF: Always update MTVU thread with Row/Col Changes
Fixes graphical issues in Fatal Frame 2 when swapping to MTVU
2020-12-25 00:57:37 +00:00
jackun
9534b2af1d USB: Early return from FF test in case of failure 2020-12-24 21:57:01 +02:00
TheLastRar
b8406a5b95 DEV9: Tap, remove empty blocks 2020-12-24 17:34:26 +00:00
TheLastRar
b097ca9979 DEV9: Tap, make GetOverlappedResult calls one line 2020-12-24 17:34:26 +00:00
TheLastRar
54651731f9 DEV9: Cancel read of TAP device on suspend/shutdown
CancelIo() must be performed on the thread that started the IO operation, hence the use of an event.
2020-12-24 17:34:26 +00:00
Silent
f19985c410 USB: Remove "Bypass Startup Calibration"
It wasn't hooked up to anything
2020-12-24 17:23:17 +02:00
Silent
2c1ebae039 USB: Misc code cleanup 2020-12-24 17:23:17 +02:00
Silent
a1f213cfd0 USB: Slightly decrease strength of FF Test
Right now it can be a bit too strong
2020-12-24 17:23:17 +02:00
Silent
d65c4c1892 USB: Set FF gain for a device, not effects, apply settings before Test
Fixes Test not using new settings until the next time the setting dialog
is opened, also simplifies changing Gain
2020-12-24 17:23:17 +02:00
Silent
2465b0e278 USB: Pass a top-level window to DirectInput
Fixes Force Feedback not initializing properly
2020-12-24 17:23:17 +02:00
refractionpcsx2
fa18568d62 GS: Properly mirror GS reads to CSR 2020-12-24 10:56:36 +00:00
refractionpcsx2
d78de3237c MTVU: Redesign of how to handle signals, seems more reliable
Added new variables to savestates
2020-12-24 09:03:45 +00:00
refractionpcsx2
6066f48d7c MTVU/GIF: Clang Formatting 2020-12-24 09:03:45 +00:00
refractionpcsx2
20695d6b15 MTVU: Add new savestate variables, bump savestate version 2020-12-24 09:03:45 +00:00
refractionpcsx2
3f4bb44310 MTVU: Improve compatibility with games that do GS SIGNAL/LABEL/FINISH 2020-12-24 09:03:45 +00:00
jackun
4ab7d78574 USB: Fix Seamic "failing" to load Singstar api 2020-12-24 03:56:52 +02:00
RedDevilus
74336d952d SPU2: Change VolumeSteps 42 to 5
This will change the PageUp/PageDown and also to clicks near/far but still on the slidebar and the jumps are changed from 42 to 5 , scroll wheel will still be 2 and all the arrows keys on 1. If you click and hold and  then move just outside of the slider you now get nice jumps of multitudes of 5. Dragging the slider will not be affected.
2020-12-23 22:51:18 +00:00
jackun
ade01ecb86 USB: HID: fix E0/E1 keys not sending "pressed down" event, like arrow keys etc.
RAWKEYBOARD::Flags actually _is_ a bitmap for a change
2020-12-23 19:54:00 +02:00
jackun
91d4c4aa37 USB: make dev_index u32 for simpler check if it is valid 2020-12-23 19:54:00 +02:00
jackun
17cbb835ce USB: load main settings once per startup and remove "configChanged" boolean
Let save state loading override currently selected devices
2020-12-23 19:54:00 +02:00
jackun
b2bf0301bb USB: skip parsing inputs if HID device type doesn't match
Kb/mouse event handler pointers are in the same union in HIDState struct
and overlap other variables so not usable for checking validity.
2020-12-23 19:54:00 +02:00
jackun
7a5f9e80e7 USB: remove BUILD_RAW and CALLBACK define 2020-12-23 19:54:00 +02:00
jackun
b5e561e68f USB: restore qemu hid event handler after savestate load 2020-12-23 19:54:00 +02:00
jackun
b3b272e2e2 USB: Use PAD's WndProcEater for raw input, don't reinit raw input, check WM_ENABLE
Skip reinit when swapping discs or it probably hooks dinput8 wndproc causing recursion.
If swapping discs, use WM_ENABLE to signal we have focus again.
2020-12-23 19:54:00 +02:00
jackun
df5cfb303b USB: lock raw input callbacks when adding/removing 2020-12-23 19:54:00 +02:00
jackun
191ebbcacf USB: close devices before destroying and loading save state and just allocate 64KiB for save states
USBfreezeData itself is currently ~20K so maybe 64K is enough
2020-12-23 19:54:00 +02:00
orbea
44b700a6fd cmake: Use GNUInstallDirs. 2020-12-23 01:04:26 +01:00
refractionpcsx2
97b74fa6ea VIF: MSCNT address is -1, so don't mask it. 2020-12-22 14:55:03 +00:00
refractionpcsx2
843650e79e VIF: Mask VU program address on MSCAL/MSCNT instructions 2020-12-22 14:12:27 +00:00
refractionpcsx2
a4553e821f VIF: Allow VIF1 to continue if stalled and the FIFO is reversed 2020-12-22 09:20:03 +00:00
Christian Kenny
2c7f54134e GameDB: Add GIF FIFO Hack for Fight Night Round 3. Fixes corrupted textures. 2020-12-19 23:57:53 +00:00
jeltaqq
7287dce376 GameDB: Porting patch and add Idea Factory games (#4025)
GameDB: Add patches for Idea Factory games
Ported Neo Contra and Savage Skies patches to NTSC-J
2020-12-19 17:04:05 +00:00
Christian Kenny
3143a46e4d GameDB: Add VU0 Kickstart for King Kong. Fixes bad polygons on characters 2020-12-18 23:12:33 +00:00
refractionpcsx2
155cf385bd microVU: Flush running VU1 program when toggling MTVU on 2020-12-18 20:55:02 +00:00
Kojin
ce332571dc core: fix speedhacks panel (#4007) 2020-12-18 14:22:47 -05:00
lightningterror
6a7648d2b0 misc: Cleanup remaining pad stuff from merge. (#4014) 2020-12-18 00:48:33 +01:00
refractionpcsx2
ee890c508e BIOS/CDVD: Set language defaults instead of making the user do it.
Removed message nobody read.
2020-12-17 22:56:42 +00:00
lightningterror
10afd0b684 pad-linux: Update to latest controller database. 2020-12-17 11:05:37 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
38c03ecbbb PAD: review & formatting fixes 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d8884e3a2f PAD: fix regression on MTGS scheduler close 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
80e379820d PAD: formatting fixes for linux 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d3b120fafd PAD: fix quick setup and probably other issues 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
02c028d14f PAD: ensure auto generated resources are not in the source tree 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5769ae3e78 PAD: formatting fixes 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b941d16f78 PAD: windows: fix pad reloading when core actions are done 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b8cedae527 PAD: windows: fix DInput 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
913cb296b4 PAD: windows: fix error message when uninit 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c4abe44e67 PAD: windows, fix crash on config when playing 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2c5b75a695 PAD: windows, pause config when in game and make sure it opens 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3e0f9d3931 PAD: bump sstate version on windows subsystem 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
dc5e4e61c5 PAD: fix ini on windows 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
093e19aae6 PAD: windows: fix RTL_CRITICAL_SECTION nullptr 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
83e6ecb5af PAD: s/Lily/PAD/g + logging changes 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8067a480c7 PAD: windows: clang-format 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9cdc963c97 PAD: windows: update copyright headers 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f38c132efe PAD: s/OnePad/PAD/g 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cd70ba753e PAD: initial windows merge complete 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a0c18d97fd PAD: backport macos patches 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d05c4e60be msvc: disable warnings on 3rdparty 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
494e384d9e msvc: disable /Gm as it is deprecated 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2b4e73e885 PAD: windows merge relatively complete, linker issues left 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ce7fbe6398 PAD: windows sstates support 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
afef852609 PAD: windows removal of callbacks, merging with linux api 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7d5066bc3c PAD: windows merge pch fixes, continuing 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
140f2fc0dd PAD: continuing windows merge 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d1c6b6b789 PAD: fix macos build 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c6d6865bb9 PAD: fix nopch builds 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a9da983d02 PAD: ensure gamepad works on linux 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
eed1e4fe8a PAD: beginning windows initial merge 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a90d588167 PAD: fix ini saving 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8f7b9f609f PAD: sstate support 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
82f7a23be4 PAD: clang-format 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2e0be1f75a PAD: add back config screen, pause core when opened 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6df4fea079 PAD: implement lifecycle callbacks 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
84f838aab0 PAD: update copyright headers 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e47aa28af9 PAD: linux initial merge complete 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1703e9f8d9 PAD: more work on resources compilation, linker issues left 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
69e837c1ea PAD: initial merge relatively complete, linker issues left 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
913bb359a0 PAD: continuing merge, debugging lexer bugs 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a691abc630 PAD: continuing merge, header/export port 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
93fba0a8e7 PAD: include back resources generation 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
85231dfca6 PAD: add back some initial references 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
01b210f42a PAD: remove initial references 2020-12-17 09:38:21 +01:00
Quinton Clark
0e13200911 gui: Apply missing recording menu option disablers. (#4001)
Fixes recording keybind menu options not disabling when pause is selected or when the ESC key is used.
2020-12-17 07:12:23 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
37b8819fc5 formatting: remove editorconfig 2020-12-17 07:05:19 +01:00
tellowkrinkle
66ed78f2c8 x86emitter: fix order of operations mixup 2020-12-16 23:40:14 -06:00
lightningterror
406ef3741c nsis: Fix uninstall path for GameIndex. 2020-12-17 05:52:58 +01:00
Tyler Wilding
e168b00ee0 GameDB: Move the documentation file one last time 2020-12-17 05:09:11 +01:00
Tellow Krinkle
1a727febe9 x86emitter: Remove unused classes
xAddressInfo was not being used
xSmartJump was not being used and is incompatible with x86-64
2020-12-16 20:31:19 -06:00
Tellow Krinkle
096bb8bf74 x86emitter: Remove virtual methods from register types
Allows methods to generate variable-sized registers
2020-12-16 20:31:19 -06:00
orbea
f33a6076dc cmake: Fix the install target. 2020-12-17 03:15:28 +01:00
Florin9doi
bf8fb7bad6 Resolve a crash when EyeToy is opened the second time (#3972)
* Resolve a crash when EyeToy is opened the second time

* Replace NULL/0 with nullptr

Co-authored-by: Florin9doi <Florin9doi@users.noreply.github.com>
2020-12-17 01:29:14 +02:00
Tyler Wilding
271f60b65a NSIS: Updated filepath from old GameDB 2020-12-16 22:42:57 +00:00
Tyler Wilding
c90eec2814 GameDB: Move the documentation file out of /bin 2020-12-16 22:42:57 +00:00
Tyler Wilding
57c7e56203 GameDB: Fix incorrect parsing around round and clamp modes 2020-12-16 22:42:57 +00:00
refractionpcsx2
7b7278bc85 VIF: Fix MPG bug incrementing addresses properly when using MTVU
Also handle wrapping
2020-12-16 14:04:54 +00:00
Tyler Wilding
4d79754f78 GameDB: Follow the same pattern for Speedhacks as for GameFixes
In preparation for #3998
GameDB: Update with current master's GameDB file
2020-12-16 09:31:58 +00:00
Tyler Wilding
34fe57d84b GameDB: Support case-insensitive serials and patch CRCs like existing GameDB impl.
GameDB: Regenerate with master's .dbf file


GameDB: Update with master's latest changes
2020-12-16 09:31:58 +00:00
Tyler Wilding
4b975efa23 GameDB: Hopefully resolve possible unicode filepath issues
GameDB: Big cleanup as a result of review feedback
2020-12-16 09:31:58 +00:00
Tyler Wilding
e90046d8a2 GameDB: key patches by their CRC or default to prevent duplicates
GameDB: Regenerate GameDB file


GameDB: Fix typos in gamefix names
2020-12-16 09:31:58 +00:00
Tyler Wilding
279dfd741a lint: Clang Format files 2020-12-16 09:31:58 +00:00
kenshen112
5ef141187a GameDB: Address string related compiler errors on linux 2020-12-16 09:31:58 +00:00
Tyler Wilding
39a4d3ce4e GameDB: Typo / remove debugging code
GameDB: Remove unneeded include
2020-12-16 09:31:58 +00:00
kenshen112
3f6193580c CMake: Add yaml-cpp to cmake 2020-12-16 09:31:58 +00:00
Tyler Wilding
18ea20e7b0 GameDB: Add markdown documentation for GameDB
cmake: Add yaml-cpp to cmake
2020-12-16 09:31:58 +00:00
Tyler Wilding
dc52ec7aec GameDB: Detect and skip patches with duplicate CRCs 2020-12-16 09:31:58 +00:00
Tyler Wilding
b800ed0a10 GameDB: Fixed invalid GameFix instances using new validation process
GameDB: Delete the .dbf file
2020-12-16 09:31:58 +00:00
Tyler Wilding
df1a8e8667 GameDB: Beef up the validation and finish refactor
GameDB: Regenerate with current master's file
2020-12-16 09:31:58 +00:00
Tyler Wilding
9fa484dbab GameDB/MSVC: renamed _Target_ to _InstrucTarget_ to avoid collisions 2020-12-16 09:31:58 +00:00
t o
b102134ae3 GameDB: Fixed return and added include 2020-12-16 09:31:58 +00:00
Tyler Wilding
675a60b3d4 GameDB: Add new GameDB implementation
vendor new yaml file, this one is OUT OF DATE!


Resolve a slew of compiler errors


Down to just the weird _Target_ usage in 5900.cpp
2020-12-16 09:31:58 +00:00
refractionpcsx2
03445d0b55 microVU: Add sanity check when loading quick block from program.
Sometimes (CoD Finest Hour) can somehow end up with blocks missing from a program, not sure how, but it still finds the current program, so we check if the block exists, if not, recompile new ones.
2020-12-15 20:26:41 +00:00
refractionpcsx2
678829a5b2 VIF: Don't rush finish VU programs, fixes remaining SPS in Shadowman 2020-12-13 23:17:07 +00:00
refractionpcsx2
7138769182 VU: Synchronise VU1, added speedhack for old behaviour 2020-12-13 22:02:37 +00:00
refractionpcsx2
4a90499ec9 CDVD: Adjust read speed depending on if in inner/outer edge
Fixes Shadowman 2 Second Coming textures
Fixes Arctic Thunder loading problems
2020-12-13 22:02:09 +00:00
refractionpcsx2
446adf1983 GameDB: Remove SkipmMPEG patch for Arctic Thunder 2020-12-13 22:02:09 +00:00
refractionpcsx2
ab0d785ab5 VIF: Don't start transfer if VIF1/0 is stalled
Fix missing VIF status check on MFIFO
2020-12-13 22:01:51 +00:00
Tyler Wilding
083380297f GUI: Resolve issue causing a crash when using Close All Windows while a game is running 2020-12-12 23:03:14 +01:00
jeltaqq
88983caaba GameDB: Add patches for Idea Factory games
Add patches for another Idea Factory games.

Info here: https://github.com/PCSX2/pcsx2/pull/3854
2020-12-11 10:56:24 +01:00
lightningterror
3e5f434df3 usb: Warnings cleanup. 2020-12-11 06:19:02 +01:00
lightningterror
cfb795c23c gsdx: Warnings cleanup. 2020-12-11 06:18:31 +01:00
TheLastRar
f25091414e USB: Fix integer overflow on IOP memory range check 2020-12-11 06:12:12 +01:00
lightningterror
85c3ee823f gsdx-hw: Remove Sly 2 3 TS crc hacks.
HPO special aggressive does a pretty good job when upscaling.
2020-12-10 15:18:02 +01:00
lightningterror
d5adcdd1b2 gsdx-hw: Remove TS crc hack for GodOfWar2.
HPO Special does a good job when upscaling.
2020-12-10 15:04:22 +01:00
lightningterror
8cbaacfe38 gsdx-hw: Remove Aggressive crc hack for Kunoichi.
Speedhack.
2020-12-10 01:49:19 +01:00
Kojin
8e191dabbd gsdx: run clang format on GSState.cpp 2020-12-09 08:14:31 -05:00
Kojin
5d01952254 gsdx: remove broken tbw code 2020-12-09 08:14:31 -05:00
lightningterror
5729230f56 gsdx-hw: Add Shadow of the Colossus to auto mipmapping.
Fixes #3981
2020-12-07 01:17:29 +01:00
refractionpcsx2
f27baec6fb GUI: Force Full Boot on first run of new version
This gets around users having crashes because they haven't configured the language in their BIOS
2020-12-06 20:20:26 +00:00
TellowKrinkle
56b0026160 macOS:cmake: build plugins directly to app bundle
Copying them afterwards ended up in the wrong order with Xcode's code signing, causing unsigned plugins to get copied, which would break the later step of signing the whole bundle
2020-12-06 14:02:43 -06:00
Tyler Wilding
2c8b2b48bd ci: Add MacOS github actions build 2020-12-06 14:02:43 -06:00
TellowKrinkle
790e0a8327 macOS: Fix things broken by plugin merges 2020-12-06 14:02:43 -06:00
TellowKrinkle
16750c19ce cmake: Fix build on newer macOS 2020-12-06 14:02:43 -06:00
TellowKrinkle
a29a4d69d9 cmake: mark Utilities as needing C++17 2020-12-06 14:02:43 -06:00
TellowKrinkle
2ec8cdb86d onepad: Fix macOS build 2020-12-06 14:02:43 -06:00
Tellow Krinkle
34425d892c onepad: Fix binding A on macOS
The key value 0 (which was being used to indicate esc) was already in use as the A key on macOS
2020-12-06 14:02:43 -06:00
Tellow Krinkle
7fa6740710 GSdx: Fix issues on macOS
Note: Doesn't add the ability to make windows, so GSdx won't actually play games on macOS with this
2020-12-06 14:02:43 -06:00
arcum42
99b8168ea8 Only search for yaml-cpp if asked to. (#3975) 2020-12-06 11:39:25 -08:00
refractionpcsx2
7bcee22890 BIOS: Don't HLE OSD Parameters if BIOS has no OSD 2020-12-06 19:30:46 +00:00
refractionpcsx2
a0ac42cf6d GameDB: Added another required gamefix for Rocky
Also added to other versions
2020-12-06 18:29:30 +00:00
refractionpcsx2
7f6e2e4bf4 GameDB: Add VIF Delay Stall hack to Rocky (E) 2020-12-06 18:12:26 +00:00
Dylan Smit
65ee46c0fb misc: Added the PlayStation name properly. (#3915) 2020-12-06 10:27:51 +01:00
refractionpcsx2
16d33f8960 VIF/MTVU: Correctly increment tag addr on VIF when using MTVU
Fixes Def Jam Fight for NY when using MTVU
2020-12-06 07:06:51 +00:00
refractionpcsx2
4595aae0de mVU: Keep start PC, modify prog search to avoid recompilation
Also fix some M-Bit stuff
2020-12-06 07:06:51 +00:00
refractionpcsx2
378eccc6ea IPU: Stop IPU0 looping when there's no data for it to read
Fixes bad slowdowns in Ratchet games when using EE Timing fix caused by bad IPU streams
2020-12-03 20:00:22 +00:00
lightningterror
d0dd60f295 gsdx-hw: Purge BleachBladeBattlers crc hack.
Not needed.
2020-12-02 23:02:20 +01:00
refractionpcsx2
3d43293a5d DMA: Correctly emulate QWC 0 on NORMAL transfers 2020-12-02 20:00:02 +00:00
refractionpcsx2
32f14f48b0 MFIFO: Maintain VIF DMA status and Empty condition on VIF reset
Also don't decrement/change VIF1 QWC on VIF1 FIFO write
2020-12-02 19:59:47 +00:00
refractionpcsx2
465aa00fc7 SPU2: Get rid of the need for delay cycles
Properly handle KeyOn/KeyOff happening in quick succession.
2020-12-02 19:59:29 +00:00
refractionpcsx2
f929d79473 SPU2: Delay DMA Reads to prevent overrun
Savestate bump
2020-12-02 19:59:08 +00:00
refractionpcsx2
7f9f7d49c6 SPU: Adjust final mix volume 2020-12-02 19:58:51 +00:00
lightningterror
55d4604d8f onepad: Update to latest controller database. 2020-12-02 19:08:02 +01:00
refractionpcsx2
5d00a845ac GameDB: Add Soul Calibur III Gamefix to other NTSC versions 2020-12-01 20:41:03 +00:00
refractionpcsx2
79a0403163 GameDB: Add EE Timing fix for Soul Calibur 3 US
Fixes the bad colours on the character select when using Progressive Scan mode
Fixes #1931
2020-12-01 20:00:56 +00:00
lightningterror
be85c568ab Build: Remove appveyor and travis leftovers. 2020-12-01 10:25:52 +01:00
lightningterror
705e39473d gsdx: Fix a couple more warnings.
Still a lot left to go on x64 build.
2020-12-01 10:21:52 +01:00
lightningterror
430fc7b596 x86emitter: Fix a few warnings. 2020-12-01 10:21:52 +01:00
refractionpcsx2
cd9a0cd1d5 GameDB: Put the WRC patch in the right place 2020-12-01 01:10:22 +00:00
refractionpcsx2
2057f3ff15 GameDB: Added EE Rounding (Nearest) for WRC, fixes Subaru crash 2020-12-01 00:52:09 +00:00
Tyler Wilding
6e47834e8a Dep/CMake: Add yaml-cpp support to CMake 2020-11-30 04:22:17 -05:00
Tyler Wilding
4a477244f1 Dep: Add yaml-cpp submodule to Windows project 2020-11-30 04:22:17 -05:00
orbea
3b073343cc Fix build without pulseaudio. 2020-11-29 01:45:20 -05:00
refractionpcsx2
76c98e7140 GameDB: Correct Tekken 5 Clamping mode to fix coin noises on Pirates Cove 2020-11-28 04:10:58 +00:00
GovanifY
047599e12c CMake: fix generation due to warnings treated as errors (#3948) 2020-11-27 07:57:28 -08:00
jackun
b5fecc49a3 USB: Release wasapi resampler's mutex
Got removed in the clean up.
2020-11-26 18:28:31 +02:00
Tyler Wilding
b8eb4c26ea CI: Remove Travis-CI and AppVeyor 2020-11-25 19:01:26 -05:00
jackun
52d88a7282 USB: check that HidD_GetPreparsedData succeeded 2020-11-24 17:57:59 +02:00
TellowKrinkle
5927cef89f GHActions: Disable PCH on clang builds
There's an incompatibility between ccache and clang's PCH that's fixed by cmake 3.17 (ubuntu 20.04 has 3.16)
2020-11-24 09:52:15 -05:00
TellowKrinkle
10a7e7a15f usb: Fix build with older libsamplerate 2020-11-24 09:52:15 -05:00
TellowKrinkle
e50efceb62 core: Fix no-pch build 2020-11-24 03:16:59 -05:00
TellowKrinkle
559f93f353 GSdx: Fix sse2 build on clang 2020-11-24 03:16:59 -05:00
TellowKrinkle
40f26cb975 GHActions: Don't use march=native
It breaks ccache
2020-11-24 03:16:59 -05:00
TellowKrinkle
12bf837eee GHActions: Actually use ccache 2020-11-24 03:16:59 -05:00
TellowKrinkle
8ef6d7ffec GHActions: Add no-pch build 2020-11-24 03:16:59 -05:00
refractionpcsx2
37f145f6bd BIOS/HLE: Write OSD config with memwrites instead of direct to physical
fixes crashes with Crash Twinsanity
2020-11-22 21:25:04 +00:00
arcum42@gmail.com
c25ae58c6f Disable a few warnings. 2020-11-21 10:29:32 -08:00
refractionpcsx2
142082837c CDVD/NVM: Plan B, force user to set up their BIOS first run. 2020-11-21 17:01:14 +00:00
refractionpcsx2
358f098b65 BIOS/HLE: Match ODS Config names to Syscalls
CDVD/NVM: Write default language/screen settings to be English, 4:3, GMT Timezone
2020-11-21 16:31:36 +00:00
Kojin
626bf27887 core: send osd log event when snapshot is taken 2020-11-19 18:42:19 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
86ed9f68f6 PNACH: combined patch effects 2020-11-19 22:51:32 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a0cb6dda94 PNACH: apply repeating codes also on load 2020-11-19 22:51:32 +00:00
RedDevilus
97a24c006a GameDB: Add new entries part 1 2020-11-19 20:59:51 +01:00
lightningterror
56893a0731 gsdx-hw: Merge TriAceGames crc hacks for dx in to one.
StarOcean3, ValkyrieProfile2, RadiataStories.
2020-11-19 20:03:23 +01:00
lightningterror
0f17734896 USB: Fix a few more warnings. 2020-11-19 16:23:24 +01:00
kozarovv
4b4fa06432 Debugger: Remove delay slot for ERET and SYSCALL opcodes 2020-11-19 13:43:00 +00:00
refractionpcsx2
5a77ed14bf BIOSHLE: Implement GetOSDParamConfig2 for DST/24h/Format settings 2020-11-19 11:22:40 +00:00
refractionpcsx2
e8ebb7d23d BIOSHLE: Get all OSDSYS Parameters. Only use when Fast Boot is enabled 2020-11-19 11:22:40 +00:00
lightningterror
ab97832a78 gsdx-ogl: Check MinMax for PSConstantBuffer. 2020-11-19 11:51:54 +01:00
TheLastRar
5d071ceebe Core: Replace Fall through comment with c++17 attribute 2020-11-18 19:44:08 +00:00
TheLastRar
9983bcfbe6 Core: clang-format SysThreadBase.cpp 2020-11-18 19:44:08 +00:00
TheLastRar
ba1497ca48 Core: Don't reopen everything when we just want to reopen the CDVD 2020-11-18 19:44:08 +00:00
lightningterror
f2fa60e56b misc: Remove more leftover stuff from plugins merge.
Bonus: Remove old_plugins solution.
2020-11-18 18:02:03 +01:00
lightningterror
27536283f2 onepad: Update to latest controller database. 2020-11-17 18:30:41 +01:00
arcum42
9d4337b7eb [USB+] Clean up Warnings (#3930)
* Suppress hardening warning spam for the moment. Get rid of a multi-line comment warning.

* Resolve a bunch of warnings about unused variables, unused labels, and sign mismatches.

* Deal with various possibly unused variables.

* Rearrange member variables to match initialization order.

* Move [[maybe_unused]] to a separate line in one spot to make it easier to read.
2020-11-15 04:37:58 -08:00
Shanoah Alkire
532e7c906d Add libsamplerate to travis. 2020-11-15 01:45:55 -08:00
lightningterror
46e8057f9c gsdx-gui-win: Disable Aniso option when 8bit textures is checked on gl. 2020-11-15 08:59:07 +01:00
lightningterror
a6e845088d gsdx-ogl: Fix anisotropic filtering.
Aniso filtering doesn't work with textureLod so use texture
(automatic_lod) instead.

Credits to KrossX.

Note: Won't work on AMD because the driver is broken.
2020-11-15 08:59:07 +01:00
refractionpcsx2
d9936dbbfb GameDB: Fix typo 2020-11-14 22:10:50 +00:00
refractionpcsx2
91292f0bfa GameDB: Fix comment on new patch 2020-11-14 22:08:30 +00:00
refractionpcsx2
5000687b10 GameDB: Added patch for MX Unleashed 2020-11-14 22:07:15 +00:00
Shanoah Alkire
20c8a11925 Okay, the USB dialogs that were merged are written in Gtk 2, causing lots of deprecation warnings if you compile with Gtk 3. I'm just going to suppress all of those for the moment until they can be dealt with properly. 2020-11-13 20:42:18 -08:00
Florin9doi
319287dbe5 USB: Resolve an EyeToy crash when no webcam is connected 2020-11-13 00:15:55 +00:00
refractionpcsx2
7117633204 Counters/Vsync: Do correct number of HBlanks per VSync for PAL/NTSC 2020-11-12 23:13:55 +00:00
Kojin
c57f861f2b counters: account for vertical frequency differences in non-interlaced anolog modes (#3862) 2020-11-12 17:15:42 -05:00
refractionpcsx2
35122e6601 GameDB: Added patch for one version Hardware - Online Arena 2020-11-12 14:39:46 +00:00
jackun
60ef26ec51 USB: revert irq hack 2020-11-11 22:07:16 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f3f50a948e USB: misc fixes on settings string conversion 2020-11-11 19:22:17 +00:00
Kojin
ce658e8a96 Update issue templates (#3917) 2020-11-11 12:14:03 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
961715ab62 CDVD: fix logic bug introduced in ada80474 2020-11-11 10:11:52 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a699e94b2b USB: remove unused logos 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b1d1783da4 USB: warnings fixups 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6bdee6a5bd USB: remove version check for plugin 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
08adfb5746 USB: purge USBnull related mentions in cmake/nsis & formatting 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3b6cdf32fc USB: various formatting nitpicks 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5b67f8528a USB: build date removal, formatting 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
613fe3740f USB/dev9: final dialog fixes & winloadconfig initial load 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d2fa215aa9 USB: fix singstar & tangling if/comments 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3279cba559 USB: windows very much like its filenames (fix various dialog bugs) 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1881d12f61 USB: dialog,windows and dev9/usb conflicts fixes 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1aa585e56b USB: clean up logging 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
47d65c3f89 USB: fix ini saves 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b5dbd794de USB: evdev mDevices clear fix 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a1c4077d83 USB: fix resume issues with wheels and unneeded init 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5799e35327 USB: remove outdated macros instances 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
73ca53eadc USB: fix debug builds on linux by switching to devcon 2020-11-11 13:34:16 +00:00
GovanifY
ede7fa86fa USB: restore formatting of standalone third party code 2020-11-11 13:34:16 +00:00
GovanifY
9da3d9a5bf USB: fix windows sstates and dialog related bugs 2020-11-11 13:34:16 +00:00
GovanifY
9eb78a0a19 USB: windows support! 2020-11-11 13:34:16 +00:00
GovanifY
92be17986f USB: introduce back linux support 2020-11-11 13:34:16 +00:00
GovanifY
30235f49db USB: fix more linker issues on windows 2020-11-11 13:34:16 +00:00
GovanifY
395b372ef7 USB: windows mostly complete, linker issues left 2020-11-11 13:34:16 +00:00
GovanifY
bc022789fc USB: initial windows project support 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f1d1acd487 USB: backport fixes from develop branch 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
53b818ac3b USB: fix sstates when invalid USB device is selected 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
90c9686684 USB: savestate bump + initial sstate implem for usb 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0c43fa92e5 USB: clang-format 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
56e96a8ff9 USB: update copyright headers 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
37e54ebd9f USB: add back config screen, pause core when opened 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a6c67dde55 USB: implement lifecycle callbacks 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e5a7cc4a1c USB: actions and cmakelists formatting 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e2a72b2798 USB: initial merge finally complete 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d33eff635b USB: initial merge relatively complete, linking issues left 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
eb4089657e USB: cleaning up a bunch of warnings, platcompat fixes 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
50969601bf USB: continuing merge, platformcompat fixes 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
de314d253e USB: importing some references, updating handlers and c exports 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2788198b75 3rdparty: add libsamplerate cmake defs 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8f8a83a038 USB: beginning to add back initial references 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9dd0ef681d USB: remove initial references for merge 2020-11-11 13:34:16 +00:00
TheLastRar
3442ba7483 DEV9: net.cpp use __POSIX__ to check for pthread support 2020-11-10 18:21:32 +00:00
TheLastRar
2a921b40af DEV9: use pthreads to set priority on mac 2020-11-10 18:21:32 +00:00
TheLastRar
be67773dd7 DEV9: switch net.cpp to use std::threads
Also merge windows & linux net.ccp into one file
2020-11-10 18:21:32 +00:00
Yuri Konotopov
64010cf797 Support build with system fmt (#3838)
Signed-off-by: Yuri Konotopov <ykonotopov@gnome.org>
2020-11-08 16:28:43 -08:00
lightningterror
12c21de66c spu2: Rename SPU2 Config -> Audio Settings.
We can have a better user friendly name as the plugin is merged in to
core.
2020-11-08 14:37:00 +01:00
lightningterror
476a4ec882 dev9/spu2: remove useless defines. 2020-11-08 14:37:00 +01:00
lightningterror
3d12b33113 dev9: fix not defined macro warning. 2020-11-08 14:37:00 +01:00
lightningterror
a7c9005626 dev9-gui-linux: Rename linux buttons/texts to match previous windows changes. 2020-11-08 14:37:00 +01:00
lightningterror
a52607e346 dev9-gui-win: Cleanup DEV9 gui a bit.
Rename window title: HDD Configure -> Network and HDD Settings
Remove about dialog code.
Move around button positions.
2020-11-08 14:37:00 +01:00
lightningterror
83a5a78728 gsdx-gui-win: Adjust some tooltips to include d3d 11 version. 2020-11-08 13:01:24 +01:00
lightningterror
f6478a2c0c gsdx-gui-gtk: Change date accuracy button list to a checkbox. 2020-11-08 13:01:24 +01:00
lightningterror
6c6071b939 gsdx-gui-win: Change date accuracy button list to a checkbox. 2020-11-08 13:01:24 +01:00
lightningterror
67a7c326fc gsdx-hw: Merge Basic and Full DATE code.
gl: Do Full date accuracy when option enabled.
d3d11: Do Basic date accuracy when option is enabled, no support for
full.
2020-11-08 13:01:24 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ee25b2e5b2 SPU2: switch to ConWarn for linux fallback 2020-11-08 12:14:53 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f9b42716d2 SPU2: default to XAudio when failing to read conf 2020-11-08 12:14:53 +01:00
lightningterror
5a8c75e4a8 gsdx-hw: Don't always set MaxDepth on ps/fs.
Value will be read only when zclamp is enabled. It will avoid an extra
upload to buffer maybe.
2020-11-08 05:56:09 +01:00
lightningterror
e68674bc5e gsdx-gtk: Run clang on GSLinuxDialog.cpp 2020-11-08 05:48:22 +01:00
lightningterror
ecc37c4d1f gsdx: Remove TV Shader hotkey toggle (F7).
Plenty of users misclick this setting and don't know how to switch back
since it's a rarely used option.
Let's get rid of the hotkey toggle for a quality of life change.
2020-11-08 05:48:22 +01:00
kozarovv
a59e098b5a GSdx: Remove Star Wars - Force Unleashed CRC hack
Replaced by gamedb EE patch which work also in software mode.
2020-11-08 05:43:06 +01:00
kozarovv
268a6dc6c1 GameDB: Add SW Force Unleashed patches 2020-11-08 05:43:06 +01:00
lightningterror
306681bc93 misc: Remove merged plugins leftover stuff. 2020-11-06 21:36:04 +01:00
Tyler Wilding
ac9700f261 CI: Fix Ubuntu package installation failure (#3901)
Co-authored-by: Jonathan Li <jonathan.li@hotmail.co.uk>
2020-11-06 12:11:31 +00:00
lightningterror
0e60733537 x86emitter: Comment out unused variables.
cpudetect.cpp -> x86_64_8BITBRANDID and x86_64_12BITBRANDID.
2020-11-06 11:42:29 +01:00
lightningterror
f8fd636eac gsdx-sw: Comment out not used variables, will fix a few warnings.
GSDrawScanlineCodeGenerator.x64.avx ->_rz_r14, _rz_r15
2020-11-06 11:42:29 +01:00
Timothy O'Barr
ada8047419 PSX/CDVD: Check register 14 (ps1 status register) for cd speed and CDDA (#3899)
Fix to CD speed courtesy of Ref
Restored amount of old PCSX code for CDDA courtesy of pcsxr
2020-11-05 18:03:49 +00:00
Jonathan Li
0a312295db travis-ci: Update the build 2020-11-05 15:20:42 +00:00
Jonathan Li
dca272e12d cmake: Specify the gtk version being used with wx
Fixes potential compilation issues due to gtk3 and gtk2 being used at
the same time.
2020-11-05 15:20:42 +00:00
lightningterror
a15d3d5811 gsdx-hw: EmulateAtst -> Remove unused tex parameter 2020-11-04 07:48:58 +01:00
lightningterror
246dab3375 gsdx-hw: Move EmulateAtst in common hw renderer code.
v1 Code is identical so no need to have separate functions for gl and
d3d11.

v2 Change pass integer parameter with bool that checks for pass 2.
2020-11-04 07:48:58 +01:00
RedDevilus
f60148979f onepad: Update to latest controller database.
Support for PS5 controller (DualSense).
2020-11-04 01:04:35 +01:00
RedDevilus
a83077285f GameDB: 24 The game
-VuClamp to extra to fix minimap HUD.
2020-11-03 18:03:44 +01:00
lightningterror
9140f071f6 misc: Replace Fall through comments with c++17 attribute.
Silences warnings about not having breaks on switch cases.
Added a few missing ones too.
2020-11-02 17:39:02 +01:00
lightningterror
5dc7ef9ed1 gsdx-hw: EmulateBlending -> add [[fallthrough]] attribute to switch cases. 2020-11-01 23:21:38 +01:00
lightningterror
8831ed80df gsdx-d3d11: Clean up blending code a bit.
Directly calculate blend index in rendererdx11, and send the value to
SetupOM. Get rid of duplicate calculation and abcd variables.
Code is cleaner this way.
2020-11-01 23:21:38 +01:00
Shanoah Alkire
5e6cb22eeb Remove references to dev9ghzdrk. If dev9 is built in, we need to always do the setcap check when not disabled, not just if dev9ghzdrk is built. 2020-10-31 19:45:15 -07:00
GovanifY
86e6745f21 DEV9: remove unneeded error message 2020-10-31 16:35:38 +00:00
GovanifY
667ccfad76 DEV9: fix wide char conversion & review fixes 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ba14536441 DEV9: misc formatting 2020-10-31 16:35:38 +00:00
GovanifY
52b687dc55 DEV9: integrate lean and mean and rebase with spu2 2020-10-31 16:35:38 +00:00
GovanifY
fabef0334b DEV9: windows support unicode fixes 2020-10-31 16:35:38 +00:00
GovanifY
eea4e383f9 DEV9: windows support mostly done, unicode thingies to fix 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
149bcea2d8 DEV9: bugfix on linux when no if, config revamp 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2c1bbd5efb DEV9: updated license headers and clang-format 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ca8bf22423 DEV9: add back configure GUI 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ab22d56735 DEV9: implement lifecycle callbacks 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a2e2ed1ecf DEV9: initial merge complete 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b3ae282522 DEV9: including back initial original references 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f430a63312 DEV9: initial work on merge, removing references 2020-10-31 16:35:38 +00:00
refractionpcsx2
7a2c94f6e1 GameDB: Added patch for Black NTSC-J to fix collisions 2020-10-30 10:28:24 +00:00
refractionpcsx2
2d9f72c2a8 GameDB: Added Black PAL-E patch for collisions 2020-10-30 09:33:20 +00:00
arcum42
540c69897e Loosen up wxwidget version restrictions. Default to Gtk 3. Cleanup. (#3832)
* Remove version and platform checks for wxwidgets. It's probably better to find *something* rather then fail because you have 3.1.2 and the build was looking for 3.0 when both work.

* Build gtk 3 by default. Replace gtk 3 flag with one for gtk 2.

* Remove two unused cmake modules.

* Forgot to change a description in build.sh.
2020-10-29 22:30:03 -07:00
Yuri Konotopov
48bff06202 Added cmake options to bypass setcap execution. (#3840)
This call became a problem with distributions (eg Gentoo GNU/Linux) that
builds PCSX2 in sandboxed environment which disallows setcap execution.

Signed-off-by: Yuri Konotopov <ykonotopov@gnome.org>
2020-10-29 22:25:41 -07:00
lightningterror
7d9d2f3982 gsdx-gui: Yeah why not, update the DATE accuracy tooltip along the way. 2020-10-30 01:41:09 +01:00
lightningterror
076b336b0f gsdx-hw: Set Full DATE accuracy as default.
GL only, D3D11 doesn't have Full level.
It is more accurate and there likely isn't any speed impact.

Rename Fast level to Basic.
2020-10-30 01:41:09 +01:00
GovanifY
a3695f1cfd JIT: fix FPU IEEE float conversion on x64 2020-10-30 00:25:03 +00:00
refractionpcsx2
44416bbf7f GameDB: Change clamping on missed versions of Black 2020-10-30 00:18:02 +00:00
refractionpcsx2
fbeb2737bd GameDB: Correct CRC for Black US patch, also comment vuclamp fix 2020-10-29 23:55:09 +00:00
refractionpcsx2
5103ef27e6 GameDB: Add patches for Black PAL-M5 and NTSC-U, fixes Collisions
Also changed the clamp mode to 3 as that also works and is preferred
2020-10-29 23:37:16 +00:00
lightningterror
fca9f7a458 MTGS: Remove old DXGI fullscreen overrides code, run clang. 2020-10-29 15:41:48 +01:00
refractionpcsx2
05f20fa664 GameDB: Added patch for Ratchet & Clank 3 demo shadows 2020-10-28 21:55:26 +00:00
kozarovv
b25bb59aea GameDB: Remove IHRA 2005 patch
Fixed in #3865
2020-10-28 20:19:54 +00:00
lightningterror
af19813d99 onepad: Update to latest controller database.
Close #3866
2020-10-28 18:06:31 +01:00
TellowKrinkle
6ad8563c16 ee: update cache emulation for 64 bits 2020-10-27 14:14:38 +00:00
kozarovv
82ea30cf3f GameDB: Add patches for Idea Factory games 2020-10-27 12:56:19 +01:00
RedDevilus
809c8bf291 GSdx: Clang format
-  plugins/GSdx/Renderers/OpenGL/GLLoader.cpp
2020-10-27 12:00:08 +01:00
RedDevilus
6366284385 pcsx2-gui: Clang format
- pcsx2/SourceLog.cpp
- pcsx2/gui/AppInit.cpp
- pcsx2/gui/ConsoleLogger.cpp
- pcsx2/gui/MainFrame.cpp
2020-10-27 12:00:08 +01:00
RedDevilus
9a50e7ea99 pcsx2-gui: Further improve with adding punctation,tooltip and formatting. 2020-10-27 12:00:08 +01:00
refractionpcsx2
3dc44bafb3 microVU: Fix program range wrapping 2020-10-26 22:44:52 +00:00
refractionpcsx2
9ebcb3b141 microVU: Sort out when the Status flag is de/normalized
Properly clear non-stick invalid/zero flags on DIV/SQRT/RSQRT COP2 instructions
2020-10-26 22:44:36 +00:00
refractionpcsx2
4b0dc9c0df microVU: properly normalise Status flags when exiting a VU program
Fixes shadows in Ratchet Gladiator
2020-10-26 22:44:36 +00:00
refractionpcsx2
f25e7ff004 microVU: Save valid flag instances at the end of a VU0 program.
Fixes State of Emergency 2 black screens and BIOS reboot in Driving Emotion Type-S
2020-10-26 22:44:36 +00:00
Kojin
d8a8b31eb4 gsdx: properly init clut ptrs v2 (#3858)
* gsdx: properly init clut ptrs v2
2020-10-26 13:22:07 -04:00
refractionpcsx2
385ae40646 GameDB: Added patch for Twisted Metal Head On fire effects 2020-10-26 12:03:01 +00:00
refractionpcsx2
0448b4902c microVU: Fixed bug in E-bit conditional branches. Fixes DT Racer
GameDB: Added VU0 Kickstart hack for DT Racer
2020-10-25 21:41:29 +00:00
lightningterror
418974a28a gsdx-hw: Add ICO to automatic mipmapping.
Improves godrays.

Needs Full mipmap with ultra trilinear for extra accuracy.
2020-10-21 17:34:33 +02:00
lightningterror
d6e06e9bc7 onepad: Update to latest controller database. 2020-10-21 17:19:40 +02:00
Kojin
ca0f15a31f Revert "gsdx: properly init gsclut function ptrs"
This reverts commit 6186676add.
2020-10-21 02:52:05 -04:00
refractionpcsx2
9bb9037e42 GameDB: Added XGKick hack to Zombie Hunters 2
Fixes blank textures
2020-10-20 17:48:34 +01:00
refractionpcsx2
99670fde76 GameDB: Ported US patches to European versions of Mafia 2020-10-19 16:39:38 +01:00
RedDevilus
d48166be64 GameDB: Multiple gamefixes to: (#3843)
ChaosLegion
vuClampMode 2. Fixes SPS in the item menu. Found by EspeonScottie.

Dragons's lair
EETimingHack, VU0KickstartHack. Fixes hang and SPS.

Astro Boy (Atom)
eeRoundMode 0. Fixes character behaviour.
2020-10-19 16:48:10 +02:00
kozarovv
51976aa06b CDVD: Fix iLink issues
Previously iLinkId was writen/overwriten to .nvm only when user not supplied own file.
But when user supplied file with empty iLinkId, then value is never set. So games fail to get correct data.
That implementation return hardcoded ilinkId when read is requested, and correct iLinkId is not found.
2020-10-18 18:05:34 +01:00
kozarovv
d87330fcca GameDB: Patch for Ecco the Dolphin PAL
PSI patch ported to PAL version (PAL use the same offset).
2020-10-18 18:04:43 +01:00
refractionpcsx2
2409486c2d VIF: Fixed undefined behaviour of Unpack V3-16 in final QW write.
Fixes Homerun
2020-10-18 17:24:43 +01:00
refractionpcsx2
f1e2a2efbb GameDB: Set vu clamping to none for Hitman - Blood Money
Fixes bump mapping issues
2020-10-18 01:55:54 +01:00
refractionpcsx2
2608673ca7 GS: Fix handling of PRIM/PRMODE on PRMODECONT switching (#3831)
* GS: Fix handling of PRIM/PRMODE on PRMODECONT switching

* GS: Correctly set PRIM on Defrost
2020-10-17 00:49:37 -04:00
Tyler Wilding
2ff231c27d CI/Travis: Fix newly introduced cmake failure in Travis-CI after adding {fmt} (#3837)
* ci: Verify Travis works with cmake fix

* ci: Scope travis-ci to only `master` branch again
2020-10-17 00:44:39 -04:00
Tyler Wilding
a4b307a3bd git: pin fmt submodule to v7.0.3 2020-10-17 04:12:50 +01:00
Tyler Wilding
397cb081c3 cmake: Add fmt to cmake configuration 2020-10-17 04:12:50 +01:00
Tyler Wilding
39ac5bff71 recording: Updated all current logging instances to use new logger 2020-10-17 04:12:50 +01:00
Tyler Wilding
0fede4cb66 recording: Add logging header to simplify input recording logging
Appends [REC] to console logs when appropriate.  Auto appends new-line.  Sends similar logs to OSD if desired.
2020-10-17 04:12:50 +01:00
Tyler Wilding
bab8bdfe47 vs: Setup fmt on Visual Studio 2020-10-17 04:12:50 +01:00
Tyler Wilding
2764474274 git: Add fmt submodule 2020-10-17 04:12:50 +01:00
Tyler Wilding
fd5378d9c1 ci: Remove now unnecessary way of cleaning up old artifacts 2020-10-17 04:12:06 +01:00
Tyler Wilding
75606fd1a9 Add clang linux build 2020-10-17 04:12:06 +01:00
Tyler Wilding
ab0fc39520 Revert "recording: Add logging header to simplify input recording logging"
This reverts commit b8f4fa0e87.
2020-10-17 01:33:18 +01:00
Tyler Wilding
aad5efa637 Revert "recording: Updated all current logging instances to use new logger"
This reverts commit 8decc44476.
2020-10-17 01:33:18 +01:00
Tyler Wilding
2c6805259e GSdx: Compare file extensions as lower-case 2020-10-16 23:29:12 +01:00
Tyler Wilding
5f62a5752e pcsx2-gui: Pause and resume emulation when using Screenshot As.. 2020-10-16 23:29:12 +01:00
Tyler Wilding
9f41f33e86 GSdx: Save PNG compressed screenshots as .png files 2020-10-16 23:29:12 +01:00
Tyler Wilding
9da0cc6a91 gui: Add Screenshot As... option 2020-10-16 23:29:12 +01:00
Tyler Wilding
152d1d8ac4 recording: Don't reload cheats/settings on every frame-advance
I believe the intention of the cheats/settings reloading is for the conventional pause/resume from the MainFrame's menu.

However, with input recording, nothing ever actually gets closed so I doubt the settings need to be reloaded.  This stops that from happening on every individual frame advance.  However, in case im wrong and it is needed, they do get re-applied when emulation is fully resumed (Shift+P by default).  This just dramatically reduces the console spam.
2020-10-16 23:28:42 +01:00
Tyler Wilding
8decc44476 recording: Updated all current logging instances to use new logger 2020-10-16 23:28:10 +01:00
Tyler Wilding
b8f4fa0e87 recording: Add logging header to simplify input recording logging
Appends [REC] to console logs when appropriate.  Auto appends new-line.  Sends similar logs to OSD if desired.
2020-10-16 23:28:10 +01:00
Tyler Wilding
e44a6dcddb recording: Skip extraneous code in SaveState handler if recording is disabled 2020-10-16 23:23:55 +01:00
Tyler Wilding
c329bae403 vs: Move the VirtualPad images into their own filter 2020-10-16 23:23:55 +01:00
orbea
f0cf1a36ed cmake: Fix the build without portaudio (Again). (#3827) 2020-10-16 13:52:50 -07:00
Ryudo300
29c7c7291c gamedb: Rename Colosseum - Road to Freedom to 21 Card Games. (#3830)
Fixed incorrect game title.
SLES-53357
2020-10-16 16:13:23 +02:00
refractionpcsx2
cf05f6ca40 Cop2: Make sure the status flag gets updated on DIV/SQRT/RSQRT (#3813)
Fixes Yanya Caballista (patches removed)
Fixes Disney's Treasure Plantet's crazy camera (that flies off) and ground displacement. Fixes #3441
2020-10-16 09:47:23 +01:00
refractionpcsx2
92171ddbaa GameDB: Add COP2 Arrangement for Everyblue 2 (EU/US) Fixes #3392 2020-10-15 15:58:22 +01:00
RedDevilus
15dfad0ebc GameDB: Patches for 12 games (or 9 individual games):
- Galerians Ash
- Gladiator: Sword of Vengeance
- IHRA Professional Drag Racing 2005
- Musashi Samurai Legend
- Pilot Down: Behind Enemy Lines
- Superman Returns
- Test Drive
- TD Overdrive: The Brotherhood of Speed
- WRC 4
2020-10-15 14:54:21 +01:00
RedDevilus
03ba36411c GameDB: Add gamefixes for the following games listed, change detail are in db comments:
- Primal
- Code veronica X
- Virtua Tennis 2
- Power Smash 2
- Sega Tennis Sports
2020-10-15 10:08:05 +01:00
Kojin
1feadc186d pcsx2: enable hostfs on release builds 2020-10-15 00:29:32 -04:00
refractionpcsx2
fb29353d5d GameDB: Patch for Dynasty Warriors 3 (C) 2020-10-11 08:22:43 +01:00
refractionpcsx2
db82744553 GameDB: Added Dynasty Warriors 3 (US) patch to sort crazy cloth in opening 2020-10-11 06:17:36 +01:00
refractionpcsx2
4a1e838220 GameDB: Patch for Yanya Caballista Japan version 2020-10-10 20:37:22 +01:00
refractionpcsx2
057791607b EE Int Cache: Fix crash when booting the BIOS in 32bit 2020-10-10 15:27:40 +01:00
refractionpcsx2
7e2ccd64e8 SIF: Fix attempting to write junk when FIFO full
Also fix the amount of words written to temporary junk
2020-10-09 23:51:12 +01:00
Kojin
da3c3a828c pcsx2: purge fmv in sw hack (#3806)
* pcsx2: purge fmv in sw hack

* gamedb: remove mention of fmv in sw hack
2020-10-09 17:19:17 -04:00
refractionpcsx2
0d1a583144 DMA: Handle undefined Chain mode tags
Fixes DT Racer speed issues
2020-10-07 14:05:27 +01:00
refractionpcsx2
49b92d956a GameDB: Added VU Kickstart gamefix for Moto GP 2020-10-06 21:44:07 +01:00
Nobbs66
981cb4c22c PGIF/PS1: Correct PGIF Register bit masks (#3791) 2020-10-06 20:45:20 +01:00
refractionpcsx2
1ea573dc54 GameDB: Apparently Extra+sign on VU still needed for Another Century's Episode 3 2020-10-06 17:05:35 +01:00
refractionpcsx2
2897494732 GameDB: Removed game fixes for Another Century's Episode 3
Were added to fix a crash going in to mission 2, but now causes it to crash instead.
2020-10-06 16:27:15 +01:00
RedPanda4552
b62270ea2e Counters: Tighten tolerances on framelimiter (#3785)
Smooths out frame pace and keeps average framerate closer to target.
2020-10-06 14:14:07 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
11bb7bdff9 SPU2: more missing PCH 2020-10-06 09:34:13 +01:00
Kojin
f5b92ecdee gsdx-osd: fix crashing on d3d11 2020-10-05 21:23:29 -04:00
Tyler Wilding
bd1cc9b4f4 ci: Automatically watch for updates on github actions 2020-10-06 00:47:53 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9c17d7687a SPU2: missing pch 2020-10-05 21:52:36 +01:00
refractionpcsx2
bec587164b microVU: Make sure flags are exact on M-bit (#3797)
* microVU: Don't break on M-Bit if previous instruction was M-Bit

Fixes Gungrave
2020-10-05 21:49:15 +01:00
Mrlinkwii
5c88d259f5 GameDB: Correct title for Sly 3 (#3796) 2020-10-05 19:05:15 +01:00
RedDevilus
c772b6a843 GameDB: VU0 Kickstart to Beyond Good and Evil
Fixes Character SPS.
2020-10-05 19:06:02 +02:00
GovanifY
f30b66522f CDVD: fix ISO swapping (#3788) 2020-10-04 22:34:06 +01:00
refractionpcsx2
2c717c3cdb GameDB: Better patch for ONI games, less invasive
On real hardware the PCR write will be completed after the BC0F instruction causing it to pass, so we simulate this now
2020-10-04 21:33:44 +01:00
Shanoah Alkire
7ca2385da2 SPU2: Cleanup. Remove a few unused variables, and make a few local that didn't need to be in classes, renaming them accordingly. 2020-10-03 18:12:38 -07:00
Gauvain 'GovanifY' Roussel-Tarbouriech
655748f2d9 SPU2: clang-format, spu close before cdvd and remove unused refs 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b11ad72473 SPU2: linux fix where config wasn't setup on init & savestate bump 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1e7b69b1ab SPU2: pause while config screen is open 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7d917afcbb SPU2: purge DSound & log + config fix 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c8abed371b SPU2: fix nullptr crash on DSound 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
444f5ed515 SPU2: fix config path 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c36c26800b SPU2: remove logo from config 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
faae323d9d SPU2: enable portaudio on linux and additional clang-format 2020-10-04 00:13:36 +01:00
GovanifY
3d3e4ec1ba SPU2: enabling portaudio on windows 2020-10-04 00:13:36 +01:00
GovanifY
f58d9e3f39 SPU2: s/NULL/nullptr/, s/SPU-2/SPU2/ 2020-10-04 00:13:36 +01:00
GovanifY
5cf2147754 SPU2: fix DMA issues 2020-10-04 00:13:36 +01:00
GovanifY
a3a530adf6 SPU2: windows config and s/SPU2-X/SPU-2/g 2020-10-04 00:13:36 +01:00
GovanifY
7ec2eb050b SPU2: windows support! 2020-10-04 00:13:36 +01:00
GovanifY
1727c863fe SPU2: windows: fix most build issues, linker issues left 2020-10-04 00:13:36 +01:00
GovanifY
d393116fb9 SPU: adding windows filters 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
15c955c384 SPU2: preliminary windows support 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6dc3966be9 SPU2: clang-format 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b0b4adea75 SPU2: license header update 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c5b5a3039a SPU2: redesign save states into a working state, config saves now works 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e8c50aaadf SPU2: add back configuration GUI 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b6356eb5f8 SPU2: implement lifecycle callbacks 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cb0e422228 SPU2: remove setup irq callback functions 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0ece59b710 SPU2: initial merge complete 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fe8160f3ec SPU2: merged more core callbacks 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
67738a57b7 SPU2: redesign the save state system 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9c97092efd SPU2: merging some codebase callbacks 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3d3ccbfcd7 SPU2: merge initial code, remove plugin exports 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b8c3bd4fae SPU2: remove initial plugin references 2020-10-04 00:13:36 +01:00
GovanifY
cf58a32583 DEV9: fix crash when closing game window with ethernet disabled 2020-10-03 23:47:04 +01:00
Kojin
6186676add gsdx: properly init gsclut function ptrs 2020-10-02 22:30:04 -04:00
sonicfind
329a1ae59d pcsx2-gui: Disable recording shortcuts on any GS panel close, even from pausing or shutting down
Now that there's a reason for it, enable the call to the CloseGSPanel function (although it still won't delete the panel).

pcsx2-gui: Remove input recording keybinds when tools are disabled


recording: Log "Recording" > "Input Recording" consistency
2020-10-03 01:45:18 +01:00
Tyler Wilding
0df056ac61 pcsx2-gui: Enable and disable new recording menu items when appropriatewhen
pcsx2-gui: Don't attempt to modify recording items if main frame is null


pcsx2-gui: Add some help text for the recording options as well


pcsx2-gui: Disable `Toggle Recording Mode` if no recording is active
2020-10-03 01:45:18 +01:00
Tyler Wilding
1954c2ce09 pcsx2-gui: Add handlers for new menu options 2020-10-03 01:45:18 +01:00
Tyler Wilding
b39f408afc pcsx2-gui: Improve method of adding key shortcut to menu items 2020-10-03 01:45:18 +01:00
RedDevilus
d304261333 GameDB: VU0 Kickstart to Blood Will Tell
Fixes main character model SPS.
2020-10-03 01:44:24 +01:00
RedDevilus
df9a45aa14 GameDB: VU0Kickstart to 24 the game
Fixes missing textures.
2020-10-03 01:44:09 +01:00
refractionpcsx2
d2169d725b SIF: Correct IOP cycle count for SIF transfers 2020-10-03 01:42:46 +01:00
refractionpcsx2
dcbb05982a Savestates: Move variable to sif struct, bump savestate version 2020-10-03 01:42:46 +01:00
refractionpcsx2
b916ce6d30 GameDB: Remove patches for True Crime: Streets of LA 2020-10-03 01:42:46 +01:00
refractionpcsx2
1a3b532530 SIF: Transfer SIF0 junk for partial QW transfers from IOP
Fixes True Crime: Streets of LA
2020-10-03 01:42:46 +01:00
refractionpcsx2
435b7dcd2b IOP DMA: Always fire interrupts for SIF0/SIF1 (#3778)
Fixes Knockout Kings 2001 hang on boot
Also cleaned up a bit of white space
2020-10-03 01:41:59 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
85c1aca70e DEV9: fix compilation issues 2020-10-02 19:26:23 +01:00
GovanifY
b4185a96c7 DEV9: only list tap interfaces 2020-10-02 19:26:23 +01:00
GovanifY
0dbb467045 DEV9: rewrite TAP driver and switch to TAP for windows 2020-10-02 19:26:23 +01:00
GovanifY
342e114de8 DEV9: implement get_{num,desc,name} with the winapi 2020-10-02 19:26:23 +01:00
GovanifY
5e8501b5f1 DEV9: initial removal of winpcap 2020-10-02 19:26:23 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0ed46c8b74 CDVD: fix for loading games in BIOS 2020-10-02 16:24:48 +01:00
lightningterror
3231e79566 [skip ci] nsis: Update message box for minimum supported os.
Separate message boxes for v1.4.0 and v1.6.0.
2020-10-01 21:02:22 +02:00
Tyler Wilding
400ed82715 recording: Many adjustments on VirtualPad from review feedback
recording: Factor in DPIScaling when scaling VirtualPad window


recording: Add a reset button, hopefully better quality backgrounds for lower resolutions


recording: Improved VPad analog alignment

Co-authored-by: sonicfind
recording: Some final VirtualPad coordinate adjustments
2020-10-01 17:52:59 +01:00
Tyler Wilding
28a4d0390f cmake: Generate resource header files alongside .pngs just like on windows 2020-10-01 17:52:59 +01:00
Tyler Wilding
14e1ecbbf6 recording: Store VirtualPad window position in .ini file 2020-10-01 17:52:59 +01:00
Tyler Wilding
4519e32586 vs/recording: Remove the committed header files, generate them at build-time
recording: General cleanup, remove obvious code duplication

recording: Improved function arg names in VirtualPad


format: Clang-format all new files
2020-10-01 17:52:59 +01:00
Tyler Wilding
8a968a0c11 recording: set ReadOnlyMode correctly when playing/recording a movie
cmake: Update cmake file lists accordingly


cmake: debugging


cmake debugging
2020-10-01 17:52:59 +01:00
Tyler Wilding
566d0c846f recording: improvements so frame will be less likely to appear un-rendered 2020-10-01 17:52:59 +01:00
Tyler Wilding
32047c6130 recording: Disable widgets in replay mode, simplify ControllerInterrupt
recording: Added some comments to the more complex parts
2020-10-01 17:52:59 +01:00
Tyler Wilding
bbc305d2b9 recording: Linting pass on files involved in this change 2020-10-01 17:52:59 +01:00
Tyler Wilding
c89e9134f6 recording: Done micro-optimizing GUI 2020-10-01 17:52:59 +01:00
Tyler Wilding
d296f0257f recording: Removed redundant #includes and reliance on Common.h
Including Common.h was excessive (for logging) and causing compiler errors on MSVCv142, this bypasses that issue.
The only references to something similar to the errors I was seeing was this https://developercommunity.visualstudio.com/content/problem/845325/stdmake-shared-pch-virtual-method-googletest-cause.html which is resolved in the upcoming VS - 16.6 release (16.5 at the time of writing)
2020-10-01 17:52:59 +01:00
Tyler Wilding
ed829d427c recording: Update controller interrupt to handle both the VirtualPad and the movie
vs: solution updates for new folders / filters / files
2020-10-01 17:52:59 +01:00
Tyler Wilding
0728acaf55 recording: New VirtualPad implementation 2020-10-01 17:52:59 +01:00
Tyler Wilding
b53d22ae7d recording: Rewrite of PadData class
Now a pure object representation of the controller data, no longer tightly coupled to the VirtualPad
2020-10-01 17:52:59 +01:00
Tyler Wilding
1afc75d6d9 recording: Commit all new .png image files for new GUI 2020-10-01 17:52:59 +01:00
Tyler Wilding
3e0ec4ebd3 recording: script to auto-regen image header files 2020-10-01 17:52:59 +01:00
Tyler Wilding
a50d67e59e recording/core: greatly simplify Sio hook and update includes 2020-10-01 17:52:59 +01:00
Tyler Wilding
788a3c294c git: auto-collapse image header files from PR reviews 2020-10-01 17:52:59 +01:00
Ty
00cc4362e8 dev9ghzdrk: Remove obsoleted keyword for Clang. (#3768) 2020-10-01 14:38:27 +02:00
lightningterror
441602aee0 nsis: Bump minimum Windows requirement to 8.1 2020-10-01 00:08:30 +02:00
lightningterror
a0829e9a24 nsis: Remove dx runtimes. 2020-10-01 00:08:30 +02:00
lightningterror
da5da1425b nsis: Remove old v1.4 checks no longer needed.
Remove StrContains.nsh which was used for the
1.4 check.
2020-10-01 00:08:30 +02:00
lightningterror
6040f8c838 nsis: Bump version to 1.8.0 2020-10-01 00:08:30 +02:00
lightningterror
74817a52ef nsis: Remove plugins that were merged in to core.
cdvdGigaherz, FWnull.

TODO: Check if any other plugins got merged in the future.
2020-10-01 00:08:30 +02:00
kozarovv
491b6e12f7 Core: Fix recLUT_SetPage in recResetIOP for ROM1, and ROM2 (#3753) 2020-09-30 11:44:20 +01:00
Ty
5858f72748 Bump up C++ version to c++17 for gcc & clang (#3746)
Use target_compile_features to enforce c++17 standard
2020-09-29 10:30:03 -04:00
Mrlinkwii
21c9d9d020 gamedb: Add vuClampMode 3 to Legend of Kay. (#3762)
Fixes broken polygons on trees.
2020-09-29 07:42:54 +02:00
RedDevilus
0e9dcfbf31 GameDB: Fix wrong names. 2020-09-27 22:05:31 +01:00
GovanifY
5de82289dd IPC: fix windows warnings 2020-09-26 04:13:27 +02:00
refractionpcsx2
aaf1fbd83e GameDB: Change clamping for Armored Core 2. Fixes #2395 2020-09-25 21:37:51 +01:00
Tyler Wilding
5523b02718 ci: Add packages to fix linux build (#3750)
* ci: Add packages to fix linux build

* ci: Sort packages
2020-09-25 00:26:42 -04:00
refractionpcsx2
0ae5c89656 GameDB: Added patch for Jonny Moseley - Mad Trix NTSC to fix videos 2020-09-25 05:08:49 +01:00
lightningterror
dcfb6a56b3 gsdx-ogl: Move DATE_GL42 swap code after colclip.
We can avoid adding extra conditions this way.
2020-09-24 21:59:31 +02:00
Christian Kenny
ec1656f380 Vif: Remove unused variables 2020-09-24 20:12:14 +01:00
refractionpcsx2
669d6096d0 GameDB: Add VU0 Kickstart to Twisted Metal Black games Fixes #3748 2020-09-24 18:58:00 +01:00
Kojin
a60b45f481 msbuild: update project to cpp17 (#3745) 2020-09-24 06:39:30 -04:00
lightningterror
271bec0f14 gsdx-ogl: Make sure DATE_GL42 doesn't run on clamp 0 with non recursive or accu blending.
Also remove DATE_GL42 asserts.
2020-09-24 00:47:13 +02:00
lightningterror
bb4efe7a34 gsdx-ogl: Swap DATE_GL42 with DATE_GL45 on sw blending draw.
It will allow to run sw blending with DATE draw which was previously
DATE_GL42 by default.
2020-09-24 00:47:13 +02:00
C.W. Betts
9952bf285d Better Apple icon file:
* 256 px taken from Windows icon.
* Scaled down 256 to 128 for better-looking 128 px.
* Add retina versions of 16 and 128 px.
2020-09-22 14:26:44 -05:00
TheCakeIsNaOH
e479bc923e NSIS: Add support for command line flags and fix silent install (#3435) 2020-09-22 20:24:04 +01:00
arcum42
2849776054 UI: Refactored plugin loops to use lambdas. (#3569) 2020-09-22 11:07:13 +01:00
Kojin
79f2468952 GSdx: Purge D3D11 Software
F9 now has the following functionality on Windows:
- If the renderer in the config is D3D11, switch between D3D11 and SW
- If the renderer in the config is OGL, switch between OGL and SW
- If the renderer in the config is SW, switch between SW and the renderer returned by GetBestRenderer()
2020-09-21 20:30:20 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6c4ac7eb7f IPC: implement MsgVersion and fix boundings bug 2020-09-22 01:28:14 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cb775c64b1 IPC: testing grounds for MsgVersion 2020-09-22 01:28:14 +01:00
refractionpcsx2
54bcf9a657 SPU2: Only reset output modules if the sample rate changes.
Also don't reset all SPU2 regs when entering PS1 mode, only need to set the sample rate.

Fixes issues with portaudio.
2020-09-21 15:13:51 +01:00
Tyler Wilding
c4ca10258b ci: Validate VS filter files in buiild
msbuild does not use the project in it's entirety to build the app.  This means problems can slip through, so an easy solution is just to ensure the XML is well-formed.  More sophisticated validation could be done with something like `xmllint` but seems overkill.
2020-09-21 02:45:25 +01:00
Timothy O'Barr
73b02c204b SPU2: Set sample rate correctly for PS1 mode (#3532)
* Moved ps1 init. Added Sample Rate change for SPU that gets set but not applied
* SPU: misc fixes on SPU ps1 mode init
* Init the soundbuffer to apply sample rate. Actually set the correct sample rate for the ps1 though it still won't apply

Co-authored-by: Gauvain 'GovanifY' Roussel-Tarbouriech <gauvain@govanify.com>
Co-authored-by: kenshen112 <obarrtimothy@gmail.com>
2020-09-21 01:04:40 +01:00
refractionpcsx2
551847411f CDVD: Revert change from CDVD merge which broke a few things. 2020-09-20 22:27:58 +01:00
lightningterror
2684093b5b lilypad: Default.ini
Update to reflect recent changes.
2020-09-20 19:19:26 +02:00
lightningterror
451f4267ba Lilypad: Remove saveStateIndex.
Was used in saveStateTitle.
2020-09-20 19:19:26 +02:00
lightningterror
93274bfa49 lilypad: Remove disableScreenSaver from Linux too. 2020-09-20 19:19:26 +02:00
lightningterror
c1ec6337a4 lilypad: Remove saveStateTitle and leftovers TitleHackWndProc, PCSX2_overrideConfig. 2020-09-20 19:19:26 +02:00
lightningterror
27542901c8 lilypad: Remove escapeFullscreenHack fully. 2020-09-20 19:19:26 +02:00
lightningterror
78a899b36b lilypad: Remove disableScreenSaver fully. 2020-09-20 19:19:26 +02:00
lightningterror
00e7429c5f lilypad: Remove closeHack fully, remove autoAnalog. 2020-09-20 19:19:26 +02:00
lightningterror
7f57166eea lilypad: Remove psx/ps1 emulator compatibility.
Same as https://github.com/PCSX2/pcsx2/pull/3274
2020-09-20 19:19:26 +02:00
sonicfind
0ce4f7624f GSdx-Capture: Abort capture if an invalid directory is given 2020-09-20 17:36:33 +01:00
sonicfind
7662e22665 GSdx-GUI: Add wchar_t variant of ComboBoxAppend 2020-09-20 17:36:33 +01:00
sonicfind
1ff67c6c1b Capture: Share filename between GSdx and Spu2-x
Shares a single filename between the two capture functions so that the .avi and .wav will match.
Default wavdump filename changed to "audio_recording.wav"
2020-09-20 17:36:33 +01:00
sonicfind
bd91a571a6 GSdx-Capture: Append a missing .avi extension
Filenames of zero length do not allow OK to be pressed.
2020-09-20 17:36:33 +01:00
RedDevilus
e8b16bb145 GSdx-gui: Properly grays out Dithering(PgDn) in software and none renderers. (#3722) 2020-09-20 14:12:24 +02:00
Tyler Wilding
fe10f23994 ci: Resolve git-submodules related Actions warning
The `.git/modules` folder was not being initialized, which caused the post-cleanup of the `Checkout` step to flag an error at the end.  Caching this folder and thus completely caching anything submodule related, should eliminate this warning.

Also allowed submodules to be pulled in parallel when they aren't cached.
2020-09-20 05:51:46 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e1ff498a8e FW: fix FWirq callback bug 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6f98fd4b65 FW: clang-format 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
385c698212 FW: merge into core, simplify setup and config 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4a3e67d143 FW: including back some references 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0fdef7b7d7 FW: removing initial references 2020-09-19 22:38:32 +01:00
Tyler Wilding
86639114e5 ci: Increase verbosity on msbuild logs - includes timing information and such 2020-09-19 21:54:20 +02:00
Tyler Wilding
1a79e421cd Add github actions status badges to readme 2020-09-19 21:54:20 +02:00
Tyler Wilding
2e9a32e7ec ci: Cache submodules and fix artifact naming 2020-09-19 21:54:20 +02:00
refractionpcsx2
2a292fdc05 Build: Fix filters, again. 2020-09-19 16:07:17 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ee53bd795b CDVD: fix conflicts merging 2020-09-19 06:56:25 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ad1cdc9122 IPC: return an error when packet is too big 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a0aaad7ff8 IPC: per user tmp folder in macOS + logic bugs 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cd0bf66434 IPC: conform to the XDG base specification on linux 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
136b6d8098 IPC: updating IPCMsg doc 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f0179b5be6 IPC: reply datagram splittage 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
265c9ec055 IPC: timeout on read/write operations 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f1b1babcf7 IPC: query datagram splitting 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d70309503f IPC: implement better error handling 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
439ed9617c IPC: perform memory checks, virtually no perf hit 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
89ce774d7e IPC: implement batch command processing 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
86757fd36f IPC: original socket ipc implementation 2020-09-18 21:10:04 -05:00
refractionpcsx2
c422aa00aa VS Project: Fix filters 2020-09-19 02:19:18 +01:00
lightningterror
b1f0f7f2e8 ci appveyor/travis: Build only master branch.
Keep them around for now, we will remove them along the way.

Replaced by Github Actions.
2020-09-19 03:18:23 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1f327346f7 CDVD: remove non-fatal logging 2020-09-19 01:37:43 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b46736836e CDVD: remove disc selector dialog 2020-09-19 01:37:43 +01:00
GovanifY
4b1467ea69 CDVD: safety fixes on hard swaps 2020-09-19 01:37:43 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f9be4286bd CDVD: clang-format 2020-09-19 01:37:43 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c4fa3e3304 CDVD: polishing rebase and fixing nullptr bug 2020-09-19 01:37:43 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fd70ddda02 CDVD: reproducing old behavior, boot in BIOS if invalid drive found 2020-09-19 01:37:43 +01:00
unknown
4df5c0ee1e CDVD: check if CDVD thread is already open 2020-09-19 01:37:43 +01:00
Filjo Abraham
656efa5e20 CDVD: drive selection submenu and OS-specific fixes 2020-09-19 01:37:43 +01:00
Filjo Abraham
2c5a23b696 CDVD: ensure thread/state is ok before proceeding 2020-09-19 01:37:43 +01:00
Filjo Abraham
029461c5ae CDVD: merging and removing remnants of plugin 2020-09-19 01:37:43 +01:00
Filjo Abraham
a70bfbdaa9 CDVD: add menu item for discReader and gui for drive selection 2020-09-19 01:37:43 +01:00
lightningterror
0c67dc99f7 gsdx-gui: Add dithering option go linux gtk gui too. 2020-09-19 01:09:25 +02:00
RedDevilus
4e13c3375b GSdx-gui: Add dithering option to windows gui. (#3706)
- Dropdown menu for 3 options: Off (No Effect/ Been always like this), Scaled (Strongest effect/obvious), Unscaled (Weakest effect/less obvious).
- Change default from Scaled to Unscaled.
2020-09-19 00:57:35 +02:00
sonicfind
11fe2619eb recording: Disable currently active frame advancing when opening a different recording 2020-09-18 23:31:23 +01:00
sonicfind
9936fc7f15 recorrding: Resolve issues with starting a new file 2020-09-18 23:31:23 +01:00
sonicfind
23dba26ba3 recording: Rearrangements + Formatting
* RecordingReset is now a function of the InputRecording class
* TotalFrames is now signed
* InputRecordingControls refactor, IsRecordingPaused -> IsPaused
* Add check to keep frameCounter from overflowing (not like someone is gonna record a year's worth of inputs though).

* Code Formatting adjustments (more to do in a separate PR)
2020-09-18 23:31:23 +01:00
sonicfind
f881bd9bd6 recording: Lock frameCounter incrementation on initial recording file load or during full/fast boot
Ensures that no frames of input are skipped over on the initial load of a recording file or during a fast/full boot when a recording file is active. Improved consistency.
2020-09-18 23:31:23 +01:00
sonicfind
5c5d3a770f recording: Handle mode toggle in InputRecordingControls 2020-09-18 23:31:23 +01:00
sonicfind
975a37f209 recording: Handle Boots & Savestates similarly
* Replaces the savestate load flag with a more general initial load flag to be used by full/fast boots and savestates.
* Have the Pcsx2App::ResetRecordingCounter() method mirror the similar method of the savestate class.
2020-09-18 23:31:23 +01:00
sonicfind
b591c5e9ab recording: Rework Frame Value & Undo Count Functions
* Handle setting frameCounter to 0 in SetStartingFrame().
* FrameCounter, signed -> unsigned.
* Have SetFrameCounter handle the calculations for the relative frame displacement from the startingFrame.
* Optimizes InputRecording::controllerInterrupt.
* Flip the order of execution in inputRecordingFreeze.
* Set framecounter properly on full/fast boot.
* More accurately increment undo count
2020-09-18 23:31:23 +01:00
sonicfind
0304b124ed recording: Recording mode-based refactors
* Recording mode enum, NoneActive -> NotActive
* Changed IsMode method names and added an IsRecording method.
* Add methods designated to setting a recording to a certain mode.

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2020-09-18 23:31:23 +01:00
Tyler Wilding
74bba35765 recording: Resolve issues discovered while testing around savestate handling
* Add a flag to explicitly indicate if the initial SS has been loaded.
* Additionally: bracket formatting / spaces -> tabs.
2020-09-18 23:31:23 +01:00
Tyler Wilding
6c80e6b93f recording: Recording controls rename and refactor to attempt to simplify
* RecordingControls - > InputRecordingControls (+ function refactors & simplifications)
* Avoid mutating g_FrameCount - now use isolated frameCounter & startingFrame variables for input recordings
* Pause or resume emulation preemptively based on GUI actions
* Exclusively handle GS window title updates in FrameForGS
2020-09-18 23:31:23 +01:00
GovanifY
fa894d9d48 HostFS: free fds when shutting down vm (#3671)
* HostFS: free fds when shutting down vm

* HostFs: init arrays at given value
2020-09-18 15:34:43 -04:00
Kojin
db36dc2326 GSdx: Purge International Star Soccer Hack
Confirmed to be a core issue.
See: #3568
2020-09-18 14:46:27 -04:00
lightningterror
8cdd823671 build.sh/cmake: Remove OPENCL_API flag. 2020-09-18 20:04:11 +02:00
lightningterror
413d58df57 3rdparty: Remove opencl lib source files. 2020-09-18 19:14:32 +02:00
lightningterror
6529fa419f vcxproj/vsprops/sln: Remove opencl 3rdparty libs. 2020-09-18 19:14:32 +02:00
lightningterror
c50c6034c0 gsdx-hw: Remove opencl code and files from gsdx. 2020-09-18 19:14:32 +02:00
lightningterror
fb640cbdb9 build.sh: Remove opencl. 2020-09-18 19:14:32 +02:00
lightningterror
edd949583a cmake: Remove opencl. 2020-09-18 19:14:32 +02:00
lightningterror
3f99395d3b vcxproj: Remove opencl. 2020-09-18 19:14:32 +02:00
lightningterror
f86ea02594 tools: Remove dynacrchack source files. 2020-09-18 19:13:45 +02:00
lightningterror
dd5d1a1abb gsdx-hw: Remove DynamicCrcHack feature. 2020-09-18 19:13:45 +02:00
refractionpcsx2
40d02400ca DMAC: Improve DMA Stall handling (#3701)
SIF: Implemented SIF0 and SIF1 DMA Stall handling
Cleaned up some of the handling of DMA Stalls on the other channels
2020-09-18 16:23:18 +01:00
Tyler Wilding
a5cc8efb10 ci: Ignore workflows on non-code changes or irrelevant code changes 2020-09-18 03:31:13 +02:00
Tyler Wilding
645b2dc17a ci: Properly fail the linux workflows if the build fails 2020-09-18 03:31:13 +02:00
Tyler Wilding
0bd49ad778 ci: Remove clang, use GCC 10 and GTK 3 2020-09-18 03:31:13 +02:00
Tyler Wilding
81ccb637f9 ci: Remove directX downloading from windows build 2020-09-18 03:31:13 +02:00
Tyler Wilding
3fba5a2c11 ci: Add cron action to cleanup old artifacts to avoid hitting GH Actions limits 2020-09-18 03:31:13 +02:00
Tyler Wilding
359be55ce0 ci: Add working linux workflow 2020-09-18 03:31:13 +02:00
Tyler Wilding
d7beb3cdc7 ci: Add windows workflow 2020-09-18 03:31:13 +02:00
Jonathan Li
176e3609a5 ci: base github actions from turtleli 2020-09-18 03:31:13 +02:00
RedDevilus
07eb0770cd Gamedb: Remove patches and add manual gamefixes
- Spiderwick Chronicles
- Amplitude
2020-09-18 02:25:37 +02:00
lightningterror
366e7b9dbd gsdx-hw: Purge Grandia3 crc hacks.
Upscaling issues can be solved with half pixel offset. Leave the
accurate blur alone!
2020-09-17 20:10:44 +02:00
lightningterror
8d8f0f82d8 gsdx-hw: Run clang format on GSHwHack.cpp. 2020-09-17 19:53:24 +02:00
lightningterror
baabbc3c9f gsdx-hw: Purge Genji crc hacks.
Effects rendered correctly.
2020-09-16 01:22:26 +02:00
refractionpcsx2
751447a028 GameDB: Added missing rounding mode for Shin Megami Tensei: Lucifer's Call 2020-09-15 17:12:13 +01:00
refractionpcsx2
b5e3fc97dc VIF: Set decoding status on VIF stall (#3683)
* VIF: Set decoding status on VIF stall

* VIF/GIF: Remove VIF Reset hack, Let GIF Unit reset queued path data (Except MTVU)
2020-09-14 23:28:55 +01:00
refractionpcsx2
f7f9e30efc SIF DMA: Fix bug with Tag Interrupts 2020-09-14 20:26:25 +01:00
refractionpcsx2
6229b204fa GameDB: Add auto game fixes for Taxi Rider to fix white models 2020-09-12 14:59:09 +01:00
lightningterror
e5db98c137 [skip ci] Tools: Move gsdumpgui in it's own repository.
https://github.com/PCSX2/GSDumpGUI

Initial release has been published as well so developers can download
and use it without the hassle of compiling.
2020-09-12 14:16:14 +02:00
arcum42
dae2c31951 Revamp the wx spu2-x dialog. (#3670)
* Revamp the spu2-x wx dialog box to be more consistant with the wx GSdx dialog.

* Revised advanced sync text for brevity, changed it back to a label, and renamed the dialog box.

* LightningTerror thinks Spu2 looks better in uppercase.

* Change around the time stretching labels again.
2020-09-11 22:30:11 -07:00
sonicfind
4d66818746 GUI/Recording: Resolve issues around playing and creating input recordings under certain scenarios (#3669)
* recording: Only stop the current recording once the menuing hasnt been cancelled

* recording: Avoid changing menu option's state if the recording couldn't be played

* recording: Don't play a recording that uses a savestate, if no game is running

* recording: Don't modify `frameAdvance` flag when explicitly [un]pausing

These functions are only called when creating/playing a recording, and modifying the frameAdvance flag leads to unexpected behaviour (such as the game starting paused if the recording was made from "power-on")

* recording: Refactor and simplify `InputRecordingFile`

InputRecordingFile will no longer be concerned with loading the save-state when playing back an existing recording.  This makes it much easier to only load the save-state if the file is valid and manipulate the emulation state correctly.

* recording: Update play logic with new refactor, resume emulation in the event of a failure

* recording/lint: spaces to tabs

* recording: Properly only examine controller 1A & 2A

The previous controller port checks in place never actually succeeded in their designated task. A new slot check in sio.cpp will perform this task instead.

* recording: Save the savestate in OpenNew() instead of open()

Ensures that the savesate could be saved before trying to create the actual input recording file. It will overwrite any previous backup savestate.
Also, allows for a simplified & easier to read code struture of open().

* Refactor and simplify `InputRecording`

Changes the return type of Play/Create from void to bool.
Optimizes Stop(), Pause(), and Unpause() call placements

Improved handling of emulation pause state, the recording menu on failures, and the conditioning of when a recording file should actually be unloaded.
For example, a currently loaded recording should not get unloaded if a user presses Play *but* chooses cancel in the file browser. However, the emulation should be paused during the duration of this action.
On the flipside, a loaded recording *should* get unloaded if the tools get disabled in settings AND emulation should resume if not already playing.

* recording: Simplify VirtualPad_Open_Click

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2020-09-11 21:30:56 +01:00
lightningterror
4d0650baa0 3rdparty:opencl: Remove unused opencl files.
Currently they are not used when compiling with opencl so don't include
them, entire opencl 3rdparty needs to be updated. Can be done when
someone attempts to fix the opencl renderer.
2020-09-11 02:18:02 +02:00
RedDevilus
043832abdf Console-gui: Update descriptions.
Add Input to recording. Lowercase to uppercase words.
2020-09-11 01:49:32 +02:00
RedDevilus
e079604c48 pcsx2-gui: Update main window description/tooltips.
Change 2 recordings (CaptureVideo and Recordings) to Screenrecorder and Input Recording.
2020-09-11 01:49:32 +02:00
RedDevilus
6a9a61ec68 MemoryCards-gui: Update descriptions/tooltips.
Auto-Eject checkbox is a failsave for broken saves. Card (file)name to Memory Card (like a real PS2 you need to plug a memory card in port 1 to work).
Add usable to formatted to be obvious if you can use the memory card. Changed default column width.
2020-09-11 01:49:32 +02:00
RedDevilus
3d014d28e6 EmulationSettings-gui: Update descriptions/tooltips.
FMV Aspect Ratio Override = Off is the same as the value for Aspect Ratio. Formatting fix for Zoom tooltip.
Double click on emulation windows also does fullscreen. Disable framelimiting means Uncapping the FPS.
Capped slowmotion adjust at 5% (it doesn't accept lower than 5 anyway). MTGS gets debug tag (useless for many).
2020-09-11 01:49:32 +02:00
RedDevilus
03a41fee23 GSdx-gui: Update descriptions/tooltips.
Large framebuffer should only be used in cases of stuttery FMVs (cutscenes). 4/8 bits is best used where GPU is much stronger than CPU.
Fix DPI scaling for OSD color sliders (FPS + other stats).
2020-09-11 01:49:32 +02:00
RedDevilus
4e2319c075 Lilypad-gui: Update descriptions/tooltips.(PR3457)
DS4 is finicky sometimes with Directinput enabled and is best used with Xinput + Steam (Steam is recommended for all controllers).
Alternative for DS4 is Ryochan7/DS4Windows (not main DS4Windows).
2020-09-11 01:49:32 +02:00
Tyler Wilding
79cd8d2190 GUI: Fix recording related hang when PAD plugin is open/closed while game is paused (#3299)
* recording: Resolve hang when opening PAD plugin with the game paused

* pcsx2-gui: Forbid editing the PAD settings while emulation is paused by recording tools

* pcsx2-gui: Resume emulation before configuring PAD plugin, resume on return
2020-09-10 23:05:54 +01:00
lightningterror
fe872b5caa [skip travis] ci-appveyor: Skip building commits if only the following directories/files are changed. 2020-09-10 17:08:08 +02:00
refractionpcsx2
1b6b3f692d GS/Counters: Fix CSR Swap and VBlank Interrupt timing 2020-09-10 15:47:11 +01:00
refractionpcsx2
197eaf3899 VU: Also update Status/Mac instances after COP2, just in case 2020-09-10 12:25:52 +01:00
refractionpcsx2
19ab48c280 VU: Copy CLIP flag instance back to VU0 int and microVU when COP2 modifies it
Fixes Soul Calibur 3 hair
2020-09-10 11:52:47 +01:00
Mrlinkwii
27598fecce GSdx: Console printf CRC fix for starter character 0. (#3678) 2020-09-08 22:18:27 +02:00
RedDevilus
127bdb4cef Gamedb: Remove duplicate gamefix for Primal, and rename Wilds Arms to Wild ARMs. (#3672) 2020-09-07 13:56:36 +02:00
Tyler Wilding
fd4f9aacf0 pcsx2-gui: Clear console log when theme is changed 2020-09-04 15:11:42 +02:00
Tyler Wilding
457830d65d pcsx2-gui: Change the console logger's theme on the fly 2020-09-04 15:11:42 +02:00
RedDevilus
b633b2a2d1 onepad: Update to latest controller database. 2020-09-03 11:23:23 +02:00
arcum42
a1d6cb278f Make a few settings in spu2-x stick under Linux. The whole config section should probably be rewritten, but that's for a later date. 2020-09-02 21:56:54 -07:00
lightningterror
19f153adf1 pcsx2: Remove unused cheats and browser source files.
Unimplemented since pcsx2 moved to wxWidgets (0.9.x era).
2020-09-02 13:44:56 +02:00
lightningterror
4ad60d5de5 vcxproj: Remove old cheats and browser references. 2020-09-02 13:44:56 +02:00
lightningterror
53ada061d2 cmake: Remove old cheats and browser references. 2020-09-02 13:44:56 +02:00
refractionpcsx2
4629c8363c microVU: Fix state saving when m-bit is reached
microVU: Fix range merging to encompass whole ranges of programs
2020-09-01 20:49:07 +01:00
refractionpcsx2
d3f4427ee9 GameDB: Added VU0Kickstart to Horsez 2 2020-09-01 20:31:35 +01:00
JC
23248b5293 GSdx: Add Default OSD Font Resource (#3605)
GSdx: Add Roboto font to resources and make it the default for the OSD
2020-09-01 11:50:09 -04:00
kozarovv
6a4e93db3c VU: Remove unused code in VUmicro
Some of that is not used for more than 10 years. Not even useful for testing now.
2020-09-01 15:34:18 +01:00
TellowKrinkle
a1bf677514 cmake: Don't add xsave flag 2020-09-01 09:28:31 -04:00
TellowKrinkle
19f2d96d06 x86emitter: Don't use xgetbv
All OSes now support AVX
2020-09-01 09:28:31 -04:00
lightningterror
9c0865c0f4 [skip travis] ci-appveyor: Some tweaks.
Add skip_branch_with_pr reference.
- Do not build feature branch with open Pull Requests.

Remove VS2017 32bit build, will allow appveyor to finish
jobs/work faster.
2020-09-01 14:19:03 +02:00
Silent
6f0011ac9c GameDB: Add GT Concept 2002 memcard filter 2020-08-30 21:50:20 +02:00
refractionpcsx2
87dc885a4a VU: Improved EE Cycle Skipping hack to work better with the new VU0 sync changes 2020-08-30 17:15:18 +01:00
refractionpcsx2
10aced77f0 GIF: Solve stack overflow problem on large GS packets with no data 2020-08-30 15:13:28 +01:00
TellowKrinkle
56f2d307bc microVU: Fix empty register use 2020-08-30 04:31:10 +01:00
refractionpcsx2
ecebaca3f0 VU: Fix x64 crash introduced with VU Sync PR
Thanks to TellowKrinkle for helping me debug this one
2020-08-30 04:08:23 +01:00
kozarovv
67235e9a38 GameDB: Update gamedb to match new VU changes 2020-08-29 21:56:26 +01:00
kozarovv
df79a17baa VU: Improve VU0/EE sync, Implement better M-Bit Handling, Fix VU program handing on VIF 2020-08-29 21:56:26 +01:00
RedDevilus
0354e5e710 Gamedb: Add Narnia Chapter 2 Prince Caspian to gamedb ( they didnt even bother doing more languages for 1 entry and can't proofcheck other serials) 2020-08-29 17:55:11 +02:00
kozarovv
98f87dfcc3 Gamedb: Add CTTR hack description, add P4 PAL VU clamping. (#3606)
P4: Fix flickering floor during cutscenes in school.
2020-08-29 15:44:43 +02:00
arcum42
a06ed39151 fixed (was @arcum42 plz fix :p) 2020-08-28 19:10:37 -07:00
Luminar Light
5118aba456 gsdx-hw: Updated Jak CRCs. (#3634)
Added missing CRC for Jak II PAL Preview and Review builds. Due to the protection, the CRCs are identical.
Added mention of Jak 3 Review build in comments. Same CRC as two other builds, due to its protection.
Added a missing Jak X Demo CRC.
2020-08-27 16:26:58 +02:00
lightningterror
9aab6ae7fa Lilypad: Remove Vista mention from config error popup. 2020-08-27 13:37:55 +02:00
lightningterror
13ff9ab7db gsdx-hw: Purge TimeSplitters2 crc hack.
Not needed anymore.
See https://github.com/PCSX2/pcsx2/issues/3568#issuecomment-663927379
2020-08-25 16:57:47 +02:00
TellowKrinkle
91326e1d93 cmake: Remove x86-64 warnings
It's supported now
2020-08-24 16:20:09 -05:00
Tellow Krinkle
35eac7c82f GSdx 64-Bit: Fix register misinterpretation
If the C prototype says int, the compiler might leave garbage in the top half
2020-08-24 16:20:09 -05:00
beaumanvienna (JC)
4bbf0eeb8b ci:appveyor: Add 64-bit build
Since x86-64 recompilers now work
2020-08-24 16:20:09 -05:00
beaumanvienna (JC)
556ec932fb logging: x64 boot message changed
No longer says x86-64 breaks recompilers
2020-08-24 16:20:09 -05:00
tellowkrinkle
310648fb88 recompiler: Fix exception handling on WIN64
Use VEH instead of SEH on WIN64, as SEH needs us to register all our JIT functions for it
2020-08-24 16:20:09 -05:00
TellowKrinkle
970ed11def vsprops: Add __M_X86_64 flag to win64 build
Required to build x86-64 correctly
2020-08-24 16:20:09 -05:00
Tellow Krinkle
cd813edb1b x86emitter: Remove deprecated codegen functions
Successfully moved off of all of them
2020-08-24 16:20:09 -05:00
Tellow Krinkle
0711e0cd52 recompiler: Add comments to recLUT_SetPage
It's kind of confusing
2020-08-24 16:20:09 -05:00
Tellow Krinkle
dc57270fb8 EE/IOP/VU: x86-64 recompiler support 2020-08-24 16:20:09 -05:00
arcum42
eeca29b6d3 pcsx2-gui: Some menu changes (#3597)
* Reshuffle and reorganize  menus. Add a help menu with links to the main website, forums, github page, wiki, and getting started pages.

* Change fast boot to an option.

* Make the Debug window menu option checkable, similar to the Log window.

* Move log settings to the Log menu.

* Add more information to the status bar.

* Moved a few things around. Added Compatibility to the Help menu.

* Removed Pcsx2 from the menu item names in the Help menu, and rearranged a bit.

* Fix crash on cancelling.

* Status bar changes.

* Add minimize/maximize flags to debug window.

* Don't strip out the maximize and minimize boxes on the debugger in weird Windows-only code.

* Add Help button. Fix Help dialog on Linux.

* Remove no longer used Windows code for Debug window.
2020-08-23 16:10:39 -07:00
orbea
c8042fe937 man: Silence warnings. (#3590)
man: ./PCSX2.1:65:9: STYLE: no blank before trailing delimiter: Fl h,
man: ./PCSX2.1:119:9: WARNING: skipping no-space macro
man: ./PCSX2.1:180:72: WARNING: skipping no-space macro
2020-08-23 16:05:20 -07:00
RedDevilus
f78fa2aacf Disney Golf instead of Disney's golf. Same as other regions (#3626) 2020-08-23 16:03:27 -07:00
helkaluin
a0fe237dde debian-packager: Explicitly add libx11-xcb-dev to Debian packager. (#3621)
Ubuntu 20.04 onwards stopped pulling in libx11-xcb-dev with libx11-dev
2020-08-23 19:05:33 +02:00
Timothy O'Barr
dc5bfbb470 Fixes to Arch WX length_error (#3625) 2020-08-23 04:59:15 +01:00
lightningterror
3324043d21 gamedb: Remove zerospu2 comment. 2020-08-23 05:27:22 +02:00
lightningterror
383fa03a34 Remove zerogs and zerospu2 source project files. 2020-08-23 05:27:22 +02:00
lightningterror
664559b6d4 pcsx2: Remove zerogs, zzogl code and comments. 2020-08-23 05:27:22 +02:00
lightningterror
96c057466b sln: Remove zerogs and zerospu2 from build solution. 2020-08-23 05:27:22 +02:00
lightningterror
0939c6302e cmake/linux: Remove zerogs zerospu build environments. 2020-08-23 05:27:22 +02:00
lightningterror
ee3b153d7b gitignore: Remove zerogs, zerospu2 2020-08-23 05:27:22 +02:00
refractionpcsx2
86bb50b9b7 Why is that file spaces and not tabs 2020-08-23 01:40:42 +01:00
refractionpcsx2
deed83a282 Revert bad wxString ini fix which was actually caused by a bad Arch package 2020-08-23 01:39:13 +01:00
lightningterror
f6c138ca7e Goodbye, old friend... Remove zzogl from master branch (#3614)
* cmake: Remove zzogl from cmake.

* cmake/build: Remove GLSL_API and EGL_API flags.

Only used in zzogl.

* linux various: Remove zzogl.

* sln: Remove zzogl from old plugins solution.

* zzogl: Remove source files.

* debian: Exclude zzogl from copyright.

* linux various: Remove glsl2h.pl

Used only in zzogl?

* linux various: Remove zzogl code from validate_glsl.sh

* debian: Remove zzogl mentions in create built tarball.

* gitignore: Remove zzogl paths.
2020-08-21 20:41:45 -07:00
seta-san
328e358b21 Define IPUDMAMode 2 (#3617)
Define IPUDMAMode 2
2020-08-21 19:27:56 +01:00
lightningterror
fc882c9efc debian: Remove gsdx legacy from packager. 2020-08-20 15:34:20 +02:00
lightningterror
35fa2253dd cmake/linux various: Remove remaining traces of GSdx legacy. 2020-08-20 15:34:20 +02:00
lightningterror
dc0db7c58b gsdx-legacy: Purge gsdx legacy from master branch. 2020-08-20 15:34:20 +02:00
tellowkrinkle
850efdc690 Move VTLB manipulation to class (#3524)
Another small piece of #3451

Moves all VTLB pointer manipulation into dedicated classes for the purpose, which should allow the algorithm to be changed much more easily in the future (only have to change the class and recVTLB.cpp assembly since it obviously can't use the class)

Also some of the functions that manipulated the VTLB previously used POINTER_SIGN_BIT (which 1 << 63 on 64-bit) while others used a sign-extended 0x80000000. Now they all use the same one (POINTER_SIGN_BIT)

Note: recVTLB.cpp was updated to keep it compiling but the rest of the x86-64 compatibility changes were left out

Also, Cache.cpp seems to assume VTLB entries are both sides of the union at the same time, which is impossible. Does anyone know how this actually worked (and if this patch breaks it) or if it never worked properly in the first place?
2020-08-19 09:37:23 +01:00
tellowkrinkle
75aac90452 Allocate memory in an x86-64-compatible way (#3523)
Allocate memory in an x86-64-compatible way

Another part of #3451

Note: While this shouldn't change how anything works, it's been the #1 source of breakage of 32-bit builds in #3451 (it was the cause for the failure of win32 to allocate memory and the failure of linux-32 afterward) so we should definitely make sure it gets tested

see #3523 for more information
2020-08-19 09:20:48 +01:00
tellowkrinkle
4f56db9f18 Fix codegen on x86-64 (#3512)
Fix codegen on x86-64

Part 1 of the changes being worked on in #3451

Makes x86emitter emit the x86-64 machine code you would expect it to

Also adds some unit tests to verify that things are working
2020-08-19 09:19:28 +01:00
seta-san
61f3258b96 GamesDB: Remove Eyetoy Check for Card Captor Sakura (#3595) 2020-08-13 21:35:00 +01:00
lightningterror
edc701d3fc gsdx-d3d11: Remove old nvidia hack reference. 2020-08-11 00:50:56 +02:00
Hamish
8816f4bf0d GSdx: Remove GLX in favor of EGL (#3562) 2020-08-09 04:39:56 +01:00
Mrlinkwii
bf2904d380 GameDB: Adjust KOF: Maximum Impact - Maniax naming. (#3585) 2020-08-09 01:00:29 +02:00
ichee
543bb2270e GameDB: Add gamefix patch for Rogue Galaxy. (#3547)
Fixes Vedan Myna area out of bounds glitch.
2020-08-08 23:40:43 +02:00
Tyler Wilding
9d6d7f7f63 pcsx2-tas: Corrections to recording file's header data (#3480)
* The emulator version was hard-coded to PCSX2-1.5.X which is no longer accurate, it is no longer hard-coded and will use the correct version number the same way it is calculated to display in the window title.

* When creating a recording, the game name is preferred over the ISO name. This is determined via the GameDB. When playing back the recording, a simple check occurs to see if the game running is the same one that was used to make the recording. On the playback side, it always only checked with the ISO filename.
2020-08-08 22:25:19 +02:00
lightningterror
b3d90537ba pcsx2: Adjust windows OS support logs.
List Windows 8.1 and Windows 10 as supported OSes only.
Windows 8.0 and lower as unsupported.

Simplify/clean up the code.
2020-08-08 22:22:16 +02:00
kozarovv
6794bbbd6a Add rom2: support (Fix Chinese Bios) (#3439)
* Add rom2 support

* Add rom2 support on IOP

* Valid memory range for rom2

* Add rom2 support to IopMem.cpp
2020-08-08 20:59:46 +01:00
RedDevilus
60e075d6c9 onepad: Rock Candy Nintendo Switch Controller (#3582) 2020-08-07 15:37:18 +02:00
Kojin
454704d967 vs-build: use the win10 sdk (#3560)
vs-build: use the win10 sdk
2020-08-05 14:12:00 -04:00
RedDevilus
c5470a7f53 onepad: Update to latest controller database. 2020-08-04 05:31:18 +02:00
KrossX
9222e93c40 GSdx-hw: Fix OGL line scaling 2020-08-02 14:07:31 +02:00
tellowkrinkle
95b5ab5f1f clang: Update .clang-format to better match upcoming style guide. (#3535)
People were turning it off because it was doing stupid things, hopefully it'll be more usable now.
2020-07-30 01:44:04 +02:00
RedDevilus
0bf54aa6f6 Gamedb: Cleanup/correct formatting and code comments v2. 2020-07-29 00:07:22 +02:00
lightningterror
25bf39e895 gsdx glsl/fx: Remove unused Uber_ATST shader code. 2020-07-28 01:59:53 +02:00
arcum42
f44f676cce Remove old obsolete code specific to ancient Windows versions of GSdx. 2020-07-25 19:15:03 -07:00
Tyler Wilding
ef96e050f9 Resolve Recording Issues for Linux / OnePad users (#3293)
* git: Ignore uncaught linux build artifacts

* onepad-legacy: Return legitimate key event on `PADkeyEvent` call

Onepad-legacy was the plugin that was building and being used on my linux environment.  I'm not sure if t hat's expected and normal 'onepad' has yet to take over.

* onepad: Return legitimate key event on `PADkeyEvent` call

* recording: Remove unnecessary `PadKeyDispatch(ev)` wrapping func

* recording: Cleanup key event handling when GSFrame CoreThread is paused

* recording: Refactor recording status check to be more explicit

* recording: Define additional key bindings for capitalized varient

Despite the advice of the docstrings in these files, on linux this seems to be required for the bindings to consistently fire.

* onepad: Declare `AnalyzeKeyEvent` not static

* recording: Ensure file extension is appended to recording file on linux

* recording: Correct typo in comment

* recording: Better wording around linux keybinding handling

* Remove unneeded `extern`
2020-07-25 17:58:50 -07:00
RedDevilus
aee23929dc GameDB: Test Drive Unlimited. (#3561)
Fix ordering + Region PAL.
2020-07-24 11:57:33 +01:00
refractionpcsx2
b28382632a IPU: Perform an interrupt on IPU_CTRL Reset. (#3555)
* IPU: Perform an interrupt on IPU_CTRL Reset.
Doing this reset performs a forced command end, meaning the IPU will run through the procedure of ending any command running and telling the core that it is done, even if there is no command currently active.
Fixes Fightbox

* Remove Fightbox patch
2020-07-24 08:56:46 +01:00
lightningterror
a1acaaa50c pcsx2-gui: Remove SuperVU reference from vuflaghack tooltip. 2020-07-23 21:06:55 +02:00
RedDevilus
d1af8cd806 GameDB: Patches for 22 games (or 16 individual games)
- 24 : The game
- Amplitude
- Freaky Flyers
- Free Running
- Ghosthunter
- Next Generation Tennis 2003
- NHL 2K6
- NHL 2K9
- Primal
- Ruff Trigger
- Salt Lake 2002
- Savage Skies
- SOCOM 3
- Tomb Raider: Angel of Darkness
- True Crime: Streets of LA
- Yanya Caballista: City Skater
2020-07-21 17:40:16 -04:00
lightningterror
e3f195cf5c onepad: Update to latest controller database. 2020-07-21 22:08:34 +02:00
refractionpcsx2
6a067f5cd6 GameDB: Added missing EU version of Test Drive Unlimited 2020-07-20 14:04:30 +01:00
xddxd
ee77822d22 Fix no portaudio build (#3510) 2020-07-19 19:21:54 -07:00
John Zimmermann
7e52b9550f Allow running on systems without wx stackwalker (#3519)
closes #2796
2020-07-19 19:13:15 -07:00
arcum42
e42b9ce110 More gtk removals and Onepad dialog tweaks (#3525)
* Improve secondary dialogs in Onepad. I'll do gtk stuff in this branch, too, I promise...

* More fiddling with onepad's secondary dialogs.

* Rework config.inl to use wx, getting the rest of the null plugins.

* Remove some unnecessary includes, and convert SysMessage to wx in onepad.

* Add in tellowkrinkle's Mac OS fixes.
2020-07-19 19:11:42 -07:00
lightningterror
b00c603e0b gsdx-hw: Remove aggressive crc hack for SMTDDS1, SMTDDS2, SMTNocturne.
Removed motion blur and filter on the player. Hack is awful, get rid of
it! Related
4e7e7f2dd5

Bonus: remove commented out hack for VP2.
2020-07-19 00:14:37 +02:00
refractionpcsx2
8a6d56bb29 Revert IOP Counter change. IOP counters already edge triggered based on INT flag 2020-07-18 20:54:29 +01:00
lightningterror
30e6a7a62a onepad: Update to latest controller database. 2020-07-17 21:20:05 +02:00
lightningterror
0ee3983421 gsdx-hw: Add missing crc for RatchetAndClank pal. 2020-07-17 19:51:43 +02:00
refractionpcsx2
389d664ffd Clarified my patch comment slightly 2020-07-17 14:47:55 +01:00
refractionpcsx2
adbb12befe Added patch for FightBox 2020-07-17 14:31:52 +01:00
refractionpcsx2
54f47572af EE REC: Prevent crash when DI instruction is in branch delay slot 2020-07-16 20:09:12 +01:00
refractionpcsx2
a782e03ebf GSdx-hw: Improve HW dithering (#3534)
* Improve HW dithering to stop it creating line artifacts across the screen

* Make DX dithering code OGL-like
2020-07-15 13:51:03 +01:00
refractionpcsx2
e04d86ad39 VIF MSCAL instructions wait on VU T-Bit stop (#3539)
* VIF MSCAL instructions wait on VU T-Bit stop
Fixes:
The Sims
Spiderman 3
Sharks Tale
Maybe some bits of Over the Hedge

* Removed Spiderman 3 patches

* Fix VIF DMA resuming when stalled on tag

* Remove warning which doesn't really need to be there anymore
2020-07-15 13:15:47 +01:00
refractionpcsx2
105478aa6d EE/IOP Timer Interrupt Handling
Don't interrupt if compare/overflow flag is already set

Removed patches for Harry Potter Prisoner of Azkeban and Chamber of Secrets as they should no longer be required.
Note - Some harry potter games still have the EE Timing Fix which may also not be required
2020-07-15 13:14:19 +01:00
tellowkrinkle
1e1d455a4d Use PCH with Clang (#3546) 2020-07-14 22:57:11 -07:00
tellowkrinkle
18f5deede7 Reduce header dependencies on x86Emitter (#3545) 2020-07-14 22:56:58 -07:00
Filjo Abraham
715672481b Update gitignore (#3538)
PCSX2-linux.sh is generated when building
GSdx debug files are created when running
2020-07-12 14:54:59 -07:00
tellowkrinkle
f7d84c4637 pcsx2: Fix a few crashes in macOS. (#3424)
* Fix crash on shutdown in macOS

* Fix crashing in ISO list on macOS

* Use MAP_FIXED on linux too
It works as expected and has no race conditions.
2020-07-12 23:54:21 +02:00
RedDevilus
c23f3be21f pcsx2-gui: Modern Dark Themed Console v2.Replaces old dark mode with modern dark mode to the console.
Darker than dark (#3446)
2020-07-12 18:46:50 +01:00
RedDevilus
257f8b1142 pcsx2-gui: Modern Dark Themed Console. (3446)
Replaces old dark mode with modern dark mode to the console.
2020-07-11 22:44:24 +02:00
Kojin
e0037ff709 gsdx-d3d11: remove legacy d3dcompiler code 2020-07-10 17:04:33 -04:00
RedPanda4552
1a1a338d68 GameDB: Add Xenosaga save point crash patch (#3418) 2020-07-10 18:04:44 +01:00
Kojin
210336d8c1 gsdx-d3d11: Modernize swapchain and device creation
Updates the d3d device and swapchain creation to more modern methods.

- Use CreateDXGIFactory2 to create the factory and store in member
- Use CreateSwapChainForHwnd
- Add messages for failures to the console
- Some general formatting improvements
2020-07-07 15:59:44 -04:00
Mrlinkwii
91e7c5b7f1 gamedb: Add The Ultimate World Cup Quiz. (#3522) 2020-07-04 16:47:13 +02:00
arcum42
6afee4ae0c Don't call PressButton if the key pressed isn't in the index. 2020-07-03 21:56:46 -07:00
lightningterror
b45e524b2c gsdx-d3d11: SetupIA, allow sprite conversion to be done on the cpu on d3d hw renderer when applicable.
Convert sprites on the cpu instead of the gpu when applicable. Port from
Opengl.

Lines: GPU conversion.
Triangles: CPU conversion.

Disable Geometry shader when conversion is done on the cpu.
2020-07-03 13:00:49 +02:00
RedDevilus
7d35892def GameDB: Add EETimingHack gamefix to Yakuza.
(#2774) Fixes flickering.
2020-07-02 08:37:42 +02:00
RedDevilus
4102489d84 onepad: Add Alienware controller
Fixes #3505
2020-06-29 16:41:48 +02:00
lightningterror
c7bc1c2cfa gsdx-gui: Limit spin buttons input properly.
v1 It won't allow users to try to input a value that isn't supported
osd (size, timeout, max), tc offsets (x, y), rendering threads.

v2 Use const if applicable for variables throughout
GSSettingsDlg.cpp. Will cleanup some warnings.
2020-06-28 20:48:37 +02:00
RedDevilus
711314dfd8 GameDB: Add EETimingHack gamefix to King of Colosseum Green. (#3493)
Fixes hang on opening.
2020-06-27 16:44:42 +02:00
Florin9doi
be1c97a18b Mpeg.cpp/h indentation 2020-06-27 15:03:44 +01:00
arcum42
3119e0a2e7 Rewrite the spu2-x dialog on Linux in wxwidgets. (#3454) 2020-06-27 01:00:50 -07:00
lightningterror
a2c62c30ad gsdx-hw: Remove Itadaki Street hw hack.
The hack didn't properly work and it is a core issue.
2020-06-27 09:02:18 +02:00
Mrlinkwii
0f1cbe7410 SPR spacing cleanup (#3499)
Correct spacing in SPR.cpp
2020-06-26 20:21:55 +01:00
lightningterror
3269c58c8d gsdx-hw: Improve detection of Texture Shuffle effect.
DMC3, Onimusha 3 rely on this behavior.
They do fullscreen rectangle with scissor, then shift by 8 pixels, not done with recursion.
So we check if it's a TS effect by checking the scissor value.

Credits to Kojin for figuring out the issue.
2020-06-24 22:39:06 +02:00
lightningterror
cc3c5a8efc gsdx-hw: Remove Onimusha3 and DevilMayCry3 crc hacks.
Next commit will allow to render the effects properly.
2020-06-24 22:39:06 +02:00
Víctor "IlDucci
2365e4ff7f Locales: Updating Spanish translation. (#3476)
Overhauls the previous batch of changes and adds the latest changes. Changes include:
 - Unification of terminology between all the strings.
 - Changing quotation marks with the ones used in Spanish.
 - Removal of some GT-like translations.
 - Unification of parenthesis symbols.
 - Removal of title uppercasing (Spanish language doesn't use that many uppercased words).
 - Checked fuzzy entries.
2020-06-24 13:10:26 +02:00
RedDevilus
7de8e34963 Gamedb: Cleanup/correct formatting and code comments. (#3490) 2020-06-24 13:07:30 +02:00
lightningterror
19e872453d gsdx-d3d11: Remove Alpha Stencil hack.
Hack is obsolete/replaced with accurate date/date_one option/code.

There's pretty much no usecase for it remaining other than using it as
an alternative to skipdraw which removes/breaks transparency effects.
2020-06-23 21:39:39 +02:00
lightningterror
297f91ae7d spu2-x-gui: Fix text being cut off on some options when using dpi scaling. 2020-06-21 01:50:26 +02:00
lightningterror
d7118671e6 lilypad-gui: Fix text being cut off on some options when using dpi scaling. 2020-06-21 01:50:26 +02:00
lightningterror
6032d91293 gsdx-gui: Fix text being cut off on some options when using dpi scaling. 2020-06-21 01:50:26 +02:00
iMineLink
1426dc1fc5 GSdx-hw: use CanUseSwSpriteRender in OI_JakGames. (#3463)
In GSRendererHW, reuse the method CanUseSwSpriteRender for OI_JakGames.

As in current master, 16x16 "flat" sprite draws are performed via CPU: those are palette rendering better emulated with the SwSpriteRender.

Jak games do also many 64x64 "flat" draws, but mostly for render to texture effects that are already correctly emulated in the TC, so those draws are not done via CPU (as on the contrary happens for DBZ BT games).
2020-06-20 20:22:27 +02:00
iMineLink
e2c472baa9 GSdx-hw, TC: invalidate Source w overlapping draw. (#3131)
Improve texture cache Source objects invalidation logic taking into account overlapping with current draw.
Fixes eyes rendering for the Major in Jak 1.
2020-06-19 21:36:19 +02:00
lightningterror
5362fc9c26 gsdx-ogl: Fix MaxDepthPS byte alignment.
Bigger value comes first, then smaller to fill the gap so the alignment
can be proper.
vec3
float
2020-06-19 19:37:32 +02:00
RedDevilus
5d318c9c3c [skip ci] Update PCSX2_keys.ini.default hotkey info comments for gsdx.
Revise gsdx hotkeys (dithering) and others.
2020-06-19 17:25:09 +02:00
RedDevilus
dacbe78f35 GameDB: Butt Ugly Martians (#3470)
Fixes #3466.
2020-06-18 15:33:37 +01:00
RedDevilus
8b2a3e3c10 onepad: Add PC Game Controller to db. (#3465)
Fixes #3464.
2020-06-17 16:38:10 +02:00
Alessandro Vetere
ca9e876241 GSdx-hw: use SSR in DBZBT3.
Closes #2001.
2020-06-16 22:28:51 +02:00
lightningterror
76fae2282e onepad: Update to latest controller database.
Close #3461
2020-06-16 21:45:48 +02:00
Alessandro Vetere
d05b31e91c GSdx-hw: get rid of some VS warnings. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
60e8d40492 GSdx-hw: DBZBT2, remove OO & CU, add OI.
Use SwSpriteRender to render sprites, which:
- fixes kaioken effect,
- fixes character outlines when upscaling,
- reduces frametime by up to 3ms with big upscaling factors.
2020-06-15 22:52:26 +02:00
Alessandro Vetere
e71380b82c GSdx-hw: DBZBT2, remove GSC. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
fb3eaa9eff GSdx-hw: add CanUseSwSpriteRender method. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
ff4ba6712c GSdx-hw: SwSpriteRender, improve no raster check. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
c164769eec GSdx-hw: SwSpriteRender, use m_r, correct assert. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
9b73c0eeec GSdx-hw: use PRIM enums in SwSpriteRender. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
cd0a6f05a0 GSdx-hw: SwSpriteRender, implement TEX0.TFX=1. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
f2dd92b5f8 GSRendererHW: SwSpriteRender, fix FBMSK. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
09116d8964 GSdx-hw: SwSpriteRender, implement all ALPHA.C. 2020-06-15 22:52:26 +02:00
lightningterror
d648755d75 gsdx-ogl: Correct intel bad driver log.
Log should paste if either DSA or texture barrier aren't supported.
2020-06-14 00:02:26 +02:00
lightningterror
e64ae9b6bf gsdx-ogl: Adjust sparse texture handle.
Don't disable sparse texture by default before extension check, it will
display sparse texture always not supported. Do an ini check in
check_sparse_compatibility function instead.
Log should properly state if sparse texture is supported now.
2020-06-14 00:02:26 +02:00
lightningterror
5db24d4e4a gsdx-ogl: Adjust some gl debug logs.
Move Additional colclip info, dithering, FixedTEX0 to extra debug logs.
It will allow to keep track of more important stuff going on and they
can be enabled with ENABLE_EXTRA_LOG if needed.

Change context creation log type from stderr to stdout.
2020-06-14 00:02:26 +02:00
RedDevilus
d923432023 GameDB: Adds SkipMPEGHack gamefix to Tiger Woods PGA Tour 06. (#3456)
Fixes hang after EA intro (IPU).
2020-06-13 04:29:37 +02:00
prafullpcsx2
4e4a097240 Implemented memory mode check in cop0.cpp (#3324)
This makes Next Generation Tennis 2003 (Roland Garros French Open 2003) and Spongebob Battle for Bikini Bottom (PAL) work.
2020-06-09 21:50:06 +01:00
Mrlinkwii
f9f55029d1 GameDB: Add Slam Tennis. (#3453) 2020-06-09 16:57:33 +02:00
KrossX
b5625ad8b0 gsdx-hw: Add zclamping to ps/fs.
Add zclamping to ps/fs, enable vs, ps/fs clamp when needed with a macro.
2020-06-06 23:56:41 +02:00
lightningterror
5d0eefeebd gsdx-hw: Cleanup a bit EmulateZbuffer.
Update the comment to reflect recent changes,

Rename DepthMask to MaxDepth,

use a mask shift to get z format,

Do vs cb padding on d3d11.
2020-06-06 23:56:41 +02:00
lightningterror
845a3d0ab8 gsdx-hw: Remove the code block for the bad Z sise check in EmulateZbuffer.
Also fixes Itadaki Street text and F1 2004 starting lights
2020-06-06 23:56:41 +02:00
lightningterror
33678441dc gsdx-hw: Clamp zbuffer to depthmask instead of wrapping.
The behavior was verified on Dobie to be correct.
The code needs to be ported to SW renderer too to
improve rendering on SW side.

Current PR will fix plenty of games on HW renderer
that had/have zbuffer issues before.

v2. Set DepthMask to the maximum the current depth format allows.
Will properly clamp for 16bit and 24bit formats.

v3. gl: Fix uniform buffer upload/cache for VSConstantBuffer.
2020-06-06 23:56:41 +02:00
lightningterror
24f06187df gsdx-d3d11: Port/add depth mask support to EmulateZbuffer.
Add support for depthmasking to EmulateZbuffer, previous old code had
support but wasn't ported properly with the new code a few years back.

VS Constant buffer is now properly setup.
2020-06-06 23:56:41 +02:00
RedDevilus
639986faa7 GameDB: Add gamefixes for the following games listed, change details are in db comments: (#3402)
- DT Racer
- Gran Turismo Prologue
- Gretzky NHL 2005
- Hot Shots Tennis
- Justice League Heroes
- Melty Blood - Act Cadenza
- Metal Arms - Glitch in the System
- Next Generation Tennis 2003
- Official PlayStation 2 Magazine Demo 33
- Primal
- SOCOM 3
- SOCOM Combined Assault
- UFEA Euro 2004
- WRC 4
2020-06-06 23:34:39 +02:00
lightningterror
4aa8b0f977 onepad: Update to latest controller database. 2020-06-06 22:30:24 +02:00
refractionpcsx2
ca903b6b14 GSdx-sw: Add Z clamping to GSdx SW mode (#3433)
* Add Z clamping to GSdx SW mode

* Fix spacing

* Only clamp when max vertex z is greater than zfmt max

* Fix Z format switches

* Get rid of needless shuffle

* Whoops, missed a case

* Replace switches with a shift

* Disable triangle clamping for SSE2

* Implement clamping on GS Raster Interpreter

* Added SSE2 Triangle Z clamping by KrossX
2020-06-05 20:56:16 +01:00
Jonathan Li
d08e49f2df pcsx2: Remove leftover array entry from SuperVU removal
It was causing GameDB fixes to be applied wrongly.
2020-06-03 20:16:00 +01:00
Shanoah Alkire
30ffda406c Remove -Wno-char-subscripts, as it was there for supervu. 2020-06-01 16:34:31 -07:00
arcum42
8023183999 Switch over the null plugins dialog code to use wxWidgets instead of gtk on Linux. (#3420)
* Make the other null plugins use the same functions, and convert PS2Eext.h  to use wx.
2020-05-30 13:31:52 -07:00
Ryudo300
2a9451fed5 PCSX2-GUI: Update BackgroundLogo. (#3423)
Fixes the background/logo glitching out when using DPI scaling.
2020-05-30 21:19:09 +02:00
lightningterror
a9f41c6824 Revert "pcsx2: Change order of "Video (GS)" submenu. (#3265)"
This reverts commit b00792d6ce.

It confused a lot of people that were used to the previous position.
Maybe was a good idea, but bad result.
2020-05-27 22:34:48 +02:00
lightningterror
9cf54b8897 onepad: Update to latest controller database. 2020-05-27 11:57:11 +02:00
arcum42
5903ee95fe Remove unused folder in Visual Studio project. 2020-05-24 20:04:20 -07:00
arcum42
2b115d031e Remove superVU. (#3386)
* Remove superVU, as well as the VUClipFlagHack, which was SuperVU only.
2020-05-24 19:08:12 -07:00
Jonathan Li
3c65ddf72e GameDB: Remove Klonoa 2 patches
They are no longer necessary now that the PACK command has been fixed.
2020-05-25 00:20:44 +01:00
Jonathan Li
0277b69ff1 ipu: Revert Klonoa 2 workaround
This reverts commit 10ee832dc1.

The workaround should be unnecessary now that the indx4 is properly
aligned.
2020-05-25 00:20:44 +01:00
Jonathan Li
08cb843180 ipu: Use alignas to ensure 16-byte alignment of indx4 array 2020-05-25 00:20:44 +01:00
Christian Kenny
aec8e959d9 SaveStateBase: Remove unused "m_DidBios" bool. 2020-05-24 13:27:11 +01:00
Christian Kenny
5ab97eb873 Savestate: Remove unimplemented exceptions. 2020-05-24 13:27:11 +01:00
tellowkrinkle
f9771c38a6 macOS fixes (#3357)
* macOS compile

* Fix memprotect error on macOS

* Fix semaphore wait + thread cancel on macOS

* Fix timedlock timeout calculation

* spu2-x macOS

* onepad macOS support

* Add MacOS game controller db

* Disable onepad_legacy on macOS

* Fix spu2-x configuration crashes

* Make recompiler work on 32-bit macOS

* Use dylib extension for plugins on macOS

* Make app bundle on macOS

* Use git info for Info.plist version
2020-05-23 23:19:47 -07:00
Timothy O'Barr
8eb1bc1986 Fix length_error crash in basic_string in the ini code. (#3411) 2020-05-23 23:09:11 -07:00
SuperSamus
26a4ba360f Locales: Update Italian translations (it_IT). (#3412) 2020-05-23 12:55:51 +02:00
Shadix Aced
2fed813228 Locales: Update French Translations (fr_FR). (#3393) 2020-05-22 03:09:02 +02:00
lightningterror
f2560998c8 [skip ci] Misc documentation updates.
Update issue template with newer release versions.

Update readme, list windows 7 and 8 as no longer supported.
2020-05-20 16:56:17 +02:00
arcum42
c8c27cbfd1 Bump up the minimum cmake version slightly, and make older versions happy with the regex in FindHarfbuzz.cmake. 2020-05-19 22:15:47 -07:00
Jonathan Li
efe3bc1613 pcsx2: Implement IPU VQ conversion
Fixes the blue flames in Klonoa 2.
2020-05-17 21:33:41 +01:00
Jonathan Li
dca0c4ed79 pcsx2: Change IPU vqclut data type
This should improve the readability of the IPU VQ conversion.
2020-05-17 21:33:41 +01:00
Jonathan Li
c533a65764 pcsx2: Add IPU dither block SSE2 implementation 2020-05-17 21:33:41 +01:00
Jonathan Li
f9b51e2656 pcsx2: Add IPU dithering to RGB32->RGB16 conversion 2020-05-17 21:33:41 +01:00
Jonathan Li
1ac1bc9a95 pcsx2: Move IPU RGB32->RGB16 format conversion to separate file 2020-05-17 21:33:41 +01:00
Jonathan Li
cb96dec8a6 pcsx2:windows: Remove DWM code
DwmEnableMMCSS doesn't seem to make a difference.
DwmSetPresentParameters is unused and is also not implemented from
Windows 8.1 onwards.
2020-05-17 18:13:39 +01:00
lightningterror
a30a6583c1 onepad: Update to latest controller database. 2020-05-16 22:20:06 +02:00
KrossX
61c4f9399a GSdx: Dithering setting Hotkey 2020-05-16 21:53:17 +02:00
KrossX
8b1eb3b456 GSdx: Dithering on Hardware 2020-05-16 21:53:17 +02:00
lightningterror
297459c9f6 gsdx-d3d11: Remove exclusive fullscreen code used in legacy gsopen. 2020-05-16 08:43:25 +02:00
lightningterror
37c0067caf gsdx-d3d11: Remove Dispatch function, was never used. 2020-05-16 08:43:25 +02:00
Raziel Znot
a14e3c25b0 Performance fix for Primal and Ghosthunter. (#3376)
Fix for terrible performance in US versions of Primal (all the time) and Ghosthunter (when encountering Teddy Bear and in the moment of Gator-Man's rush attack, maybe few other cases), Both games use shared code with pretty dumb wait loops in the microcode, those are absolutelly unnecessary and significantly kill performance on emulator.

* Performance fix for Primal and Ghosthunter

Fix for terrible performance in US versions of Primal (all the time) and Ghosthunter (when encountering Teddy Bear and in the moment of Gator-Man's rush attack, maybe few other cases). Both games use shared code with pretty dumb wait loops in the microcode, those are absolutely unnecessary and significantly kill performance on the emulator.
2020-05-16 00:06:49 +01:00
Filjo Abraham
b00792d6ce pcsx2: Change order of "Video (GS)" submenu. (#3265) 2020-05-15 16:46:46 +02:00
lightningterror
2e06e960bb gsdx-sw: Remove s_n (draw number) parameter from GetSizeFixedTEX0.
Opengl debug macro already provides draw number so it is esentially
useless.
2020-05-14 03:28:07 +02:00
water111
94e1635882 Make recLUT not hardcoded to 32 MB. (#3095)
This change makes the EE recompiler not hardcoded to working with 32 MB of RAM, and instead work with the amount of RAM set in Ps2MemSize::MainRam. The rest of PCSX2 seems to work fine with more than 32 MB of RAM - it is only the EE recompiler that has trouble. If the Ps2MemSize::MainRam value is not changed from the default 32 MB, there should be no change: 32 MB / 0x10000 = 0x200, the value that was there previously.

This may be helpful if anybody else in the future wants to emulate a PS2 dev kit with 128 MB or RAM, or maybe the PSX dvr thing which I think has 64 MB of RAM. I've confirmed that with the change, you could set Ps2MemSize::MainRam to 128 MB, and execute code with the recompiler that's above the first 32 MB of RAM, and do VIF and scratchpad DMA transfers from this upper memory as well.
2020-05-12 23:03:38 -07:00
arcum42
3c8d4029dd Only update the backup when freezing or defrosting, not when updating the ui. Refactor saveslot code. (#3363) 2020-05-12 22:55:34 -07:00
lightningterror
333cd61c17 gsdx: Rename BLEND_NO_BAR to BLEND_NO_REC.
Since we use it on d3d too it will better fit the naming.
2020-05-13 05:38:25 +02:00
refractionpcsx2
c009a95d68 Fix situation where a VIF IRQ triggers and the game triggers a STOP causing the IRQ to never trigger. (#3385)
Fixes Nitro Bike
2020-05-12 23:59:56 +01:00
refractionpcsx2
184f0df2c5 Modify VU PC addressing so it only multiplies by 8 before entering the p… (#3362)
* Modify VU addressing so it only multiplies by 8 before entering the program
Fixes issues with VU1 TPC being read multiplied by 8 (bad)

* Removed assert on SuperVU which no longer makes sense
2020-05-12 23:59:42 +01:00
lightningterror
593d948615 gsdx-hw: Adjust PABE logs and expand the mentioned games list for it. 2020-05-12 00:11:11 +02:00
lightningterror
e860742131 gsdx-ogl: Synchronize accurate blending enumeration with gui options. 2020-05-12 00:11:11 +02:00
lightningterror
aaaf80f785 gsdx-ogl: Some colclip adjustments.
- Always enable sw colclip for BLEND_NO_BAR.
Free blending and it's faster than standard hdr algo when Blending
Accuracy is disabled.

- Enable sw colclip for Safe FBMASK SW emulated.
instead of hdr mode with accumulation blend so we don't use a mix of sw
and hw blending. It is more accurate.
Test case: Superman Shadows of Apokolips, fixes shadows when blending is enabled.

- Use const to get rid of some warnings.
2020-05-12 00:11:11 +02:00
lightningterror
3f467cae67 gsdx-d3d11: Always enable sw colclip for BLEND_NO_BAR.
- Free blending and it's faster than standard hdr algo when Blending
Accuracy is disabled.

- Add assert when disabling hw blending, hw blending should only be disabled
on free/no barrier blending. D3D11 lacks other types of blending.

- Use const to get rid of some warnings.
2020-05-12 00:11:11 +02:00
lightningterror
95e91b8f44 gsdx-hw: add crc id for The Getaway EU region. 2020-05-11 21:34:29 +02:00
Shadix Aced
6b76db2973 Locales: Update French translations (fr_FR). (#3366) 2020-05-10 17:30:49 +02:00
Jonathan Li
5a5dc7f67f cmake: Fix issue with Harfbuzz not being found 2020-05-09 17:58:19 +01:00
Filjo Abraham
9319ed1afb Remove XAudio 2.7 file refrences 2020-05-09 11:18:39 +01:00
Filjo Abraham
6ef3bfb943 Merge XAudio.inl to XAudio.cpp 2020-05-09 11:18:39 +01:00
Filjo Abraham
9f664c5f9c Drop XAudio 2.7 module 2020-05-09 11:18:39 +01:00
lightningterror
b6e95fea52 GSdx.fx: Fix Border Pass, function should only run when PX_BORDER is enabled/read from the config.
Fixes an issue where external shader broke rendering when enabled if
config wasn't loaded properly.
2020-05-09 05:14:06 +02:00
Kojin
8bf6ba1440 Merge pull request #3263 from tadanokojin/ridge-racer-v
gsdx: mirror RGBAQ to 0x11
2020-05-07 20:31:01 +01:00
refractionpcsx2
ce1955ff60 Allow reading of 8bit timers (and other hardware pages) (#3361)
Fixes Robin Hood
2020-05-07 20:30:35 +01:00
Jonathan Li
16431653e4 gsdx:windows: Use precise floating point behaviour
Fast floating point behaviour can optimise out handling for special
floating point values e.g. NaNs. As GSdx needs to handle NaNs in a few
places, precise floating point behaviour should be used instead.

Fixes a flashlight regression in Silent Hill 2/3 that was caused by
VS2019 optimising out NaN handling.
2020-05-07 19:30:29 +01:00
arcum42
5c60f66890 Fix various cmake issues (#3352)
* Change the minimum cmake version to a range. Uses the new policies of the newer versions if you are on them, taking care of CMP0054.

* Grab a newer version of FindHarfBuzz.cmake from Webkit that fixes the cmake warning the earlier one was giving.

* Add in -ftime-trace as an option on build.sh.

* Precompile PrecompiledHeader.h if you are using cmake 3.16+ and GCC. (Currently disabled on clang due to compilation issues.)

* Check if target_precompile_headers exists rather than by version.

Co-authored-by: scribam <scribam@users.noreply.github.com>
2020-05-07 08:32:34 -07:00
orbea
84d090e2fd spu2-x: Make portaudio an optional dependency. (#3110)
* spu2-x: Make portaudio an optional dependency.

v2: Fix crash in the audio settings with SDL1 and without portaudio.

* cmake: Add PORTAUDIO_API to disable portaudio support.
2020-05-07 08:31:48 -07:00
lightningterror
1a52179298 Gamedb: port CART Fury Championship Racing gamefix patch to PAL version.
SLES-50267
Same patch works for both versions.
Close #3322
2020-05-07 15:57:26 +02:00
lightningterror
6f8dbe589c gsdumpgui: Use PS2EGetLibName instead of PSEGetLibName export. 2020-05-07 14:28:31 +02:00
Ryudo300
280553b41f gsdx-gui: Update logos to match current changes.
Remove mentions of ps1 emulators,
adjust the image slightly and change the colors to match api logo
colors.
Direct3D11 green, OpenGL blue.
2020-05-07 14:28:31 +02:00
lightningterror
0b9d68e60c gsdx: Remove psx/ps1 emulator compatibility.
ePSXe for example.
There is little to no benefit in keeping it, especially when nobody was
maintaining the code. If we ever want to reintroduce it we can do so
from older branches like 1.6.
Plus if we want to integrate plugins into pcsx2 itself this is a required step.
PS1 games can ofc still be played within pcsx2.
2020-05-07 14:28:31 +02:00
lightningterror
2b884a7e7c [skip ci] GSDumpGUI: Add context menu to GSdx and Internal log.
Copy, Clear Log, Select All.
2020-05-07 12:34:37 +02:00
Vyktory Knight
1ef35e7a1e Gamedb: Add memory card filters to several games. (#3364)
Let's Make a Soccer Team!, Virtua Pro Football, Pro Soccer Club o Tsukurou! Europe Championship, World Football Climax.

Technicals:
SLES-54151 reads data from SLES-54153 to allow importing players. Same with the Japanese equivalents.
The above pairing in reverse allows importation of custom teams exported in 54151's VS mode. Again, same with the Japanese equivalents.
SLPM-66442 is listed in PCSX2 Wiki but not in GameIndex.
2020-05-07 12:11:23 +02:00
refractionpcsx2
b8ed34a277 GSState: Mask A+D addresses. Fixes network configuration tool screen. 2020-05-07 12:07:42 +02:00
lightningterror
8f3b908e38 gsdx-gui: Remove custom resolution from the windows gui.
Leave it as an ini option only.
People should never use custom resolution as it causes many issues and
many features aren't supported with it.
On linux option was removed a long time ago.
2020-05-07 12:03:05 +02:00
Jonathan Li
15a9a95284 pcsx2: Bump version number 2020-05-07 08:40:04 +01:00
knight-ryu12
56ea8c4fe6 locale:ja_jp Add missing hotkey notations 2020-05-05 20:07:19 +01:00
Christian Kenny
c4c1b58108 NSIS: QoL changes, general cleanup, bug fixes (#3335)
Uninstaller:
- Removed dependency for AdvUninstallLog, it wasn't really used for anything.
- Remove unpacked installer files upon successful installation.

Installer:
- Remove detection code for versions prior to 1.4.
- Fix Unicode path issues.
- Fix path issues if install folder already exists.
- Remove language option.
- Fix redistributable installation issues.
- Move redistributable installation to after user proceeds with install.
2020-05-05 20:02:07 +01:00
lightningterror
6fd328611f onepad: Update to latest controller database. 2020-05-04 21:01:27 +02:00
refractionpcsx2
18f772e71c Debugger: Fix editing of function names 2020-05-02 14:56:49 +01:00
refractionpcsx2
97df1dd3b5 Only reload the function symbols in debugger once per game 2020-05-02 14:22:43 +01:00
refractionpcsx2
4ce3fdfcb2 Fix up debugger stepping 2020-05-02 04:53:03 +01:00
refractionpcsx2
939e576df9 Separate debug pausing from savestates and recording frame advance 2020-05-02 04:29:30 +01:00
lightningterror
1939671e7f onepad: Add PDP Kingdom Hearts Controller.
Close #3342
2020-05-02 05:00:38 +02:00
refractionpcsx2
ea52da9428 Move debugger function list reset to when the debugger breaks in to the code. Stops a long freeze when first launching a game 2020-05-02 03:41:42 +01:00
lightningterror
f0d08aa7d0 Revert "Locale:ja_JP:Update Hotkey notation"
This reverts commit a7717b9ff1.

It actually broke hotkeys, we noticed a bit too late.
2020-05-01 00:09:55 +02:00
knight-ryu12
a7717b9ff1 Locale:ja_JP:Update Hotkey notation 2020-04-30 21:58:38 +02:00
lightningterror
ba449a524a Revert "gsdx-ogl/d3d11: Add a assert when texture is too small or too big."
This reverts commit 99f814d376.

The assert gets triggered on Linux and so debug build can't be used properly.
Would be nice to investigate why in the first place but until then revert the
entire commit. We have checks for texture limits anyway so it shouldn't be an issue.
2020-04-29 19:33:38 +02:00
Shadix Aced
f68bbfba60 Locales: Update translations (fr-FR). (#3326) 2020-04-28 14:33:52 +02:00
lightningterror
bce30e7388 onepad: Add SZMY-POWER CO. LTD. GAMEPAD to db.
Close #3329
2020-04-28 01:28:14 +02:00
Abdullah Hashim
58f5a5b915 Locales: Update Arabic Translations ar_SA. (#3302) 2020-04-14 18:40:25 +02:00
lightningterror
e53b2585d1 onepad: Add SZMY-POWER CO. LTD. GAMEPAD 3 TURBO controller.
Issue: https://github.com/PCSX2/pcsx2/issues/3309
2020-04-14 18:28:16 +02:00
lightningterror
49e316e488 onepad: Update to latest controller database. 2020-04-08 19:31:26 +02:00
lightningterror
56b76b17a0 onepad: Update to latest controller database. 2020-03-27 18:30:28 +01:00
lightningterror
8d3ff9444f gamedb: Remove gamefix patch for Petz - Horsez 2.
No longer needed, fixed with DI execution PR.

Game requires EE Cyclerate +2 or +3 to work properly.

Tested by Prafull.
2020-03-23 00:18:24 +01:00
RedDevilus
7b9547de3e Locales: Update Arabic Translations ar_SA
Unneeded spaces and symbols changed and removed.
2020-03-23 00:13:38 +01:00
StarFang208
d652d4e364 Locales: Update Italian translations it_IT. (#3289) 2020-03-22 13:28:22 +01:00
Christian Kenny
69b97dc3a6 cheats_ws: Remove R&C NTSC Patch - resolves Vid Comic 1 Boss Hang.
45FE0CC4.pnach

Close #3291
2020-03-19 21:52:53 +01:00
dio-gh
2c294fad8e Locales: Update Hungarian Translations hu_HU 2020-03-19 21:22:43 +01:00
lightningterror
4aa594197a gsdx: Bump gsdx version number to 1.2.0. 2020-03-19 20:27:42 +01:00
lightningterror
62dd5d980d pcsx2-tas: Adjust TAS code to be properly disabled with macro.
VS complains about errors so isolate the code in each file for TAS with macros.

Remove ifndef for m_capturingVideo as it is used for video capture menu.
2020-03-19 20:27:19 +01:00
lightningterror
5afa0e6d20 cheats_ws: Update widescreen patches for 1.6 release.
Version 18.01.2020
2020-03-19 20:17:35 +01:00
lightningterror
79db01d7ed gsdx-d3d11: Truncate fog in tfx.fx shader.
The change should've been pushed in #3091

Fixes regression with fog rendering.
2020-02-29 22:47:30 +01:00
xddxd
2c4af87e13 Locales: Add Lithuanian Translations lt_LT. (#3267) 2020-02-29 19:08:18 +01:00
Christian Kenny
6e22efe790 NSIS: Don't pack files twice - reduces installer size to 7MB. 2020-02-22 08:38:50 +01:00
Christian Kenny
3b380148ee NSIS: Fix uninstaller issue with shortcut removal. 2020-02-22 08:38:50 +01:00
lightningterror
420f642f65 onepad: Update to latest controller database. 2020-02-21 00:25:12 +01:00
altiereslima
d7ae93d856 Locales: Update Portuguese Brazilian Translations pt_BR. (#3259) 2020-02-20 01:30:52 +01:00
RedDevilus
a3114a2f8d Locales: Update Polish Translations pl_PO
Mo minor fixes to polish
2020-02-19 02:49:06 +01:00
TheNekOz
47cfbcb3fb Locales: Update Norwegian Translations nb_NO
Fixes for Norwegian Translations (merged)
Fix Norwegian lines + reviews
2020-02-19 02:49:06 +01:00
RedDevilus
d13f5b192b Locales: Update French Translations fr_FR
Fixes for French Translations (merged)

Rebased for translation French
Fixes to mo files
2020-02-19 02:49:06 +01:00
refractionpcsx2
160f4fd255 GameDB: Added VU patch for Powerdrome PAL. (#3255)
This patches some values in Powerdromes VU microprogram, which restores the 3d models of the characters.
The game uses the extended PS2 float range to do some culling calculations, so I have brung them down to be usable by x86, no other way to really fix this game.
2020-02-15 13:24:20 +01:00
teorex
9770755881 Locales: Update Russian Translations (ru_RU). (#3253) 2020-02-14 05:10:29 +01:00
lightningterror
82ebf36970 onepad: Update to latest controller database. 2020-02-13 20:56:47 +01:00
RedDevilus
9fd8d5c58c Locales: Translation/localisation fixes for Arabic/French/German. (#3251) 2020-02-12 23:42:19 +01:00
Chromaryu
e55ad0a12e Locales: Update Japanese translations ja_JP. (#3250) 2020-02-11 14:55:31 +01:00
RedDevilus
b944e54868 Locales: Update Dutch/Polish translations (nl_NL, pl_PL). (#3245) 2020-02-11 10:35:36 +01:00
Christian Kenny
e45fa9b6d8 NSIS: Update VC Redist URL/comments 2020-02-10 23:18:23 +01:00
Jonathan Li
6a5795abaf locales: Refresh locales to include updated strings
Updated strings:
"Configuration Guides (online)" -> "Configuration Guide"
"Readme / FAQ (Offline/PDF)" -> "Readme / FAQ"

Any string reformatting/sorting was done automatically by script.
2020-02-10 17:38:08 +00:00
Jonathan Li
4858dea259 locales: Renormalise nl_NL line endings 2020-02-10 17:25:56 +00:00
Jonathan Li
75346f42c3 locales: Remove pl_PL duplicate metadata 2020-02-10 17:25:45 +00:00
RedPanda4552
a7285ff375 PCSX2: PCSX2 1.6 Documentation Overhaul. (#3139)
Update all documentation for 1.6.
Source files for documentation are in md format and are kept in pcsx2\pcsx2\Docs, final exported/converted docs are in pdf format (Configuration_Guide and PCSX2_FAQ).

Update First time wizard to reflect recent documentation changes.
Update cmake to reflect recent documentation changes.

PO/POT/MO Localisation needs to be updated for the First time wizard to include the documentation changes.
NSIS installer needs to be updated to reflect the recent changes.
2020-02-10 04:46:49 +01:00
lightningterror
63eaea26d2 onepad: Update to latest controller database. 2020-02-09 17:51:22 +01:00
JohnHolmesII
c0eb053866 gsdx-hw: Add Jak 2 JP to crc list. (#3240) 2020-02-07 11:53:07 +01:00
atomic83GitHub
2b6905307d GameDB: New fixes/patches
This commit add several fixes for several games as well as some serial updates:

- Batman Vengeance - patch removal and the addition of EETiminghack to fix slow videos.
- Musashiden 2 - Several fixes which reduce by a large margin the amount of graphical issues.
- F1 2001 - Adjustment of the patch to make it fully working as well as the addition of the NTSC-U patch.
- Sprint Car 2 - Added a patch to make it playable without bouncing cars.
- Wakeboarding Unleashed - Added 2 fixes to fix various graphics issues (still unplayable on retail builds).
- Netsu Chu! Pro Baseball 2003 - Added a patch to fix game hanging when going ingame.
- Hisshou Pachinko-Pachislot series - Added the EETiminghack to solve crashing videos.
- Yu Gi ho 2 - Added several fixes to fix battle annimation.
- .hack fragment - Removal of all unneeded hacks.
- Ratchet and Calnk 2 - Removal of the EEtimingHack causing problems in the game.
2020-02-06 19:21:16 +01:00
lightningterror
5308be3c4d Locales: Fix First time wizard window width on Chinese Simplified language zn_CN. 2020-02-04 22:57:09 +01:00
teorex
654af774c8 Locales: Update Russian translations ru_RU. (#3234)
Some strings haven't been translated, another translator will have to look in to them.
2020-02-04 20:27:47 +01:00
XXXBold
4b72c32a09 Locales: Update German translations de_DE. (#3230) 2020-02-04 19:58:21 +01:00
arcum42
8550cb9b1b onepad: Broken haptic != Broken controller. 2020-02-02 01:49:00 -08:00
lightningterror
69ae598b7e gsdx-gui: Update crc hack level and Image load store tooltips to reflect recent changes. 2020-01-31 16:19:58 +01:00
lightningterror
f54b79c274 gsdx-hw: Move GSC_XenosagaE3 crc hacks to Aggressive state.
It will allow D3D11 to render Texture shuffle effects.

Keep the crc hacks on aggressive instead of removing them as they might
still be useful.
2020-01-31 16:19:58 +01:00
lightningterror
9af1d3b137 onepad: Update to latest controller database. 2020-01-27 20:51:41 +01:00
RedDevilus
46f1821046 Locales: Update Dutch translations nl_NL. (#3224) 2020-01-27 18:10:48 +01:00
lightningterror
6bcd118b62 gsdx-d3d11: Adjust anisotropic filtering handle.
Previous behaviour:
Anisotropic filtering was continuing to run even with Nearest filtering.
On opengl it doesn't run on nearest filtering. The gui for both
renderers also greys out aniso when nearest is selected.

Anisotropic filtering being able to run on palette texture. This caused
to break the rendering on palette textures for games that use it.

PR behavior:
The PR corrects both of these behaviors, Aniso won't run on palette
textures as well as nearest filtering.

Test cases for observing the issues were used: Star Ocean 3, Fifa
Street.
2020-01-26 22:02:19 +01:00
manz4rk
eb2ca00e8d Locales: Polish localization/translation fixes. (#3223) 2020-01-26 16:16:43 +01:00
resadent
6ef0e94520 Locales: Update Spanish translations es_ES. (#3203) 2020-01-23 13:47:38 +01:00
lightningterror
0c5353a709 gsdx-hw: Remove GSC_DemonStone crc hack.
It removed texture shuffle effects.
Half screen issue can be properly emulated with "Half-screen fix" option
set to Force Enabled.
2020-01-23 01:22:23 +01:00
lightningterror
f9e3605254 gsdx-gui: Add an option in hw hacks to control the half bottom detection.
Automatic, Force Disabled, Force Enabled.

Automatic - automatically determinate if a game needs the half screen
fix.
Force Disabled - fully disables the half bottom fix. It will help
Xenosaga games.
Force Enabled - fully enables the half bottom fix. Will help Lord of the
Rings Two Towers, Superman Shadows of Apokolips, Midnight Club 3.
2020-01-23 01:11:57 +01:00
lightningterror
f5eeaf1baa gsdx-hw: Split half screen/bottom detection in 3 levels.
Automatic, same as before, automatically enable based on height delta.

Force Disabled, fully disables the half bottom detection.

Force Enabled: Fully enables the half bottom detection.
2020-01-23 01:11:57 +01:00
hchsu
5aef5030d7 Locales: Update Traditional Chinese (zh_TW) translations. (#3216) 2020-01-21 07:30:24 +01:00
Marcin Mitura
cacaf3822b Locales: Polish localization fix. (#3222)
Fixed missing space gaps and corrected some stuff.
2020-01-20 11:24:32 +01:00
lightningterror
e43ba53ea9 gsdx-d3d11: Remove unused m_rt_ss sampler.
It was removed with old rtCopy DATE code.
2020-01-18 18:06:46 +01:00
Chromaryu
3d06cca15c Locale: Update Japanese translations ja_JP. (#3204) 2020-01-17 15:34:25 +01:00
Marcin Mitura
d77168f19e Locales: Update Polish language translations pl_PL. (#3213) 2020-01-17 15:21:24 +01:00
JudgeJE
8e420fe39b Locales: Updated the Turkish(tr_TR) translation with the missing string. (#3217) 2020-01-17 15:09:20 +01:00
Jonathan Li
b9c0faf51c locales: Refresh locales to include missing string 2020-01-17 08:52:48 +00:00
Jonathan Li
bb5e91a377 pcsx2:gui: Make the presets tooltip translatable again 2020-01-17 08:45:42 +00:00
JudgeJE
6452ae077c Locales: Updated Turkish translations for PCSX2(tr_TR). (#3208) 2020-01-17 04:06:02 +01:00
Hamish
96ef800777 Update locale files to current set of translatable strings (#3158) 2020-01-15 10:30:19 +00:00
Jonathan Li
7a83f7c8f6 pcsx2: Quickfix for translatable string not being picked up by xgettext 2020-01-15 09:24:41 +00:00
lightningterror
df639970c6 gsdx-hw: Add some missing game regions to crc list.
ArTonelico2 JP, Okami KO, SMTNocturne KO, TenchuWoH KO, TimeSplitters2
KO, Xenosaga 3 Demo JP, ShadowofRome JP, BurnoutTakedown KO,
BurnoutDominator JP,,  ShinOnimusha disc 1 and 2 JP (PS2 the best), Jak
2 KO, Jak 3 KO, Barnyard KO, HarryPotterATGOF KO, SoulReaver2 US/KO,
Persona 3 KO, ShoX KO/EU, TheIncredibleHulkUD US and Whiplash EU.
2020-01-14 02:02:04 +01:00
lightningterror
9c12937351 gsdx-hw: Add GT4 Mazda MX-5 Edition to crc list. 2020-01-05 16:00:52 +01:00
Christian Kenny
80e3e00f96 GameDB: Add patch for Nascar09. (#3193)
This prevents the DMA transfer from being corrupted intentionally from values written in cached memory (that require the EE data cache).
2019-12-31 22:09:42 +01:00
lightningterror
d78f9fdf2b gsdx-hw: Add Jak1 Cingular/Underground Demo, Jak X trilogy demo, RatchetAndClank3 1108 Beta to crc list. 2019-12-31 17:32:34 +01:00
lightningterror
03027453c8 onepad: Update to latest controller database.
Close #3188
2019-12-30 20:58:08 +01:00
refractionpcsx2
10dd9412a1 Fix CMSAR1 execution to use correct multiplier
Fix ILW/ISW/LQ/SQ on microVU for reading VU1 regs

Marvel Nemesis - Rise of the Imperfects goes ingame now, but it's quite messy
2019-12-30 15:26:44 +00:00
lightningterror
90b0e7af83 pcsx2-gui: Remove Dump memory option from Debugger.
Feature was never implemented, option served no purpose to remain there.

Issue #3186
2019-12-23 19:47:55 +01:00
Mrlinkwii
471a58a7a9 GameDB: Add Burnout 3 - Takedown [Demo], International Cue Club, Telly Addicts to db. (#3185) 2019-12-23 15:53:56 +01:00
chaoticgd
63a6e94444 Fix VIF unpack log message in Vif_Unpack.cpp for VU1 2019-12-23 01:17:25 +00:00
lightningterror
9ff5f5de7e gamedb: remove gamefix patches for DI execution fixes.
Jak X, Spongebob Squarepants( The movie  and Battle for Bikini Bottom),
namCollection - Namco 50th Anniversary, Disney-Pixar's The Incredibles,
Incredibles, The - Rise of the Underminer.
2019-12-22 20:58:29 +01:00
refractionpcsx2
908049a0fb pcsx2: DI execution is delayed by one instruction.
Fixes booting issues in the following games:
Jak X, Namco 50th anniversary, Spongebob the Movie, Spongebob Battle for Bikini Bottom,
The Incredibles, The Incredibles rize of the underminer, Soukou kihei armodyne, Garfield Saving Arlene, Tales of Fandom Vol. 2.

The games will no longer require a patch to boot.
2019-12-22 20:58:29 +01:00
Jonathan Li
363b87b334 gui: Fix about dialog logo DPI scaling
Also dynamically allocate the wxStaticBitmap control since its parent
window will delete it, which can cause issues.
2019-12-19 19:53:40 +01:00
lightningterror
1dc5d07696 pcsx2-gui: Fix dpi scaling for some windows.
About, first time wizard, import settings, assertion dialog.
2019-12-19 19:53:40 +01:00
lightningterror
18fe9431e0 pcsx2-gui: Update About window.
Add forum and license links.
Remove Developers and Contributors names, replaced with:
"Big thanks to everyone who contributed to the project throughout the years."
2019-12-19 19:53:40 +01:00
lightningterror
bbc3e36055 Lilypad-gui: Fix gui overlapping for force feedback axis 2 value. 2019-12-19 19:53:40 +01:00
lightningterror
23cbfdcf47 gsdx-gui: Redesign hw hacks gui on Windows.
Separate and group hack types in to Rendering and Upscaling hacks. This
should help users identify better what some hacks do and make it a
little bit easier to use.
2019-12-19 19:53:40 +01:00
lightningterror
2ec35f4493 gsdx-gui: Adjust some gui options.
Rename Automatic CRC Level label back to CRC Hack Level.
Rename Accurate Date label to DATE Accuracy.
Rename Accurate Blending label to Blending Accuracy.

Remove 10x and 12x upscaling options, we don't want to hit the maximum
texture size limit and cause issues so better play it safe and allow
only up until 8x upscaling.

Reword the tooltip to make it a bit more fitting with it's current
behavior.
Add all games in the list that have some sort of aggressive state.
Update anisotropic filtering, autoflush sw, sparse texture, gl blending tooltips.
2019-12-19 19:53:40 +01:00
lightningterror
92473c2ef6 gsdx-hw: Add missing crc id for Star Wars: The Force Unleashed PAL region.
Issue #3175
2019-12-19 19:17:10 +01:00
Christian Kenny
02a9d73c89 GameDB: Resolve missing blade issue in Castlevania Curse of Darkness. (#3173)
Fixes issue regarding a missing blade in Castlevania Curse of Darkness. User reported in Discord that any EE clamping modes besides full would work (they used Extra + Preserve sign, so we've done that here as well).
2019-12-19 16:34:06 +01:00
atomic83GitHub
9c65b73ae6 GameDB: Ecco the dolphin - Defender of the Future patch
This commit add a patch for the game : Ecco the Dolphin - Defender of the Future

This resolve a race condition causing the game to hang on the main loading screen.
2019-12-08 17:39:01 +01:00
lightningterror
23174f3a00 onepad: Update to latest controller database. 2019-12-06 20:13:28 +01:00
Jonathan Li
aa03c83126 pcsx2: Fix mainframe wxStaticBitmap delete issue
wxWindow classes will delete their children when destroyed, so
the wxStaticBitmap control must be allocated with new to avoid
undefined behaviour.
2019-12-02 20:40:48 +00:00
lightningterror
230c1ece35 gamedb: Add vuClampMode 2 gamefix to Soul Calibur 2.
Fixes respawn issues as well as SPS.
Also add a missing DB entry for a JAP release of SC3 Trial. The demo
discs may not actually need the gamefixes so they aren't included.

Wasn't able to verify if the gamefixes are required for SC3.
2019-12-02 20:43:20 +01:00
atomic83GitHub
21227cd12f GameDB: Patches update. (#3166)
This commit add multiples patch for various games.

F1 Racing championship - Fixes IPU hanging.

Sprint Cars 2 - Rearrange COP2 instructions to fix bad mac flag stuff. Fix for bouncing vehicles. Close #1991

Knockout Kings 2002 - Fixes DMA loop causing Hanging at start of fight.
2019-12-01 18:03:08 +01:00
lightningterror
2827394f3c gsdx-hw: Disable half screen TS fix for Xenosaga 3.
Xenosaga handles the half bottom as an vertex offset instead of a buffer
offset which does the effect twice.
Half bottom won't trigger a cache miss that skip the draw because it is
still the normal buffer but with a vertices offset.

Issue #3147
2019-11-28 00:04:15 +01:00
lightningterror
f2da7ece5c onepad: Update to latest controller database. 2019-11-25 22:56:51 +01:00
lightningterror
cc62165e36 gsdx-hw: Remove GSC_ResidentEvil4 crc hack.
Game is properly rendered on all renderers, any upscaling issues can be
resolved with Half Pixel Offset Normal.
2019-11-25 08:17:25 +01:00
lightningterror
50dda75c0d gsdx-hw: Add missing crc id for CrashBandicootWoC, pal region. 2019-11-25 05:34:09 +01:00
atomic83GitHub
f6600ec835 GameDB: Various updates
This commit add several changes:

- Various serials updates.
- An Emotion Engine clamping fix to solve the inability of collecting items in Lemony Snicket's A Series of Unfortunate Events. Tested by atomic83github
- A missing XgKickHack fix for Crash Twinsanity.
- An adjustment of the fixes applied to Muppets Party Cruise which allow to make the game fully playable. Tested by atomic83github
- A patch for Superman Returns (Pal only) to fix major SPS ingame. Tested by kozarovv
- A missing Gif Fifo fix for Puzzle Quest - Challenge of the Warlords to correct flickering black and white sprites.
- A removal of Vif Fifo hack for Pippa Funnell which do not change anything.
- A XgKickHack fix for Eternal Quest which fixes missing blue lines on the characters in dark areas. Tested by atomic83github
- Several EETiminghack fixes to various games of the Hisshou Pachinko-Pachislot Kouryoku series which fixes FMV hanging. Tested by atomic83github
- A patch for namCollection - Namco 50th Anniversary which fixes a game hanging at the intro. Tested by atomic83github - PSI and Refraction
- An adjustment of the VU clamping mode fix for Pac-Man World Rally which require a higher value to work. Tested by atomic83github
- A patch for True Crime streets of LA which fixes a game hanging before going ingame. Tested by PSI
2019-11-24 21:07:19 +01:00
lightningterror
dbfbc333f4 fps2bios: Remove fps2bios from master branch.
It's an abandoned project pretty much, if someone needs to go back and
take a look at it we have 1.4 branches and older.
2019-11-18 18:30:58 +01:00
lightningterror
89848346ae gsdx-hw: Add comments explaining what GSC_MidnightClub3 crc hack does. 2019-11-17 17:14:27 +01:00
Christian Kenny
132caf7f4a GameDB: Update/Remove outdated gamefixes for the following titles:
---------REMOVALS--------
EETimingHack:
- Blade 2 (replace EE TimingHack with GIF FIFO Gamefix)
- Buffy the Vampire Slayer
- Drakan The Ancient Gates
- Euro Rally Champion
- Obscure
- R-Type Final
- Muppets Party Cruise (replace EETimingHack with mVUFlagSpeedHack)

OPHFlagHack:
- Sphinx and the Cursed Mummy
- Buffy the Vampire Slayer
- Motorstorm Arctic Edge

------ADDITIONS```````
- Evergrace (Full EE Clamping - fixes hanging going in-game.)
2019-11-13 18:59:54 +01:00
lightningterror
3c38087e78 Gamedb: Remove FMVinSoftwareHack gamefix for Silent Hill 3.
On Direct3D11 FMVinSoftwareHack in combination with FXAA or External
shader enabled cause the emulator to hang. This is only a temporary
solution, a real solution would be to fix the fmv issue instead.
2019-11-03 16:25:28 +01:00
lightningterror
24be7785db gsdx-hw: Add Persona 3 to automatic mipmapping (basic level).
Fixes flashing / strobing windows.
Issue #1342
2019-10-27 02:03:56 +01:00
Jonathan Li
5b6b386708 ci:appveyor: Add VS2019 and remove VS2015
[skip travisci]
2019-10-23 15:33:13 +01:00
Some1fromthedark
e7d1a58a5a pcsx2: Remove special case from pointer patch command parsing (#3135)
Removes the special case in type 6 (pointer) code parsing when the data value
is 0. This matches Codebreaker behaviour.
2019-10-23 01:21:01 +01:00
lightningterror
b34338a500 gsdx-d3d11: Fetch the texture PSM format rather than the context format in texture sampler.
Match opengl behavior.
2019-10-21 23:23:22 +02:00
lightningterror
70c2778686 gsdx-hw: Adjust GSC_Bully crc hack.
Previous skip value 6 wasn't enough and caused some visual issues on the
ntsc version. Use value of 8 instead.

Issue reported by ozzie212121 on discord.
2019-10-21 18:55:45 +02:00
orbea
293983ea71 common: Silence -Wunused-function clang warnings. (#3127)
v2: Use pragma instead of [[maybe_unused]].
v3: Silence warnings with older clang versions too.
2019-10-12 12:14:40 -07:00
lightningterror
7bf920b07c gsdx-hw: Purge impact screen crc hack for Burnout Revenge.
Effect is properly rendered with depth emulation, so far only Burnout
Revenge triggered the crc hack from my testing.

Triggering the draw is done when the player car crashes.
2019-10-11 21:04:20 +02:00
lightningterror
c6b8763ba6 Onepad: Update to latest controller database. 2019-10-08 14:02:06 +02:00
orbea
afde59bb19 spu2-x: Fix crash with an invalid output module. (#3125)
* spu2-x: Fix crash with an invalid output module.

This will default to SDLOut.

Fixes https://github.com/PCSX2/pcsx2/issues/3124

* spu2-x: Create non-empty defaults for OutputApi and SdlOutputApi.
2019-10-06 18:05:19 -07:00
Jonathan Li
fa096cfce0 cmake: Change FreeBSD wx-config path 2019-10-07 01:39:32 +01:00
Jonathan Li
c87b8c7f49 pcsx2|utilities: Remove ambiguous wxString-related overloads
Avoid some function overloads that can accept char*, wxChar* and
wxString as a parameter. wxString can be constructed with either of
those parameters, so the function overloads may actually result in
ambiguity errors. Keep the wxString parameter versions and remove the
rest.

Fixes some compile errors on FreeBSD.
2019-10-07 01:39:32 +01:00
Jonathan Li
aee571e9b2 utilities: Split thread internal callback function
__try is used in pthread_cleanup_push when CLEANUP_SET is used as the
pthread cleanup model. That can't be used in functions with objects that
have destructors, so move it into a separate function.

Prevents compile errors on non-release Windows builds if other things in
the internal callback function change.
2019-10-07 01:39:32 +01:00
atomic83GitHub
cc52be15f3 GameDB: Asobo VU Rounding mode fixes (#3129)
This commit adds VU rounding modes (Positive) to Asobo games (Disney-Pixar WALL-E, Disney-Pixar Toy Story 3) which produces small lines in game.
Also add missing PAL entries to DB for Disney-Pixar WALL-E.
2019-10-05 20:17:23 +02:00
atomic83GitHub
3a15751fe9 GameDB: Fahrenheit asylum crashing fixes. (#3109)
This commit add a patch to solve a crash in the game "Fahrenheit".

Found with the help of the dev-9 plugin and the PS4 emu.

This is a game bug trigger by a timing issue. The game have an internal crash reporting system
which rely on a debug server connected to the console.

When the game do an error, it expects the debug server to be connected to send the crash dump.

But that never happen on PCSX2 as the debug server is not present.

Thus, the game will enter in an infinite loop at the asylum level.

This only happen when certain conditions are meet in the game.

This patch makes the game to exit the loop by cancelling the debug reporting.

On top of that the game have no frame pacing system in place which causes a massive slowdown in loading screens.

Thankfully, this can be patched out.

Note: NTSC version is fine and doesn't require the patch.

Tested by atomic83github
2019-10-05 11:34:19 +02:00
lightningterror
f2a9b59aae gsdx-ogl: Hit unsafe instead of safe path for sw fbmask when there is no alpha blending. (#3100)
So far notable performance improvement show Spiderman 3 and Scarface of 1-2 fps when using basic blending. Full list of known affected games at #3100
2019-10-03 15:50:19 +02:00
orbea
1c66851344 gsdx_legacy: Silence very verbose clang warnings. (#3126)
[107/641] Building CXX object plugins/GSdx_legacy/CMakeFiles/GSdx-legacy-1.0.0.dir/stdafx.cpp.o
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-packed-not-aligned'; did you mean '-Wno-over-aligned'? [-Wunknown-warning-option]
2 warnings generated.
2019-09-30 16:23:47 -07:00
KrossX
fd5d80b53f Set F4's AlsoApplyToGui to false to avoid a hang when spammed. 2019-09-30 19:56:10 +05:30
orbea
d943870413 common: Fix build error with clang 9. (#3123)
clang 9 now provides _rotr and _rotl.
2019-09-29 20:30:47 +01:00
Jonathan Li
45687cd51a pcsx2: Partially fix IPU PACK command
The pack command converts from RGB32 to RGB16/INDX4, not RAW8 to
RGB16/INDX4.

Also, the VQ conversion (still unimplemented) only occurs when the
output format is 0, so fix that as well.
2019-09-29 12:06:27 +01:00
lightningterror
e506dc1457 Onepad: Update to latest controller database. 2019-09-22 17:49:05 +02:00
orbea
d92e4343e3 cmake: Fix build with cmake-3.5.2. (#3117) 2019-09-21 18:00:52 -07:00
Jonathan Li
0967f9bcfc cdvdgigaherz: Prevent potential infinite loop on ini read
Fixes a condition where a file read error could cause an infinite loop.
2019-09-21 22:29:23 +01:00
Some1fromthedark
33f4f04594 pcsx2: Fix parsing error in pointer patch command (#3112)
Fixes a type 6 (pointer) code parsing error that resulted in codes
with more than one offset getting terminated early.
2019-09-21 17:32:33 +01:00
lightningterror
6392f79fb6 gsdx-gui: Fix FXAA Shader checkbox not working properly.
Bonus: Remove unused "ModeRefreshRate" ini setting, leftover from d3d9,
psx option.
2019-09-17 23:05:03 +02:00
lightningterror
2a94dbcfe3 Gamedb: Remove Dakar 2 gamefix patches.
On earlier versions (0.9.8) the KOSMOS patches were used to fix an
emulator crash on bootup, the patches are no longer needed and cause an
emulator crash on OpenGL HW before a race begins.
The intro video patch skip also isn't needed anymore since intro video
is emulated properly. So far the only issue I spotted on earlier
versions such as 0.9.8 was fmv screen shaking.

Bug Report:
https://forums.pcsx2.net/Thread-Regression-Bug-Report-Emulator-crash-with-game-Dakar-2?pid=602842
2019-09-17 19:58:37 +02:00
KrossX
4db6b287cd GSdx-d3d11: Make TFX shader more similar to OGL's.
Denormalize FOG and COLOR to match as well.
2019-09-15 19:02:36 +02:00
KrossX
ee05d55a51 GSdx-d3d11: Reorganize TFX shader to match OGL's. 2019-09-15 19:02:36 +02:00
Hamish
e2d8992310 GSdx: Enable OpenCL on Linux (#3099) 2019-09-11 17:59:33 -07:00
lightningterror
a69cb88b16 Onepad: Update to latest controller database. 2019-09-10 23:35:50 +02:00
arcum42
877c4358d8 Take care of a typo that only effects pcsx2 if built without superVU. 2019-09-07 11:09:45 -07:00
lightningterror
159ce78680 gsdx-gui: Fix Align Sprite checkbox not working properly. 2019-09-06 13:12:49 +02:00
altiereslima
f2b402b0cb Locales: Update Portuguese Brazilian Translation. (#3092) 2019-09-04 22:09:15 +02:00
FlatOutPS2
0e84e2c438 pcsx2-counters: Revert to older VRender/VBlank timings
This fixes timing issues in Dynasty Warriors 3 Xtreme Legends
(fake save corruption), Jak II (random speedup issues) and Shadow of
Rome (FMV audio issues).

Also update the comments since a lot of them refer to past revisions of
the code.
2019-09-02 08:23:05 +01:00
Jonathan Li
aef0f94dcf gsdx: Use the same ini code on both Windows and Linux
Partially replace the Linux ini code so that it:
 - works on both Windows and Linux
 - is backwards compatible with older GSdx inis
 - properly handles UTF-8 ini pathnames

Fix an issue with GSdx on Windows not being able to handle non-ASCII
ini pathnames.
2019-09-02 00:06:26 +01:00
Chromaryu
476ccf8ac9 Locales: ja-JP: fix non-desu-masu forms. (#3097) 2019-09-01 23:57:12 +02:00
lightningterror
b44c0a3fbd gsdx-hw: Add FFX us/eu demo/prototype discs to crc list. 2019-08-31 23:32:00 +02:00
lightningterror
d3ecec5d6c Gamedb: Adjust/add some entries for Jak games.
Add Jak 1 Jap versions:PAPX-90222, PAPX-90223
Add Jak 1 Korean version: SCPS-56003
Add Jak 2 Jap version:PAPX-90516
Add Jak 2 demo EU version: SCED-51700
Add Jak 3 demo EU version: SCED-52952

Adjust/ correct some of the names for Jak games to better fit their
region name and wiki entries.
2019-08-31 04:10:44 +02:00
lightningterror
62d07c8335 gsdx-hw: Add Jak 1 jap, Jak 2 eu, Jak 3 eu/us demo discs to crc list. 2019-08-31 04:10:23 +02:00
lightningterror
99f814d376 gsdx-ogl/d3d11: Add a assert when texture is too small or too big.
Add an assert for when texture is below 1 on direct3d/ogl.
Add an assert for when texture is above direct3d limit.
2019-08-26 15:55:43 +02:00
lightningterror
de7a3b70c9 gsdx-d3d11: Adjust maximum texture size limit based on available feature level.
d3d10 = 8192
d3d11 = 16384

Seems it is easier to hit the limit. Champions of Norrath with 8x
upscale for example.
2019-08-26 15:55:43 +02:00
Jonathan Li
92aa43fe91 cdvd: Fix end-of-disc issues (#3051)
* cdvd: Fix off-by-one end of file checks

* cdvd: Fix loading for games that attempt to read non-existent sectors

Some games will hang when attempting to read non-existent sectors.
Just do nothing when it occurs instead of erroring out.

* cdvdgigaherz: Fix loading for games that attempt to read non-existent sectors

Some games will hang when attempting to read non-existent sectors.
Just do nothing when it occurs instead of erroring out.

* cdvd: Don't write non-existent sectors to blockdump
2019-08-25 16:09:28 +02:00
arcum42
014753894a Get rid of extremely spammy warnings when compiling as debug. 2019-08-24 18:47:49 -07:00
arcum42
d048baf503 pango: reenable harfbuzz check, but don't fail if it isn't there. Revisit once travis builds have pango 1.44 in them. 2019-08-24 15:50:02 -07:00
arcum42
74e6c437f2 Add option not to build dev9ghzdrk. 2019-08-23 15:31:46 -07:00
arcum42
7679dcf469 clang: Get rid of a number of warnings. I don't need pages of warnings that things clearly marked in the code as deprecated are deprecated, and I doubt I'll be worrying about those overloaded functions any time soon. 2019-08-23 14:40:33 -07:00
atomic83GitHub
03133bc539 GameDB: Enter the Matrix changes. (#3081)
This commit add some explaination about what the EETiming hack does in "Enter the Matrix" and add a missing serial with corresponding fixes to it.

Tested by atomic83github
2019-08-20 22:56:30 +02:00
lightningterror
d77d440a04 gsdx-hw: Re enable automatic mipmapping for Jak 1 and 3.
Issue #2916 has been resolved in #3076
2019-08-19 23:27:58 +02:00
Alessandro Vetere
6feb59fef5 GSdx-hw OGL: log if tex size gt PBO segment size.
Texture data may be corrupted in this case due to missing
fences synchronization.
2019-08-19 23:13:56 +02:00
Alessandro Vetere
63982bf6b7 GSdx-hw OGL: fix PBO pool map size.
Round up mapping size for alignment before computing
wrapped pointer.
Avoids memcpy after end of PBO buffer.
2019-08-19 23:13:56 +02:00
KrossX
9788f6db2c PCSX2: Avoid hang when switching renders with hotkey. (#3072) 2019-08-19 15:44:33 +02:00
arcum42
33571dda42 Comment out the fix for the moment, since Travis hates me. 2019-08-17 21:23:18 -07:00
arcum42
0db14df070 One more try here. Make harfbuzz optional instead of required for the moment, and worry about travis once it's on distributions with pango 1.44+. 2019-08-17 21:04:46 -07:00
arcum42
c381cb90be Add harfbuzz to travis as well. 2019-08-17 20:52:03 -07:00
arcum42
eda1ab44ac Add harfbuzz as a dependency to play nice with pango 1.44+. 2019-08-17 20:33:14 -07:00
lightningterror
e8fe2eeb59 Revert "3rdparty/pthreads4w: Fixup process exit logic. (#3056)"
This reverts commit af6f040202.
2019-08-18 02:24:58 +02:00
lightningterror
fc8423e49d Revert "3rdparty/pthreads4w: Ensure on_process_init early execution. (#3073)"
This reverts commit 88a02941f6.
2019-08-18 02:24:58 +02:00
Silent
88a02941f6 3rdparty/pthreads4w: Ensure on_process_init early execution. (#3073)
This fixes a semi-consistent regression introduced by #3056, where on_process_exit would execute before other destructors relying on pthreads.

Now on_process_init has been moved to an earlier section of static initializers, ensuring it will be initialized first. Previously, this initializer was placed in the same section as any other initializer, making their order of execution non-deterministic across compilations - for example, I was unable to reproduce this issue as soon as I forced pthreads4w.c to recompile last!
2019-08-16 17:22:29 +02:00
KrossX
9b651e44d0 GSdx: Fix mipmap SSE2 code for linear mipmap nearest filter. (#3064)
Fixes a regression introduced in e728a14c19
2019-08-16 09:03:05 +01:00
lightningterror
9830b2dd98 GSdx-hw: Add Jak 1 JP and Jak 3 EU crc ids. 2019-08-14 22:56:03 +02:00
lightningterror
beac776025 GSdx-hw: Add a crc id for Jak 1 US region. 2019-08-14 17:54:55 +02:00
Alessandro Vetere
9e687895e1 GSdx-hw TC: improve search tex in RT
Fixes eyes rendering in Jak games both ingame and in cutscenes.
Previous method yielded no eyes in Jak 2/3/X cutscenes.

- Generalized offset search logic with caching system (works for BW > 1
and any PSM, limited to PSMCT32 for now)
- CRC Flags mechanism for default behavior enabling in Jak games
2019-08-14 17:09:51 +02:00
Alessandro Vetere
7c42928b57 GSdx-hw TC: invalidate Source with Target TEX0
Fixes eyes blinking in Jak games with tex in rt search
enabled.

- Target TEX0 in Source is Source TEX0 if the Source is
not build from Target, otherwise it is the Target TEX0,
allowing improved Source invalidation
2019-08-14 17:09:51 +02:00
Alessandro Vetere
68cfc5d953 GSdx-hw TC: fix Target::Inside check
- inclusion shall not be strict only on start side
2019-08-14 17:09:51 +02:00
Alessandro Vetere
2007894ba6 GSdx-hw TC: fix end block computations
- compute bottom right texel block as last valid block
2019-08-14 17:09:51 +02:00
Alessandro Vetere
dfa4680547 GSdx-hw: SwSpriteRender, fix drawing region 2019-08-14 16:18:39 +02:00
Alessandro Vetere
1f6b44d556 GSdx-hw: SwSpriteRender, improve no rast. check 2019-08-14 16:18:39 +02:00
atomic83GitHub
924156f3cb GameDB: Crazy Frog Racer 2/Alone in the Dark fixes
This commit add a FPU negative div hack to Crazy Frog Racer 2 to fix black fade effects and some overlays texts in the menus.

It also add EETimingHack on some missing Alone in the Dark revisions which fixes game hanging at boot.

Tested by Forum member:
- LoStraniero1991
2019-08-14 10:56:18 +02:00
Silent
af6f040202 3rdparty/pthreads4w: Fixup process exit logic. (#3056)
This PR modifies a third party module - I realize normally those should be fixed upstream, but I really doubt pthreads4w would a) consider it a valid bug and b) fix it. To make all my changes easily visible, I wrap them all in #if PCSX2_FIX.

This PR fixes a process exit routine in pthreads. This third party module exploits CRT initialization order to inject their initializer/deinitializer earlier than the others by putting their functions in .CRT$XCU and .CRT$XPU pseudo regions. The problem comes when a module gets build with dynamic CRT (/MD or /MDd), like most of PCSX2 plugins, it doesn't actually use .CRT$XPx regions as terminators, and instead lets dynamic CRT handle them.

This PR corrects this issue by registering the terminator via atexit, so it works with both static and dynamic CRT. This resolves an issue where SPU2-X plugin (and potentially more) leaks TLS handles when unloaded.
2019-08-13 18:32:41 +02:00
arcum42
ed6ac00186 onepad-legacy: Use mt_queue, and move it from onepad to common. (#3060) 2019-08-10 15:46:29 -07:00
lightningterror
4e58558eb7 Gamedb: Also add Norway region of Harry Potter COS to gamedb with a gamefix patch. 2019-08-10 20:52:53 +02:00
lightningterror
4c1b7086be Gamedb: Add Harry Potter and the Chamber of Secrets Finnish version to gamedb along with a gamefix patch. 2019-08-10 20:15:30 +02:00
KrossX
4bb968158d PCSX2: Wait some frames between F9 SW render toggles. (#3052)
Setting the toggle variable is now at the vsync point. FMV toggle should still work as usual, but the F9 toggle should have to wait the full period of around 32 frames. This seems short enough while also depends on how fast those frames can rendered, avoiding having to set a timer in ms.
2019-08-07 19:51:29 +02:00
KrossX
c0a38b45f1 GSDumpGUI: Replaced watchdog thread with Forms.Timer
Explicit dispose of watchers and timer on Form dispose, also event enum.
2019-08-07 16:50:59 +02:00
KrossX
77f52cf04d GSDumpGUI: Some changes based on willkuer's review. 2019-08-07 16:50:59 +02:00
KrossX
c8a285dee6 GSDumpGUI: Now textbox path change requires enter key. 2019-08-07 16:50:59 +02:00
KrossX
7b6c2be067 GSDumpGUI: Make it 64bit friendly. 2019-08-07 16:50:59 +02:00
KrossX
c6b944753b GSDumpGUI: Add bits information to window title. 2019-08-07 16:50:59 +02:00
KrossX
6bc322cab1 GSDumpGUI: Avoid startup crash on invalid path settings. 2019-08-07 16:50:59 +02:00
KrossX
62c1fc621a GSDumpGUI: Update textboxes after using the File Dialog.
Also, minor style changes.
2019-08-07 16:50:59 +02:00
KrossX
c14c23a063 GSDumpGUI: Actually start reading the stderr stream. 2019-08-07 16:50:59 +02:00
KrossX
b6415bf6fc GSDumpGUI: Different color for error log output. 2019-08-07 16:50:59 +02:00
KrossX
73369db6c2 GSDumpGUI: Enable stderr redirection.
Also some tabs to spaces.
2019-08-07 16:50:59 +02:00
KrossX
9dd92c1cb5 GSDumpGUI: Replace directory tree dialog.
Also fix refresh on manual label change.
2019-08-07 16:50:59 +02:00
KrossX
bd6261e3de GSDumpGUI: Watch for directory changes.
Also try to avoid unclosed file handles.
2019-08-07 16:50:59 +02:00
KrossX
b749c8ef7d GSDumpGUI: Fix unbalanced stack exception. 2019-08-07 16:50:59 +02:00
KrossX
317683461f GSDumpGUI: Run one frame per loop for better performance.
Also, make sure to check messages before vsync. GSdx message loop runs per vsync.
2019-08-07 16:50:59 +02:00
KrossX
0d6b9e9570 GSDumpGUI: Close when GSdx window is hidden.
The plugin hides the window on WM_CLOSE (wnd x button) and does not post quit message.
2019-08-07 16:50:59 +02:00
KrossX
b245b06959 GSDumpGUI: create the vsync packet just once. 2019-08-07 16:50:59 +02:00
KrossX
003046c91c GSDumpGUI: Minor improvements.
Loop changes, icon and info shows up, can take screenshot.
2019-08-07 16:50:59 +02:00
atomic83GitHub
66487b18e3 GameDB: MTX Mototrax glitchy graphics fixes
This PR add a VU rounding mode fix to MTX Mototrax which solve glitchy graphics ingame.

Tested by forum member: wheninrome
2019-08-04 15:35:22 +02:00
lightningterror
51ba799779 GSdx: Use rt for dRect size, update crc level label.
Use rt for dRect size for OI_SonicUnleashed fix.

Make CRC level label name and position match between windows and linux.
2019-08-04 13:16:47 +02:00
arcum42
11187cff9e PCSX2: Set pad plugin and bios defaults automatically. (#3020)
Default to Onepad on Linux, Lilypad on Windows, and default to using the bios if there is one listed.
2019-08-02 20:06:50 -07:00
lightningterror
0814690534 GSdx: Remove useless logo_ogl.bmp include from VS project files. 2019-07-31 17:36:28 +02:00
lightningterror
c8c1429493 gsdx-hw: Add some logs for OI fixes, add JakX beta eu crc id. 2019-07-30 01:01:23 +02:00
lightningterror
e79ea75ae2 gsdx-hw: Add OI rendering fix for Big Mutha Truckers.
It will allow to render the shadows properly, also update the crc
hack to skip less effects.
2019-07-30 00:29:07 +02:00
lightningterror
55d469e7f2 gsdx-hw/gamedb: Add gamefix for Dog of Bay as well as some game crc ids.
Add XgKickHack gamefix for Dog of Bay., fixes corrupt textures. Issue
#3041

Add some crc ids. Big Mutha JP version(Bakusou Convoy Densetsu - Otoko
Hanamichi America Roman),
Jak X Public Beta v.1 US, Sly 3 EU Prototype.
2019-07-28 06:54:58 +02:00
atomic83GitHub
ddb6aac826 GameDB: Super Monkey Ball Deluxe Monkey Billiards DX minigame fixes
This commit add an emotion engine rounding fix for Super Monkey Ball Deluxe to fix object balls never stoping in the Monkey Billiards DX minigame.

Tested by atomic83github
2019-07-26 18:10:55 +02:00
atomic83GitHub
fd69720d11 Lilypad: Update Xinput description. (#3038)
This commit add the Xbox ONE controller mention in the Xinput description. This include the Mediatek wireless adapter.
2019-07-26 00:38:17 +02:00
arcum42
b48bc8e71c spu2-x: Set default to SDL on Linux instead of portaudio, unless you don't have SDL 2. 2019-07-22 21:16:14 -07:00
monster860
902b88ac1a Spu2-x: Fix noise generator. (#3030)
Fixes the noise generator outputting a 4.8 kHz tone instead of white noise. The random number generator used in GetNoiseValues currently repeats every 10 samples, which is really really awful for a random number generator.

New code based on http://problemkaputt.de/psx-spx.htm#spunoisegenerator
2019-07-22 18:46:10 +02:00
arcum42
7d1d88e408 Fix Game Database error message. 2019-07-20 12:10:07 -07:00
Luminar Light
5de92562a7 Gamedb: Patch for Jak X NTSC Public Beta. (#3029)
Patches HookOrDie()

Emulator can't boot this without the patch. All Jak X builds have this problem, but soon I will patch the few remaining ones too.
2019-07-18 20:50:54 +02:00
lightningterror
2e4e22f0a5 Gamedb: Update Spider Man 3 Jap patch, add Korean version to db list along with a gamepatch port by Arapapa. 2019-07-17 09:08:03 +02:00
lightningterror
a4d899132c Gamedb: Add some gamefix patches, add/modify db entries.
Add/update patches/entries for WWE SmackDown! Shut Your Mouth:
SLES-51283, SLKA-25030, SLUS-20483
Fixes freeze during entrances.

Add gamefix patch for Dead or Alive 2 SLPS-25026 JP.
Fixes game hanging on boot, fixes sound.

Add gamefix patches for Spider Man 3 US/EU regions:
SLES-54723, SLES-54724, SLUS-21552, SLPS-25823.
Fixes hang before loading level 2.
Issue #3012

Patch sources from thread:
https://forums.pcsx2.net/Thread-Fixing-unplayable-games
2019-07-17 08:31:31 +02:00
lightningterror
41baf1de14 gsdx-gui: A few more adjustments to the osd/shade boost sliders.
Finally fix overlapping? I hope.
2019-07-17 05:12:56 +02:00
lightningterror
91570a9e0f gsdx-ogl/d3d11: Also ensure that we set proper ini values for Shade Boost sliders.
Should avoid any potential issues if ini values are wrong for shade
boost.

Bonus: Fix gui overlapping issues when sliders are on maximum (100).
2019-07-17 01:16:46 +02:00
lightningterror
888897ed48 gsdx-osd: Ensure we set proper data for osd options.
Should avoid any potential issues if ini values are wrong for osd.
2019-07-16 23:42:34 +02:00
lightningterror
56b8612502 gsdx-d3d11: Set maximum allowed texture size to d3d10 limits which is 8192.
Should prevent any issues if we ever go over the limit.
2019-07-15 22:32:45 +02:00
lightningterror
557f50fb4e gsdx-gui: Allow only digit inputs in osd edit boxes for font size, timeout, and max logs. 2019-07-15 21:41:30 +02:00
lightningterror
6ccc4911c5 gsdx-gui: Fix some overlapping text on osd gui. 2019-07-15 19:30:26 +02:00
lightningterror
ee9c31317e gsdx-gui: Put/move hw adv. & hacks option after blending option. 2019-07-15 01:49:10 +02:00
arcum42
2f8932e370 Cache code cleanups. 2019-07-13 17:49:51 -07:00
Kojin
dbfe21c444 Travis: Bump Ubuntu version to Xenial
- Update Ubuntu version to Xenial as Trusty is EOL as of April
- Drop GCC 4.9 build
2019-07-13 20:10:05 +02:00
iMineLink
f409079864 GSdx-hw: New SW sprite renderer, used in Jak games only for now. (#3001)
Developed a new SW sprite render function, which is used to fix
Jak and Daxter colors in Jak games and to remove the old Jak games hack
which yielded wrong colors and clashed with TC search texture in RT function.

- Remove OO_JakGames hack for palette readback from framebuffer (slow,
clashes with texture in RT TC function, clashes with Target readback logic)
- Developed new method SwSpriteRender with CPU rendering logic
- Add OI_JakGames method using SwSpriteRender for CPU palette rendering (fast,
does not clash with texture in RT TC function, no readback required)

Bonus: fps also sees an improvement in Jak games 3-5 increase.
2019-07-13 01:05:27 +02:00
KrossX
c678627b19 pcsx2: Auto select proper GSdx plugin in Plugin Selection. (#3013)
In order AVX2 -> SSE4 -> SSE2.
Auto selected by cpu instruction support.
2019-07-12 23:48:20 +02:00
atomic83GitHub
a3f3e7705d GameDB: Various updates/cleanup and gamefixes for Ratatouille and Dog's Life
This PR clean a bit the GameDB and add 2 fixes for:

-Ratatouille: Add vu round mode to positive to fix very minor lines appearing at certain points during the game.
tested by atomic83github

-Dog's Life and Wallace & Gromit in Project Zoo: Add vu clamping mode to extra+preserv sign to fix minor white SPS problem on characters.
Tested by discord member: LastBreath
2019-07-12 13:48:19 +02:00
gibbed
b739e9187d pcsx2: Fix microVU debug logging. 2019-07-12 06:25:12 +02:00
lightningterror
8e3b34bce6 gsdx-ogl: Comment out pabe bit, not yet used. 2019-07-11 20:11:34 +02:00
lightningterror
6f09cd9b81 gsdx: Fix unknown pragma clang warnings. 2019-07-11 20:11:27 +02:00
lightningterror
96b02be1d1 gsdx-hw: Add Harry Potter and the Goblet of Fire,
Project Snowblind to automatic mipmapping.

Add some extra missing crc ids too for GT4 and Ape Escape 2.
2019-07-11 13:12:06 +02:00
atomic83GitHub
9961478212 GameDB: Bully/Canis Canem Edit unbeatable Chapter 2 level fixes.
This commit add FPU clamping fixes for Bully/Canis Canem Edit to fix the inability to take the bottle in the trophy case in Chapter 2: Hattrick vs Galloway.

Tested by atomic83github.
2019-07-11 12:27:44 +02:00
Dogway
3886d72e0f GSdx: Add temperature setting. (#2989)
Ported libretro's white_point shader to GSdx.
Based on the work described here:
http://www.zombieprototypes.com/?p=210
2019-07-11 00:20:00 +02:00
lightningterror
d0cb0f59d9 gsdx-d3d11: Extend BLEND_NO_BAR to also hit on clamp 0, it's faster than standard HDR algo.
GOW shows a nice fps improvement (+6 give or take). Spyro too maybe.
2019-07-08 00:40:54 +02:00
lightningterror
2cd9aff867 gsdx-d3d11: Extend sw blending to BLEND_NO_BAR which is also free and doesn't require rt sample nor any barriers.
It helps light rendering in SW Battlefront 2, VP2 also triggers it but needs to be further tested what it does.
2019-07-08 00:40:54 +02:00
arcum42
cc1a320c61 Remove sVU_Compare.h and iVU1micro.cpp, both of which appear unused. 2019-07-06 15:47:26 -07:00
arcum42
441e786d3d Take care of a few clang warnings. 2019-07-06 14:16:04 -07:00
lightningterror
7c17b9ef5b gamedb: Looks like I copied outdated patch codes on my previous commit for Ace Combat Zero.
Update the patches to the correct values.
2019-07-06 22:20:31 +02:00
lightningterror
132332f9b8 Gamedb/GSdx-hw: Add gamefix patches for Ace Combat Zero JP/KO versions. Add KO version to crc id list.
Fixes collision/missle hit issues.

Issue and patch sources (provided by arapapa) from thread:
https://forums.pcsx2.net/Thread-Ace-Combat-Zero-Collision-Issues
2019-07-06 22:11:47 +02:00
arcum42
fc35de02f2 build.sh and cmake plugin code cleanup (#2953)
* Refactor build.sh. Restructure finding plugins. Remove legacy code. Add --clean-plugins option. Document --no-trans option.

Don't do setcap if dev9ghzdrk isn't being built. List dependencies if they are missing. Remove code related to zerospu2, and misc plugins we aren't building. Minor message changes.
2019-07-04 19:49:11 -07:00
Kojin
7054450348 [skip ci] README: Update system requirements
- Update min OS to Windows 7
- Update recommended OS to Windows 10
- Update recommended CPU to anything with AVX2
- Some small wording changes
2019-07-05 01:06:54 +02:00
lightningterror
a6f7a9576e Onepad: Update controller database. 2019-07-05 01:01:33 +02:00
Akash
a36d5a0221 CDVD: Add fallback path for blockdump source name unavailability
2 pass fallback cases for the untitled scenario was mentioned in the TODO comment to be completed, added  one of them. (Still doesn't seem reliable enough, but honestly when do we  Also modified blank space indentation at a part to tab space to satisfy lightning boi.
2019-07-01 11:29:35 +05:30
Akash
7290576a2a CDVD: Add configurable directory for blockdumps storage
Previously the blockdumps will be automatically stored in the root directory of PCSX2, added an INI option in "PCSX2_ui.ini" named "CurrentBlockdump" to modify the directory to whatever is preferred by the user. (Some people were requesting for this)

A GUI could also be added if anyone wants, but considering the popularity of this I'm not sure as blockdumps will only be used my less percentile of users and mostly by testers and developers for debugging.
2019-06-30 11:48:12 +05:30
Alessandro Vetere
ba2efec983 GsDumpFinder: fix error when dir not found 2019-06-29 16:14:28 +05:30
lightningterror
b19804190e gsdx-hw: Add an OI hack for Sonic Unleashed.
It will allow to render the shadows properly.

Rendering pattern is:
Save RG channel with a kind of a TS (replaced by a copy in this hack),
compute shadow in RG,
save result in alpha with a TS,
Restore RG channel that we previously copied to render shadows.
2019-06-23 23:34:25 +02:00
lightningterror
40929a4728 gsdx-d3d11: Add rgba channel selection/support to StretchRect. 2019-06-23 23:34:25 +02:00
lightningterror
e9825dccc0 gsdx-ogl: Add rgba channel selection/support to StretchRect. 2019-06-23 23:34:25 +02:00
lightningterror
066a9aaf71 gsdx-hw: Purge Sonic unleashed crc hack. 2019-06-23 23:34:25 +02:00
atomic83GitHub
3ee72e7cec GameDB: Serials update and some gamefixes. (#2999)
- serials update along with a minor modification to siphon filter patches typo.

- Pac Man world 2 Timing fixes to avoid hangs at various levels. Tested by atomic83github.

- Missing VU clamping fixes for some EA sports titles. Tested by atomic83github.
2019-06-23 12:54:33 +02:00
lightningterror
62417dae99 gsdx-hw: Revert dmc 3 TS hack purge.
Seems like Texture shuffle/depth is not handled properly in all cases so
revert the change until we fix it properly. Move it to gl level too.

Commit:

11cd6b56cd
2019-06-20 10:36:21 +02:00
atomic83GitHub
14178cb184 GameDB: Popcap crashing fixes
- Added EETimingHack to Popcap hits vol1 and 2 to fixes random crashing in the game.

Tested by atomic83github and discord memeber "Jacoby".
2019-06-19 13:57:51 +05:30
Shanoah Alkire
de1717c1a1 Switch a bunch of 64 bit #ifdef's to use the cross-platform 64-bit define I added into Pcsx2Defs.h. 2019-06-18 22:08:43 -07:00
Shanoah Alkire
43981f5981 Add warning on gcc 9. 2019-06-18 21:24:30 -07:00
lightningterror
300f16df61 Gamedb/gsdx-hw: Add gamefix patch and crc id for Harry Potter and the Prisoner of Azkaban EU.
Gamefix patch source:

https://forums.pcsx2.net/Thread-Fixing-unplayable-games?pid=600492#pid600492
2019-06-18 22:34:17 +02:00
lightningterror
9401e52b08 gsdx-d3d11/gui: Move the nvidia hack toggle to Disable Safe Features.
With the sprite hack removed it was no longer possible to toggle this
hack on nvidia gpus, the toggle has been moved to Disable Safe Features.

It some issues caused by the hack in sotc, fatal frame and border offset
issues.
2019-06-18 22:06:35 +02:00
Alessandro Vetere
61b984a6c1 BuildParameters.cmake: fix typo 2019-06-18 21:28:57 +02:00
lightningterror
11cd6b56cd gsdx-hw: Purge useless d3d11 only hacl for DMC3.
Texture shuffle emulated correctly.
2019-06-18 20:21:03 +02:00
atomic83GitHub
1fc3516637 GameDB: Naruto games fixes and beta trial updates (#2994)
Added VU clamping to none for Ulitmate Ninja 2 to fix minor visual issues with lights.
- Tested by boberto5888

Added VU clamping to extra for Ulitmate Ninja 3 to fix minor visual issues with lights as well as missing QTE.
- Tested by boberto5888

Added beta trial serials.
- Tested by atomic83github
2019-06-17 17:22:25 +02:00
Akash
4195b77fa3 GSdx-dialog: Unused parameter on hacks dialog constructor
Apparently someone was careless enough to forget removing the parameter on the constructor which passes the adapter ID >_<
2019-06-17 13:01:16 +05:30
Akash
9acb871c7b GSdx-Dialog: Remove useless member variable
The adapter ID was needed to be passed before for a legacy DX9 hack which is no longer present, I figured it could cause a potential conflict when the adapter value stored at INI is outdated. (which is now a possibility after
lightning removed reference device)

The other alternative would be to just force set the INI value on dialog initialization to avoid unavailable values in the INI file, but that would be a rough for a person transitioning from debug build to release build using the reference device
option, so just removing this outdated variable for now, I rather doubt we'd be needing it in the future, in case we need adapter passing to subdialogs, the former suggestion needs to be implemented. Not implementing it right now since there's no need for it.
2019-06-17 12:47:03 +05:30
Shanoah Alkire
cc6a58da18 Remove sVU_Debug.h, as nothing in it is actually used anywhere. 2019-06-16 19:31:02 -07:00
arcum42
563772fdf1 Added a universal 64-bit define, and a message indicating that Pcsx2 was compiled as 64 bit in the system information. 2019-06-16 17:33:17 -07:00
lightningterror
e6d42338ad gsdx-hw: Fix incorrect variable name when tc is disabled.
Allows to compile gsdx with tc disabled properly again.
2019-06-17 00:11:47 +02:00
lightningterror
e89f46139b gsdx-d3d11/gui: Don't display Reference Device in available Adapters in release builds. Display it only on debug builds.
It is used for debugging only.
2019-06-16 21:25:25 +02:00
lightningterror
a936cd9eb1 gsdx-d3d11: Remove remaining uav (UnorderedAccessView) code, it wasn't used
. Code can be readded in the future if there is a need for it. Advanced
DATE for example.
2019-06-16 20:42:28 +02:00
lightningterror
34bedddd5c gsdx-d3d11: Update nvidia hack handling.
Don't query the api for the adapter description twice.
2019-06-16 20:42:28 +02:00
KrossX
55f4dea468 gsdx-gui: Purge Sprite hack from the gui.
Collaborator: lightningterror
2019-06-16 20:42:28 +02:00
KrossX
39f509feaa gsdx-hw: Remove no longer needed Sprite hack, replaced by improved atst code already. 2019-06-16 20:42:28 +02:00
KrossX
6a122268cb gsdx-d3d11: Update d3d shader macro handling to a much better algorithm.
Bonus, remove unused options variable
D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS.
2019-06-16 20:42:28 +02:00
lightningterror
cec185fd66 gsdx-hw: Add Jak2 demo crc id, US version. 2019-06-15 22:35:17 +02:00
lightningterror
0781cb65bf gsdx-hw purge HauntingGround crc hacks.
Half Pixel Offset can solve the misaligned blur when upscaling, while
the second hack is also no longer needed and it broke depth effects too.
2019-06-14 23:32:58 +02:00
lightningterror
3228789808 gsdx-d3d11: Add draw call number to debug logs. 2019-06-13 14:52:03 +02:00
lightningterror
6024359011 gsdx-hw: Purge CastlevaniaCoD, CastlevaniaLoI, NanoBreaker crc hacks.
Shadows emulated correctly with accumulation blend, d3d11 misses sw
blend for extra accuracy (darker shadow).

gsdevice11: Remove unused IsCLR1() variable.
2019-06-13 13:38:24 +02:00
hibye8313
60cf62fea1 GSdx-d3d11: Partial port of EmulateBlending() from OGL renderer to DX11 renderer and ps_blend() from OGL shader to DX11 shader (only accumulation blend). 2019-06-13 13:25:46 +02:00
hibye8313
6bdd4ff186 GSdx-d3d11: Ported SW blending variables from OGL to DX11 PSSelector/BSSelector/pixel shader. 2019-06-13 13:25:46 +02:00
hibye8313
718042e6a6 GSdx: Made a DX11/OGL-independent blend map in GSDevice.cpp. Convert to OGL/DX11 specific constants at run time. 2019-06-13 13:25:46 +02:00
willkuer
a3bf46ecd9 [skip ci] GSDumpgui: Handle dumpPath as optional. (#2981)
GsDump file can be optional in case you just want to launch the plugin config dialog.
Throw with a meaningful error message in case validation layer fails.
2019-06-06 04:21:02 +02:00
lightningterror
cd11ae1ac6 Gamedb: Add SLES-51219 Harry Potter and the Chamber of Secrets Portugal release.
Bonus, include the gamefix patches for all remaining PAL releases that
were missing. crc and patch codes should be the same considering other
releases share it.

Issue:

https://forums.pcsx2.net/Thread-Bug-report-Harry-Potter-and-the-Chamber-of-Secrets-PAL-PS2-Disc-and-Iso-Problem?pid=600047
2019-06-04 02:41:19 +02:00
Marco Estevez
668670941c Gamedb: Fix for Mafia (S) SLES-52282. (#2974)
Allow pass the initial splash screen.

EETimingHack = 1
2019-06-02 03:16:27 +02:00
lightningterror
976b77f144 gsdx-hw: Use std max for scaling factor, bonus add jak3 crc id for eu preview/us international release. 2019-06-01 16:46:17 +02:00
Ian Brown
a1a6374709 Build: Changes required to compile and run using VS 2019 (#2975)
in vs 2019, the system xhash used by unordered_map uses Target in its template definition. pcsx2 #defines this in the r5900 and r3000 headers which leak cause a cryptic compilation error. A quick fix here is just to undef it in gamebase.h. A better fix would be to encapsulate the definition or use something more c++ to avoid the pre-processor. Add a comment to explain the _Target_ undef.

tap.h did not have string defined. I guess this was included transitively somewhere with an earlier set of system headers.

Biostools, the file is opened in text mode which causes the bios to be partially read. I'm not sure that's vs2019 specific but it's wrong in any case. Maybe the default mode parameter changed at some point. Maybe wxFile would be a better choice here rather than WxFFile because wxFile always open s in binary mode.
2019-06-01 13:34:21 +02:00
Thomas Evans
1f1b68a9b4 debugger: Muti-byte hex strings can now be pasted into the memory view. (#2960)
You can now paste a hex string into the memory view (with Ctrl+V).
2019-06-01 13:30:03 +02:00
lightningterror
fbafd44209 [skip ci] gsdumpgui: Auto select gsdx dll and gs dump when a directory location is reloaded/changed.
First on list only. Feature to save selection isn't available for now.
2019-05-31 19:24:48 +02:00
lightningterror
877a112193 gsdx-hw: Remove no longer used linear parameter from ComputeFixedTEX0,
add an assert that m_target isn't handled with invalid_tex0 yet due to upscaling.
2019-05-31 13:50:28 +02:00
lightningterror
8ff74fc6c2 gsdx-hw: Fix border issue on ComputeFixedTEX0.
It is quite complex to handle rescaling on ComputeFixedTEX0
so this function is less stricter than GetSizeFixedTEX0,
therefore we remove the reduce optimization,
and we don't handle bilinear filtering which might create wrong interpolation at the border.

Fixes FFX upscaling issues on Bilinear filter during cutscenes.

comment
2019-05-31 13:50:28 +02:00
pgert
afd5ceef7a PCSX2 > GUI: update and improvements of Scandinavian translations 2019-05-26 16:09:58 +02:00
lightningterror
5e043b3b6f gsdx-hw: Re add GSC_RedDeadRevolver crc hack that only skipped blur effects to aggressive mode only.
Previous commit for reference:

548d6b31bf
2019-05-25 17:19:17 +02:00
lightningterror
3fb2afb51a onepad: Update to latest controlled database. 2019-05-24 08:06:23 +02:00
lightningterror
482f1e953a gamedb/gsdx: Harry Potter Chamber of secrets db and crc update.
Remove some crc lookups for gamefix patches that share the same serial
and patch codes. It will allow game versions with different crc ids to
use the patches. Close #2654

Add JP version to automatic mipmapping.
2019-05-24 07:41:50 +02:00
lightningterror
ed8592b30b gsdx-d3d11: Don't run Alpha Stencil on DATE with texture shuffle.
It breaks DATE with tex shuffle (Haunting Ground 2, Superman shadow of
Apokolips, possibly others too).
2019-05-24 01:17:33 +02:00
lightningterror
3289dc1cc7 gsdx-gui: update alpha stencil, crc hack level tooltips. 2019-05-23 18:11:26 +02:00
lightningterror
fe8793081a [skip ci] gsdumpgui: Properly disable/grey out some debug options based on Debug Mode check. 2019-05-23 18:05:38 +02:00
Chromaryu
c6fcf0aaab Locales: Update ja_JP localing.
To match up with newly added strings.
2019-05-17 23:46:55 +02:00
lightningterror
87808fee03 gsdx-hw: Purge GSC_GTASanAndreas crc hacks.
Auto flush allows us to render the effects properly.
Small ghosting may not be an actual issues as it's also present on sw
renderer.
2019-05-17 03:35:17 +02:00
Shanoah Alkire
2941fd9b87 wx: Replace a bunch of wx 2.8 macros with the wx 3.x versions. 2019-05-11 20:43:47 -07:00
Shanoah Alkire
5d4ae31ba1 Add a few default functions in explicitly. (-Wdeprecated-copy) 2019-05-11 19:18:18 -07:00
Shanoah Alkire
284880f768 GSdx: Variables should be initialized in the order in which they are declared. (-Wreorder) 2019-05-11 19:00:29 -07:00
Kojin
2d46bc661d gsdx-d3d11: ensure texture size of at least 1x1 2019-05-11 22:23:12 +02:00
lightningterror
9a5225dfdf gsdx-hw: Purge GSC_SimpsonsGame crc hacks.
Upscaling issue can be resolved with Half Pixel Offset Normal.
2019-05-05 23:37:18 +02:00
Christian Kenny
079baaed99 gamedb: Add CrashTagTeamRacingIbit gamefix to Crash Tag Team Racing.
Fixes constant recompilation problems.
2019-05-03 01:03:05 +02:00
lightningterror
be46832c7b gsdx-hw/gamedb: Add Star Wars - The Force Unleashed to gamedb and crc list. 2019-05-03 00:47:45 +02:00
lightningterror
637f777ea9 gsdx-hw: Update OI_StarWarsForceUnleashed hack.
Remove hack that was replaced by OI_GsMemClear and OI_DoubleHalfClear.
2019-05-02 22:53:44 +02:00
lightningterror
eb0d22626f gsdx-hw: Purge GSC_StarWarsForceUnleashed crc hacks.
Shadows are rendered correctly with basic blending on opengl, high on
d3d11.
2019-05-02 21:07:46 +02:00
Kojin
de0c4a7fc7 gsdx-hw: Check for null texture before commit in hacks. (#2951)
Issue ##2943
2019-05-02 19:57:00 +02:00
lightningterror
5a69a2f689 gsdx-sw: Add an option to toggle auto flush on sw renderer.
Windows + Linux.
2019-05-02 15:35:55 +02:00
lightningterror
87f36852b6 pcsx2: ofc I forgot to completely remove the variable from the previous commit ... 2019-05-01 22:57:46 +02:00
lightningterror
bbce809ac9 pcsx2-gui: Don't put Screenshot button in a submenu.
Bonus take care of a compiler warning.

Issue #2949
2019-05-01 22:40:49 +02:00
hibye8313
56a976e277 microVU: Add gamefix for Crash Tag Team Racing. Fixes constant recompilation problems. 2019-04-30 22:57:11 +01:00
Shanoah Alkire
b270c1bb67 onepad: Cleanup in a few places. 2019-04-28 01:36:43 -07:00
Shanoah Alkire
6a202c9b5f onepad: Update to include latest controller database. 2019-04-27 21:15:53 -07:00
Shanoah Alkire
d00b8081ac onepad: bring the sensibility changes over to onepad as well as onepad_legacy. 2019-04-27 19:30:29 -07:00
Yaroslav Salnikov
ff9749f6dc Onepad (legacy) sensibility implementation for linux (#2932)
* Implementation of onepad sensibility for linux

* cast floats to int

* Fix the sensibility sanity checking, and clean up the dialog box a bit.
2019-04-27 18:35:35 -07:00
Gregory Hainaut
ead3d21bdb gsdx ogl: commit texture in copy function
So far not yet used but safer this way
2019-04-26 12:40:04 +02:00
Gregory Hainaut
568b96b885 gsdx ogl: only always uncommit texture in debug build
It is good for memory but bad for the speed. There is likely a better trade-off
but it should be enough for now
2019-04-26 12:40:04 +02:00
Gregory Hainaut
70c3c1a48f gsdx ogl: always commit a sparse texture when force_texture_clear is enabled
The goal is to ensure the behavior of the option. VRAM usage isn't important
as option is mainly intented for debug purpose.
2019-04-26 12:40:04 +02:00
lightningterror
e77aac0bf1 gsdx-ogl: Do some integer casts for destination texture commit to StretchRect.
Fixes warning.
2019-04-26 12:40:04 +02:00
Gregory Hainaut
bdcf83ca45 gsdx ogl: sparse texture : only commit new area
Avoid potential driver overhead
2019-04-26 12:40:04 +02:00
Gregory Hainaut
bb306dfe90 gsdx hw: commit texture before a clear in OI hack
Note I didn't bother to compute the draw region for single game hack.
Gain would be 0 if game doesn't suffer of memory issue in the first place
2019-04-26 12:40:04 +02:00
Kojin
116a5d822c gsdx-ogl: update Save() to use committed size of texture 2019-04-26 12:40:04 +02:00
Kojin
9618283217 gsdx-ogl: Add detection of Sparse Depth in isDss() 2019-04-26 12:40:04 +02:00
Kojin
55e95cc552 gsdx-ogl: add destination texture commit to StretchRect 2019-04-26 12:40:04 +02:00
Kojin
e9989a5966 gsdx: enable sparse render target in TC 2019-04-26 12:40:04 +02:00
Kojin
a1cdeb2fd1 gsdx: add uncommit in recycle 2019-04-26 12:40:04 +02:00
Kojin
4e675ef6e1 gsdx-ogl: add texture commit ogl renderer 2019-04-26 12:40:04 +02:00
Gregory Hainaut
ba782e90c8 gsdx ogl: enable sparse feature on GSdevice interface
Note: remain
* To really use sparse texture
* To debug it ^^
2019-04-26 12:40:04 +02:00
Gregory Hainaut
16d5f477ff gsdx ogl: implement CommitPages 2019-04-26 12:40:04 +02:00
Gregory Hainaut
e8b2d036ee gsdx ogl: handle creation of sparse texture 2019-04-26 12:40:04 +02:00
Gregory Hainaut
9e7069f374 gsdx hw: add API to manage sparse texture allocation
DX/GL should implement "CommitPages" to really commit memory

Note: CommitPages should also update the m_committed_size member
2019-04-26 12:40:04 +02:00
Gregory Hainaut
643ed528c2 gsdx hw: allow to create sparse texture at device level
Obviously texture allocation should be updated too
2019-04-26 12:40:04 +02:00
lightningterror
3408d1a873 gsdx-d3d11: Move colclip code to blending function.
Also disable a log that was accidentally enabled/pushed.
2019-04-25 16:48:07 +02:00
lightningterror
a0c6c1cb9f gsdx-hw: Forgot to remove a crc region check for dbzbt2-3, no longer needed. 2019-04-25 16:34:28 +02:00
lightningterror
8eab618502 gsdx-hw: Purge crc hacks that had their half screen issues resolved (Texture shuffle case).
DBZBT2, DBZBT3, MetalGearSolid3.
2019-04-25 15:08:51 +02:00
Kojin
34ac15f7eb GSdx-hw: Add secret ini option to disable TS half bottom detection 2019-04-25 13:42:47 +02:00
Kojin
7eb0b0ac65 GSdx-hw: Add automatic detection of half-bottom in TS
Typical shuffle case is 1/2 height so other half is undesired

In dbz we split the depth buffer.
- Sample first half, write to `0x0`.
- Sample second half, write to `0x800`
- Finally, sample `0x0` though `0xffc`

Crash Twinsanity is a similar case.
2019-04-25 13:42:47 +02:00
Kojin
97612edd58 GSdx-hw: Move src to protected member 2019-04-25 13:42:47 +02:00
Kojin
6af2f7ef46 GSdx-hwtc: Propagate valid area from dst to source 2019-04-25 13:42:47 +02:00
Kojin
acf771edd8 GSdx-hw: Store bounding rectangle in protected member 2019-04-25 13:42:47 +02:00
Christian Kenny
7f5dc2135e GameDB: Add VU Clamping for Battle Gear 3. (#2939)
Stops car from falling through track.
2019-04-24 02:28:31 +02:00
lightningterror
c3f36ad430 gsdx-gui: Separate opengl and direct3d blending options.
A short summary how d3d option behaves compared to gl.

None d3d-> behaves the same
Basic d3d-> even less than 1/3 of Basic opengl.
Medium d3d -> less than 1/3 of Basic opengl.
High d3d -> 1/3 of Basic opengl.

Note: Medium and High options are mostly intended for debug use.
2019-04-23 15:24:04 +02:00
lightningterror
d4b62444d1 gsdx-d3d11: Adjust fbmask code on d3d11.
Add the remaining code and separate it in levels because dx sux.

Basic blending mode -> doesn't enable fbmask on texture shuffle and
triangle primitives.

Medium -> doesn't enable fbmask on triangle primitives.

High mode- >  fully enables fbmask, note it's still not on par with
opengl because we miss sw blending for some games.

Also keep in mind that High Blending option on d3d11 is like 1/3 of
Basic Blending option on GL.
2019-04-23 15:24:04 +02:00
lightningterror
6a4fa90b8f pcsx2-wx: Remove extra separator line.
Close #2936
2019-04-22 17:38:28 +02:00
lightningterror
641df126c4 gsdx-d3d11: Don't enable fbmask on triangle primitives.
It is quite slow due to fb copy on d3d, add potential notes for future
improvements so I don't forget what I wanted to do.
2019-04-22 05:07:42 +02:00
lightningterror
e72aa23436 gsdx-gui: Purge the aout (Alpha hack) from the gui, will be useless with fbmask emulation, enable blending option on d3d11.
Blending option allows us to toggle fbmask on or off with at least basic
level just like on gl.
2019-04-22 05:07:42 +02:00
lightningterror
de5e9a85bb gsdx-d3d11: Partial port of frame buffer masking from opengl.
It works on games such as Fifa Street 1 and 2 (character and stage
rendering), mission impossible operation surma (shadow rendering).
It needs at least Basic level of blending enabled on d3d11.
2019-04-22 05:07:42 +02:00
lightningterror
9d60d6acfd gsdx-d3d11: Remove old aout code.
Will be replaced with fbmask code in next commits.
2019-04-22 05:07:42 +02:00
pgert
060689d3e9 PCSX2: update & improvments of Scandinavian translations 2019-04-21 23:20:38 +02:00
Yaroslav Salnikov
6bae2f7629 Fixing stiks state monitor (#2933) 2019-04-21 13:49:11 -07:00
lightningterror
4202cbe7e8 pcsx2 savestates: Bump savestate version, required for the previous TAS PR merge.
Attention! Older savestates will be incompatible so please use a
previous older dev build (such as dev 3043) to save your progress on
memory cards instead!
2019-04-21 00:50:18 +02:00
Tyler Wilding
0980c7185f recording: Opt-into keybindings, revert potential overrides if disabled 2019-04-21 00:45:44 +02:00
Tyler Wilding
ec9c97e0bf recording: freeze recording information to savestate regardless 2019-04-21 00:45:44 +02:00
Tyler Wilding
506ea4c4d2 recording: various formatting and review corrections
Squashed commit:

[7955b42e3] recording: Throw errors on fread/fwrite errors.

[5a2160f9e] recording: Remove function implementation from header files

[f2937ab5f] recording: Fixed UndoCount metadata bug and will gracefully fail if savestate is missing

[d7f4d43e5] recording: Refactored code-style to be consistent

[0f77fbb71] recording: Refactor to use switch statements

[28d7945f6] recording: Resolve CMake warnings and use tagged github links for cross-linking to LilyPad

[7c01c6cb4] recording: corrected disparity between comment and code

[17a8bd8d6] recording: Remove all usages of #define

[3830f5a82] recording: Refactor enums and general cleanup

[569ef7d67] recording: Completely disable new console log sources when recording is disabled
2019-04-21 00:45:44 +02:00
Tyler Wilding
08d923ca6f recording: Append copyright headers
Squashed commits:

[47be08613] recording: Forgot to refactor the usage of std::size
2019-04-21 00:45:44 +02:00
Tyler Wilding
64104ca9fd gui:recording: Revert addition of Screenshot As, will contribute as separate PR
Along with changing the .bmp file naming scheme.
2019-04-21 00:45:44 +02:00
Tyler Wilding
c12c6ed149 recording: Added some more useful logs and cleaned up some TODOs 2019-04-21 00:45:44 +02:00
Tyler Wilding
eb7030cf12 recording: Use conventional savestate functions, save save-state in a separate file alongside recording file
Regressions were discovered after merging with master due to way the save state data was saved within the movie file.
This change uses the same functions used in the GUI to create savestates to create a compressed save-state file.  Eventually this could be re-incorporated back into the recording file and could be backwards compatible.
2019-04-21 00:45:44 +02:00
Tyler Wilding
270f7fd905 recording: Significant refactor on VirtualPad implementation 2019-04-21 00:45:44 +02:00
Tyler Wilding
d7074503d8 recording: Use wxFopen instead of f_open 2019-04-21 00:45:44 +02:00
Tyler Wilding
6b3fb14339 recording:gui: Temporarily remove Movie Editor GUI, add back at a later date
This is a rather involved refactor and isn't critical to getting the main PR / spike merged.
2019-04-21 00:45:44 +02:00
Tyler Wilding
db4ff1e8fc recording:gui: Overhaul VirtualPad GUIs 2019-04-21 00:45:44 +02:00
Tyler Wilding
3d6bfacd55 recording:gui: was not correctly removing recording top level menu bar option 2019-04-21 00:45:44 +02:00
Tyler Wilding
8b6ccde441 gui:recording: force ascii for filepath of recording, remove legacy conversions 2019-04-21 00:45:44 +02:00
Tyler Wilding
cb7425c59f recording: removed C++ reserved pattern usages, removed japanese comments 2019-04-21 00:45:44 +02:00
Tyler Wilding
6e111205a2 travis: include recording header files in travis build properly 2019-04-21 00:45:44 +02:00
Tyler Wilding
5fefe28e39 recording: recording file implementation 2019-04-21 00:45:44 +02:00
Tyler Wilding
94c160401c recording: implementation for recording file GUI panel 2019-04-21 00:45:44 +02:00
Tyler Wilding
0021ad66e0 recording:gui: dialog for creating a new recording 2019-04-21 00:45:44 +02:00
Tyler Wilding
ddd2e3f8f0 recording: main recording functions and input gathering 2019-04-21 00:45:44 +02:00
Tyler Wilding
7a03bafa27 recording:gui: movie editor window and virtual pads 2019-04-21 00:45:44 +02:00
Tyler Wilding
7b79235f19 gui:recording: new mainmenu event listeners 2019-04-21 00:45:44 +02:00
Tyler Wilding
e2e882e08b gui:recording: All main window modifications and additions 2019-04-21 00:45:44 +02:00
Tyler Wilding
bad3fa73f4 recording: implementation for new keybindings 2019-04-21 00:45:44 +02:00
Tyler Wilding
407224d29c recording: added new log sources 2019-04-21 00:45:44 +02:00
Tyler Wilding
e3333a9b8c recording: all modifications to pcsx2/ source 2019-04-21 00:45:44 +02:00
Tyler Wilding
413ba4b430 GSdx: implemented saving a snapshot to a dialog provided file path 2019-04-21 00:45:44 +02:00
Tyler Wilding
6252c7bd6a recording: visual studio project changes 2019-04-21 00:45:44 +02:00
Tyler Wilding
f147923555 travis:recording: added Recording sources to CMake scripts 2019-04-21 00:45:44 +02:00
Tyler Wilding
c2a19b7be5 recording: gitignore modifications and new keybindings 2019-04-21 00:45:44 +02:00
Avindra Goolcharan
4d88a57f27 gsdx-gui: Fixes typos on the tooltip for disabling safe features. (#2931) 2019-04-20 04:52:28 +02:00
atomic83GitHub
ac89730a4d Gamedb: Visual concept hanging fixes. (#2929)
This PR allow each fixes to by apply in all situations (such as exiting from the NETGUI utility). It makes these games completely playable in all cases.
2019-04-18 17:57:55 +02:00
lightningterror
ac1bc9d6fc gsdx-hw: Move GSC_RadiataStories, GSC_StarOcean3, GSC_ValkyrieProfile2 crc hacks to D3D level.
Follow up from the previous commit which is bypassing the texture cache
when the frame buffer is sampled.
Crc hacks are no longer needed on opengl.

Note: it requires at least Basic blending support.
2019-04-17 03:48:30 +02:00
Gregory Hainaut
f406051ed9 gsdx ogl: Bypass the texture cache when the frame buffer will be sampled.
Proof of concept. It should provide a huge speedup when accurate
blending is enabled for tri-ace / Jak / R&C (shadow rendering).

See #2894
Need PR#2892

v2: Add const + comment to explain that code isn't ideal.
2019-04-17 03:48:30 +02:00
willkuer
1414d64b18 [skip ci] GSDumpGui: Only reload dumps and dlls separately if their respective settings change, make config portable, autodetect dump/dll folder. (#2926)
- Add simple logging infrastructure and further improve the existing one
- Delegate loading of dlls and dumps into dedicated loader classes
- Adjust user interaction to restrict updates to only relevant parts
- Gsdx dlls (dumps) are only reloaded when a new path for gsdx dlls (dumps) was given. That means dlls are not reloaded just because the dumps path was changed or another dump was selected
- When GSDumpGui can not find the specified settings folder or there is no setting saved so far it will look into the directory of the currently running application (however as before only exactly in the directory and not in subdirectories)
- Further decouple model, view and 'controller' logic.
- Restrict directory checks to application basepath instead of current directory as current directly is changed at too man places
- Avoid some minor memory leaks by disposing some disposable elements

Note: Net framework requirement has been increased to 4.0 to run/compile the application.
2019-04-15 17:24:25 +02:00
pgert
773be7bb95 PCSX2: compiled mo-file for latest pt_BR update (#2910). 2019-04-14 17:01:58 +02:00
willkuer
48b2383096 [skip ci] GSDumpGUI: Fixes multiinstance crashes. (#2925)
- automatically find the next free TCP port yielded by OS
- transfering currently used instance-fixed port to launched clients
- connect each client via given port

See #1637
2019-04-14 12:04:58 +02:00
Guilherme Dias
075a9f38ed Locale: Br. Portuguese Translation - Update. (#2910)
* A lot of grammatical errors were fixed.
* Several sentences were reformulated for a better understanding and a better quality of the translation.
2019-04-14 04:28:14 +02:00
atomic83GitHub
d3ddd9b1f7 Gamedb: WRC avec sebastien loeb performance fixes. (#2923)
This commit re introduces a partial patch to WRC avec sebastien loeb to fix a performance problem with a delay slot instruction.

Follow up from a58f56fa4a
2019-04-13 21:11:38 +02:00
lightningterror
163fd2bad9 spu2-x-gui: Increase synchronizing mode drop down list vertical size.
Will help the list display properly on frontends like spectabis.
2019-04-11 21:41:56 +02:00
lightningterror
52da124a2b gsdx-ogl: Check if primitives are triangles instead of overlapping.
Single triangle draw can now hit the tex_is_fb path.
Primitive Overlap will return no overlap  for single primitive (triangle).
Ratchet and Clank, Jak, tri-Ace games.

It should improve shadow rendering.

Idea by Gregory.
2019-04-10 12:33:31 +02:00
lightningterror
a58f56fa4a Gamedb: Remove stall delay branch patches from WRC3, WRC Rally Evolved/WRC avec Sebastien Loeb.
Bonus, add XgKickHack for the French version of WRC Rally.
2019-04-10 04:06:18 +02:00
FlatOutPS2
17ac536116 pcsx2: Fix stall on branch .. in delay slot.
Fixes stall when loading a stage in WRC 3.

Original pr https://github.com/PCSX2/pcsx2/pull/1783

Collaborator: lightningterror
2019-04-10 04:06:18 +02:00
Kojin
73e3072715 GSdx-d3d11: Enable break on D3D message
Enable automatic breaking on d3d11 messages:
- D3D11_MESSAGE_SEVERITY_CORRUPTION
- D3D11_MESSAGE_SEVERITY_ERROR
- D3D11_MESSAGE_SEVERITY_WARNING
- D3D11_MESSAGE_SEVERITY_INFO

Hidden option dx_break_on_severity bitfield

Debug build only.
2019-04-08 00:45:50 +02:00
lightningterror
9332f9b1ac [skip ci] Readme.md: Update system requirements info.
Replace GHz with STR requirements,
Mention that 1.4 is the last version to support D3D9.
2019-04-08 00:06:12 +02:00
lightningterror
508a8b477e gsdx-hw: Disable automatic mipmapping on Jak games for now.
It crashes the emulator so until the issue is resolved properly comment
out/disable automatic mipmapping for jak games.

Issue #2916
2019-04-07 19:50:46 +02:00
atomic83GitHub
b68761fa0d Gamedb: Fixes, serial and patches update. (#2914)
This commit add the rounding fix for the international version of Final Fantasy X, a Emotion Engine Clamping fix for let's make a soccer team, a Emotion Engine rounding fix for Eternal Ring,  and add the WRC avec Sebastien Loeb patch.

There are also several additions about Winback fixes for various regions.
2019-04-07 19:38:58 +02:00
lightningterror
bb0c0d3d27 Gamedb: Add gamefix patch for (Choro Q - High Grade) Gadget Racers NTSC-J.
Patch by Prafull.
Fixes vsync issues, avoid hang at first loading screen, skips movies.

https://forums.pcsx2.net/Thread-Fixing-unplayable-games?pid=597546#pid597546
2019-04-05 22:52:06 +02:00
lightningterror
fc5dde464f Lilypad: Replace question mark with "N/A" on Diagonotics window when a device is not active. 2019-04-04 03:05:06 +02:00
lightningterror
9c222f8efe gsdx-hw: Some minor comment and code adjustments. 2019-04-04 02:13:57 +02:00
Chromaryu
5f099b1bea Pnach: Add Author line. (#2911)
Adds a separate author line for pnach entries. This will allow to separate comments with other info such as pnach purposes.

GameDB could be updated with the new changes for a more slick and clean look.
2019-04-01 23:10:43 +02:00
Souzooka
55112938a2 GSDumpGUI: Make sure all child processes are closed when closing main form. (#2900)
* Make sure all child processes are closed when closing main form

* Try/catch kill processes in case they are starting/exiting, dispose after killing
2019-03-26 23:27:13 +01:00
lightningterror
e73607395b gsdx:-debug: Update previous GSDrawingContext commit to show log only on gl sw renderer.
Follow up from:

46e63c1f17
2019-03-26 14:40:17 +01:00
Gregory Hainaut
a16fe6f016 gsdx TC: remove dead code
src->m_texture is always NULL, set in Source constructor

Potentially it was a leftover of msaa or the commented code to handle mutable FBW
2019-03-26 14:22:34 +01:00
Gregory Hainaut
374374fdf1 gsdx ogl: disable sparse in extenstion detection
* Allow to keep automatic as default value in the option
* You need to force enable sparse in the option to enable sparse
2019-03-26 14:22:23 +01:00
lightningterror
535b0d4aac gsdx-ogl: Disable sparse depth on amd.
* Bad driver as usual.

* Driver reports a compatible sparse format for depth texture but it isn't attachable to a frame buffer.
2019-03-26 14:22:16 +01:00
Chromaryu
0e3e9c2c59 GameDB: Add patch for Panzer Dragoon. (#2902)
Stop screen shaking (game switches to Progressive).

Patch by PSI.
2019-03-26 14:03:17 +01:00
Aced14
987f783632 GameDB: Fix PlayStation Underground 4.4 entries
PlayStation Underground 4.4 is a set of 2 discs:
* SCUS-97120: PS1 CD (disc 1)
* SCUS-97121: PS2 DVD (disc 2)

Specific changes:
* Remove disc 1 since it's out of scope
* Change 4.3 to 4.4 in disc 2's name (4.3 doesn't include any PS2 discs)
2019-03-26 13:53:39 +01:00
lightningterror
936f66d701 Gamedb: Also add patches for Klonoa 2 JP version.
Follow up from:

3133221fd7

Backport by Arapapa:

https://forums.pcsx2.net/Thread-Fixing-unplayable-games?pid=597525#pid597525
2019-03-23 20:46:25 +01:00
lightningterror
3133221fd7 Gamedb: Also add patches for Klonoa 2 EU version.
Follow up from:

d7fd3d7648

Patch by Prafull:

https://forums.pcsx2.net/Thread-Fixing-unplayable-games?pid=597499#pid597499
2019-03-23 01:04:56 +01:00
refractionpcsx2
d7fd3d7648 Updated Klonoa 2 patch to new one by Prafull, works much better and fixes some corrupt textures 2019-03-21 20:25:52 +00:00
refractionpcsx2
10ee832dc1 Workaround to avoid access violation problem in Klonoa 2 loading Volkan Inferno
Lets hope the build bot doesn't mess this up :P
2019-03-21 20:17:14 +00:00
Sean Nam
5c7084f8bf [skip ci] README.md: Improve readability. (#2893) 2019-03-19 19:38:23 +01:00
lightningterror
f5bf1f655d gsdx-hw: Add another Sly 2 prototype/beta disc to crc list. 2019-03-17 20:47:40 +01:00
lightningterror
a30f642860 gsdx-hw: Purge GSC_NarutimateAccel, GSC_Naruto crc hacks.
Naruto Shippuden - Narutimate Accel 3,
Naruto - Narutimate Hero 3.

Depth effects (shadows) rendered correctly.
2019-03-17 05:34:13 +01:00
lightningterror
0d5ae808ef gsdx-gui: Fix overlap issue with Rendering threads text.
Issue was visible only on gsdumpgui.
2019-03-17 05:04:08 +01:00
lightningterror
f8a6a3c6ef Gamedb: Add King's Field IV ntsc-j patch.
Follow up from 6052614233
Fixes (black voids) central tower level loading.
Issue: Some doors leading to some areas appeared as black voids that you can walk in to.

Credits to @wgarvin0 for the patch.
2019-03-12 13:13:01 +01:00
lightningterror
c8d4d5528e gsdx-ocl: Fix some compile warnings. 2019-03-12 02:36:49 +01:00
lightningterror
e9e7580582 gsdx-gui: Properly grey out opencl device text when opencl is enabled, also some minor cleanup. 2019-03-12 01:49:48 +01:00
Christian Kenny
3296ade983 Plugins: Remove PADSSSPSX and xpad. 2019-03-11 23:34:47 +01:00
Jannik Vogel
7982e3abfe dev9ghzdrk: pthread_create returns status, not thread handle 2019-03-11 00:52:05 +01:00
lightningterror
7354c1fa0d gsdx-hw: Update a few crc issue categories for several games. 2019-03-08 19:33:28 +01:00
lightningterror
889001c026 gsdx-hw: Move GSC_Okami to Aggressive level.
Upscaling issues, hack needs to be updated because it removes too many
effects. Maybe HPO or Wild Arms offset are fine, needs further testing.
2019-03-08 19:23:03 +01:00
lightningterror
910ef1db41 Gsdx hw: Purge GSC_TalesOfAbyss crc hacks.
Depth and channel shuffle rendered correctly on all renderers.
Also add some missing crc ids for Tales of Abyss.

PS: I'm ninjaing 3000 builds on the buildbot 😄
2019-03-08 16:13:39 +01:00
lightningterror
47c255be2c gsdx-gui: Adjust advanced settings and hacks gui.
Allow to open Advanced settings and hacks window even when hw hacks are
off, this should allow OpenGL advanced settings to be configured even
when hw hacks are off in the gui since the options are configurable
wihtout depending on hw hacks checkbox.

Hw hacks will be greyed out when the checkbox button is not enabled.

New behavior will only be present on opengl hw gui. Direct3d11 will remain the same.
2019-03-06 18:11:26 +01:00
Chromaryu
3155278ac7 Locale: purging some ja_JP localization
Sync up with current codebase

Update ja_JP localization
2019-03-05 15:28:06 +01:00
lightningterror
8219bcd1b4 gsdx-hw: Move GSC_YakuzaGames to partial level.
Don't enable hack on native res if crc is below aggressive. Upscaling
issues.

Bonus, revert recent barrier changes on gl date code.
2019-03-05 12:39:07 +01:00
lightningterror
e36976bf86 gsdx-d3d11: Minor adjustments to DATE code.
Run fast accurate date instead of alpha stencil when accurate date is
enabled on supported calls, also update some logs and comments.
2019-03-04 20:35:09 +01:00
lightningterror
e48ce1bc69 gsdx-ogl: Minor adjustments to DATE code.
Don't set DATE true when Accurate Date is off, DATE is true anyway so
no need to set it again.

Don't call full barrier for DATE 45 at the date selection, do it
at the shader call check. It's the same, plus we avoid extra checks.
2019-03-04 19:39:58 +01:00
lightningterror
46e63c1f17 gsdx-debug: Use gl GL_INS print macro for a log instead of relying on debug build.
In GSDrawingContext.

Also some minor format cleanup to match the rest of the code.
2019-03-04 19:39:47 +01:00
lightningterror
5c23a9fac0 gsdx-gui: Update blending option.
Change the name to Accurate Blending so it fits more with Date option
next to it, get rid of low/high end recommended nametag for the list and
just use Recommended for Basic level, lot of users seem to be using high
for "high end pc" which they shouldn't.
2019-03-03 00:47:40 +01:00
Christian Kenny
5af929a387 Gamedb: Add vuClampMode 2 gamefix for James Bond 007 - Nightfire.
Fixes polygon clipping in driving missions.

Close #2872
2019-03-02 23:25:33 +01:00
lightningterror
811d8781ab cdvd: Get rid of code that disabled loading psx discs.
Not used anymore.
2019-03-01 17:21:13 +05:30
Chromaryu
8a16d96112 PCSX2-EE: Improve SetGSCrt logging 2019-03-01 17:09:37 +05:30
Akash
7106909d3f PCSX2: Avoid enabling VuClipFlag at some scenarios
VuClipFlag hack is only used for SuperVU1 Recompiler, let's avoid enabling it when it's not used.

Previously a console message would be provided stating that "(GameDB) Enabled Gamefix: VuClipFlagHack" even when the user is using the Interpreter (or) MicroVU Recompiler. The following patch prevents such confusions.
2019-03-01 14:41:13 +05:30
Chromaryu
90531f8b7b Locale: Update ja_JP translation 2019-03-01 10:01:54 +01:00
lightningterror
425059d882 gsdx: Forgot to move the crc state for mgs3 and ace combat 4.
crc hacks are aggressive only. Fixes regressions mentioned in
https://forums.pcsx2.net/Thread-Metal-Gear-Solid-3-OpenGL-Issue-with-Latest-Builds
2019-03-01 08:37:04 +01:00
lightningterror
8a9abd8a1b gsdx: Purge depth crc hack for GSC_RadiataStories.
Effects rendered correctly, blur/ghosting upscaling issues can be
resolved with HPO special.
2019-02-25 11:35:27 +01:00
lightningterror
ffe6587e62 [skip ci] git: Update issue template links. 2019-02-25 09:35:11 +01:00
lightningterror
79a38858d1 gsdx: Purge GSC_CrashNburn crc hacks.
Depth, texture shuffle rendered correctly.
@MrCK1 did the tests. PAL needs to be tested as well.
2019-02-24 22:12:27 +01:00
Shanoah Alkire
64ab2d53e1 Add comments to prevent various warnings about falling through on case statements. 2019-02-23 22:08:57 -08:00
lightningterror
8e8598412d gsdx: Purge all crc hacks for GSC_OnePieceGrandAdventure and GSC_OnePieceGrandBattle.
Texture shuffle and hdr colclip.
Effects rendered correctly.
2019-02-23 06:52:40 +01:00
lightningterror
930f07df4a gsdx: Purge depth crc hack for Haunting Ground.
Effects rendered correctly on all renderers.
2019-02-22 17:18:58 +01:00
Gregory Hainaut
e56f75fe9a gsdx hw:move vertices fixup for texture shuffle in RendererHw
Bonus: fix m_vt value
2019-02-22 16:57:59 +01:00
lightningterror
aa2b474d1a Gamedb: Add GIFFIFOHack gamefix to remaining Mana Khemia games.
Fixes flickering sprites.
Close #2645
2019-02-21 08:15:36 +01:00
lightningterror
a9c1a1c768 Gamedb: Add gamefixes for NFL Street 2, Killzone, Constantine, ShellShock.
Add GIFFIFOHack to NFL Street 2.
Fixes garbage graphics. Close #2857

Add vuClampMode None for Killzone, ShellShock.
Resolves I Reg Clamping / performance impact and yellow graphics in
certain areas.

Add eeRoundMode Positive for Constantine.
Resolves dumpster not being able to be climbed from front in level 2.

Clamp and round mode patches by @MrCK1
2019-02-21 07:54:45 +01:00
lightningterror
80f8de5e0b Revert "gsdx-gui: Use a separate drop down list for sparse texture."
This reverts commit 61c4df0375.

It was a bad idea from the start.
2019-02-20 17:42:49 +01:00
lightningterror
61c4df0375 gsdx-gui: Use a separate drop down list for sparse texture.
It's temporary until sparse texture is fully implemented.
Force Disabled should be Default option.
2019-02-20 16:56:51 +01:00
lightningterror
e55fcae981 gsdx d3d11: re-normalize coordinate when TEX0 is invalid. 2019-02-20 13:49:57 +01:00
Gregory Hainaut
29aef04fbf gsdx ogl: re-normalize coordinate when TEX0 is invalid
Fix #258
Fix #695
2019-02-20 13:49:57 +01:00
Gregory Hainaut
12dcb701c7 gsdx: add a function to fix the TEX0 register value for HW renderer
Based on the SW renderer
2019-02-20 13:49:57 +01:00
Gregory Hainaut
6df9eb8dab gsdx: Allow to save and restore drawing context
Purpose is to allow edition of the context for current draw call
2019-02-20 13:49:57 +01:00
lightningterror
9c60541f3c gsdx-gui: Adjust psx compat gui.
Fix up options to properly disable on Null render.
Clean up some resource defines.
2019-02-20 13:38:49 +01:00
lightningterror
c6f57c0bdb gsdx: Save hotkey toggle to ini config.
This will allow to save hotkey option toggling to the ini which
should fix gui updating with hotkey toggles.

Note: Render hw/sw switch doesn't work.

Also update some options that didn't have hotkey nametag.
2019-02-20 11:07:02 +01:00
lightningterror
8cb6d255ca fxaa.fx: Purge d3d9 shader code.
Looks like I forgot this one.
2019-02-19 15:36:15 +01:00
lightningterror
6905d4d883 x86emitter: Purge empty file sse_helpers.h.
Code was removed in
60a9463e7a
Right now it's useless.
Update VS/cmake project files to remove any mentions of the file as
well.
2019-02-18 11:51:06 +01:00
lightningterror
cc2fda6d6d gsdx-gui: Add hotkey nametags to some options that have hotkey support already. 2019-02-18 05:11:43 +01:00
lightningterror
c0a47c2c79 Lilypad: Don't toggle width and heigh for Inputs window with Show/hide Special Inputs button.
Use a fixed size instead. It will avoid DPI scaling issues.
Also adjust the Special Inputs buttons height position so that the
window height remains a reasonable size.
2019-02-17 20:17:41 +01:00
lightningterror
bcba2597f3 Lilypad: Partially revert #2832
DPI scaling doesn't work for the window resize so it made things worse.
Maybe once that is fixed this code can be reverted back again.
2019-02-17 18:42:55 +01:00
Gregory Hainaut
31d95448ed gsdx device: use same target for fxaa/shaderboost/shaderfx
It avoid to waste VRAM memory
2019-02-13 19:52:43 +01:00
Gregory Hainaut
45dfb0dcdb gsdx device: use generic resize texture function
V2: add missing size for merge and interlace
2019-02-13 19:52:43 +01:00
lightningterror
90e38f68d8 onepad/onepad legacy: Remove Windows placeholder dirs.
They are useless.
2019-02-13 14:01:34 +01:00
lightningterror
ea6f9acf86 spu2-x-gui: Reduce window height.
Should help low res monitors.
2019-02-13 13:34:40 +01:00
lightningterror
a130fcaa4e gsdx-gui: Adjust some button positioning and window width.
"Symmetry"
2019-02-13 13:07:33 +01:00
lightningterror
119ab90657 gsdx: Reuse same selected renderer image/banner for ps1 emu compatibility as ps2.
There's no need to have duplicate images that basically do the same
thing. Update the gui to reflect latest changes and use the same images
on both. It will reduce plugin size.
Remove old images and update VS project files.
2019-02-13 12:30:00 +01:00
lightningterror
5a4541f2f4 gsdx: Adjust/cleanup ini options.
Opencl device, Alpha, Alpha stencil are windows only options so no need
to clutter ini on linux with useless stuff.
2019-02-13 11:06:02 +01:00
lightningterror
12b622c9c1 gsdx: Cleanup/update Wild Arms offset hack.
Don't use integer for the variable, option has only on and off states.
Use member variable names and adjust some checks.
2019-02-13 10:28:07 +01:00
lightningterror
19586fdd7f gsdx: Move GSTexturecache files from Common to HW renderer. 2019-02-11 18:18:02 +01:00
lightningterror
ca002c56e5 GSdx: Adjust Burnout crc hacks to work on multiplayer mode as well.
Yellow stripes crc hack.
Note: Only Takedown was tested but other games should work as well.
2019-02-09 21:42:38 +01:00
lightningterror
c898c13eb9 lilypad: Some tweaks and fixes.
Hide all ps1 emu options instead of disable. Some options still got
enabled when they shouldn't have so just hide everything. This way we
avoid adding extra code, plus the gui looks cleaner.

Disable ini read/write for Analog ps1 mode, the feature was accidentaly
enabled for pcsx2. By looking at the code it should only be enabled for
ps1 combatibility mode. Also hide the option for pcsx2 as well.

Move around some of the hacks and advanced options to reflect the recent
changes.
2019-02-09 20:28:36 +01:00
lightningterror
7406e13028 gsdx-egl: Also do the same for egl pointer logs. 2019-02-09 11:16:51 +01:00
lightningterror
cc6ac657f8 gsdx-ogl: Enable function pointer support logs only when "debug_opengl" is enabled in the ini.
They are mostly for debugging driver issues so regular users don't
actually need to see them most of the time.
2019-02-09 11:10:00 +01:00
lightningterror
6e49139d0e [skip ci] gsdumpgui: Auto select first GSdx dll on the list upon program launch. 2019-02-09 02:06:38 +01:00
lightningterror
46b70a72cb [skip ci] gsdumpgui: Allow to open ini file even when no gsdx dll is selected.
ini file is already shared between dlls (previous commit) so there's no
need for verification anymore.
2019-02-09 01:14:53 +01:00
lightningterror
8c6e4cd28b [skip ci] gsdumpgui: Update code to share only one gsdx config for all dlls. 2019-02-09 01:14:53 +01:00
lightningterror
dabc99f466 gsdx-ogl: Small colclip improvements.
1. Allow hrd colclip to also run on the unsupported
cases which should be pretty rare.

2. Remove colclip from high sw blending.

3. Disable the hdr colclip shader which may not be
actually required to run.

Idea by Gregory
2019-02-08 14:53:15 +01:00
lightningterror
b5f0959e6d GSdx-gui: Set ini option to 0 for sparse texture since the feature is not yet implemented,
also add tooltip for the gui option.
2019-02-07 18:38:40 +01:00
lightningterror
a9e622357a gsdx-ogl: Fix override detection for extensions. 2019-02-07 18:38:40 +01:00
lightningterror
371b52f4f3 gsdx-gtk: Add linux option for Sparse Texture in advanced options. 2019-02-07 18:38:40 +01:00
lightningterror
ad0279a0ab gsdx-gui: Add windows option for GL Sparse Texture in advanced options. 2019-02-07 18:38:40 +01:00
lightningterror
96623acdcd gsdx-ogl: glTexturePageCommitmentEXT should be optional for sparse texture. 2019-02-07 14:32:10 +01:00
Gregory Hainaut
6282c3d263 gsdx ogl: remove boilerplate of extension check
* Use GLExtension::Has in cold path
* Throw error at first error
* Remove aniso check, all hardware support it. Bonus add GL4.6 extension support
* Remove viewport array check. We replace the function pointer anyway
2019-02-07 12:34:02 +01:00
Gregory Hainaut
86a10969f3 gsdx ogl: load GL_EXT_direct_state_access for sparse texture
They forgot to add is to the ARB extension...
2019-02-07 12:34:02 +01:00
Gregory Hainaut
2ea47a1d96 gsdx-ogl: add sparse format detection
v2: fix wrong variable name
2019-02-07 12:34:02 +01:00
Gregory Hainaut
fa7ffcd1bf gsdx-ogl: use a print_once macro 2019-02-07 12:34:02 +01:00
Gregory Hainaut
0e4c63db5d gsdx-ogl: add extensions check that might be useful in the future
Namely
* GL_ARB_multi_bind
* GL_ARB_vertex_attrib_binding
* GL_ARB_shader_storage_buffer_object
* GL_ARB_sparse_texture
* GL_ARB_sparse_texture2
* GL_ARB_compute_shader
* GL_ARB_texture_view

v2: add default option value
2019-02-07 12:34:02 +01:00
Gregory Hainaut
aed7ccaadf gsdx ogl: use a set to store the supported extension
Split mandatory/optional extensions

Note: set is nice but likely much slower than reading a boolean
So both are kept
2019-02-07 12:34:02 +01:00
Gregory Hainaut
e6b0a7828e gsdx-ogl: add a separate glext.h file
Allow to compile on distribution that still ship an older file
The file is only a patchup of the missing 4.3/4.4/4.5/4.6 define

v2: rename the file and add khronos copyright
2019-02-07 12:34:02 +01:00
Gregory Hainaut
2c99a0775c 3rdpary: import GL/glcorearb.h
It will replace glext.h in the future

v2: add requirement in gsdx
2019-02-07 12:34:02 +01:00
Gregory Hainaut
8cd6f4375e gsdx-ogl: use only core debug extension
There are 2 extensions GL_ARB_debug_output (promoted from amd extension)
and GL_KHR_debug (the core extension, promoted from GL_ARB_debug_output)

As we use the callback we could drop the manual query of errors.
And save us the load of the GL_ARB_debug_output extension function pointer.
2019-02-07 12:34:02 +01:00
Gregory Hainaut
cd333c2c94 gsdx-ogl: add missing define of glcorearb.h
Migration isn't expected soon but it should ease the process
2019-02-07 12:34:02 +01:00
Gregory Hainaut
8a723b3be8 gsdx-ogl: clean partially the GL1 mess
Remaining will require a move to glcorearb.h
2019-02-07 12:34:02 +01:00
Gregory Hainaut
4f09124f19 gsdx-ogl: generate nearly all gl entries function pointers
I used glcorearb.h as input file

Code is limited to core gl + KHR/ARB extension
GL1.X must be handled manually (need only 3 functions)
I think the solution would be to migrate gl.h/glext.h to the
single glcorearb.h. However we might need to update the code to fetch
pointer accordingly

Note: we don't check the null ptr anymore on GSwnd. It isn't important
as we check the extension.

v2: update copyright
v3: update copyright space
v4: update copyright of script

fix copyright
2019-02-07 12:34:02 +01:00
Gregory Hainaut
dbffad2aef gsdx hw: use non virtual Create Texture function.
Just do the format check in FetchSurface. It removes a level of virtual function
and avoid useless code duplication.
2019-02-02 22:54:30 +01:00
Christian Kenny
f25fe48c9b 3rdparty:soundtouch: Upgrade SoundTouch lib to 2.1.2. (#2787) 2019-02-02 17:50:38 +01:00
lightningterror
1ae48db873 [skip ci] nsis: Update banner/logo.
It's a lot better than the previous one.

Example:

https://cdn.discordapp.com/attachments/324631776863453185/540619462219399188/unknown.png
2019-01-31 21:10:08 +01:00
lightningterror
1094446862 lilypad: Adjust Special Inputs window and button behavior.
Fixes an issue with the window size and Show/Hide special inputs button
resetting when lilypad was closed and reopened, this was because the
code was executed only when the button was actually clicked.

The values will be properly stored in cache along with the rest already
working properly buttons.
2019-01-31 15:15:44 +01:00
RedPanda4552
6a52b8cdcb pcsx2: Update speed hack presets to be more friendly and usable (#2793)
Old presets touched parts such as VU clamping for what seems to be no good reason at all, and applied some rather dodgy combinations of EE cyclerate and cycle skipping. Also added MTVU to presets 3-6.
2019-01-30 22:29:47 +01:00
Christian Kenny
d71dac0918 [skip ci] NSIS: Add code comments, small tweaks, misc. copyright changes
blorp
2019-01-30 22:23:57 +01:00
Christian Kenny
61c68f20f0 NSIS: Fix uninstaller regression with regkey removal. 2019-01-30 22:23:57 +01:00
lightningterror
f02c683178 gsdx: Merge Sly 2 and 3 crc hacks.
Upscaling issue with texture shuffle on dx and gl. Also removes shadows
on gl.
Bbox issue on dx.

Dumps from Sly 2 and 3 look fine after the merge.

Also add a crc id BF1739E2 for a prototype Sly2. I don't remember who
game me the dump or if it's official.
2019-01-28 21:58:30 +01:00
lightningterror
ee7749452d gsdx-d3d11: Remove unused function OMSetRenderTargets with UnorderedAccessView.
Note ID3D11UnorderedAccessView parameters are also unused but could be
useful for future DATE ports.
2019-01-28 21:01:22 +01:00
lightningterror
4c477d3cd6 gsdx-debug: Disable Alpha Test debug logs on d3d11.
Unfortunately they do more harm than help, slowing things quite a lot
because of the endless log spam when debugging gs dumps.
2019-01-28 20:38:11 +01:00
Kojin
af64865c5d gsdx-d3d11: Framebuffer copy improvements
Improved handling of frame buffer copy by accounting for fb read on all slots.

- implement before/after draw functions
- defer setting of resources on the api to just before the draw
- use a bitfield to keep track of set/copied resources
- recycle copies after draw

Fixes: RE4 and Tales of Abyss
2019-01-27 16:40:39 +01:00
lightningterror
ece7d6e718 gsdx-ogl: Update intel bad driver log.
Assume that driver support is good when GL_ARB_texture_barrier and
GL_ARB_direct_state_access are both supported, disable the log in that
case.

Kaby Lake and above already support the required extensions (windows) so
the log is useless. It should be the same case for Skylake. Mesa driver
should already be good.

Note: SSO is still broken even on latest igpu.
2019-01-27 00:12:08 +01:00
lightningterror
4ab29eb280 gsdx: Remove some useless dx9 comments. 2019-01-26 16:13:07 +01:00
lightningterror
d4833a4618 gsdx-d3d11: Add final specifier to some voids. 2019-01-26 16:13:07 +01:00
lightningterror
744fa18d95 gsdx-d3d11: Merge/move GSDeviceDX code to GSDevice11.
Update VS and cmake project files, remove GSDeviceDX files.
2019-01-26 16:13:07 +01:00
lightningterror
19b97f8684 gsdx-ogl: Remove useless SetupIA from GSDeviceOGL.h not used. 2019-01-26 16:13:07 +01:00
lightningterror
2e2c9b14a4 gsdx-ogl: Enable anisotropic filtering only for triangles.
Sprites are flat so aniso is likely useless (it would save perf for
others primitives).

Idea by Gregory.
2019-01-26 14:52:30 +01:00
lightningterror
224d51b0aa gamedb: Add eeClampMode full gamefix for Castlevania - Lament of Innocence.
Fixes cutscene freezes.

Close #2812
2019-01-26 13:21:51 +01:00
ghost-101
ac1424ad6d onepad: Add the Logitech Chillstream to the database. 2019-01-25 22:51:22 +01:00
lightningterror
0e239cac66 gsdx-ocl: Add some ifdef checks for opencl renderer.
Should resolve gsdx crashes when ini value is selected as opencl when
opencl is disabled.

Properly fallback to default renderer.
2019-01-25 22:35:11 +01:00
Shanoah Alkire
8791d8e5b0 onepad: Add the SteelSeries Stratus XL to the database. Issue #2825 2019-01-24 21:48:56 -08:00
lightningterror
7b4133ac08 GSdx-d3d11: Add final to Renderer class and DrawPrims, also change some voids to inline. 2019-01-24 20:30:48 +01:00
lightningterror
78f0b65e19 GSdx-d3d11: Merge GSRendererDX11 and GSRendererDX together.
Update VS and cmake project files to match new changes.
2019-01-24 20:30:48 +01:00
lightningterror
b9df1e643b gsdx-hw: Adjust/cleanup hw hacks variable calls.
Use a function to check UserHacks for all variables in GSState.cpp
instead of checking each variable individually.

Get rid of UserHacks_HPO local variables in GSRendererOGL/DX and use the
member variable m_userHacks_HPO instead, we don't need duplicates that
do the same thing.

Add ResetStates call at the beginning of GSRendererDX to match gl
behavior.
2019-01-23 12:24:12 +01:00
GovanifY
628f5abaac PCSX2: Remove the arbitrary limit on patches by converting the patch list to a vector. (#2797)
Pnach had a limit that, while increased at some point to 2048, is still not enough for everyone. This uses a vector to avoid that limit, as there is no reason to keep it and people loading pnach with over 2048 patches most likely know what they are doing.
Inipatch group member was also unused in the whole codebase so I did some cleanup and removed it.
2019-01-23 02:01:30 +01:00
lightningterror
2aadf0be89 GSdx: Adjust Scaling Factor.
Use value of 1 when upscale multiplier is 0 for ScalingFactor, this is
to avoid doing math with 0 in shader.

It helps custom res be less broken. Still not recommended to use custom
res ofc.
2019-01-22 23:25:01 +01:00
lightningterror
55bc8e13fc gsdx-gui: Update Accurate date tooltip. 2019-01-22 22:14:28 +01:00
Kojin
8c8b1f497c gsdx-d3d11: ICO depth HLE
Game reads framebuffer depth as alpha of texture.
However, this is a problem for d3d11 as a shader read on the fb is not allowed.

So let's handle it in a similar fasion to channel shuffle:
- Set depth to slot 4
- Detect when slot 4 matches depth rt
- Copy and send the copy to the shader
2019-01-22 06:52:24 +01:00
Kojin
468b9ded46 gsdx-d3d11: Update texture copy method to handle depth
- Rename CopyRenderTarget to CloneTexture
- Allow copy of depth target

Also fix a small oversight from the removal of MSAA.
2019-01-22 06:52:24 +01:00
Kojin
57824261c6 gsdx-d3d11: Cache rt depth stencil on m_state
Cache the depth stencil in addition to color rt.
This will allow us to check for depth stencil equality on slot 4.
2019-01-22 06:52:24 +01:00
lightningterror
946e6046b3 gsdx: Adjust some crc hack comments for some games.
Maybe in the future I'll add github issue links to corresponding crc
hacks.
2019-01-21 19:38:20 +01:00
lightningterror
548d6b31bf Gsdx: Purge GSC_RedDeadRevolver crc hacks.
Blurring with a bit of ghosting is intended and it looks like that on
the console as well.

Depth properly emulated.

D3D11 misses blending.
2019-01-20 19:49:36 +01:00
lightningterror
4ecbb750a8 GSdx: Purge GSC_BlackHawkDown crc hacks.
Channel and texture shuffle emulated correctly.
2019-01-20 00:05:18 +01:00
lightningterror
7247ee1ad0 GSdx: Add glsl shaders to VS solution.
It should make searching/navigating a bit easier now.
2019-01-18 15:56:54 +01:00
lightningterror
b4cb805a91 gsdx-tc: Remove CanConvertDepth virtual bool and use m_can_convert_depth for depth toggling. 2019-01-18 14:53:06 +01:00
lightningterror
bbd8cbbcf4 GSdx: Move GSC_DeathByDegreesTekkenNinaWilliams to partial crc level.
Upscaling issues + unsupported texture shuffle.
Hacks might need to be updated.
2019-01-18 13:17:28 +01:00
lightningterror
85e2a0a6bb gsdx: Add Death By Degrees crc id for US region.
crc hacks still need to be tested properly.
2019-01-18 11:29:45 +01:00
lightningterror
f28f03803f tfx.fx: Correct a couple more blending factors.
Chane 0.5 to 128.0f/255.0f which is 0.50196078431.
Just to be safe it's accurate.
2019-01-18 06:10:41 +01:00
lightningterror
0c3a0da58f GSdx: Purge GSC_LegoBatman crc hacks.
Effects emulated correctly with texture shuffle and depth.

Game has upscaling issues which can be fixed with TC offsets.
2019-01-17 09:58:59 +01:00
lightningterror
51fe6c20ca GSdx: Adjust dbz bt glow/blur crc hack.
Don't enable hack on native res if crc(ntsc only) is below aggressive.

Note for future so I don't forget: This hack can be disabled if depth
hack is also disabled.
2019-01-17 07:45:35 +01:00
Kojin
5fe1cab889 gsdx: Remove remaining MSAA ui code
We are removing MSAA for the following reasons:
1. It's broken
2. Fixing it would mean it would perform as well as FSAA, which defeats the purpose of having it
3. It's only supported by DX and Windows
4. Reduction in code complexity

Press F to pay respect
2019-01-15 19:13:14 +01:00
Kojin
e429677a07 gsdx-hw: Completely remove MSAA from renderer code. 2019-01-15 19:13:14 +01:00
atomic83GitHub
bf8dc7707a GameDB: Add vuClampMode = 2 for UEFA Euro 2004. (#2814)
This commit fixes black box issues when going ingame.
2019-01-15 05:34:41 +01:00
lightningterror
fa4ae7800b tfx.fx: Adjust some blending factors
255.0f / 128.0f gives us 1.9921875.
128.0f / 255.0f gives us 0.50196078431.
Which are more accurate.
Fixes regression in dbz bt3 where characters appeared darker.
2019-01-14 17:01:17 +01:00
lightningterror
ee4d295667 GSdx-d3d11: Remove afix factor from 24bit format. 2019-01-14 16:52:19 +01:00
lightningterror
e05b5d2420 GSdx-d3d: Move channel and texture shuffle in GSRendererDX.
Preparations for file merge.
2019-01-14 02:30:25 +01:00
lightningterror
25ed5857d8 GSdx-gui: Add 10x and 12x as an upscaling option.
10x ~3160p 6K
12x ~4320p 8K"
Can anyone even run these ?
2019-01-14 01:44:58 +01:00
lightningterror
3a7f2a5c0b GSdx: Hide the MSAA option.
No need to have an option on display that does nothing for now.
2019-01-13 17:57:29 +01:00
lightningterror
106c678cc1 GSdx: Purge GSC_EternalPoison crc hacks.
Shadows are better rendered now with hdr colclip, blending is still
needed but the shadow's shape is proper now so let's purge the hack.
2019-01-13 17:33:08 +01:00
lightningterror
52bad3505c GSdx: Adjust GSC_GodOfWar 1 and 2 crc hacks a bit more.
GSC_GodOfWar moved to aggressive state.
GSC_GodOfWar2 some value swere corrected (should fix some regressions)
and hack was moved to partial state because we have an upscaling hack.
2019-01-13 16:26:09 +01:00
lightningterror
f5b9965910 GSdx: Purge OI_GodOfWar2 hw hack. 2019-01-13 15:08:36 +01:00
lightningterror
6f01936943 GSdx: Remove depth crc hacks for god of war 1 and 2.
Effects rendered correctly with depth on all renderers.
2019-01-13 14:42:53 +01:00
lightningterror
9119e3110d GSdx-ogl: Correct DATE log. 2019-01-12 16:43:26 +01:00
lightningterror
f73de4c59c GSdx-ogl: Add perf log for Slow DATE code on texture shuffle/no prim overlap. 2019-01-12 09:59:28 +01:00
lightningterror
7e6c325210 GSdx: Move BoundingBox to HW render and update d3d11 code to use the gl bounding box as well.
hdr colclip and date uses it.
2019-01-12 09:53:51 +01:00
lightningterror
86327b52a9 convert.fx: Update main4 shader to better support hdr colclip. 2019-01-12 09:53:51 +01:00
lightningterror
d17e0eba9b GSdx-d3d11: Add/port HDR colclip support.
It helps render shadows a lot better compared to the old code.

Credits to Gregory and Kojin for helping with the code.
2019-01-12 09:53:51 +01:00
lightningterror
8a57d7f470 GSdx-d3d11: Remove colclip and negative blend algo.
Code was old and inefficient. HDR colclip will do a better job.
2019-01-12 09:53:51 +01:00
Shanoah Alkire
1b41d19016 Remove the unused 'incomplete and untested' BaseTaskThread class. 2019-01-10 13:13:20 -08:00
lightningterror
e0877608ae spu2-x: Remove DecodeDPLII.cpp and DPLII.h files "Dolby Pro Logic II".
DecodeDPLII.cpp is an old duplicate of DplIIdecoder.cpp which seems to
be useless.

Code was updated in
a4a40441c9 (diff-7b7ddfd7d5c8c428703a057822e60668)
2019-01-09 20:05:29 +01:00
lightningterror
fb5471f34f spu2-x: Adjust some Dolby Pro Logic II code.
Comment out unused variable sLogTable in DplIIdecoder.cpp.
Remove DPLII.h from cmake list, it's unused so don't list it.

Some people suggested to keep the source files even if they are unused
so we can do that. Maybe someone will get the code to work properly.
2019-01-09 16:01:56 +01:00
lightningterror
ea38e2eba5 pcsx2: Remove/disable unused variables.
Removed:
MC2_SIZE in MemoryCardFile.cpp,
length in microVU_Log.inl
VU_Neg_Infinity in sVU_Upper.cpp.

Commented out:
mc_sizeinfo_8mb in Sio.cpp
2019-01-09 16:01:56 +01:00
lightningterror
f2f66c02d3 GSdx: Add option to Disable Safe Features.
Idea is to disable multiple features in 1 option to avoid gui clutter.

Unscale Point and Line:
This partially reverts PR #2710 restoring Unscale Point and Line but as a disable option.
It can help Xenosaga games.

GS Memory clearning:
This disables GS memory clearing to be done on the CPU, by default both gpu and cpu do memory clearing
which is more accurate.
It can help Kingdom Hearts games.
2019-01-09 15:44:41 +01:00
arcum42
c58acd1105 Remove CDVDPeops and PeopsSPU2. (#2792) 2019-01-03 19:55:03 -08:00
lightningterror
54f8aca7d5 GSdx-d3d11: Re enable shader code logging.
Log was disabled in #2760
2019-01-04 01:00:10 +01:00
lightningterror
062d141cf1 cmake: Re add the -mxsave flag to compiler flags.
The warnings issue should be resolved now thanks to arcum.
Fixes compiling issues on some systems/distros using gcc 8.2+
Idea by turtleli.

Also add -mfxsr flag suggested by Gregory.
2019-01-02 23:45:23 +01:00
Shanoah Alkire
67a6f31b88 Properly escape the period in Translation.cmake. 2019-01-02 00:01:00 -08:00
lightningterror
4cf3328682 GSdx: Adjust some checks in the gui code.
Now that d3d9 has been removed we can ease up and reduce/remove some
render variable checks.
2019-01-02 03:11:47 +01:00
lightningterror
549b438a84 pcsx2: Remove unused variable "maddr" from Vif1_MFIFO.cpp.
One less warning to worry about.
2019-01-01 22:07:18 +01:00
Shanoah Alkire
43fa7cd6c6 Skip over translation files with .git in the path when building pcsx2 with cmake. Fixes an intermittant cmake build error about duplicate rules. 2018-12-31 23:02:34 -08:00
lightningterror
d55e9cbd96 spu2-x: Remove unused GetLinearSrAr code.
Get rid of GetLinearSrAr code, it wasn't used anywhere so I don't see a
reason why to keep it, other than clogging up the code, if someone wants
to work on it they can re add the function in the future.
2018-12-31 18:06:31 +01:00
lightningterror
ec6ac75b10 GSdx-gui: Update the crc hack level tooltip again.
Suggested by Gregory.
2018-12-31 18:03:15 +01:00
lightningterror
5d62e47229 GSdx-gui: Update crc hack level tooltip.
The tooltip was way too big so this should shrink it down a bit. Remove
the mentioned games on Aggressive state, it was a bit useless.
2018-12-30 23:59:59 +01:00
Kojin
eddaf71d47 gsdx: remove dds parameter from texture save method 2018-12-30 20:13:59 +01:00
Kojin
e847d94062 gsdx-d3d11: enable splitting of alpha in dumps 2018-12-30 20:13:59 +01:00
lightningterror
781323ff10 GSdx: Purge a crc hacks for GSC_Onimusha3.
Hack removed depth effects which are rendered properly. I wasn't able to
trigger a skip on the other hack draw calls, they need to be
investigated further what they actually did.
2018-12-29 01:35:44 +01:00
lightningterror
01c64f1b35 GSdx: Purge some crc hacks for GSC_BurnoutGames.
Purge hacks that removed texture shuffle effects only.
2018-12-28 20:21:02 +01:00
lightningterror
7577165a97 GSdx: Adjust Aggressive state crc level.
Create a Aggressive state function instead of adjusting the hacks
separate, move the aggressive only there.
It's more efficient this way.
2018-12-28 20:03:38 +01:00
lightningterror
0b72708981 Gabedb: Add EE clampmode gamefix to full for DreamWorks Shrek the Third.
Fixes objects spawning.
Also add missing game db entry for a missing version.
2018-12-28 19:42:10 +01:00
lightningterror
d13d5aef00 Gabedb: Add EE clampmode gamefix to full for NFS Carbon.
Fixes game hang after opening intro.
Close #2776
2018-12-28 02:26:58 +01:00
Shanoah Alkire
a97bc2309a Take care of a cmake 3.11 deprecation warning when finding OpenGL. 2018-12-26 22:00:03 -08:00
Shanoah Alkire
0ff7ea3ccc Only use -Wno-class-memaccess on gcc 8.0 or higher, as it didn't exist previously. 2018-12-26 21:55:25 -08:00
lightningterror
9c0bbfec1f Revert "cmake: Add -mxsave flag to ARCH_FLAG in BuildParameters."
gcc complained about "Wno-packed-not-aligned" and "Wno-class-memaccess"
flags so I won't bother with it, the warnings can be fixed properly
but for now I'll just revert the previous commit.
2018-12-27 06:20:26 +01:00
lightningterror
752dbdefd2 cmake: Add -mxsave flag to ARCH_FLAG in BuildParameters.
A couple of users reported compilation issues using gcc 8.2+ on some
machines/distros on github and discord and adding the -mxsave flag
suggested by turtleli seems to fix the issue.

Fixes #2669
2018-12-27 04:55:50 +01:00
pgert
eb7824e6ff PCSX2: updates & improvements of Scandinavian translations 2018-12-27 02:00:02 +01:00
lightningterror
d1c8808797 GSdx-d3d: Add texture shuffle check in DATE selection.
It ensures the code cases are hit properly for all DATE selection cases.
Texture shuffle case with Slow DATE is not yet supported so keep using
the old DATE method.
2018-12-26 18:45:11 +01:00
lightningterror
6575fe7cce GSdx: Disable/uncheck "Large Framebuffer" option by default.
Some games don't play nice with the option and have huge amounts of
ram/vram spikes that can even lock up the system so it's better to have
the option disabled by default.
2018-12-26 13:43:37 +01:00
lightningterror
d5bd5db072 GSdx: Fix OpenCL detection.
Fixes an issue when the plugin detects an opencl ini value for the
render. It used to throw a "GS plugin failed to load" error when opencl
was disabled but the ini value remained the same. The render will
fallback to D3D11 now.
2018-12-26 05:13:15 +01:00
Daniel Nowak
b3006e2a6a Dev9ghzdrk: MAC updated to work with XLink 7.4.32 2018-12-25 22:57:19 +01:00
lightningterror
a020c98421 GSdx: Cleanup file includes.
Remove GSCrc.h include in GSRendererHW and GSRendererDX11, file is
already included in GSState.h.

Remove GSRenderer.h include from renderers except Null and CL, file already
included in TextureCache hw/sw.

Remove resource.h include from GSRendererDX11, already included in GSDevice11.

Remove GSOsdManager.h from GSDeviceOGL, already included in GSDevice
2018-12-25 20:12:29 +01:00
Kojin
a5564896ea gsdx-d3d11: remove useless gs creation method 2018-12-25 13:38:19 +01:00
Kojin
e0c598f38e gsdx-d3d11: Enable HLSL debugging on development builds
Enable HLSL compile flags that allow devs to use tools such as NSight or VS Graphics debugging for HLSL.
2018-12-25 13:38:19 +01:00
lightningterror
4076e3387e GSdx-osd: Change default font color to blue/cyan.
It matches the color theme of the emu better.
2018-12-25 02:35:49 +01:00
lightningterror
29941f3e0d GSdx: Partially re add Bully crc hack.
Game has upscaling issues so let's only add the hack for upscaling,
also merge the two regions together.
Hack will be disabled on native res if crc is below aggressive, upscaled
is set to partial level.
2018-12-24 15:25:06 +01:00
lightningterror
e299ac1ffa GSdx: Update GSC_DBZBT2, GSC_DBZBT3 crc hacks.
Purge dbz bt3 crc hack that removed outlines, I don't want to mix it
with the depth effect hack that I also moved to aggressive.
Move depth hacks for ntsc region to aggressive state.
2018-12-23 18:48:17 +01:00
lightningterror
59ecfb23d7 GSdx: Purge GSC_Bully, GSC_BullyCC crc hacks. It's the same game.
Depth and texture shuffle render the effects correctly.

Dump shows the game look splending compared to before on d3d11.
2018-12-23 17:55:27 +01:00
lightningterror
154dea1557 GSdx: Purge OI_SMTNocturne hw hack.
The hack was used when depth emulation was not supported or when depth
is disabled.
It causes graphical glitches with the faces when depth is disabled.
2018-12-23 17:12:10 +01:00
lightningterror
da76440c14 GSdx-TC: Get rid of nasty ZWriteMustNotClear hack.
d3d11 supports depth now.
2018-12-23 16:03:28 +01:00
Kojin
dc2eed6ca1 gsdx-d3d11: Fix CopyOffscreen bug
Update CopyOffscreen to accept the ps_shader value when doing StretchRect.
This fixes an issue where it was selecting the wrong PS for depth cache read.

Should (hopefully) fix SMT.
2018-12-23 15:20:04 +01:00
lightningterror
f6df6b350b GSdx-d3d: Disable MSAA unti it's properly fixed.
MSAA causes a lot of graphical issues when enabled with the recent
accuracy changes so better disable the feature until it's properly
fixed.
2018-12-23 14:21:44 +01:00
lightningterror
83da33e2ab GSdx: Remove d3d9.lib and d3d9.dll from common.props. 2018-12-22 22:53:09 +01:00
lightningterror
cb59794b8d GSdx: Remove d3d9 header include from stdafx.h 2018-12-22 22:53:09 +01:00
lightningterror
1ae4b5d0ba GSdx-d3d: update blend table to use src1 blending and remove the nasty hack which we couldn't before because of d3d9. 2018-12-22 22:53:09 +01:00
Kojin
5e9ffc4a94 GSdx-d3d: Adjust D3D11Blend, get rid of some casts. 2018-12-22 22:53:09 +01:00
lightningterror
bf4997b6a5 GSdx: Update/remove useless d3d9 comments. 2018-12-22 22:53:09 +01:00
lightningterror
48007350b6 GSdx-ogl: Update blend table and remove d3d9 code, remove useless defines and directly use gl code. 2018-12-22 22:53:09 +01:00
lightningterror
4644a16c5b GSdx-d3d: Update blend table enums from D3D9 to D3D11.
GSDeviceDX.
2018-12-22 22:53:09 +01:00
lightningterror
7e8360efbc GSdx-d3d: Rename d3d9 blendtable and variables to d3d11. 2018-12-22 22:53:09 +01:00
lightningterror
6a5bb5df83 GSdx: Remove support for D3D9 device on ps1 emu compatibility.
Note: Resolution scaling is unavailable right now so I disabled the
option, if someone feels like fixing it they can do so.
2018-12-22 22:53:09 +01:00
lightningterror
e12447101f GSdx: Get rid of d3d9 adapter code from GSSettingsdlg and GSDevice. 2018-12-22 22:53:09 +01:00
lightningterror
48b8d78139 GSdx-osd: Lower default font size from 28 to 25. 2018-12-22 21:56:35 +01:00
Kojin
a2f3b78bac gsdx-d3d11: Fix Depth FST
Texture scaling for x/y values wasn't being set in all cases.
This ensures that it is to fix a bug in finding nemo (and possibly others).
2018-12-22 15:53:20 +01:00
lightningterror
1957cf13c2 GSdx: Purge GSC_Black crc hacks.
Effects are rendered correctly with depth and texture shuffle on all
renders.
2018-12-21 07:32:20 +01:00
lightningterror
eb000f0f41 GSdx: Move GSC_GTASanAndreas crc hack to aggressive state.
Can be used as an upscaling hack, but it removes some nice effect so
Aggressive only.
2018-12-21 05:03:45 +01:00
lightningterror
f41b536682 GSdx: Adjust GSC_DemonStone crc hack.
Move back to partial level, half screen issue.
2018-12-21 02:28:59 +01:00
lightningterror
11f09d4944 GSdx: Purge GSC_SuikodenTactics crc hacks.
Depth effects are rendered properly on all renders.
2018-12-21 01:06:47 +01:00
lightningterror
691eae755f GSdx-gui: Might bea good idea to also change Auto to Automatic for interlacing option to keep it consistent with the other options. 2018-12-21 00:05:05 +01:00
lightningterror
02bde2f386 GSdx-gui: Add Default name tags to default options for Anisotropic Filtering and Interlacing. 2018-12-20 23:49:28 +01:00
lightningterror
c23d256f02 GSdx: Purge GSC_LordOfTheRingsTwoTowers crc hacks.
Depth effects properly rendered on all renders.
2018-12-20 23:11:42 +01:00
lightningterror
526faf9193 GSdx: Move GSC_MetalGearSolid3 to Aggressive crc state.
Half screen bottom issue, hack needs to be updated to skip less effects.
2018-12-20 22:13:39 +01:00
lightningterror
606944a127 GSdx-gui: Update MSAA tooltip. 2018-12-20 22:05:50 +01:00
lightningterror
4a0697fda2 tfx.fx: Remove commented out code in clamp_wrap_uv function. 2018-12-20 18:41:30 +01:00
lightningterror
0901f0a848 GSdx: Remove some crc hacks for GSC_IkkiTousen.
Remove depth hacks that skipped shadow rendering, shadows work properly
on all renders.

Upscaling hack needs to be further tested.
2018-12-20 18:31:53 +01:00
Kojin
e51eadaf16 gsdx-osd: Update m_font to use unique_ptr 2018-12-20 15:32:04 +01:00
Shanoah Alkire
a4f794f3a6 GSdx: Add color to OSD, move it to its own tab, and change the widget defaults on the dialog box. 2018-12-20 15:32:04 +01:00
lightningterror
58be50d978 gsdx-osd: Update Linux dialog
Update linux dialog to match Windows.
Only color is missing.
2018-12-20 15:32:04 +01:00
Kojin
f8ae0f7e19 gsdx-osd: Update osd gui
Add support for color picker, remove font selector, enable the menu for dx11 and some other tweaks.
2018-12-20 15:32:04 +01:00
Kojin
3819e22432 gsdx-osd: Add support for custom colors 2018-12-20 15:32:04 +01:00
Kojin
1b0112de22 gsdx-osd: Rename log speed to log timeout
Linux/Windows GUI to be updated in later commits.
2018-12-20 15:32:04 +01:00
Kojin
038ae8c7fc gsdx-osd: Switch to opacity
Switch to using opacity since this is how most software works.
Transparency is simply confusing to the average user.

Linux/Windows GUI to be updated in later commits.
2018-12-20 15:32:04 +01:00
Kojin
d624927022 gsdx-osd: Scale based on window size
Switch to scaling on the window size instead of a hardcoded monitor res
2018-12-20 15:32:04 +01:00
Kojin
5e75a66f82 gsdx-d3d11: Port RenderOsd function from opengl to support osd on d3d11 2018-12-20 15:32:04 +01:00
KrossX
83d293d41c gsdx-d3d11: Port OSD shader from OGL 2018-12-20 15:32:04 +01:00
Kojin
5713993777 convert.fx: Add color support to IA
Support color input in vs and ps.
Skipping dx9.
2018-12-20 15:32:04 +01:00
Kojin
e683ce2994 gsdx-osd: Update manager to support DX11
Fix an issue with w coordinate values being 0 which caused issues on DX11.
2018-12-20 15:32:04 +01:00
lightningterror
63bbf52219 GSdx-d3d11: Adjust DATE code, and remove rtCopy.
Remove DATE shader macro and bit.
Remove useless HasStencil case. If DATE is enabled stencil is also
enabled, this check is useless.
Remove leftover rt and rtCopy code case from d3d9.

Remove traces of rtCopy and sampler in slot 2.

rtcopy
2018-12-20 14:42:56 +01:00
lightningterror
cdeacafd27 tfx.fx: Remove datst (DATE), and RTCopy.
Code was never hit on D3D11. D3D11 uses stencil operations.
Also Remove VS_RTCOPY which was used only by d3d9.

Remove RTCopy Sampler from the shader.

tfx rtcopy
2018-12-20 14:42:56 +01:00
lightningterror
8ec184d265 GSdx: Set some enum values correctly.
Previous commit broke the values with the removal on the d3d9 code.
2018-12-20 14:16:47 +01:00
lightningterror
824473a34b GSdx-gui: Remove some leftover D3D9 code in the gui. 2018-12-20 14:00:03 +01:00
lightningterror
d4d95e2f10 GSdx: Adjust some of the crc hacks comments and what category they fall under. 2018-12-20 13:55:26 +01:00
lightningterror
697aa5e4b7 GSdx: Purge GSC_SpyroNewBeginning, GSC_SpyroEternalNight crc hacks.
Effect correctly emulated with texture shuffle on all renders.
2018-12-20 13:22:12 +01:00
lightningterror
f0fec02eec GSdx: Purge GSC_StarWarsBattlefront and GSC_StarWarsBattlefront2 crc hacks.
Channel shuffle emulates the effects correctly on all renders.
2018-12-20 12:34:09 +01:00
lightningterror
6f6e5eb325 GSdx: Purge GSC_SoulCaliburGames crc hacks.
Depth emulation renders the background properly and the stage is no
longer dark.

Shadows are still missing on D3D11, colclip emulation perhaps.
2018-12-20 12:09:57 +01:00
lightningterror
6899fc74f9 GSdx: Purge GSC_HeavyMetalThunder crc hacks.
Depth renders effects properly on all renders.
2018-12-20 03:05:05 +01:00
lightningterror
415e27136e GSdx: Adjust/remove crc hacks GSC_FrontMission5, GSC_HauntingGround.
Remove one crc hack for GSC_HauntingGround. It skipped some depth
effects. Correctly rendered now

Remove all crc hacks for GSC_FrontMission5.
Texture shuffle, depth emulation and enabling Preload Frame Data
emulates the effects correctly.

Add a note for GSC_Tenchu for future testing.
2018-12-20 02:13:11 +01:00
lightningterror
d9da9f4bc2 GSdx: Purge GSC_FinalFightStreetwise crc hacks.
Depth is emulated correctly on all renders.

Blending issues remains.
2018-12-20 02:01:57 +01:00
lightningterror
fce3918562 GSdx: Purge Direct3D9 Render entirely. (#2762)
And the time has come to say good bye (good riddance?), this build removes Direct3D9 entirely from GSdx. D3D9 is/was holding us back in some D3D11 fixes that we want to further implement.
The last build that supports D3D9 is v1.5.0-dev-2779-g1a61148b0 for anyone still interested.

"Press F to pay respect.
2018-12-20 00:54:51 +01:00
lightningterror
e091f4233a GSdx-d3d11: Remove commented out code for int_fst.
VS FST is already enabled, values are inverted on D3D11.
2018-12-19 19:59:23 +01:00
Kojin
0353273733 tfx.fx: Update Vertex and Geometry shaders to support the new
depth sample state.

Note this breaks D3D9 but we will be purging it shortly after
so there's nothing to worry about.
2018-12-19 19:59:23 +01:00
KrossX
3b11164637 tfx.fx: Add tfx shaders to support depth sampling.
Add clamp wrap uv depth,
Add sample depth.

Sample shaders depth fmt 1 and 2 are based on convert shaders.
2018-12-19 19:59:23 +01:00
lightningterror
1ad71a9b85 GSdx-gui: Remove Direct3D9 option from the gui.
D3D9 will be broken once #2756 is merged so let's disable it to avoid
any potential crashing if the render is selected.

Complete D3D9 purge will shortly follow afterwards.
2018-12-19 17:17:39 +01:00
lightningterror
1a61148b00 GSdx-d3d11: Redo destination format and alpha output.
Dfmt in texture shuffle function already picks the 16 format on slot 2
so it's better to let it call the shader instead of aout.

We can keep old aout code until FbMask emulation is added on d3d11. We
can purge aout along with alpha hack then.
Added fixme note.
2018-12-18 12:55:23 +01:00
lightningterror
0c0e0e9266 GSdx-d3d11: Add support for dfmt shader macro. 2018-12-18 12:55:23 +01:00
lightningterror
59752120d6 tfx.fx: Add support for dfmt to pick the shader for 16bit alpha output. 2018-12-18 12:55:23 +01:00
Kojin
5527bcb13e GSdx-debug: Do some casts and fix warnings. 2018-12-17 15:52:27 +01:00
lightningterror
bf0106d2bc GSdx-d3d: Add remaining code for RGB channel.
Enable channel shuffle on GT3, GT4, Tourist Trophy and Tekken5.
And with that we reach OpenGL accuracy on this specific feature.
2018-12-17 11:50:16 +01:00
Kojin
ef0ebd6517 gsdx-d3d11: Copy render target when it matches texture in slot 4
Needed for channel shuffle, this copies the render target when it's
the same as the resource texture bound on slot 4.
2018-12-17 11:43:15 +01:00
Kojin
554b797b92 gsdx-d3d11: Move shader/sample state set to it's own function 2018-12-17 11:43:15 +01:00
Kojin
84dbdd6b18 gsdx-d3d11: Add CopyRenderTarget function 2018-12-17 11:43:15 +01:00
Kojin
1427d55b08 gsdx-d3d11: Store shader resource textures on GSDevice11 2018-12-17 11:43:15 +01:00
Kojin
a743707728 gsdx-d3d11: Store render target texture in GSDevice11 2018-12-17 11:43:15 +01:00
Kojin
07989a0a17 gsdx-d3d11: Add equality check for GSTexture11 2018-12-17 11:43:15 +01:00
lightningterror
c2fd67b1cb GSdx-d3d11: Add remaining psm.depth code.
Fixes recent regression on Soul Calibur.
It helps isolate psm.depth when it should and shouldn't run even if
sampling isn't supported yet.

Finding Nemo depth issue remains.
People can use the option to disable depth for now on that game.
2018-12-17 07:17:17 +01:00
lightningterror
93f1dc2804 GSdx-d3d: Remove psm.depth skip on d3d.
I'm seeing better results with this skip not included.
So far DBZBT, God of War, Haunting Ground seem better.
Depth sampling is still not yet added.

Also fixes a regression in GT4 when depth was enabled because the skip
function was misplaced. Other games might've been affected as well.
2018-12-16 20:32:05 +01:00
lightningterror
7d938834d2 GSdx: Add crc id for ZettaiZetsumeiToshi2 EU.
SLES-54587 Raw Danger!
2018-12-16 16:02:50 +01:00
lightningterror
bb0f08b2c1 GSdx-d3d: Simplify aout for reading. 2018-12-15 05:46:15 +01:00
lightningterror
a8c2076d04 GSdx: Adjust God of War 1 and 2 crc hacks.
Move texture shuffle (shadows) hack to aggressive state.
Adjust water/hell effect crc hack - don't enable hack on native res if
crc is below aggressive, enable if resolution is higher on dx and gl
state.
2018-12-14 15:16:26 +01:00
lightningterror
e87a6b9ccd GSdx-d3d11: Plug the TOA and Urban Chaos code in to channel shuffle.
On Tales of Abyss it fixes blur,
On Urban Chaos it fixes fog/transparent layer.

Note: Depth needs to be enabled on d3d11.
No support for d3d9 ofc.
2018-12-13 22:14:49 +01:00
lightningterror
a1f4d2ca3f GSdx-d3d11: Add support for Tales of Abyss and Urban Chaos shader bit and shader macro. 2018-12-13 22:14:49 +01:00
KrossX
013c47950d tfx.tx: Add support for Tales of Abyss and Urban Chaos HLE shader.
Add sample_depth function, note only Tales of Abyss and Urban Chaos
depth sampling is supported, full depth fmt will need to wait a little
longer.
2018-12-13 22:14:49 +01:00
lightningterror
50b71f69da GSdx-d3d: Add fixme note fo rPSSetShaderResource slot 4 channel shuffle. 2018-12-13 01:47:10 +01:00
lightningterror
7215618621 GSdx-d3d11: Add support for depth convert format in texture sampler.
Idea is to allot partial support of depth fmt on the new depth convert
format, this way we can utilize channel shuffle on Red, Blue or gXbY
channels with depth shader conversion.

Terminator 3 hits this code path and seems to fix a transparent wall.
Other games will probably benefit from this as well.
2018-12-13 01:47:10 +01:00
lightningterror
3a9ff840cf GSdx-d3d11: Add support for depth_fmt bit as well as macro for shader. 2018-12-13 01:47:10 +01:00
lightningterror
abb1cc5fe7 tfx.fx: Add shaders support for PS_DEPTH_FMT on channel shuffle.
Red, blue and gXbY channels support it.
2018-12-13 01:47:10 +01:00
lightningterror
c511ce80d2 GSdx-d3d: Add support for channel shuffle in GSRendererDX.
Split the code from GSRendererDX to GSRendererDX9 and GSRendererDX11. We
ensure d3d9 doesn't blow up with regressions, add required code to
GSRendererDX11 to properly support channel shuffle.

Note the feature is still not yet complete, copy function needs to be
implemented (suggested by Gregory) but it can be done at a later date,
this still fixes a bunch of issues on various games.
2018-12-13 01:47:10 +01:00
lightningterror
c7aca64642 GSdx-d3d: Add support for ChannelShuffle in PS constant buffer.
Needed for GXBY channel.
2018-12-13 01:47:10 +01:00
lightningterror
c8f53f32fc GSdx-d3d11: Add the shader fetch in GSTextureFX11.
Allows us to fetch the channel from the tfx shader.
2018-12-13 01:47:10 +01:00
lightningterror
cd5132d201 GSdx-d3d: Add the channel bit to support channel shuffle. 2018-12-13 01:47:10 +01:00
KrossX
d38bd9c950 tfx.fx: Port channel shuffle shaders from OpenGL.
Port RGBA shaders to support channel shuffle on Direct3D11.
2018-12-13 01:47:10 +01:00
Chromaryu
4669e1423d Localization: Update ja_JP localization
Got reported that VSync translation is missing.
2018-12-12 19:17:51 +01:00
Shanoah Alkire
0e43803562 SaveSlots: Initialise the crc to 0, as well as serialName being an empty string. 2018-12-11 23:34:24 -08:00
Shanoah Alkire
73209c520c Some annoying logs about COP0 are now COP0 Logs. 2018-12-11 21:22:41 -08:00
lightningterror
46989a0c6c GSdx: Forgot to remove OI_TalesOfLegendia from header file. 2018-12-11 23:19:02 +01:00
orbea
aa5c0ebb95 GSdx: Remove OI_TalesOfLegendia HW hack. (#2747)
The hack caused glitches to appear on the right side of the screen, the hack was used as a workaround to properly display game ui elements however it is no longer needed on opengl and d3d11. The ui elements are rendered properly with Depth Conversion.
Shadow issues are solved with at least partial level crc hacks.

See https://github.com/PCSX2/pcsx2/issues/2692 for more detailed information.
2018-12-11 19:36:15 +01:00
Kojin
b2155f82f4 pcsx2-git: Update ignored files
Ignore all .vs directories and not just the top-level one
Ignore OpenGl debug logs
2018-12-11 19:24:21 +01:00
Alessandro Vetere
fe845aee58 GSTextureCache: Initialize palette texture if needed and not done yet.
Also comment on the reason behind palette texture is always created with size 256x1.
2018-12-11 16:36:14 +01:00
Alessandro Vetere
0a5b1eb75d GSTextureCache: Attach palette if needed (psm.pal > 0) also when reading part of framebuffer as texture. 2018-12-11 16:36:14 +01:00
Alessandro Vetere
f605012659 GSTextureCache: Refactor and fix palette management (v2).
1) Refactor palette comparison fast path mechanism to avoid using mutable member of Source,
2) Attach palette to texture as soon as needed,
3) Bugfix attach CLUT copy only when pal > 0.
2018-12-11 16:36:14 +01:00
Alessandro Vetere
c183368d72 GSTextureCache: Refactor code to avoid using local shared pointer. 2018-12-11 16:36:14 +01:00
Alessandro Vetere
894ce5b7d6 GSTextureCache: Centralize CLUT comparison logic in PaletteKey equality operator. 2018-12-11 16:36:14 +01:00
Alessandro Vetere
c368afd6d2 GSTextureCache: Reformat code and adjust comments. 2018-12-11 16:36:14 +01:00
Alessandro Vetere
e1dff69a43 GSTextureCache: Compare also pal value in PaletteKey eq operator. 2018-12-11 16:36:14 +01:00
Alessandro Vetere
774373cc65 GSTextureCache: Add ASSERTs on pal value to ease debugging. 2018-12-11 16:36:14 +01:00
Alessandro Vetere
acbe6c24a0 GSRendererOGL/GSTextureCache: Improve ICO hack by using palette cache for depth sampling, removing only point of creation of palette textures outside TC. 2018-12-11 16:36:14 +01:00
lightningterror
202945aa49 GSdx: Add proper Jak1 game to Automatic mipmapping.
I added Jak X: Combat Racing by mistake thinking it's Jak1.
Don't include Jak X, we don't know the status yet.
2018-12-11 13:44:54 +01:00
lightningterror
bc524d5e56 Gsdx: Adjust Burnout crc hacks to work on progressive mode.
NTSC only.
I don't know what the "impact screen" crc hack did since the dump didn't
show any difference so that may need to be updated as well.
Note: I only tested the JP version.
2018-12-11 12:59:18 +01:00
Shanoah Alkire
bea4e56d5d Saveslots: Initialize serialName to a blank string. 2018-12-10 19:55:54 -08:00
lightningterror
80af99bb44 GSdx-ogl: Switch shader numbers main18 and main19.
Allows us to port feedback write (DoMerge function) to D3D11 without
adding dummy shaders for osd.
2018-12-10 18:31:59 +01:00
lightningterror
0704b73c2f GSdx-TCOGL: Adjust depth format cases in Texture Cache GL.
Get rid of duplicate code in switch cases.
2018-12-10 03:11:34 +01:00
arcum42
d05163a26f Remove gigaherz old wip 'new' iopdma code. (#2703)
* Remove gigaherz old wip new iopdma code.

* Second pass removing dma code I missed last time.
2018-12-09 18:00:04 -08:00
lightningterror
ecbd8d9f2f GSdx-gui: Enable "Disable Depth Emulation" option for Direct3D11. 2018-12-10 00:17:04 +01:00
Kojin
ade00f8a70 GSdx-d3d: Support depth as texture.
- Create depth as typeless format and bind shader resource flag.
- Create depth and shader resource view using proper typed formats.
2018-12-10 00:17:04 +01:00
lightningterror
eb3a423f80 GSdx: Enable Texture Cache and RendererHW to support depth on Direct3D11. 2018-12-10 00:17:04 +01:00
lightningterror
4328d099c4 GSdx-d3d: Add support to write in depth buffer.
Add support for dss_write.
Enable writing in depth buffer for dss_write,
when depth conversion is active data will be writen in the depth buffer,
if not then use the old method (don't write).
2018-12-10 00:17:04 +01:00
lightningterror
9a5bf12c0b Gsdx-d3d: Allow Direct3D11 to skip psm.depth on texture sampler.
depth fmt is not yet supported. This ensures there are no regressions,
and we are skipping the draw calls for depth fmt not yet supported.
2018-12-10 00:17:04 +01:00
lightningterror
7928cff354 GSdx-TC11: Add support for depth formats in Direct3D11 Texture Cache.
Add depth formats for Direct3D11 to properly support depth.
2018-12-10 00:17:04 +01:00
KrossX
c3a1cc3801 convert.fx port main10-16 shaders from Opengl to Direct3d11.
Adds support to do depth conversion through the shaders.
2018-12-10 00:17:04 +01:00
arcum42
af742a753e spu2-x: Fix warnings regarding initializing with memset/memzero/etc... (#2682)
* spu2-x: Fix warnings regarding initializing with memset/memzero/etc...

* Use fill_n instead, per turtleli's suggestion.

* spu2-x: Comment out StereoOut initialization.

* spu2-x: As requested, remove commented out code.
2018-12-09 14:09:22 -08:00
Shanoah Alkire
3a094604f6 onepad: Add support for the Nintendo Switch Horipad controller. 2018-12-09 13:20:33 -08:00
lightningterror
71ac570f32 GSdx-gui: Correct Large Framebuffer tooltip.
Wording/typos.
2018-12-09 17:04:29 +01:00
lightningterror
b6d06f53d6 GSdx-gui: Update Large Framebuffer tooltip.
Include games that don't play well with the option (cause ram/vram
spikes).
2018-12-08 14:48:55 +01:00
lightningterror
4da3f567f4 GSdx: Reduce some code checks for dbz bt hacks. 2018-12-08 13:49:06 +01:00
arcum42
959d652dbb Switch to using the current cmake policies, not deprecated ones. (#2642)
* Switch to using the current cmake policies, not depreciated ones.

* Bring the cmake version up to 3.0.2, and get rid of the depreciated policies.
2018-12-07 22:18:12 -08:00
Shanoah Alkire
38da174670 zzogl-pg: Don't include GLWin32.cpp when compiling for Linux. 2018-12-07 14:28:15 -08:00
lightningterror
1fa68071d8 GSdx: Add Nickelodeon: Barnyard to automatic mipmapping. 2018-12-06 12:35:28 +01:00
lightningterror
f8ec61a3fc GSdx: Add crc ids for Burnout: Takedown and Revenge.
Jap discs.
2018-12-06 05:31:19 +01:00
lightningterror
417ba188bd PCSX2: Change EE Cyclerate, Cycle Skipping speedhacks gui level colors.
0 - Green - no change
-1/+1 - Orange
-2/+2 - Light Red
-3/+3 - Red - no change.
2018-12-05 21:27:58 +01:00
lightningterror
e4e93bd7f5 GSdx: Remove bloom crc hack for Haunting Ground.
Effect is already handled better in Texture Cache. No need for a
duplicate function.
D3D9 might look a bit worse but nobody cares about D3D9.
2018-12-05 13:21:54 +01:00
lightningterror
cf97c304ac GSdx: Revert DBZ BT3 Ghosting/Blur hack.
The game still has a bunch of depth and other issues even on gl and it
doesn't play nice with the blur effect as well. Perhaps the hacks can be
changed to work better but for now enable it on native as well.
2018-12-02 05:28:34 +01:00
lightningterror
8307cfc54d GSdx: Ease crc hack for DBZ BT2.
Fixes ground corrupt textures caused by the hack on the EU version.
US works fine with skip 5 but not 4. Didn't spot any regressions on both
so far. Might need extra testing by users.
2018-12-01 16:06:36 +01:00
lightningterror
8747781bdc GSdx: Add JaX and Jak 3 to automatic mipmapping.
Jak 2 not included. See #2712

Close #2712
2018-12-01 12:53:04 +01:00
lightningterror
9abe96cba4 GSdx-d3d: Update Fast DATE and Alpha Stencil behaviour.
Idea is to allow Alpha Stencil to work with Fast Date.
Let Fast Date run for the supported calls since it's more accurate, let
Alpha Stencil take care of the rest.

This might fix some issues where Alpha Stencil caused some issues making
it a bit more accurate.
2018-11-30 10:44:25 +01:00
Chromaryu
5035869d96 PCSX2: Apply updated ja_jp translation. (#2724) 2018-11-30 08:21:05 +01:00
lightningterror
f687f993cc GSdx-d3d: Replace DATE one calls with a variable. 2018-11-29 20:29:28 +01:00
lightningterror
6c34f6c334 GSdx-d3d: Partial port for DATE one (Fast Date) and Fast Accurate Date.
It fixes a bunch of shadow/transparency issues.
Fast DATE doesn't rely on the gui option and is always on.
Confirmed fixed issues: Persona 3 shadows on d3d11,
Digital Devil Saga Transparency d3d9/11.

Fast accurate date works the same/similar to OpenGL.
Confirmed fixed issues: DBZ BT3 ground shadows, Fifa Street 1 shadows
on all d3d renders as well.

Also this option doesn't cause other transparency issues like the
Alpha Stencil hack.

Note: If Alpha Stencil is enabled Fast Date and Fast Accurate Date will
be disabled.

Note2: Full Accurate Date is not implemented so the code fallbacks to
Fast mode instead.

Commits:
3ab12cef2f
584397a3fd

This will probably be the last feature d3d9 gets before getting purged.
2018-11-29 20:29:28 +01:00
lightningterror
b33418f270 GSdx: Ease crc hack for DBZ BT3.
Fixes some ground black texture flickering on some stages on the ntsc
version.
2018-11-29 18:24:08 +01:00
Chromaryu
31c2d2a654 PCSX2: Update ja_JP translations. (#2721) 2018-11-28 17:58:18 +01:00
lightningterror
f183ca12d9 GSdx-gtk: Move around some options to better match windows gui.
Move Enable User Hacks at the top. Otherwise spacing looks weird.
Large Framebuffer should be next to Allow 8 bit textures.
Move Accurate Date and Accurate Blending at the bottom (similar to windows).
2018-11-28 08:21:13 +01:00
lightningterror
584397a3fd GSdx-ogl: Implement a fast Accurate Date algorithm.
Suggested by Gregory.
Change the checkbox to a drop down list Off, Fast, Full.
Off and Full do the same as before, the Fast option is new. Most of the
time users don't actually need full Accurate Date so why not reduce that
cost and use a fast mode instead, plus it can also be used on a gpu with
a limited driver. Also change the default value to Fast instead of Off.
2018-11-28 08:21:13 +01:00
Ryudo300
8a04f5f52c SPU2-X-gui: Replace logo. (#2719)
Update the logo to match the changes with the rest of the updated logos (namely GSdx).
2018-11-27 23:21:33 +01:00
lightningterror
ef9570003e Gamedb: Purge FMVinSoftwareHack gamefixes for Silent Hill 2.
Direct3D11/OpenGL properly render it with Unscale Point and Line.
2018-11-26 19:34:20 +01:00
lightningterror
9899d0d6b7 GSdx: Always enable Unscale Point and Line.
Always enable unscale point and line hack on upscaled resolutions, and
purge the gui option.

It was discussed in the past with Gregoy that it can be enabled without
causing any issues which will be beneficial to getting rid of 1 less
option and fixing a bunch of fmv issues without relying on a gui toggle.
2018-11-26 17:13:45 +01:00
iMineLink
8ff0249213 GSVector4i: Fix compare64 function.
Fix GSVector4i::compare64 function by adjusting the number of iterations
needed to cover the comparison of all the elements of the input arrays,
where the number of bytes to compare is indicated in the size parameter
of the function.
The function is used only in GSdx-TC to compare CLUT arrays.
On one hand this fix closes the recent #2706 and possibly the color
regressions indicated in #2702 (which were both introduced with the new
PaletteMap mechanism, which partially replaced the GSVector4i::update
logic with the bugged GSVector4i::compare64).
On the other hand this might impact long standing wrong texture cache
lookup when palette was involved with 8-bit palette disabled (to be
verified which ones).

Close #2713
Fixes #2706
Fixes #2715
2018-11-26 10:01:10 +01:00
lightningterror
9a10612f0b GSdx: Adjust Frame Buffer Conversion tooltip and TC comment to match recent changes. 2018-11-25 13:35:00 +01:00
lightningterror
c8f52b0ba3 GSdx-ogl: Move rgb channel 7 to empty slot 5. 2018-11-25 04:06:04 +01:00
lightningterror
193bda164b GSdx: Make OI_TalesOfLegendia hack active only when depth is not supported/disabled.
Fixes right half screen issue on TalesOfLegendia. UI elements of the
screen are properly emulated with depth emulation on gl (possibly fixed
by
1cc696ab31).
Shadows will be glitchy if crc hack level is below partial level.
I'm not even sure if the hack is useful at all anymore since it
introduces issues now.

Issue #2692
2018-11-24 13:40:36 +01:00
lightningterror
3b96e98eac GSdx: Add crc id for Tenchu Fatal Shadows JP. 2018-11-24 02:34:02 +01:00
lightningterror
f0c064261b Gamedb: Ease Ghost in the Shell COP2 patch.
Makes character shadows work properly.
Also remove crc check to make the Russian version work.

Testing was also done by @ivan89el.

US and EU regions only.
2018-11-24 01:26:33 +01:00
lightningterror
ee89fa5eec pcsx2: Add StaticLine between Zoom and Disable window resize border. 2018-11-22 06:19:15 +01:00
lightningterror
57a90e5fa5 pcsx2: Purge leftover commented out code for exclusive fullscreen.
Keep the comment references as they provide some good info.
2018-11-22 01:46:54 +01:00
Chromaryu
3d6921d9ca GameDB: Fix Ace Combat V NTSC-J Patch Address. (#2700) 2018-11-21 16:40:57 +01:00
pgert
651d287f1d Minor README edit by TheTechnician27 2018-11-20 02:35:02 +01:00
lightningterror
ec6b5a12e3 pcsx2: Fix some issues on FMV Aspect Ratio Override.
gui: Move the Off option to the top instead of bottom for FMV Aspect Ratio Override.

It's not ideal for it to be at the bottom.

Adjust the logic how the button works, there was an issue if both aspect ratios
were the same the aspect ratio chosen was selected to Fill.
Also adjust the code so the button better responds to realtime toggling.

If disabling the button realtime during a fmv then the normal aspect ratio
should be chosen.

There's still an issue left where if the fmv button is changed first and then
the aspect ratio button the button would would not work. Switching it off
seems to reset and make it work again.
2018-11-19 17:03:45 +01:00
Chromaryu
252458d5bd GameDB: Add Ace Combat 5 COP2 Patch on NTSC-J. (#2694)
This'll potentially fix "Unplayable Bug" caused by COP2. (This patch exists in NTSC-U, but confirmed this patch work on NTSC-J.)
2018-11-19 16:08:34 +01:00
lightningterror
c6abc08b5f PCSX2: Correct FMVAspectRatioSwitchNames ini labels.
Small follow up correction from #2690, the ini options were inverted.
2018-11-18 21:15:29 +01:00
FlatOutPS2
fd7a862226 PCSX2: "FMV Aspect Ratio Switch/Override" feature.
Change "Switch to 4:3 aspect ratio when an FMV plays" to
"FMV Aspect Ratio Override" drop down menu.

The option temporarily changes the Aspect Ratio to either
16:9 or 4:3 depending on the option that is selected,
and depending on the Window Aspect ratio that is selected.

Original commit:
8d471e1f16

Co author: lightningterror.
2018-11-18 19:26:07 +01:00
lightningterror
292e7a6573 GSdx-osd: Remove/purge OSD Indicator code.
The code was never working properly ( tested by @tadanokojin ) so let's
clean up and remove it. If someone actually wishes to maintain it then
they can re add it and update the code to a functional stage.
2018-11-18 14:15:17 +01:00
lightningterror
a092806d38 GSdx-gtk: Adjust some spacing, ocd satisfaction and preparation for the next commit. 2018-11-18 14:15:17 +01:00
lightningterror
40e9ce9036 Gamedb: Add gamefix patch for SpongeBob SquarePants: Battle for Bikini Bottom.
PAL only, ntsc seems to be fine according to the compatibility reports.

Patch by Prafull.

Close #2689
2018-11-18 01:43:54 +01:00
lightningterror
9994111173 Gsdx: Adjust GSC_Oneechanbara2Special (Zombie Hunters 2) crc hack.
Add a few crc ids (ntsc-j and eu).
Adjust hack, crc hack won't be active on native res if crc level is
below Aggressive state.

Issue #2007
2018-11-18 01:16:50 +01:00
lightningterror
11ddfefb60 GSdx-TC: Adjust comment for PaletteMap when 8-bit texture is disabled.
Follow up to the requested comment changes at
https://github.com/PCSX2/pcsx2/pull/2681#pullrequestreview-174683105
2018-11-17 21:38:35 +01:00
lightningterror
0161c2838e GSdx: Add some extra comments for GSC_HauntingGround crc hacks. 2018-11-17 21:20:27 +01:00
lightningterror
ae2642e55a GSdx: Remove blur/ghosting crc hacks for GSC_ShadowofRome.
Upscaling issue. Half Pixel Offset hack solves the issue.
2018-11-17 20:33:39 +01:00
lightningterror
d8702a9523 GSdx: Add google translated comments for crc hacks in GSHwHacks.cpp.
Cutie Chinese comments, they were removed in commit

21522e71b2

It's better to have google translated comments than nothing, at least we
have something to go on when doing future testing.

Also ghosting and blur crc hacks might need to be updated as they may
not be necessary on native res only.
2018-11-17 03:09:43 +01:00
lightningterror
210829f633 GSdx: Remove/purge commented out hacks "GSHwHacks.cpp.
List: GSC_Tekken5, GSC_TombRaiderUnderWorld, GSC_XE3, GSC_AceCombat4,
GSC_SoTC, GSC_ResidentEvil4.

Note: I left GSC_ValkyrieProfile2 in there because it might need to be
re enabled for dx, someday will look in to it when I'm up for the task.
2018-11-17 02:19:36 +01:00
Shanoah Alkire
cfb61c71dd GSdx: Prevent Null Renderer from crashing in Linux. 2018-11-16 14:50:25 -08:00
arcum42
2e1db411fa GSdx: Folder Reorganization. (#2657)
This pull request is for the pending reorganization of the folder structure on GSdx,
making it better organized and easier to work with.

Also remove unused GSTextureFX.cpp file.
2018-11-16 19:41:37 +01:00
Jonathan Li
15733ed8cf gsdx: Fix memory leak
The memory was allocated with new so it should be freed with delete and
not _aligned_free. Fixes the destructors not being called.
2018-11-16 02:00:42 +00:00
Shanoah Alkire
51ceec74a3 A bit of cleanup. 2018-11-15 00:55:49 -08:00
Jonathan Li
ca68ddd0d0 ci: Fix Travis CI builds 2018-11-14 13:03:09 +00:00
iMineLink
42aee34482 GSdx-TC: Use PaletteMap also when 8-bit texture is disabled by caching only clut copies. (#2681)
Enabled caching of clut copies with PaletteMap also in the case 8-bit texture is disabled, which is the default (on #2344 the caching of clut copies and palette textures was done only when 8-bit texture was enabled).
Brings moderate speedups ~10% in the most concitated parts of the ZoE2 Anubis benchmark, but may improve performance in all the cases when there are many Source objects created with clut copies to be stored.
The quality of the comments has been improved to better highlight the mechanics of the caching system.
2018-11-13 19:22:13 +01:00
lightningterror
ef3802b67a GSdx-d3d: Rename Blend Selector to better match opengl code.
Use member name.
om_bsel - > m_om_bsel
2018-11-13 01:56:11 +01:00
lightningterror
41459e6a2c GSdx-d3d: Rename Depth Stencil Selector to better match opengl code.
om_dssel - > m_om_dssel

Blend selector next.
2018-11-13 01:25:15 +01:00
lightningterror
63f9d419f8 GSdx: Rename some variables in GSHwHack.cpp.
GSC_TombRaider -> GSC_TombRaiderAnniversary,
GSC_Burnout - > GSC_BurnoutGames,
GSC_GetaWay - > GSC_GetaWayGames,
GSC_Castlevania - > GSC_CastlevaniaGames.
2018-11-12 21:15:12 +01:00
lightningterror
a26dc73836 GSdx-gui: Switch places for "Alpha Correction" and "Logarithmic Z" on d3d9. 2018-11-12 20:13:47 +01:00
lightningterror
48d90a988a GSdx-d3d: Remove not yet used rt parameter in channel shuffle function. 2018-11-11 23:59:11 +01:00
lightningterror
b26ed0db60 GSCrc: Small comment correction that I didn't notice before. 2018-11-11 03:45:06 +01:00
lightningterror
3280860ca9 GSdx: Add a couple of GT3/4 crc ids.
Rare demo/beta discs.

Source:

https://forums.pcsx2.net/Thread-Testing-out-games-not-in-the-database?pid=593185#pid593185
2018-11-11 03:42:35 +01:00
iMineLink
292dbbb6ac GSdx-TC: Remove virtual specifier from PaletteKeyHash operator, PaletteKeyEqual operator and Palette destructor. (#2680)
Small follow up corrections from #2344 highlighted by @turtleli
2018-11-10 18:50:19 +01:00
Dmitry
1b0b89776f GSdx: Removed crc id 0x7D4EA48F (multiloader). (#2677)
Removed crc id 0x7D4EA48F and mentions of that id and it's duplicates. The id is from a multiloader when packing images, and not an actual crc id from a game(s).
2018-11-10 02:27:38 +01:00
Jos van Mourik
56fb12878e PCSX2: Update Dutch Translations. (#2678) 2018-11-09 14:36:50 +01:00
PSISP
9e7b2ed153 Debugger: Make EE kernel region accessible to debugger. (#2559)
Currently, none of the EE kernel is viewable from the debugger, which poses issues when debugging code that makes use of syscalls. This PR should allow the memory region 0x80000000 - 0x800FFFFF to have readable disassembly.
2018-11-08 23:17:30 +01:00
Silent
b8b6a55952 Removed hack - use xinputNotInstalled as a flag instead of reusing pXInputEnable 2018-11-08 10:26:00 +00:00
Silent
c280d69d6f Call XInputGetState only when XInputGetExtended is not 2018-11-08 10:26:00 +00:00
Iritscen
a3c6ad636b PCSX2: Add ability to pass launch arguments to games with CLI option '--gameargs="-arg1 -arg2 -etc (#2576)
For more information please check the PR (#2576) since it's a bit detailed.
2018-11-07 19:07:17 +01:00
Christian Kenny
d1dc12f6b0 GameDB: Remove CRC check for Forbidden Siren 2 patch allowing it to work with another version as found in https://forums.pcsx2.net/Thread-bug-report-Forbidden-Siren-2-Pal?page=2 2018-11-05 23:08:30 +01:00
iMineLink
9fa1b290ba GSdx-TC: Palette management rework. (#2344)
This follows the 4th point of #2310.
The idea was to rework the current palette texture management to improve performances with games that uses multiple palettes for the same data texture.

The new management shows small to none performances improvement in almost every game in terms of FPS, and it lowers the GPU BUS usage by some percentage points in games like Baldur's Gate: Dark Alliance (9% to 7%) which uses many palettes.

The hot topic is that the performances in Zone Of The Enders 2 skyrocketed (2x), because of the fact that the game uses many palettes and a small number of textures to render it's effects.

For more detailed information check the PR  #2344
2018-11-04 22:06:24 +01:00
pgert
77a924ee7d PCSX2: Update of Brazilian-Portuguese Main mo-file 2018-11-04 00:13:13 +01:00
Dmitry
3ccc53ee74 GSdx: Add a CRC id for RedDeadRevolver RU. (#2673)
Add missing RU crc id: RedDeadRevolver
2018-11-03 22:40:49 +01:00
Guilherme Dias
5faed17d21 PCSX2: Update Brazilian/Portuguese translations. (#2672)
Fixed typos, grammatical errors, several inconsistencies with words and terms, changed some words that had a wrong translation or could be improved according to context and translated some untranslated terms.
2018-11-03 21:33:27 +01:00
lightningterror
9fdb7f6cd5 GSdx-gui: Remove "Recommended" word from crc hack levels Partial and Full.
Some users get confused and change the setting to a recommended option.
This can cause some issues when switching different hw render types.
Most of the time users shouldn't change the option and leave it on
Automatic.
Also remove ICO from crc Aggressive tooltip.
2018-11-02 14:54:24 +01:00
lightningterror
96ccdb40f1 Gamedb: Change the Kings Field 4 comments for the patches a bit to explain what the issue is. 2018-11-01 13:57:42 +01:00
lightningterror
6052614233 GameDB: Add patches for King's Field IV PAL/NTSC-U.
Fixes central tower level loading.
Patches by Wgarvin.
2018-11-01 12:41:53 +01:00
lightningterror
fd75085111 GSdx-gui: Increase the vertical size for the drop down list for crc hack level, blending accuracy, and TV shader.
Gets rid of scroll bars appearing on GSDumpGui, also fixes TV Shader
drop down list issues.
2018-11-01 00:08:39 +01:00
Silent
c5edd38681 3rdparty:wxwidgets: Cache strings for "Next>" or "Finish" buttons in wxWizard so locale stays consistent throughougt wizard's lifetime (#2664)
When updating from a higher wx release this change needs to be rechecked. The change was also included on the current 3.1.2 branch https://github.com/wxWidgets/wxWidgets/pull/1000 so this is essentially a backport (to 3.0.2 I believe pcsx2 uses ? ).
2018-10-31 09:57:57 +01:00
Shanoah Alkire
8f52d82e58 Refresh the save slots if either the crc *or* the serial number are different. (Needed for ps1 saves.) 2018-10-28 16:03:50 -07:00
Akash
fc1d9aef09 GSdx-GUI: Disable large framebuffer for custom res
No longer needed after I combined the aligorithm in my previous commit.
2018-09-27 15:41:52 +05:30
Akash
dce6d3f451 GSdx-HW: Remove inefficient scaling algorithm
Only impacts custom resolution, there used to be a much weaker algorithm
which doens't consider scissor sizes and gives a minor performance boost
in costs of accuracy (which was used when large framebuffer was disabled
in custom resolutions)

I've removed this as the performance tradeoff is rather negligible after
the implementation of #1942 and the older one is no longer necessary.
Also added an extra parameter for considering the horizontal scissor,
I'm not sure where this might be useful so this is disabled in code for
now till I discover a testcase where this helps or run it on random data
ensuring it's working properly.

Also porting this to the general scaling function might help with memory
spikes which are experienced when large framebuffer is enabled.
2018-09-27 15:34:26 +05:30
Shanoah Alkire
122871654e Expand out a define to get rid of a warning. Get rid of other compiler warnings. Re-indent so that it doesn't look like a statement is part of an if statement when it isn't. 2018-10-27 02:49:03 -07:00
Shanoah Alkire
6710b0c906 Get rid of a few GSdx warnings. Remove some extra newlines in Sio's console output. 2018-10-27 01:59:53 -07:00
lightningterror
0cbbf2daf9 GSdx: Add an enum for channel fetch. 2018-10-23 16:52:47 +02:00
lightningterror
a25f3ccdda pcsx2-gui: Align some of the buttons/options in GS Window.
They look a little bit more tidy now.
2018-10-22 21:22:43 +02:00
lightningterror
bb5d120a3b GSdx-d3d: SetupDATE - > use pretty enum names. 2018-10-20 21:12:16 +02:00
lightningterror
6dca3656ed GSdx: Add Harry Potter and the Half-Blood Prince to automatic mipmapping. 2018-10-19 22:16:00 +02:00
KrossX
df307bed02 GSdx-d3d: Add macro to support ScalingFactor in shaders. 2018-10-19 11:36:23 +02:00
lightningterror
5ef53b4587 GSdx-d3d: Partial port of the ICO HLE workaround.
We can't do a full port because channel shuffle and depth sampling need
to be ported to d3d but at the very least we can do a partial port that
skips the bad draw calls.
This way we can remove all the remaining crc hacks for ICO in GSHwHacks.
2018-10-19 07:15:06 +02:00
lightningterror
6ab47c934d GSdx: Revert disabled crc hack on native res for SFEX3.
I forgot that it's not an upscaling issue.
2018-10-18 16:13:45 +02:00
lightningterror
a8e8cb9b6e GameDB: Add GIFFIFOHack to Mana Khemia 1 and 2.
SLUS-21735
SLUS-21890
Fixes flickering sprites.
Close #2645
2018-10-18 11:58:56 +02:00
lightningterror
411e434baf GSdx-d3d: Move around some functions in DrawPrims to better match ogl.
IsOpaque(), EmulateChannelShuffle, dfmt check for 24bit alpha channel.
2018-10-18 07:02:45 +02:00
lightningterror
c92e76b17e GSdx-gui: Change internal resolution drop down list names.
This should make things a bit easier for users when picking resolutions.

Native (PS2)
2x Native (~720p)
3x Native (~1080p)
4x Native (~1440p 2K)
5x Native (~1620p 3K)
6x Native (~2160p 4K)
8x Native (~2880p 5K)
Custom (Not Recommended)
2018-10-16 16:48:50 +02:00
Shanoah Alkire
322290b19c Reenable the new saveslots. Disable the logging for them. 2018-10-15 23:57:33 -07:00
Shanoah Alkire
8f986828e7 Revert "Saveslots: This version is still commented out, and somewhat broken at the moment. If you uncomment it, after loading a game, pause and then resume to force the save and load menus to update."
This reverts commit 49b91ea78f.
2018-10-15 23:46:41 -07:00
lightningterror
77ac35058c pcsx2: small string typo fix. 2018-10-16 01:08:12 +02:00
lightningterror
933e43cb58 GSdx: Change how crc hacks work on native res.
Change the code so that some crc hacks on some games that remove
ghosting/blur issues on upscaled resolutions are disabled on native
resolution if crc hack level is below Aggressive state (most of the time).
They aren't needed then so why don't we aim for better accuracy.
2018-10-15 20:41:23 +02:00
lightningterror
5f9ddd2f83 SPU2-X: Adjust NextA case comments a bit. 2018-10-15 15:16:12 +02:00
lightningterror
eb955592ee SPU2-X: Also include the registers from case 5 since it makes more sense to have both NextA writable.
Continuation from:

6b22450a1b
2018-10-15 13:15:40 +02:00
lightningterror
6b22450a1b SPU2-X: Fixes a regression with Wallace And Gromit: Curse Of The Were-Rabbit sound cutting off.
Follow up from PR #2315
Partially reverts commit:
https://github.com/PCSX2/pcsx2/commit/57cbc901b
2018-10-15 13:03:31 +02:00
lightningterror
06f4b77f63 PCSX2: Add tooltip warning for Widescreen Patches.
Close #1733
2018-10-15 09:14:57 +02:00
Daniel Nowak
21f0752ce7 Dev9ghzdrk: Postinst for deb to add network capabilities 2018-10-15 07:26:53 +02:00
Shanoah Alkire
49b91ea78f Saveslots: This version is still commented out, and somewhat broken at the moment. If you uncomment it, after loading a game, pause and then resume to force the save and load menus to update. 2018-10-14 02:41:41 -07:00
Shanoah Alkire
cb05daf437 Add some logging for the saveslot changes, and the option to turn on just the extra ui update calls without the other saveslot changes, for testing. 2018-10-13 18:43:41 -07:00
Shanoah Alkire
6ad4345a39 A few more flags that slipped by the last commits. 2018-10-13 14:45:13 -07:00
Shanoah Alkire
149f30c7fa Removing some warnings from GSdx and pcsx2 because gcc 8 spams them mercilessly. They should probably be fixed properly, but in the meantime, this'll prevent them from masking other compiler warnings. 2018-10-13 13:56:38 -07:00
pgert
802ae36a66 PCSX2: update of Scandinavian translations 2018-10-13 20:42:43 +02:00
Shanoah Alkire
70033020a3 Update compiler flags, as a number of plugins didn't have them set. Setting -Wno-parentheses across the board to suppress warnings about gtk from gcc 8. 2018-10-13 11:05:27 -07:00
Shanoah Alkire
af646895f4 onepad_legacy: Separate the wx dialog code from the linux code here, too. 2018-10-12 23:09:24 -07:00
Shanoah Alkire
a892a95af7 onepad: Start to separate wx dialog code from linux code, as wxWidgets is multiplatform. 2018-10-12 22:29:38 -07:00
pgert
48d9763d26 PCSX2: GUI textstring corrections 2018-10-10 23:40:11 +02:00
lightningterror
fa53968b3c GSdx-gui: Forgot to update the buttons in Capture Settings. 2018-10-10 21:44:11 +02:00
lightningterror
f3610b7c5c GSdx-gui: Minor spacing changes to some buttons. 2018-10-10 21:35:00 +02:00
Shanoah Alkire
b5e8a2166b Onepad_legacy: Add missing header copyright notices. 2018-10-09 23:25:40 -07:00
Shanoah Alkire
7837d69021 Remove the -fpermissive flag, as it doesn't actually seem necessary, and it generates a compiler warning. 2018-10-09 23:13:31 -07:00
Daniel Nowak
a84a315473 Dev9ghzdrk: Get host mac correctly on Windows. (#2619)
Follow up from #2586 which ensures that MAC address is unique on Xlink Kai when using Windows.
Previous build was returning last two bytes as 00:00 rather than last two bytes of host adapter's MAC.
2018-10-09 20:37:41 +02:00
lightningterror
eac7527b93 GSdx-d3d: 24bit no alpha channel port from OpenGL.
Commit:

419dfe0544
2018-10-09 20:25:37 +02:00
lightningterror
54ddf5becb GameDB: Add patches for Ice Age 2 to make the games playable.(ntscu and pal).
Patches provided by Kozarovv.
Close #2628
2018-10-09 16:49:15 +02:00
lightningterror
b360c07253 glsl, fx: Update point sampler comment. 2018-10-09 09:07:45 +02:00
lightningterror
b1ca6ba528 GSdx-d3d: Use a pretty enum for ate_second_pass. 2018-10-08 23:58:15 +02:00
lightningterror
0dcd60b524 GSdx-d3d: Remove point sampler from d3d9.
It did nothing.
2018-10-08 21:22:34 +02:00
lightningterror
c337ab6a66 GSdx-d3d: Use Colormask instead of GSDXRecoverableError on d3d9 texture shuffle.
Might be better.
2018-10-08 21:12:05 +02:00
Jos van Mourik
897b17d259 PCSX2: Added complete Dutch translations. (#2625) 2018-10-08 18:22:35 +02:00
Sunderland93
1bd26f6fc9 Fix 2018-10-08 11:09:07 +02:00
Sunderland93
904ffb5d20 Enable dev9ghzdrk plugin for Linux build 2018-10-08 11:09:07 +02:00
lightningterror
201e7d1430 GSdx-d3d: Reformat GSRendererDX11.cpp. 2018-10-08 07:19:07 +02:00
lightningterror
e5565d32b1 GSdx-d3d: Port directly set impossible mode in the blending table from OpenGL.
Commit:
97b38d9e1b
2018-10-08 01:06:45 +02:00
Shanoah Alkire
f965502187 onepad_legacy: delete dead code. 2018-10-06 23:05:01 -07:00
Shanoah Alkire
896c9cccec onepad_legacy: reformat code. 2018-10-06 22:54:47 -07:00
Shanoah Alkire
f800ed9c2e Onepad-legacy: Even if std is used all over the place, lets not put the entire project in std's namespace. 2018-10-06 20:01:23 -07:00
lightningterror
e44fc33d48 GSdx-d3d: Add some comments in blendmap enums. 2018-10-06 08:26:45 +02:00
lightningterror
4a2549ef24 GSdx-d3d: Make blend enums easier to read.
Easier on the eyes this way.
2018-10-06 08:00:25 +02:00
Shanoah Alkire
8defe54e3b Redo how the saveslot code works. Still leaving disabled until it's been tested. 2018-10-05 22:21:54 -07:00
Shanoah Alkire
db18a01a7b Update Onepad's controller list. 2018-10-05 13:48:18 -07:00
lightningterror
379d9e4b88 GSdx-d3d: optimize colclip 0 port from OpenGL.
Commits:
7979dec5b0
15b934eb2a
2018-10-05 08:40:01 +02:00
lightningterror
d5700a8508 pcsx2: Update some redirect links. 2018-10-05 02:01:53 +02:00
KrossX
5719c6c3c0 glsl: remove signed int cast side (masks and offsets are unsigned to begin with.
Issue #2617
2018-10-04 20:47:03 +02:00
Daniel Nowak
281b6861e1 Update Travis CI for Linux networking addition 2018-10-04 16:15:00 +01:00
lightningterror
614209be2d GSdx-d3d: Change DATE variable to local. 2018-10-04 05:39:01 +02:00
lightningterror
940263d490 GSdx-gui: Adjust space/rows on some tooltips so they fit better, rename Auto to Automatic list on adv. gl settings in hw hacks. 2018-10-03 15:27:42 +02:00
KrossX
2d094cbc3b tfx.fs: Remove whitespaces. 2018-10-03 15:21:46 +02:00
KrossX
9d562a454b GSdx: Limit Wrap negative UV when PS_FST is 0 only. 2018-10-03 15:21:46 +02:00
Daniel Nowak
da1eb056a3 Add network capability for Linux (#2586) 2018-10-02 21:37:34 -07:00
lightningterror
694546e870 GSdx-d3d: Add colclip_wrap variable. 2018-10-03 05:50:54 +02:00
lightningterror
ef29daa9d0 GSdx-d3d: purge GSDrawingContext* context and GSDrawingEnvironment env from GSRendererDX.h
Not used anywhere in dx code and the code is already defined in
GSState.h with member variable names.
2018-10-03 04:41:17 +02:00
Shanoah Alkire
7641d6726f New helper include for gtk for use in plugins. Mostly based on the gtk 2/3 helper functions I added to spu2-x for the moment. 2018-10-02 01:20:54 -07:00
lightningterror
08a270a429 GSdx-d3d: Reformat GSRendererDX.cpp.
Let's keep the file clean and use 1 type of formatting and not a bunch.
It's easier to read this way and looks tidy.
Also correct some commented out code in Texture Sampler.
2018-10-02 02:16:38 +02:00
lightningterror
2aedb97796 GSdx: Add a crc id for Burnout Revenge EU. 2018-10-01 23:29:46 +02:00
lightningterror
f6ba6cc3a9 GSdx-gui: Remove Xenosaga tooltip from TC Offset hack.
No longer needed since the issue is fixed.
Commit:

629d2bd425
2018-10-01 22:42:17 +02:00
KrossX
629d2bd425 GSdx: Wrap negative UV on region repeat wrap mode.
Makes UV coord be on the range [0, SIZE) before applying mask and
offset. This fixes Xenosaga's hair for example, which has negative UV
coords.
2018-10-01 22:38:22 +02:00
Shanoah Alkire
92484a8416 Disable the new saveslot code. (It can be reenabled by uncommenting the define in Saveslots.h) 2018-09-30 02:46:44 -07:00
Shanoah Alkire
042311a827 Make it easy to turn on and off the new saveslot code. Comment out a UI update that doesn't look needed that could have been causing issues. 2018-09-29 14:27:58 -07:00
KrossX
e90c87a8ef GSdx-d3d: Keep fract in [0;1] range port from OpenGL.
Fixes texture flickering in Oni on d3d11.

Commit:
a8968257db
2018-09-28 02:33:58 +02:00
Christian Kenny
d632454a23 GameDB: Add VU Clamp Mode and GIF FIFO Hack to SOCOM 1. Resolves bad shadows/random HUD and sprite corruption. 2018-09-26 14:37:19 +02:00
KrossX
560966c539 GSdx-d3d: Update nvidia hack with vendor id detection.
Hack will no longer be active on Intel or AMD gpus.
Also remove UserHacks_disable_NV_hack. sprite hack
basically does the same thing so it's kinda useless.
2018-09-25 08:35:05 +02:00
KrossX
e063be3043 GSdx-d3d: Port mipmap max_layer calculation from opengl to direct3d.
Fixes texture corruption on direct3d when full mipmapping was used.
2018-09-25 08:35:05 +02:00
pgert
a275cf8e57 PCSX2: update of Scandinavian translations 2018-09-23 11:07:09 +02:00
Jonathan Li
3fe9ff7ac8 gsdx: Split TC offset hack into X and Y components 2018-09-20 01:01:49 +01:00
Jonathan Li
2f5ba10e6b gsdx:hw: Move TC offset variables to GSRendererHW
Also rename them for consistency.
2018-09-20 01:01:49 +01:00
lightningterror
728fa2c1a4 GSdx-d3d: tfx.fx correct texture shuffle shaders.
Some values were incorrect, now I'm no expert but looking at the code
and behavior seemed a bit wrong compared to gl.

Improves d3d rendering on Sonic Unleashed, the purple screen is gone
matching it with gl visuals.
2018-09-17 14:26:08 +02:00
Jonathan Li
7433ee7fc1 pcsx2: Warn if GameDB section start tag is incorrect
This helps avoid patches not being applied due to whitespace mismatches.
For example:
[patches ]
[ patches]
[patches  =  012345678]
2018-09-17 08:41:53 +01:00
Jonathan Li
f47321c287 pcsx2: Improve GameDB multiline section parsing
If the entry separator (line of dashes) is found, assume the multiline
section end tag is missing or incorrect and stop parsing so that it
doesn't affect subsequent database entries.

Also improve the error messages so it is slightly more clear what the
error is.
2018-09-17 08:41:53 +01:00
lightningterror
8acc319a4a GSdx-d3d: Mask alpha channel on 24bit format.
dfmt is not supported but we can use the variable to select the
frame buffer format and later disable writting to the alpha channel.

MGS3 sees an improvement, and possibly other games as well.
So far didn't spot any regressions.
2018-09-16 12:54:47 +02:00
arcum42
f3d738d771 Remove an extern that goes to a function not in the code. 2018-09-16 00:40:07 -07:00
arcum42
914573a5c3 Restore wxInvalidDateTime, and fix the call that was crashing debug. 2018-09-15 23:51:52 -07:00
lightningterror
14a62c3a3f GSdx-tc: Update fb conversion hack comment with latest d3d changes.
D3D10/11 now supports fb conversion through a shader but only on native
res for now.
Nobody cares about D3D9 so don't ask :).
2018-09-15 14:27:04 +02:00
arcum42
e9ae9cacd8 Using wxInvalidDatetime does not get along with debug builds. Using 1/1/1970 instead. 2018-09-15 03:52:41 -07:00
lightningterror
577bfaa8cd GSdx-d3d: Move Selector reset states in to a separate function.
Also move vs_sel def in header file and rename it using the member name.

Code is easier to read/move/adjust similar to GL.
2018-09-15 05:49:18 +02:00
lightningterror
f40c1de919 GSdx: GPU accelerate 8 bits texture conversion port from OpenGL to Direct3D11.
Commit:
d29e375f72

Only native res is supported currently, but it's still great progress.
Someone needs to port the ScalingFactor to D3D from commit:
6121677aa1

Credits to KrossX for porting the shader.
2018-09-13 19:56:59 +02:00
lightningterror
6b52cc9829 GSdx-gui: Minor osd gui adjustments.
Grey out scrolling speed and maximum onscreen messages when
Enable Log is not checked.
2018-09-13 03:23:36 +02:00
lightningterror
ad143d92da GSdx: Add Yakuza ntsc-u demo crc id. 2018-09-12 11:33:07 +02:00
arcum42
9cb35a8972 PCSX2: Save/load slot improvements.
With these changes, saveslots will be labeled as either empty or
with the date that the file was last updated on. The menu items
for loading them are also disabled if the slot is empty.

It's possible if you are very fast to access the menu before the
slots change. It updates when the crc changes. When you save a saveslot,
the menu item also changes to show the time you told it to save until the
file is actually done saving.

Also fix an issue with backup saveslots not working properly from the
gui on first load.
2018-09-11 00:39:33 +02:00
lightningterror
6e3f41f164 build.sh: correct some tab/space issues left by arcum from previous commit. 2018-09-10 05:54:15 +02:00
arcum42
d8e6ba4274 Add a new option to build.sh to not generate translations while building the project. 2018-09-05 21:38:38 -07:00
Jonathan Li
a977f1e6c1 pcsx2|utilities; Revert ambiguous wxString related commits
This reverts
93d5b52df3
f3e78b8267
55155ca7f1.

Unfortunately wxString stuff is a PITA to deal with. Breaks FreeBSD
compile, but there are probably more issues that just haven't been
reported yet...
2018-09-04 21:57:27 +01:00
refractionpcsx2
d520f3852b Missed some more code from testing.
I do know what I'm doing I swear
2018-09-04 20:52:17 +01:00
refractionpcsx2
50e3474b60 Missed a debug log. 2018-09-04 20:51:07 +01:00
refractionpcsx2
3c5fad7ef6 Reverted shift register stuff back to how it was, my changes made no difference now and it was slightly more optimal before.
Also fixed spaces (blame PSI :P )
2018-09-04 20:45:28 +01:00
refractionpcsx2
f7fb0f686b Fixed MFSA/MTSA, of course there's a game that abuses it (Rayman 3) 2018-09-04 20:26:36 +01:00
Jonathan Li
55155ca7f1 utilities: Fix compile when using --enable-stl wxWidgets builds
Regression introduced in 93d5b52df3.
2018-09-03 20:30:14 +01:00
Jonathan Li
f3e78b8267 utilities: Split thread internal callback function
__try is used in pthread_cleanup_push when CLEANUP_SEH is used as the
pthread cleanup model. That can't be used in functions with objects
that have destructors, so move it into a separate function.

Fixes a non-release build compile error on Windows. Regression was
introduced in 93d5b52df3.
2018-09-03 20:30:14 +01:00
lightningterror
6b2fcbd070 SPU2-X-gui: Small corrections requested by turtleli. 2018-09-03 20:58:26 +02:00
lightningterror
c39dc3dd78 GSdx-gui: Minor adjustements.
Purge unused IDC_CHECK_DISABLE_ALL_HACKS tooltip from old GSdx versions.

Rename TC Offsets to Texture Offsets.
2018-09-03 20:48:17 +02:00
lightningterror
e1fcd569e7 SPU2-X: More gui adjustements.
Adjust gui accross various gui windows.
Adjust naming, positioning of buttons, spacing ...etc.
The different windows should look more similar and not be different.

Also purge IDD_XAUDIO2 window that wasn't used anywhere.
2018-09-03 11:31:41 +02:00
lightningterror
96a62351ac GSdx: GSHwHack.cpp adjust a few lines I forgot in the previous commit. 2018-09-03 04:51:53 +02:00
lightningterror
38366c084e GSdx: Adjust Yakuza games crc hacks and do some reformatting.
Add a missing crc id for the US version,
, move the crc to DX level - effect is emulated correctly on OpenGL with
depth,
merge the two Yakuza hacks together and reformat it making it easier to
be read.
Skip 3 also seems to work on Yakuza 2.
Related commit:

7f0f19ee02

Reformat the code a bit, ocd satisfaction.
2018-09-03 04:36:11 +02:00
Jonathan Li
93d5b52df3 pcsx2|utilities: Remove ambiguous wxString-related overloads
Avoid some function overloads that can accept char*, wxChar* and
wxString as a parameter. wxString can be constructed with either of
those parameters, so the function overloads may actually result in
ambiguity errors. Keep the wxString parameter versions and remove the
rest.

Fixes some compile errors on FreeBSD.
2018-09-03 01:56:35 +01:00
lightningterror
5b9e93c652 GSdx: Add Sly2 Internal prototype disc crc id. 2018-09-01 03:03:20 +02:00
lightningterror
37d84a7148 Gamedb: Tidy up remaining tab spaces and some other cleaning.
I believe there are no more tab space issues.
Also purge commented out patch for Final Fantasy VII - Dirge of
Cerberus.
2018-08-31 20:33:59 +02:00
lightningterror
ada5daf7c7 Gamedb: Merge duplicate patches, the only difference is the crc id, the patch codes are the same.
Tekken 4 ntsc-j, pal
Growlanser Generations ntsc-u
2018-08-30 16:48:14 +02:00
Jonathan Li
b374b1bca6 GameDB: Remove trailing whitespace
The GameDB multiline section parser is rather flaky as it will not
recognise a closing multiline section tag if there is trailing
whitespace.

Fixes an issue where 136 games are devoured by the parser (9632 -> 9768).
2018-08-30 00:13:56 +01:00
Jonathan Li
81faa33a38 debugger: Reset breakpoint skip on boot
Fixes an issue where the first breakpoint after rebooting a game may
be skipped if the following sequence takes place:
 - The first breakpoint after booting the game is triggered once.
 - The user hits run to resume the game
 - The user reboots the game without any other breakpoint being
 triggered.
2018-08-29 23:04:56 +01:00
Jonathan Li
a922a0b1f5 pcsx2: Don't store the GameDB serial in the key list
It's already available in the id field, so storing it again is a waste
of space and CPU cycles.
2018-08-29 22:26:09 +01:00
Jonathan Li
4dcb47d829 pcsx2: Remove GameDB blocktable
It doesn't provides much of a performance improvement over directly
using an unordered map. This change also means that if there are
duplicate GameDB entries then they'll be merged together instead of
having only the last entry take effect.

Also increase the unordered map reserve size.
2018-08-29 22:26:09 +01:00
Jonathan Li
fcda371f9a utilities: Remove HashMap
It's now unused.
2018-08-29 22:26:09 +01:00
Jonathan Li
6e3d6a1b17 pcsx2: Simplify GameDB hashing
Converting the string to lowercase is unnecessary when the actual entry
is still case sensitive.

Also just use std::hash of std::string and std::wstring instead, which
fixes a FreeBSD compile error (cannot convert to const char*).
2018-08-29 22:26:09 +01:00
Jonathan Li
bde62436fa pcsx2: Simplify Game_Data member functions
There's no need to have a lot of overloads accepting wxChar*, char* cand
const wxString&. Keep only the const wxString& versions and remove the
rest. This fixes an infinite recursion warning on FreeBSD.

Also simplify sectionExists and getSection to avoid unnecessary
conversion to and from wxString.
2018-08-29 22:26:09 +01:00
Jonathan Li
76a75efef1 pcsx2: Remove GameDB write related code
There's no use for it now that the database editor has been removed.

Also remove the Game_Data POD comment because I don't think it makes
sense and remove an unused variable.
2018-08-29 22:26:09 +01:00
lightningterror
846f31851e GSdx-gui: Grey out Texture filtering and Interlacing on Null. 2018-08-29 02:12:00 +02:00
Jonathan Li
22f1048e8f gsdx:windows: Show different adapters for each renderer
OpenGL does not allow an adapter to be selected, and the available
adapters for D3D11 and D3D9 may be slightly different.
2018-08-29 00:48:16 +01:00
Jonathan Li
e4dd0069ca gsdx:windows: Don't refer to D3D10
Direct3D11 is used even if the user's GPU only supports Direct3D feature
level 10.0.
2018-08-29 00:48:16 +01:00
Jonathan Li
05004450a0 gsdx:windows: Refactor D3D11/9 adapter enumeration code
Move the code into separate functions.
2018-08-29 00:48:16 +01:00
Jonathan Li
3e8f9ac518 gsdx:windows: Init hacks dialog member variables in constructor
The skipdraw variables can now be initialised in the constructor as the
dialog no longer preserves state when it is reopened.
2018-08-29 00:48:16 +01:00
Jonathan Li
4d8dea0892 gsdx:windows: Open sub dialogs using temporary objects
This prevents the dialog from preserving state after it is closed, which
simplifies the logic slightly for reopening the dialog.

Also remove an unused variable.
2018-08-29 00:48:16 +01:00
Gregory Hainaut
eb104f60e2 round count in constructor (to squash) 2018-08-28 15:30:56 +02:00
Gregory Hainaut
b6db0a3c30 gsdx ogl: allow to reallocate the vertex/index buffer
Replace some raw pointers with unique_ptr

When Vertex buffer is updated, we should set again the layout
2018-08-28 15:30:56 +02:00
Gregory Hainaut
5694ef56ca gsdx ogl: use vector for layout parameter of Vertex Array
And keep the state in the object
2018-08-28 15:30:56 +02:00
Gregory Hainaut
8a93a71504 i10n: update pt_BR translation 2018-08-28 15:27:01 +02:00
lightningterror
d09ac6d589 GSdx: Add some crc ids for HarryPotterATPOA KO/JP. 2018-08-27 21:26:19 +02:00
lightningterror
5a77123a15 Gamedb: Add Harry Potter and The Prisoner of Azkaban KO/JP gamefix patches.
Makes the games bootable.
EETimingHack wasn't added, needs to be verified first.
2018-08-27 21:20:40 +02:00
lightningterror
98ac329cf5 Gamedb: Correct misspelled SkipMPEGHack for Paris-Dakar Rally. 2018-08-27 20:49:11 +02:00
lightningterror
122f730608 glsl: Replace leftover tabs with spaces in shaderboost.
I believe all glsl files are cleaned up now.
2018-08-27 14:01:25 +02:00
Souzooka
7963f418c1 Add System Out as a logging source. (#2563)
* Enable logging from new source, PS2 system output

* Enable printf formatting with (up to only 7 currently)

* Fix fallthrough bug in SYSCALL switch/case

* Remove unnecessary memread32 call in sysPrintOut case
2018-08-27 13:56:48 +02:00
Jonathan Li
4eaee45d1a pcsx2:gui: Remove Game Database dialog and panel
It has too many issues:
 - It's in an incomplete state. The ListView isn't connected up and I'm
 not sure what it was supposed to do.
 - Comments are stripped from the database when changes are saved.
 - Some key value pairs do not show (EE/VU clamp/rounding and
 MemCardFilter).
 - It doesn't work well on Linux (though this one seems easy to fix).
2018-08-26 22:31:49 +01:00
arcum42
7c33694c1a SPU2-X (Linux): Lets try this again. GTK 3 fixes. Volume slider added. Latency slider shows ms. Debug button disables and reenables. Various dialog box tweaks. 2018-08-25 15:20:14 -07:00
RedPanda4552
4dc4892588 Rename VU Cycle stealing to EE Cycle Skipping, and change tool tips for
EE Cycle Stealing and EE Cycle Skipping
2018-08-25 18:50:26 +02:00
Jonathan Li
0a62461515 ci: Disable clang-format checks on Travis CI
Unfortunately it's better to disable this for now, due to problems with
clang-format version mismatches between what devs use and what the
buildbot uses. There's also problems with availability of specific
versions on non-Windows systems.
2018-08-25 10:26:19 +01:00
arcum42
78282c7ed7 Revert my last couple commits because they don't meet a robot's code formatting standards. 2018-08-24 19:34:48 -07:00
arcum42
33db759a77 Attempt to placate evil spirits. 2018-08-24 18:58:43 -07:00
arcum42
10ac426fd5 Spu2-x(Linux): Debug button greys out when appropriate. Minor cleanup on last commit. 2018-08-24 16:09:37 -07:00
arcum42
4c9525c9d9 Spu2-X (Linux): Dialog cleanup. Add volume control. Switch Ok/Cancel buttons to be the same as other plugins on Linux. Add in code for GTK 3 to get rid of depreciation warnings. 2018-08-24 13:41:56 -07:00
lightningterror
bcb7805c11 GSdx-gui: Don't disable Anisotropic Filtering on gl when Allow 8-bit textures is enabled.
Anisotropic works even with 8bit textures enabled.
2018-08-24 13:12:26 +02:00
lightningterror
1aeec47b30 glsl: Replace leftover tabs with spaces in tfx_fs. 2018-08-22 20:12:53 +02:00
lightningterror
d7cdbf6f27 Gsdx: Point Sampler changes.
Re add point sampler to OpenGL. Fixes graphical issues when
Allow 8-bit textures is enabled on AMD gpus.
Issue: https://forums.pcsx2.net/Thread-GSDX-Hardware-mode-Bug-Report-Allow-8-bit-Texture

Adjust the code to be easier to read, and execute the gl code only on amd - suggested by Gregory.

Remove useless ATI_SUCKS define in tfx shader.It wasn't used anywhere outside of the shader.
2018-08-22 20:12:53 +02:00
lightningterror
4060bcf9c9 [skip ci] Update all links to https on README.md. 2018-08-22 17:27:49 +02:00
Rafael Fontenelle
f09837f939 Translations: pt_BR: fix typo in pcsx2_Iconized.po (#2561) 2018-08-22 12:15:21 +02:00
arcum42
7bcfc9827e Get rid of AppConfigDialog.cpp. 2018-08-21 11:48:48 -07:00
lightningterror
cf222d1ccf GSdx: Add Ape Escape 2 to automatic mipmapping. 2018-08-21 17:28:14 +02:00
lightningterror
937fee84f4 GSdx-gui: Put TC Offset X Y hacks in one line similar to Skipdraw Offset 2018-08-21 14:35:17 +02:00
lightningterror
11bad7b07a GSdx-d3d: Reduce state change - port from GL.
Commit: 37f9bcf9cb

Don't dirty aref when a fog color is uploaded.
Only set clamp mode in clamp mode (region clamp is handled in shader).
2018-08-21 13:56:06 +02:00
lightningterror
6eb385fd9b GSdx-d3d: s/sample_4a/sample_4_index/ 2018-08-21 13:56:06 +02:00
lightningterror
188a1f1416 GSdx-d3d: Drop an useless min in FS - port from GL.
Commit: a1957a685d

GPU will clamp color anyway. It reduces the number of instruction of 25%
(4->3).
2018-08-21 13:56:06 +02:00
FlatOutPS2
1498f538dd gsdx:hw: Enable skipdraw hack to skip a range of draw calls
Enhance the skipdraw hack by allowing skipdraw to skip a range of draw
calls.

For example: When the broken effects are at frames 90-100, the default
skipdraw always skips 0-100, possibly skipping several functioning
effects as well. By enhancing the skipdraw feature, it is now possible
to skip just frames 90-100.

For the example given above set the first box to 90 and the second box
to 100 to skip frames 90-100.

coauthor:turtleli (Linux GUI + tidy/simplify Windows GUI code)
2018-08-20 23:35:01 +01:00
lightningterror
fc1d88cb51 GSdx-gui: Revert spacing between Texture filtering and Hardware settings.
I forgot all about OpenCL which caused some overlapping with the OpenCL
device option.
2018-08-20 02:10:00 +02:00
lightningterror
51cf02d27b GSdx-gui: Adjust main gui spacing.
Decrease spacing between Hardware Settings and Texture Filtering
slightly. It was a bit too much before,
Adjusted spacing to be equal between options, some had incorrect
spacing.

Maybe Accurate Date and Blending Unit Accuracy can be swapped.
2018-08-19 23:05:02 +02:00
arcum42
04ff2aff65 Add the Logitech Rumble Gamepad F510 to onepad's database. 2018-08-18 12:11:01 -07:00
arcum42
c695d6a3a3 Make the dialog for zzogl-pg GTK 3 compatible. 2018-08-17 19:13:51 -07:00
Jonathan Li
890d7ab953 utilities: Restrict pxWindowAndFlag templates to wxObject derived classes
Fixes a compile error (C2666) on VS2017 15.8 caused by ambiguity issues.
The sstream header uses

constexpr auto _both = ios_base::in | ios_base::out;

Without the extra type restrictions the compiler cannot tell whether to
use the template or the built-in | operator (the const wxSizerFlags &
parameter will accept ints).
2018-08-17 22:37:39 +01:00
Jonathan Li
b84a2cfaf6 cmake: Add -mxsave flag to compiler flags
Fixes compilation when using GCC8.2 to compile a non-native build.

Fixes #2554.
2018-08-16 08:33:57 +01:00
Jonathan Li
d258ef6275 gsdx:gtk: Improve dialog for small screen resolutions
Makes all the tabs scrollable, which makes the dialog more usable (the
OK button should always be present unless the screen is absurdly small).

Only checked on GTK3.
2018-08-12 19:38:21 +01:00
Jonathan Li
546eac4646 gsdx:gtk3: Fix fetching of monitor resolution
The user may not have configured a primary monitor, so get the
resolution of the monitor that the mouse cursor is currently located on.
2018-08-12 19:38:21 +01:00
Jonathan Li
8391b08e8f gsdx:gtk+3: Adjust visual layout
Use hexpand instead of expand, and use margin-start instead of
margin-left (margin-left is deprecated in GTK+ 3.12). IMO it looks
better this way.

Also, set the properties using gtk_widget_set_* instead of g_object_set.
2018-08-12 19:38:21 +01:00
Jonathan Li
c28353e01f gsdx:gtk3: Switch to non-deprecated GTK3 API
The widget expanding issue seems to have resolved itself (probably a
change on the GTK3 end).
2018-08-12 19:38:21 +01:00
Jonathan Li
e8ed18feba common: Use GCC's _xgetbv definition from GCC 8.2 onwards
The _xgetbv bug was fixed, so avoid using our own definition (again).
2018-08-12 18:07:13 +01:00
Christian Kenny
39b405648a GameDB: Add XgKickHack to Warhammer 40K. Fixes corrupted graphics. 2018-08-12 07:49:04 +02:00
Souzooka
d00e0ed605 Debugger: Display ACC register. (#2527)
Displays/allows ACC VU0f register to be set.
2018-08-11 16:14:08 +02:00
lightningterror
8a4cfe9b23 SPU2-X-gui: Update gui interface.
Adjust/tidy up the gui to make it more appealing,
some bad positioning has been fixed.

Properly grey out Audio Expansion Mode text when
the option is inactive.
2018-08-09 20:22:10 +02:00
Jonathan Li
29eb9f05de spu2-x:gtk3: Fix hbox/vbox deprecation warnings 2018-08-08 00:27:49 +01:00
Jonathan Li
811605fcb5 spu2-x:linux: Reduce non-timestretch minimum latency to 3ms
This matches the Windows GUI behaviour.
2018-08-08 00:27:49 +01:00
lightningterror
ca35e707c4 GSdx-gui: Properly grey out Anisotropic Filtering text when the option is inactive. 2018-08-07 13:12:24 +02:00
lightningterror
352fbf0c1f GSdx-gui: Update CRC Hack Level tooltips.
Update Aggressive level tooltips.
Display the correct games that have Aggressive level crc hacks.
2018-08-07 11:41:28 +02:00
Jonathan Li
8b6ffc3f45 gsdx:ogl: Remove unused variables
Fixes some clang warnings.
2018-08-07 00:15:10 +01:00
Jonathan Li
cdee1875a5 pcsx2: Avoid trigraphs
Fixes a -Wtrigraph warning on clang.
2018-08-07 00:15:10 +01:00
Jonathan Li
354b11c619 onepad|spu2-x: Avoid -Wmissing-braces on clang 2018-08-07 00:15:10 +01:00
Jonathan Li
c10d6c3ed1 pcsx2: Add override to SysTraceLog functions declarations/definitions
Makes it clearer what is being overridden. Also avoids a
-Winconsistent-missing-override warning on clang.
2018-08-07 00:15:10 +01:00
lightningterror
a0f96189d3 GSdx: Adjust God of War II crc hack.
Extend the hack to remove the water / hell effect (vertical lines) on
interlaced mode.

Close #2533
2018-08-04 20:07:26 +02:00
lightningterror
27d39d98d3 GameDB: Add eeClampMode gamefix to Destroy All Humans 2 (ntsc).
EEClampMode to full.
Fixes material stretching across screen that appears for a split second.
Other regions could probably need the gamefix but need to be tested
first.

Close #1436
2018-08-03 18:53:26 +02:00
lightningterror
9255f785da GameDB: Add EE and VU clamping mode gamefix for A.C.E. 3 the final.
EEClamping mode to Full,
VUClamping mode to Extra+Preserve Sign.

Fixes hangs/freezes on mission 2 loading.

Close #777
2018-08-03 15:41:38 +02:00
lightningterror
6cfe287c70 GSdx: Add/adjust crc ids.
Add God of War Demo ntsc,
Add Burnout Takedown E3 Demo ntsc,
Adjust regions for Harry Potter ATCOS/ATPOA,
Add comment for crc 0x7ACF7E03 - multiloader.
2018-08-03 12:35:26 +02:00
ivan89el
f80af64a2b GSdx: Adjust ShinOnimusha crc hack. (#2521)
The hacks remove smoke/fog effects. They are rendered correctly so let's move the hacks to Aggressive crc state. They can be used as speedhacks.
2018-08-01 11:25:24 +02:00
howjun
d9fa7f7d34 Grammar corrections in readme-Docs.txt (#2529) 2018-07-31 21:12:46 +02:00
lightningterror
4a7304de50 GameDB: Add patches for Harry Potter (Chamber of Secrets, Prisoner of Azkaban).
Chamber of Secrets/Prisoner of Azkaban: Add gamefix patches to make the
games playable/bootable. Some regions that don't have the patches added
still need testing for verification.

Add some missing regions to the DB for the above two games.
2018-07-31 20:00:42 +02:00
refractionpcsx2
8b0114596b Just adding some comments to MMI fix. 2018-07-31 18:48:51 +01:00
refractionpcsx2
1e0b0605a6 Corrected MMI PMADDW and PMSUBW on the Interpreters thanks to DobieStation for finding the fix 2018-07-31 18:45:32 +01:00
lightningterror
59ec48a120 GSdx: Add games to automatic mipmapping, add some crc ids.
Automatic mipmapping: Harry Potter (Chamber Of Secrets,
Prisoner of Azkaban,  Order Of The Phoenix), The Incredible Hulk:
Ultimate Destruction.

Add some missing crc ids for GT4 demo discs.
2018-07-31 02:43:21 +02:00
atomic83GitHub
b5d6ccace1 GameDB: Conflict 4, K-1 WorldGP 2006 and Mahou Sensei Negima! Kagai Jugyou fixes.
This PR add an emotion engine rounding fix for Conflict 4 which solve bad character behaviour, 2 VU Xgkick timing adjustment for K-1 World GP 2006 which solve missing colors on the fighters, 1 VU Xgkick timing adjustment for Mahou Sensei Negima! Kagai Jugyou which solve bad rendering, comment adjustment for Socom 2 fixes and a missing entry.
2018-07-30 22:09:30 +02:00
Souzooka
4e429b27be Debugger: Display/set correct VU values (#2526) 2018-07-30 09:20:37 +01:00
Christian Kenny
0efbd283c4 GameDB: Apply EE Clamp gamefix to Kenran Butousai. Fixes missing graphics. 2018-07-23 20:20:39 +02:00
Jonathan Li
1b5f2639a0 pcsx2:windows: Fix path issues
Fixes some issues with opening files if the path contains characters not
present in the current codepage.
2018-07-23 00:51:02 +01:00
Jonathan Li
219519b578 spu2-x:linux: Fix ini path issue
Fixes an issue with opening ini files when a non-ASCII path is used.
2018-07-23 00:51:02 +01:00
Jonathan Li
286e7293fa gsdx:windows: Fix screenshot/GS dump path issues
Fixes an issue with screenshots/GS dumps not saving if the path contains
characters not present in the current codepage.
2018-07-23 00:51:02 +01:00
Jonathan Li
c9dbd4118b misc-plugins:windows: Fix ini/log path issues
Fixes some issues with opening ini/log files when the path contains
characters that are not present in the current codepage for the
following plugins:
SPU2-X
LilyPad
cdvdGigaherz
Dev9null
USBnull
FWnull
2018-07-23 00:51:02 +01:00
Jonathan Li
27d0995a8b common: Add plugin compatibility file
Adds a helper function for converting UTF-8 to UTF-16 on Windows. Also
adds a fopen wrapper function for pathnames that may contain characters
that are not present in the current Windows codepage.
2018-07-23 00:51:02 +01:00
Jonathan Li
126bfa3ee7 dev9null|fwnull|usbnull:windows: Export *setLogDir
Now changing the log directory actually works.
2018-07-23 00:51:02 +01:00
Jonathan Li
b2ae86d142 pcsx2: Pass UTF-8 pathnames to plugins
Fixes empty log and ini directory paths being passed to the plugins on
Windows when the pathnames contain characters not present in the current
system codepage.

Fixes the inability to create snapshots when the pathname contains
non-ASCII characters on Linux (Windows requires more pathname handling
fixes).
2018-07-23 00:51:02 +01:00
ivan89el
d09737dbb5 GSdx: Adjust Spartan crc hack, add missing crc id. (#2510)
Adjust Spartan crc hack: Combine/ease the hacks in to one.
Only remove the glow/yellow bloom effect and don't skip any other effects that shouldn't be skipped. UI and some other post processing effects work properly now.

Add crc id CrashBandicootWoC RU.
2018-07-19 19:33:06 +02:00
Christian Kenny
6d1d32cd83 GSdx: Add Harry Potter Order of the Phoenix to automatic mipmapping. 2018-07-19 04:37:14 +02:00
Dmitry
dca7bf5edc GSdx: Add/adjust some CRC ids. (#2512)
Add some missing RU crc ids: Onimusha3, ICO, TombRaiderUnderworld, SoulReaver2, LegacyOfKainDefiance.

Removed crc id 7ACF7E03 and mentions of that id and it's duplicates. The id is from a multiloader when packing images, and not an actual crc id from a game(s).
2018-07-19 00:53:22 +02:00
ivan89el
4ebfceffd2 GSdx: Add some missing crc ids.
Add FinalFightStreetwise RU, SoulCalibur3 RU. Correcting the wrong id TenchuFS RU (the elf was modified widescreen cheat, sorry). Delite Kunoichi RU (the elf was modified widescreen cheat, the original coincides with the EU).
2018-07-15 22:03:08 +02:00
refractionpcsx2
69888e5ab0 EE Rec/Int: Removed micro optimisation in QFSRV/MSTAB/MSTAH. Reverted functionality to match the documentation. There were some scenarios that weren't really accounted for, like developers doing what they're told not to do. 2018-07-15 13:14:46 +01:00
refractionpcsx2
46662b0436 MFIFO: Fix Tadr position on END tags with data. An Empty interrupt needs to be fired at DMA end for FF7 DoC, but the formula doesn't work out normally since we don't increment TADR on END tags (due to Soul Calibur 2 & 3 breaking), so a special case is made for MFIFO 2018-07-14 14:32:02 +01:00
Christian Kenny
d300d85787 GameDB: Disable mVU Flag hack for Full Spectrum Warrior. Remove EE Timing hack from Full Spectrum Warrior games. (#2504)
Remove the EE Timing hack from the Full Spectrum Warrior Series, my tests show that it doesn't do anything.

Disable the mVU Flag Speedhack for Spectrum Warrior: Ten Hammers. This fixes bad graphics in FSW.
2018-07-12 22:35:02 +02:00
ivan89el
75264ee423 GSdx: Adjust Kunoichi crc hack (#2502)
Move a hack that removed burning/hot air effect. The effect is rendered properly but causes slowdowns so it's best to move it to aggressive for now.

Add comments explaining what the crc hacks do.
2018-07-12 20:31:24 +02:00
Jonathan Li
fb7c2c1837 dev9null|fwnull|usbnull: Switch to new null config code 2018-07-12 01:05:09 +01:00
Jonathan Li
9d4f8a322c common: Add common null plugin config code
This adds code that allows modifying the log options via the GUI
(Windows, Linux) and also saving and loading the log options in a
reusable form.
2018-07-12 01:05:09 +01:00
Jonathan Li
ac7cbdf6c3 dev9null|fwnull|usbnull:windows: Remove snprintf define
Not necessary anymore with recent VS versions.
2018-07-12 01:05:09 +01:00
Jonathan Li
7cdec614c7 dev9null|fwnull|usbnull: Remove *About()
It's unused.
2018-07-12 01:05:09 +01:00
Jonathan Li
43f461cc36 common: Remove PluginNullAbout
It's unused.
2018-07-12 01:05:09 +01:00
Jonathan Li
ceb383628b fwnull|usbnull: Remove unused Windows-specific stuff 2018-07-12 01:05:09 +01:00
Christian Kenny
278f6e5941 GameDB: Fix missing game board in Monopoly Party, add Gene Troopers 2018-07-09 22:58:48 +02:00
ivan89el
46866268ed GSdx: Add some missing crc ids. (#2498)
Kunoichi\Nightshade RU,
Tenchu Fatal Shadows RU,
Urban Reign RU,
Ghost In The Shell SOC RU.
2018-07-03 18:37:12 +02:00
atomic83GitHub
d73741c9b8 GameDB: Drakengard 2 fixes, Mvu flag fix for Full Spectrum Warrior and missing serials. (#2490)
This PR add an Emotion Engine clamping fix for Drakengard 2 (tested by Shadow Lady), and Mvu flag fix for Full Spectrum Warrior (Tested by CK1) along with missing serials entries.

It also adds MemCardFilter for Galaxy Angel II - Mugen Kairou no Kagi to be able to recognize the progression acquired from the first disc.
2018-07-02 22:52:56 +02:00
ivan89el
cbf8f22b62 GSdx: Adjust Ghost In The Shell SOC crc hack. (#2492)
Ease the crc hack and skip less effects, makes shadows and some other effects work properly.

The game experiences a bit more upscaling issues which can be resolved with Merge Sprite and Wild Arms offset HW hacks.
2018-07-02 22:42:56 +02:00
lightningterror
1fefb4897e GSdx: Add crc id for Shadow of Rome Demo (NTSC-U). 2018-07-01 04:34:08 +02:00
lightningterror
7b8d2d1945 GSdx: Add crc id for ICO Demo (NTSC-U). 2018-06-30 15:30:14 +02:00
lightningterror
be4b06ef3e GSdx: Add crc id for The Getaway Black Monday Demo (NTSC-U). 2018-06-30 14:13:06 +02:00
Robert Neumann
f41e5da94b IOP: VBlank handler small fix 2018-06-28 18:08:10 +02:00
atomic83GitHub
7761ec5584 GameDB: Various patches update. (#2487)
This PR brings some patches to fix various unplayable games (made by Prafull).
It also adds comments for Savage skies to warn users to use the interpreter + cache, a missing rounding fix for some versions of Shin Megami Tensei 3, and an Emotion Engine timing fix for NBA Shootout 2003 (tested by someother1ne).
2018-06-27 21:18:24 +02:00
Akash
bb1c225e66 Counters: Fix vsync hsync cycles calculation for rounding error
In games like ICO where the render and blanks both need to be rounded,
one was prioritized over the other one leading to a truncated value in
the total vsync cycles. This patch fixes it, it's more or less for a
trivial cycle accuracy rather than a signfifcant change which might
influence games. (Not sure, maybe it would?)

Potentially it might be nice to revamp the whole vertical blank
calculation system to make it more readable (discussed about this with
ref), but it's not of much priority right now.
2018-06-27 19:55:33 +05:30
lightningterror
387db6d4ba GSdx: Add Nicktoons Unite to Automatic Mipmapping.
Game is still broken but a bit better now.
2018-06-26 20:23:12 +02:00
lightningterror
5c483df3e8 GSdx: Add crc id for The Getaway Black Monday (NTSC-J). 2018-06-26 19:13:57 +02:00
lightningterror
2af05a92f8 GSdx: Add crc id for Ratchet And Clank 3 Regular Demo (NTSC-U). 2018-06-25 22:14:07 +02:00
lightningterror
f22843816b GSdx: Add crc id for Ratchet & Clank 2: Going Commando & Jak II Demo disc (NTSC-U). 2018-06-24 21:45:58 +02:00
Jonathan Li
54b0edbb13 ci: Update Travis CI configuration
Remove python dependency workaround.
Use clang 5 (provided by Travis CI).
Add GCC-8 and remove GCC-6.
Remove unused clang stuff in 64-bit script.
2018-06-22 01:22:34 +01:00
Jonathan Li
fa7822fbbf common: Call va_end after vfprintf in PluginLog
The C spec states that the va_arg argument value is indeterminate after
returning from vfprintf. va_end and va_start must be called before the
variable is reused.
2018-06-22 01:20:40 +01:00
refractionpcsx2
ba1689f6d6 Mild improvement to VIF MFIFO logging, got rid of a useless global variable \o/ 2018-06-20 22:01:10 +01:00
lightningterror
150b1e8423 GSdx: Add Sly 3 PAL demo crc id. 2018-06-18 21:02:44 +02:00
Luminar Light
74aefcb918 GameDB: Add Jak X Beta Trial to DB and a patch that makes it able to boot. (#2482) 2018-06-18 19:55:19 +02:00
lightningterror
abdd847fbe GSdx: Add some missing crc ids.
Ratchet And Clank NTSC-U: E3 Demo and EB Games Demo,
Soul Calibur 2 NTSC-U: Demo.
2018-06-18 00:53:49 +02:00
pgert
62b7097731 PCSX2: Update Scandinavian translations. (#2481) 2018-06-13 17:05:25 +02:00
Jonathan Li
6bd5afea8f cdvdgigaherz:gtk: Simplify GUI dialog
Avoid always setting the dialog to the centre of the screen - the GTK+3
documentation advises against it.
Avoid using a GUI callback - it's unnecessary since the value can just
be retrieved afterwards.
Simplify the GUI construction - a container to handle layout isn't
necessary due to the GUI's lack of complexity.
2018-06-11 02:15:47 +01:00
Jonathan Li
6778fa2b71 cdvdgigaherz: Replace use of deprecated wstring_convert
wstring_convert is deprecated in C++17. Use MultiByteToWideChar() and
WideCharToMultiByte() instead.
2018-06-11 02:15:47 +01:00
Jonathan Li
4ab97be693 cdvdgigaherz:windows: Adjust CD read success condition
IOCTL_SCSI_PASS_THROUGH_DIRECT will return success even if the read
fails (I'm not sure when it'll return failure). Assume the read is
successful only when the read length is correct.
2018-06-11 02:15:47 +01:00
Jonathan Li
83ffbc2d3d cdvdgigaherz: Remove unused mode parameter/member variables 2018-06-11 02:15:47 +01:00
lightningterror
2b9c368fa8 GSdx-d3d: Rearange PSSelector(GSDeviceDX.h).
Rearange PSSelector shader list in GSDeviceDX.h
to match GL format.

Easier to read and will make someone's life easier.
2018-06-11 01:08:36 +02:00
lightningterror
6f4212320b GameDB: Moorhuhn Fun Kart 2008.
Add Moorhuhn Fun Kart 2008 to DB.
eeClampMode = 3 // Fixes falling through ground.

Close #2479
2018-06-11 00:01:40 +02:00
lightningterror
bb5f989c05 GSdx: Purge leftover SSX3 crc ids no longer needed. 2018-06-10 18:34:24 +02:00
lightningterror
af3e55af63 GSdx: Also update Tekken 5 ntsc-j crc hacks to work on progressive mode. 2018-06-09 10:15:55 +02:00
lightningterror
1c58d5acff GSdx: CRC hacks for Tekken 5 NTSC-U should work on progressive mode as well now. 2018-06-08 22:54:56 +02:00
Robert Neumann
6f2ded8222 psxmode: move pgifInit() over to EE reset; start porting recent (later than ~2001) changes in CdRom.cpp, starting with labels; add a note on missing video timing recalculation when entering psxmode 2018-06-08 21:53:36 +02:00
Robert Neumann
30b722b807 psxmode: actually apply the new iop / cd read timings; add seek delays that mimic real ones; altogether this at least fixes fmv playing way too quickly (music in Chrono Cross intro is fine now, for example) 2018-06-08 03:57:14 +02:00
Akash
a9af0ee5a0 GameDB: Remove Rounding modes on Teen Titans
This isn't the right fix for this game, the text issue is caused due to a bug on GSdx depth test, and is not a
core issue. These rounding modes for some reason only partially alleviate the issue (https://forums.pcsx2.net/Thread-GSDX-Software-mode-Bug-Report-Teen-Titans-Load-Game-menu-not-displaying-text-where-it-should)
while not fully fixing it, ZeroGS on the other hand doesn't have this issue even without these rounding mode changes.

TL;DR - Issue is on GS, and it's troublesome when a GS issue is masked like this.
This reverts commit 4765770dc8.
2018-06-06 12:20:06 +05:30
Christian Kenny
4765770dc8 GameDB: Add gamefix to restore missing text in Teen Titans. 2018-06-05 18:58:17 +02:00
lightningterror
9c1224b045 GameDB: Add/adjust DOA2 Hardcore patch.
Add iop patch to fix the sound on the US version as well.
Original IOP EU patch by Kozarovv ported to US version by Refraction.
2018-06-02 12:55:25 +02:00
lightningterror
140a61692d GameDB: Add EE patches for Spyro NB/EN.
Add EE patches for Spyro New Beginning and Eternal Night NTSC/PAL.
Fixes HUD and menu display in hw/sw mode.
Original patches provided by Kozarovv, improved by Refraction.
2018-06-02 12:38:49 +02:00
lightningterror
f244706cc2 GSdx: Purge Spyro NB /EN hw hack fixes.
Purge Hw hack fixes for Spyro New Beginning and Eternal Night that fixed
HUD and menu display.
They will be replaced with EE patches in GameDB that work for both
software and hardware mode. A much better alternative and less GSdx
hacks.
2018-06-02 12:38:49 +02:00
lightningterror
ba463ed076 GSdx: Disable Alpha hack gui option on D3D9.
Hack is only used on D3D10/11.
2018-05-31 21:22:12 +02:00
Jonathan Li
61406a4349 cmake: Fix GSdx EGL build libX11-xcb linkage issue
Prevents a XGetXCBConnection undefined symbol error.
2018-05-31 01:02:26 +01:00
lightningterror
6ef793545d GSdx:Port better support of palette from GL to D3D10/11.
Port from commit b0af54d3

Fixes shadows in Star Ocean 3.

Note: It works properly on native res only just like on GL.
Upscaling will cause some issues.

Only Direct3D10/11 supports it, D3D9 doesn't support integer operations
so we can't reuse the code.
2018-05-30 14:47:06 +02:00
refractionpcsx2
c78b5b706d MFIFO: Refactor of some of the VIF/GIF MFIFO functionality. Centralised the MFIFO resume function which should have been separate anyway.
Added some more memory address safeguards.
Logging now makes a bit more sense to look at.
2018-05-30 01:29:23 +01:00
lightningterror
810bec2d65 GameDB: Clean up/reformat db a bit more.
Whitespaces and comments.

Slowly getting there.
2018-05-27 15:27:36 +02:00
atomic83GitHub
e0029270e3 GameDB: Rayman Revolution fixes + missing demo entry
This PR add an Emotion Engine Rounding fix Rayman Revolution (nearest).
- Tested by @atomic83github @prafullpcsx2 and @Helium-4

It also add a missing demo entry along with dedicaced comments for some demo issues.
[skip ci]
2018-05-27 10:45:36 +02:00
refractionpcsx2
823431599f Previous fix for Eragon was incorrect. Game makes PATH3 busy then performs a reset, allowing VIF to continue, this is the fix I should have made ;) 2018-05-26 16:00:37 +01:00
Timothy O'Barr
342c10bd85 PS1 mode: Adjustments to processor clock speed and CD read speed. (#2447)
switch IOP clock, CD read speed and EE/IOP cycle ratio for PSX mode
2018-05-26 13:20:02 +02:00
lightningterror
a6db486afe Gamedb: Clean up db partially.
Remove disabled patches for GT4 and Wallace & Gromit.
Reformat code (Adjust whitespaces, empty rows, code comments).

It should look much cleaner now, there's still a lot more to be done but
it's a good start.
2018-05-24 20:03:36 +02:00
lightningterror
48ebfea17b Gamedb: Add Giffifohack gamefix to NFL Street 3.
Fixes corrupted textures.
NTSC/PAL.
2018-05-23 18:10:54 +02:00
lightningterror
dc2779b385 GSdx: Adjust Sky Gunner crc hack.
Move hack back to Partial (GL level).
Huge vram usage on both gl and dx - maybe not a channel
effect or channel effect not yet detected.
2018-05-22 20:08:45 +02:00
lightningterror
8c2a79ab54 GSdx: Add some missing crc ids.
Sky Gunner US Regular and Trade Demo.
2018-05-22 20:05:14 +02:00
refractionpcsx2
6bf87d7eff VIF FIFO: Hacked the hack. Fixes Downtown Run. Tested all known games that need the hack, they still work *phew* 2018-05-21 21:54:00 +01:00
lightningterror
d900917bfa GSdx-OSD: Adjust messages.
Change font size from 32 to 28 default.
Change log speed from 6 to 4 default.
Change max log messages from 3 to 2 default.
2018-05-21 17:56:14 +02:00
lightningterror
c5f94fbced GSdx: Adjust Spyro New Beginning crc hack.
The hack should now work on the PAL version as well.
2018-05-21 02:33:46 +02:00
lightningterror
c4068e5188 GSdx: Update Spyro Hw fix/hack.
Revert merge of Spyro Eternal Night / New Beginning hw hack.
Update Spyro New Beginning hack - fixes menu/hud flicker in HW mode.

SW mode still has issues with the menu/hud elements.

Improve #1490
2018-05-20 16:30:32 +02:00
lightningterror
ff3052935e GSdx: Adjust Sonic Unleashed crc hacks.
Move crc hacks back to Partial (OpenGL) level.
Game experiences improper texture shuffle emulation and half screen
bottom issue.
2018-05-19 08:48:24 +02:00
refractionpcsx2
9b82449542 Fixed optimisation problem on branch in branch delay slot. Fixes Dropship - United Peace Force. Props to MrCK1 for finding the issue. 2018-05-19 02:23:58 +01:00
lightningterror
290397d1af GSdx: Add a missing crc id for CrashNburn EU. 2018-05-16 01:09:56 +02:00
atomic83GitHub
ade38d4f85 GameDB: Code cleanup/ Vampire Night EE Timing Hack removal/ Armored Core fixes
This commit remove the EETimingHack for Vampire Night wich is not anymore needed due to a fix in PCSX2 0.99, add fixes for various Armored core games as well as some code cleanup.
[skip ci]
2018-05-15 23:30:56 +02:00
Christian Kenny
8b6751943e GSdx: Remove Hummer Badlands CRC Hack. 2018-05-15 20:52:05 +02:00
Jonathan Li
171e7f016d common: Work around GCC8 _xgetbv bug
clang and earlier GCC versions do not provide the _xgetbv intrinsic.
GCC8 does, but unfortunately it's broken.
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85684).

Re-use our _xgetbv implementation to avoid the bug, but rename it to
avoid compilation errors as well.
2018-05-12 12:05:20 +01:00
pgert
5ec5265ec4 GameDB: Scarface and Harry Potter COS Updates. (#2431)
Add ScarfaceIbitHack gamefix to Scarface The World Is Yours (NTSC-U) SLUS-21111 and SLUS-21492.
Change Scarface Compatibility to 5 to the above two games.

Add code comments to Harry Potter and the Chamber of Secrets (PAL) SLES-51192 and (NTSC-U) SLUS-20576 explaining that they both share the same CRC id.
2018-05-11 20:40:03 +02:00
lightningterror
78af562897 GameDB: Update Dead or Alive 2 gamefix patch.
Update the patch for Dead or Alive 2 Hardcore.
Previously the patch had a side effect of removing all sound effects in
the game, this new patch doesn't have that issue.
The patch was improved by kozarovv.

This patch is for the PAL version SCES-50003.
2018-05-10 23:24:18 +02:00
lightningterror
a17b0e5364 [skip ci] GSDumpGui: Adjust copyright information.
Add copyright header information to files that didn't
have any. The info is copied from files that already
had copyright information.

Add info for Alessio when he last commited.
Add PCSX2 Dev Team in copyright information.
2018-05-10 14:47:30 +03:00
lightningterror
3a8857a782 GSdx: Adjust crc hacks for Big Mutha Truckers.
Move crc hacks back to OpenGL(Partial) level.

Game experiences a half screen bottom issue and vertical stripes.
2018-05-09 18:42:49 +02:00
lightningterror
fbc0b1849d GSdx: Adjust crc hacks for Heavy Metal Thunder.
Move the hacks to DX Level(Full). OpenGL renders the effects properly
with Depth Emulation.
2018-05-09 00:07:59 +02:00
Christian Kenny
35a2c59181 GameDB: Add Prafull's Patch for Klonoa 2.
Adds an IPU patch to Klonoa 2 to prevent hanging in Volk City. Temporary workaround for #2349.
2018-05-07 18:34:25 +02:00
Jonathan Li
8f6a3d9fe8 gsdx: remove DirectCompute backend
It hasn't been accessible since OpenCL was added, and it was barely
updated since it was introduced.
2018-05-06 02:01:22 +01:00
Jonathan Li
15efe69e46 common: Fix multiple _xgetbv() error on GCC 8
GCC 8 now provides _xgetbv, so avoid using our own definition in that
case.
2018-05-06 00:52:47 +01:00
lightningterror
191219f7d8 GSdx: Purge crc ids/games no longer needed.
The following games in the crc list are not used anywhere so
we can clean this list up. If some are needed in the future then
they can be re added.

List of removed games:
CaptainTsubasa,
Dororo,
HarvestMoon,
Jak1,
JamesBondEverythingOrNothing,
NamcoXCapcom,
SDGundamGGeneration,
SeintoSeiya,
SengokuBasara,
SilentHill2,
SilentHill3,
Siren,
TalesofDestiny,
VF4,
VF4EVO.
2018-05-05 23:21:34 +02:00
Gregory Hainaut
1f21945d52 i10n: update mo files 2018-05-05 19:28:40 +02:00
lightningterror
e606958a43 Gsdx: Remove Captain Tsubasa crc hacks.
The crc hack broke graphics ingame, causing flickering/transparent
textures and other similar issues.

On a side note the game experiences upscaling issues that can be fixed
with Half Pixel offset hack.
2018-05-05 00:10:11 +02:00
lightningterror
34a94990c4 GSdx: Adjust crc ids.
Add a missing crc id for Captain Tsubasa-JP.
Rename WildArms5 to WildArms4 for crc 565B6170 Jap,
it was incorrect.
2018-05-05 00:10:11 +02:00
lightningterror
3f916f440a GameDB: Add Harry Potter patch for the PAL version.
Makes the PAL version playable as well.
Patch is the same as NTSC version including CRC.
2018-05-03 00:32:03 +02:00
pgert
4de2df2865 GameDB: Minor info-alterations (#2379)
* GameDB: Minor info-alterations

* CRC removal

* Correction of a regional-code.

* Deleted some incorrect info

* Oops - re-added some info

* Minor alterations.

* A minor alteration.

* Minor alterations.
2018-05-02 14:09:48 +02:00
lightningterror
a3f07e6baf GameDB: Add XgKickHack for Crash Twinsanity (NTSC-J).
Fixes bad geometry on character.
Follow up from #2372
2018-05-01 00:05:58 +02:00
Jonathan Li
17027c16cd gsdx-legacy: Copy GSdx baseclasses changes
So it compiles. Bit of a pain though.
2018-04-29 02:19:17 +01:00
Jonathan Li
ab9bdb009b baseclasses: Move from unfree to 3rdparty
Update it to the version found at
https://github.com/Microsoft/Windows-classic-samples , which is in an
MIT licensed repo, and add the LICENSE file (edited to remove the SIL
Open Font LICENSE part since that doesn't apply).

Some modifications have been made to reduce the diff/stop git
complaining (not including any file that wasn't in the previous version
and removing the related header includes in streams.h, and fixing some
but not all of the whitespace issues).
2018-04-29 02:19:17 +01:00
Jonathan Li
b84b2808f4 baseclasses|gsdx: Move code from baseclasses to GSdx
Moved code seems to be from Gabest. Only the code that is currently used
has been kept.
2018-04-29 02:19:17 +01:00
Jonathan Li
7ea0273119 gsdx: Remove code that does nothing 2018-04-29 02:19:17 +01:00
Jonathan Li
dc53278163 pcsx2: Remove theming support
It's incomplete, and there's not much that is actually themeable
(basically only the background logo and icons can be changed).
2018-04-28 01:18:12 +01:00
lightningterror
6496e6db11 Gsdx: Adjust Front Mission 5 crc hacks.
Move CRC hacks do DX level.

Hack that fixes shadows:
Shadows/glitchy black ground textures can be fixed with Preload Frame Data.

Hack that removed vertical stripes:
D3D10/11 correctly emulates texture shuffle but also needs depth support.
2018-04-27 17:59:24 +01:00
Jonathan Li
1d7cef08a7 pcsx2: Fix potential return of uninitialised value 2018-04-26 01:15:44 +01:00
Jonathan Li
908a37598c pcsx2: Use enums instead of hardcoded integer
Might prevent future breakage.
2018-04-26 01:15:44 +01:00
lightningterror
c8c9731262 GSdx: Update D3D fbmask emulation on texture shuffle.
Improves accuracy on Sly series.

Rendering is still bad and needs a lot more work but
it's a little bit better.
2018-04-24 22:42:59 +01:00
lightningterror
0f5d3d2f1b GSdx: Add Sly 3 demos crc ids.
Regular Demo US,
E3 Demo US.
2018-04-22 23:51:56 +01:00
Christian Kenny
011cd90fbe GameDB: Add vuClampMode hack/remove eeClampMode hack for Pac-Man World Rally. Fixes bad geometry. This also replaces the EEClampMode hack in the NTSC-U release which didn't appear to do anything. 2018-04-19 12:19:40 +01:00
Ryudo300
f99711cdc2 PCSX2-GUI: 'About' Logo
Updated the About page's logo to match our current logo.
2018-04-17 12:29:49 +01:00
Ryudo300
630177ef4c PCSX2-GUI
BackgroundLogo update, also in preparation for use in other places. Used zopflipng to compress the file.
2018-04-16 16:28:49 +01:00
Christian Kenny
28fd47dd22 Add missing names to About Box, removed duplicate, misc. formatting 2018-04-15 18:56:50 +01:00
Christian Kenny
2c11acf40c GameDB: Add vuClampMode hack to Katamari/SkipMPEGHack to Arctic Thunder. 2018-04-15 18:55:43 +01:00
lightningterror
230a497a12 GSdx-TC: Don't skip depth lookup on Jackie Chan Adv and SVC Chaos.
Don't skip draw calls on Jackie Chan Adv and SVC Chaos,
fixes regressions on Jackie Chan Adv and SVC Chaos.

Gregory: The correct fix would be to trace all textures writes to
be sure of the source. But it is a much bigger work.
2018-04-15 00:42:07 +01:00
lightningterror
6073a26f5d GSdx: Add some missing crc ids.
Add SVC Chaos: SNK vs. Capcom EU/JP,
Add Jackie Chan Adventures EU.
2018-04-15 00:42:07 +01:00
lightningterror
b622474adb Update widescreen patches/cheats.
This syncs the cheats_ws.zip widescreen patches archive with Devina's
archive from 22.02.2018.

Compared to the previous content of cheats_ws.zip:
- 4 files deleted 9C4BA2CE, 113035B9E, C565E79E and duplicate 1429EB9F (2)
- 142 files modified
- 760 new files
- 2294 files identical to before
- 28 files that were removed from the forum archive that contained hunting/fishing
games have been re added. Separate archive provied by FlatOut.

The zip now has a total of 3200 patch files, compared to 2440 before.

7zip with the Ultra compression method was used to compress the archive.
2018-04-14 23:41:42 +01:00
TotalCaesar659
834cd08f8c Updated Russian translation (#2377)
Updated Russian translation
2018-04-13 21:16:33 +01:00
lightningterror
0e329347cf PCSX2: Update gamefix tooltip.
Remove mention of Crash Tag Team Racing from VU I bit gamefix tooltip.
Not needed since the gamefix has been removed for the game as it causes
more issues.
2018-04-11 19:37:29 +01:00
lightningterror
e27ef3c081 GameDB: Revert Crash Tag Team Racing gamefix.
Revert ScarfaceIbitHack Gamefix.
Regression was introduced in #2326.
Caused hard freezes making the game unplayable and required an emulator
restart without gamefixes enabled.
Without the fix the game experiences short freezes but the game is still
playable.
2018-04-10 20:43:56 +01:00
Christian Kenny
1292cd505e GameDB: Add XgKickHack for Crash Twinsanity (NTSC-U) 2018-04-07 02:21:16 +01:00
lightningterror
0e39caaad3 GSdx: Adjust Naruto series crc hacks
Purge CRC hacks that removed lighting on maps.
Games: Naruto - Narutimate Hero 3,
Naruto Shippuuden: Narutimate Accel.
2018-04-03 16:01:22 +01:00
lightningterror
b6a73f6db3 Gsdx: Add some missing crc ids.
Tenchu Fatal Shadows US,
God Hand EU,
The Getaway EU,
The Getaway Black Monday EU.
2018-04-02 11:39:45 +01:00
lightningterror
4cb164b795 GSdx: Adjust CRC hacks.
Purge Sengoku Basara crc hacks. Texture shuffle is emulated correctly on
d3d11/ogl. d3d9 skips the bad draw call.

Move Eternal Poison crc hack to d3d level. Not needed on ogl since
the game is emulated correctly.

Move hack that removes texture shuffle for Demon Stoneback back to ogl level,
half screen bottom issue remains.

Extent CRC hack for The Getaway and The Getaway Black Monday to work on
EU regions.
2018-04-02 11:39:45 +01:00
FlatOutPS2
ee3038c5b7 SPU2-X: Fix UI regression
Fixes regression. Audio Expansion Mode was no longer available in the UI when using XAudio2 on Windows versions before 8.
2018-03-31 00:52:18 +01:00
lightningterror
efc1274b2c GameDB: Add Quake 3 Revolution patch.
Removes intro and end credits FMVs.
Fixes hanging caused by FMVs.[skip ci]
2018-03-27 15:33:00 +01:00
lightningterror
014e27bc20 GSdx: Add Quak3 Revolution to Automatic mipmapping. 2018-03-27 15:11:08 +02:00
lightningterror
312db7755b GSdx: Adjust CRC hacks.
Move CRC hack that removed shadows to Aggressive, shadows are misaligned
when upscaling - can be fixed with HPO. We can use the hack as a
speedhack for Aggressive state.

Add correct FBP code for Sly 2 E3 Demo. CRC hack should work properly now.

Purge God of War 1/2 CRC hacks that fixed/removed the vertical red lines.
No longer needed since the issue is fixed accross all renders.
Also useless to be kept for speedhacks.
2018-03-27 15:11:08 +02:00
lightningterror
9769f19ebe GSdx: Remove fbmask handle in GSRendererDX.
It's already handled in texture shuffle code.
2018-03-27 15:11:08 +02:00
lightningterror
0e83b89dbd GSdx-D3D: Texture and channel shuffle improvements.
Texture Shuffle changes:
Always Enable Texture shuffle on D3D10/11.
Previously Texture shuffle was enabled if CRC hack
level was below Full, this was kinda not good since
D3D also relies on CRC hacks on Full so you could either
stick with texture shuffle or crc hacks.

Texture shuffle is not supported on D3D9, however we can do a partial
port where instead of vertical lines with the effect we get the effect
on the entire screen. Better than nothing I suppose.

Ported some of the code from OpenGL to D3D
( just a copy - paste job :) ),
part of the code misses a dedicated shader but we can still
use it to fix various issues on many games.

List of affected games tested so far:
The Godfather, Final Fight Streetwise, The Suffering Ties that Bind,
Urban Chaos have their vertical lines issues fixed
(highly possible for other games as well), MGS and Stolen see an improvement
but they are still broken without crc hacks. Other games that suffered
similar issues are probably affected as well.

Channel Shuffle changes:
Update Channel Shuffle detection. A lot of games should see an improvement,
MGS, Urban Chaos, Stolen have their top left corner issues resolved.
Other games should be affected as well that use similar logic.
They still miss a shader so some effects are still broken/show glitches
but it's a nice improvement for D3D users.

Shared changes:
Texture Shuffle and Channel shuffle have been moved to their
own dedicated functions. Should make things a bit cleaner.

Move part of the code for Texture Shuffle to GSRendererHW to be shared
across all HW renderers, should aboid copy paste/duplicate code.
2018-03-23 13:38:34 +01:00
lightningterror
2ad5db2279 GSdx Adjust/Replace crc hack for Final Fight Streetwise.
Replace/remove an old crc hack that was used to fix the red vertical
lines issue, the hack is no longer needed. The new hack removes depth
effects on D3D only.
Note: The game has another vertical lines issue that can be fixed with
texture shuffle on D3D.

Add comments to Simple2000Vol114 explaining what the hacks do.
2018-03-22 14:46:31 +01:00
lightningterror
99350d6caa GSdx: Add some missing crc ids.
Sly 2 E3 Demo US, Sly 2 JP.
2018-03-22 14:46:31 +01:00
refractionpcsx2
1f0de9a1ce Merge pull request #2332 from atomic83GitHub/Patches-fix
GameDB: Patch update for multiple games. Closes #1496
2018-03-20 10:12:12 +00:00
Christian Kenny
40f7d6c95b GSdx: Add Shox to Automatic Mipmapping 2018-03-19 01:00:26 +05:30
atomic83GitHub
f6637ff958 GameDB: Updates
-Removed patches for Drakan - The Ancients' Gates, out of place hack for a hardware renderer issue.
-Added patch for Yoake no Mariko 2nd Act, fixes initial hang.
-Added patch for Batman Vengeance (PAL), fixes hang in certain scenarios.
-Added patch for Weakest Link, fixes game hanging at start.
-Added patch for Crashed, fixes hang at start and ingame.
-Added patch for Titeuf Mega Compet, fixes Sheep screen freeze.
-Added patch for The Spiderwick Chronicles, fixes hang at boot.
-Added patch for Drift Champ, fixes the hang at start of chapter 2.
-Added patch for Ice Age 2 (NTSC-J), fixes intro screen freeze.
-Added patch for Harry Potter and The Chamber of Secrets (NTSC-U - NTSC-J), fixes initial/ingame hang, flickering graphics and speed up loading.
-Added patch for Mafia (NTSC-U), fixes hang before molotov party and a crash in The priest mission.
-Added patch for ESPN - College Hoops 2K5, fixes hang at loading.
-Added patch for Harvest Moon - A Wonderful Life [Special Edition], fixes hang at shipping shed.
-Added patch and EE Timing Hack for Ruff Trigger - Vancore Conspiracy, fixes ingame freeze.
-Added patch for Major League Baseball 2K5 [World Series Edition], fixes hang at start.
-Code reformatting, cleaned up comments/whitespaces.
[skip ci]
2018-03-15 22:03:10 +01:00
lightningterror
6aaae6970e GSdx: Cleanup hacks in GSRendererHW.
Merge identical code for Spyro Games in to one to avoid duplicate code.

Rename hacks name for Jak series from OO_Jak to OO_JakGames since there
are multiple games added.
2018-03-13 18:56:30 +05:30
lightningterror
f4fa115c82 GSdx: Remove GT3/Concept CRC Hacks.
This follows PR #2304.
The CRC hacks are no longer needed due to the partial port of channel
shuffle on D3D.
They cause higher vram spikes  now.
2018-03-13 18:56:30 +05:30
lightningterror
bd0947e7a3 GSdx: Add/adjust CRC ids.
This follows PR #2330.

Add some missing regions: Tomb Raider Legend JP,
StarWars Force Unleashed EU, SuperMan Returns EU, Valkyrie Profile 2 FR.

Rename GT3/Concept titles, they were incorrect.

Adjust Harley Davidson region id from NoRegion to US.

Add some missing regions to automatic mipmapping:
FIFA 03 US, FIFA 04 EU, FIFA 05 EU.

Reformat a few comments.
2018-03-13 18:56:30 +05:30
pgert
432999fae8 PCSX2: Minor lingual correction on tooltip (#2328)
Small correction to trace logging tooltip string.
2018-03-08 23:24:37 +05:30
refractionpcsx2
6d7e2c56d9 Gif: Allow flag setting for PRIM/REG transfers on 0 length packets. Fixes Reservoir Dogs 2018-03-07 22:23:01 +00:00
Christian Kenny
f6e4a3081d Console Window: Reset the titlebar when the VM is shutdown. 2018-03-05 20:17:01 +05:30
refractionpcsx2
de1584b9f2 Merge pull request #2334 from MrCK1/gamedb_spongebob
GameDB: Add GIF FIFO hack for Spongebob: Creature From the Krusty Krab
2018-03-05 08:49:14 +00:00
Christian Kenny
a132d923ce GameDB: Add GIF FIFO hack for Spongebob SquarePants: Creature From the Krusty Krab (fixes bad graphics) [skip ci] 2018-03-04 14:51:43 -05:00
lightningterror
73f1d7d099 GSdx: Rename HW hacks drop list options.
Add "Default" nametag for default list options for the hacks: Sprite,
Round Sprite, GL Advanced settings, HPO.

Should help users know which options are the default ones with less
confusion.
2018-03-04 20:54:10 +05:30
Christian Kenny
a9168fed56 PCSX2: Remove the "DisableOutput" option. (#2298)
It's been broken/unused for some time.
2018-03-04 14:03:50 +00:00
refractionpcsx2
084530eeca Merge pull request #2122 from PCSX2/target_load
GSdx-TC: Fix load size calculation in target update Fixes #1972 Fixes #2110 Fixes #2138
2018-03-03 03:31:25 +00:00
Jonathan Li
fb4f274882 gsdx: Remove inappropriate comment 2018-03-02 23:41:46 +00:00
lightningterror
38aa4e1745 GSdx: GSCrc.cpp reformat comments and whitespaces. 2018-03-02 10:10:31 +05:30
lightningterror
2be9cf060d GSdx: Add/adjust CRC ids.
Add CRC id for FFXII US, SFEX3 EU,
GT4 CH and GT4 Online Beta US.
Adjust BullyCC region from US to EU.

Add Missing regions for Ratchet & Clank,
Ace Combat, Destroy All Humans and Soul Reaver
series to Automatic Mipmapping.
2018-03-02 10:10:31 +05:30
Jonathan Li
faa4be49c7 gui: Fix trace logging panel misc section behaviour
This enables/disables the misc section when the master trace log toggle
checkbox has changed state.
2018-02-28 01:19:12 +00:00
Jonathan Li
8dfeeb354f pcsx2: Fix Trace Logging enable/disable behaviour
This disables SIF logging if the master trace logging switch has been
disabled.
2018-02-28 01:19:12 +00:00
Jonathan Li
c3dbc4e945 gui: Fix apply button on Trace Logging dialog
Instead of binding all checkbox events to an event handler, bind only
the master trace log toggle checkbox event and continue processing the
event after it has been handled. This fixes the non-functional apply
button and is also more efficient.
2018-02-28 01:19:12 +00:00
Jonathan Li
629bb23832 utilities: Fix CheckedStaticBox behaviour
Avoid enabling the child windows when SetValue is called if the window
is currently disabled.

Also continue processing the checkbox event after it has been handled,
which allows the event to propagate to the parent window.
2018-02-28 01:19:12 +00:00
refractionpcsx2
ff68ad61e7 Merge pull request #2309 from pgert/master
GameDB: Scarface
2018-02-27 18:40:44 +00:00
atomic83GitHub
0c20385ccf Fr translation update (#2270)
update the Fr translation.
2018-02-27 17:25:57 +00:00
refractionpcsx2
ed0fba174e Merge pull request #2231 from atomic83GitHub/Beyond-good-and-evil-fix
GameDB: Max Payne, Klonoa 2, Evolution Snowboarding, Mana Khemia and Fifa Street 2 fixes
2018-02-27 17:24:06 +00:00
refractionpcsx2
b3a1345bb8 Merge pull request #2326 from FlatOutPS2/1_GameIndex
GameDB: Update Crash Tag Team Racing
2018-02-27 17:20:11 +00:00
FlatOutPS2
41f6337bfa GameDB: Update Crash Tag Team Racing
Fixes performance drops and short freezes in adventure mode.

Alas, there is no Crash Tag Team Wrestling, so I replaced it with the
correct title.

Updates Gamefixes Panel entry of VU I bit Hack.

Closes #1785
2018-02-27 01:06:30 +01:00
bositman
333e0cc82f Merge pull request #2302 from MrCK1/gamedb_ck1
GameDB: VU rounding fixes for Guitar Hero series and Hitman Contracts.
2018-02-25 16:50:57 +02:00
bositman
afd6541ca4 Merge pull request #2324 from altiereslima/master
Portuguese-BR translation update
2018-02-24 22:59:44 +02:00
altiereslima
de0f36fe78 Portuguese-BR translation update 2018-02-23 23:12:45 -03:00
Christian Kenny
ee57605f77 GameDB: VU rounding fixes for Guitar Hero series and Hitman Contracts.
Guitar Hero Series: Fix cut-off numbers and restore missing whitespace in combo meter

Hitman Contracts: Fix missing light shafts under lamps
2018-02-22 19:00:24 -05:00
Christian Kenny
10ebe16653 GSdx (OGL HW): Perform a texture shuffle when the address of the framebuffer and the texture are the same.
Tomb Raider: Angel of Darkness relies on this behavior to produce a distance fog effect.

Closes #2215
2018-02-22 00:20:54 +05:30
FlatOutPS2
c1fd01545a GSdx: Remove GT4/Tourist Trophy CRC hacks
Removes GT4/Tourist Trophy CRC hacks. The hack had already been moved to
aggressive due to VRAM spike issues, but is no longer necessary at all
due to the in-game brightness/contrast setting issue being moved to
behind the frame buffer conversion hack for Direct3D and being resolved for OpenGL.
2018-02-21 17:08:48 +05:30
lightningterror
768a4412d5 Gsdx: Adjust Ikkitousen CRC hacks.
Move hacks that disabled shadows to DX level since OpenGL renders
shadows properly with Depth Emulation.

Some other upscaling issues appear with the disabled hack like a small
black border on the bottom of the screen or some ui elements but those
can be fixed with TC X,Y Offset hack.
2018-02-21 17:06:16 +05:30
refractionpcsx2
64442379aa Merge pull request #2251 from atomic83GitHub/Game-db-Missing-games-add
GameDB: Final Fantasy X fix Closes #760
2018-02-20 19:25:48 +00:00
Huud
4e3730f8f4 Utilities: Fix subtraction operation function in FixedInt class (#2313) 2018-02-20 15:39:34 +05:30
atomic83GitHub
7667635752 GameDB: Fix for many games
EE clamping mode to full fix Max Payne from crashing and freezing. Tested on NTSC-U/Pal-M4

VU clamping mode to extra fix some reflection issues in Klonoa 2. Tested on Pal-M5

OPHflaghack fix the "press start" screen from freezing in Evolution Snowboarding. Tested by MrCK1 on NTSC-U

EE round mode to nearest fix some jumping issue in Mana Khemia. Tested by Schtolteheim (PCSX2 forum) on NTSC-U

Gif fifo hack fix some flag corruptions and characters garbages ingame on Fifa Street 2. Tested on Pal-M6
[skip ci]
2018-02-16 20:41:31 +01:00
atomic83GitHub
78d4e5a3bf Final Fantasy X fix, Compat update
EEround mode to negative for Final Fantasy X (fix reverse boss/gameplay issue).
[skip ci]
2018-02-16 20:36:00 +01:00
pgert
5aba06f354 More Relocations 2018-02-15 13:41:59 +01:00
pgert
b8257d2c58 Relocations 2018-02-14 17:09:33 +01:00
pgert
15c9006f0d GameDB: Scarface 2018-02-13 16:38:57 +01:00
Jonathan Li
41c49faa81 cmake: Improve wxWidgets and SDL linkage check
If wxWidgets is linked to SDL, check what version it's actually linked
against instead of assuming it's linked to SDL1.2 (which isn't true on
Fedora 27).
2018-02-13 12:26:00 +01:00
Akash
c23241c5f4 PCSX2-Counters: Fix rounding of blank and render
I guess the intention of the older logic was to get the truncated part
by comparing with the original value, but that went wrong due to using
the pre-normalized value (before the division) for comparison.

Hence let's just do a modulo for rounding the render and blank.
2018-02-10 16:10:41 +05:30
Akash
785fe6b2e3 Counters: Fix Hblank calculation for DVD videmodes
Previously, the DVD variant NTSC/PAL modes used the horizontal blanking
interval calculation algorithm used by digital video modes, which
shouldn't be used and also rounding error check was neglected.

Added the DVD variant modes to the list in analog video mode finder
subroutine. This should impact timing/vertical synchronization in PSX
games significantly.
2018-02-08 15:56:00 +05:30
refractionpcsx2
5fdc9da885 Merge pull request #2299 from FlatOutPS2/1_GameIndex
GameDB: Update Silent Hill 3
2018-02-07 22:15:01 +00:00
FlatOutPS2
ca22aadca9 GameDB: Update Silent Hill 3
Adds vuClampMode = 2

This fixes some lighting/shadow artefacts. Most light sources like the
Flashlight are unaffected and don't cause any artefacts.
2018-02-06 22:37:01 +01:00
Akash
b10c357065 GSdx-TC: Fix load size calculation in target update
Previously, the calculation for the size of data to be loaded was done
based on the rendering target buffer size and scaling multiplier, which
was totally wrong. This led to different resolutions having different
load sizes while the size of the real GS memory is common regardless of
the scaling variancies.

Hence use the default rendering target buffer size for the load size
independent of the scaling values. I've also removed a buffer height saturation
code which seemed unreliable.

Note: The accurate version of the code can be enabled using the macro
provided in config.h (which is more intensive on resources), the current
code goes along with the approach of maintaining a decent performance
level along with a formidable accuracy.
2018-02-06 18:00:22 +05:30
Jonathan Li
743caf46f2 pcsx2: Fix string truncation on Windows 2018-02-06 00:04:52 +00:00
Jonathan Li
f64488f818 gsdx:d3d: Fix fbmask conversion on texture shuffle
Port of 6580f4922f.
2018-02-06 00:03:25 +00:00
Jonathan Li
75c803df11 cdvdgigaherz:windows: Refactor to use early returns 2018-02-05 23:31:24 +00:00
Jonathan Li
5c158b4df9 cdvdgigaherz:windows: Avoid unneeded DVD ioctls
Avoid using the IOCTL_DVD_START_SESSION and IOCTL_DVD_END_SESSION ioctls
- it's not necessary to obtain an Authentication Grant ID (AGID) before
requesting the DVD physical format layer descriptor.
2018-02-05 23:31:24 +00:00
lightningterror
85c59fdb5e GSdx: Adjust DBZ BT2 CRC hack and id, add R&C3 EU to Automatic Mipmap.
Adjust region id for BT2.
Move the sky texture(depth) hack back to Partial level only for the EU
regions.  Effect is still not rendered correctly and causes a half
screen bottom issue.

Add R&C3 EU to Automatic Mipmapping.
2018-02-05 23:03:19 +00:00
lightningterror
86a8cbf402 GSdx: Change Skipdraw Maximum limit value.
Previously the limit was 1000, now 10000 in the GUI. It should help in
some rare cases where a higher number is needed without the need of ini
editing and value reset issues caused by the GUI.
2018-02-05 23:03:19 +00:00
Christian Kenny
94b822df3b Resolve cases where GUI values are not updated when adjusting sliders with the scroll wheel. 2018-02-05 22:49:09 +00:00
Christian Kenny
a5db116d00 Remove unused 'About Box' references on Linux and Windows from SPU2-X/CMakeLists, ect. 2018-02-05 22:49:09 +00:00
Christian Kenny
168402217f Make GUI more user-friendly by disabling some options when they aren't used. 2018-02-05 22:49:09 +00:00
FlatOutPS2
af74a75c54 Plugins: Move Xpad and USBqemu plugins to old plugins solution
The XPad plugin has been superseded by the LilyPad plugin, and is known
to cause control issues.

The USBqemu plugin is an dead plugin with no functionality.

Close #106
Close #2293
2018-02-05 22:34:29 +00:00
viciousShadow
27c45fc995 pcsx2: Fix copy bytes patch command
This adjusts the copy bytes command format from
5aaaaaaa nnnnnnnn
00000000 bbbbbbbb
to
5aaaaaaa nnnnnnnn
bbbbbbbb 00000000
so that it matches the copy bytes command format used by PS2 cheat
devices (GS/CB/XP/AR2).
2018-02-05 00:56:59 +00:00
FlatOutPS2
8600ada735 PCSX2: Avoid SYSTEM.CNF error message in PSX mode (#2286)
Avoid error on non-empty last line of file.
2018-02-03 16:08:49 +01:00
bositman
081676bcd8 Merge pull request #2276 from altiereslima/master
Portuguese-BR translation update
2018-02-02 15:03:05 +02:00
lightningterror
ab44ebd7e0 PCSX2: Add configurable Cheats folder to Components Selectors.
Add GUI option to Plugins Components Selectors to change the default
"Cheats" folder location. Similar to savestates/logs/..etc.
2018-01-27 23:26:11 +00:00
Jonathan Li
eeca9f61bf cdvd: Fix writing of CD blockdumps
Write the full CD sector (not including subchannels) to a blockdump
instead of just a partial CD sector that isn't offset correctly.
2018-01-27 22:28:29 +00:00
Jonathan Li
79d57e2949 cdvd: Fix and switch to writing v2 format blockdumps
Switch to using vector for the dump sector table, and also fix a bug
where memory was not allocated when writing to a v2 format block dump,
causing a null pointer dereference.

Also switch to using the v2 block dump format, which generally produces
smaller dump files (the dumps also seem smaller than the ones generated
by cdvdiso, which seems to repeat sectors).
2018-01-27 22:28:29 +00:00
refractionpcsx2
f7c0a910f8 Gif: Don't set state on NOP packet. Fixes #2277 2018-01-26 23:02:23 +00:00
altiereslima
63bbe55ecd Portuguese-BR translation update 2018-01-24 23:14:18 -02:00
FlatOutPS2
24b83fd96c PCSX2: Memory card minor code improvements
- Adds tooltip for Convert memory card button in the memory card dialog
- Updates several memory card console writes.
- Adds 2018 copyrights to the updated files
2018-01-18 23:04:50 +00:00
FlatOutPS2
c749f961ef PCSX2: Add keyboard shortcuts to memory card dialog right-click menu 2018-01-18 23:04:50 +00:00
FlatOutPS2
1ad6fd8297 PCSX2: Update PSX memory card file extension
Changes the file extension used by PSX memory cards to the common .mcr
instead of using the same (.ps2) extension used by PS2 memory cards.

Updates the extension listed in Create memory card dialog when a PSX or
PS2 memory card is selected.
2018-01-18 23:04:50 +00:00
FlatOutPS2
f8e2c65cef PCSX2: Replace PSX memory card checkbox
Replaces the awkward checkbox for a PSX memory card in the bottom left
of the Create Memory Card dialog with a radio button like the other
memory card types.
2018-01-18 23:04:50 +00:00
lightningterror
acc9530d66 GSDumpGUI: Update the GUI interface
Rearranged/updated many GUI elements.
Reduce height of window to make it more appealing for laptop users.
Add OpenGL HW/SW options to Renderer Override.

[skip ci]
2018-01-18 21:50:54 +00:00
lightningterror
039d035952 gsdumpgui: s/GSDX/GSdx/ 2018-01-18 21:50:54 +00:00
Jonathan Li
8fff11fdee gsdumpgui: Improve renderer override handling
Instead of faffing around with strings and having to handle a lot of
edge cases when trying to override the renderer, just let
WritePrivateProfileString do all the hard work for us instead.
2018-01-18 21:50:54 +00:00
Jonathan Li
fad0a2a55f cmake: Remove old macro substitution workaround
The workaround was used to prevent macro substitution occuring on paths
containing "linux", but it's no longer necessary since "linux" is not
set as a predefined macro when a "-std=" option is passed to gcc.

Fixes #2268.
2018-01-18 20:50:58 +00:00
Russ K
43d0bd99cb Enhance "Assemble Opcode" to be pre-populated by existing instruction. (#2244) 2018-01-14 02:47:00 +01:00
lightningterror
4aa25c4971 GSdx: Disable Merge Sprite on native resolution.
Previously if HW hacks were enabled Merge Sprite was active(if checked) on
native resolution even if the GUI option was disabled, which in result
caused glitches in games on native resolution.

This should address that issue.
2018-01-13 23:18:57 +05:30
refractionpcsx2
5d61f656eb Merge pull request #2264 from FlatOutPS2/SPU2
SPU2-X: Prevent volume check from altering volume
2018-01-12 14:21:20 +00:00
FlatOutPS2
57cbc901b7 SPU2-X: Prevent volume check from altering volume
Fixes issue in Tokyo Xtreme Racer Zero where checking the left master
volume would alter it.
2018-01-12 14:37:40 +01:00
FlatOutPS2
fe27d3b25a GSdx: Add Dark Cloud CRCs to automatic mipmapping 2018-01-12 13:28:43 +05:30
lightningterror
9dc7930ff2 GSdx: Merge CRC hacks of Wild Arms 4 and 5
It's better to avoid duplicate code so let's merge these two together
as well.
2018-01-12 13:25:40 +05:30
orbea
49cd6bc782 cmake: Don't print a git describe error with shallow clones. 2018-01-10 15:09:59 +01:00
lightningterror
fbdd0f4394 GSdx: Remove/move/merge CRC hacks.
Remove Aggressive CRC hacks for SSX 3. Was used to remove the red lines
on older versions but no longer needed since the issue has been fixed.
Offered 1fps or less speed bump but it's not worth keeping for such a
minimal increase.

Merge all FFX CRC hacks in to one. They share the same code so it's
better to have one to avoid duplicate code.

Move CRC hack for Bleach Blade Battlers to Aggressive. It removes the
character shading. It can be used as a speed hack since the gains are
quite good from it. Around 15-30%.
2018-01-10 08:10:56 +05:30
lightningterror
29ef586f91 GSdx: Move CRC hacks for Soul Calibur 2&3 to DX level.
Add missing CRC ids for Soul Calibur 2 and 3.
Move CRC hacks to DX level. They are not needed anymore on OpenGL since
Depth Emulation fixes depth issues (shadows).
2018-01-09 20:36:14 +05:30
Akash
36a1c7a265 PCSX2-WX: Display the video mode on titlebar
I found it might be useful for looking into issues at certain cases
where users provide a screenshot covering the titlebar, so we can easily
identify which video mode is being used.

Especially useful for looking into PCRTC issues.
2018-01-07 13:32:47 +05:30
Jonathan Li
e0ec8b3be1 iop: Fix booting ELF files on a different drive
Fixes a regression introduced in b3b1f3ac68,
where ELF files on a different drive to PCSX2 would fail to load.
2018-01-07 06:22:42 +00:00
Russ K
854246846d Fix mouse click focus in debugger near functions ending in a branch. (#2250)
This code updates the DisassemblyFunction objects to only include Delay Slots when they are within the bounds of the function.
2018-01-06 11:05:42 +01:00
Russ K
74282b46ff Corrected MipsOpscodes table for unconditional branch. (#2247)
The assembler was previously assembling instruction "b i" as an alias to "j I".
This caused unexpected behavior when attempting to assemble an
unconditional branch. The previous behavior would cause
position-independent code to fail due to the distinction between
the absolute address of a jump vs. the offset of a branch.
2018-01-04 10:01:48 +01:00
altiereslima
e10ac8cbec Portuguese-BR translation update (#2209)
Translated new strings and few updates.
2017-12-28 11:11:23 +05:30
atomic83GitHub
18ea36adc4 GameDB: Fixes and compatibility status update (#2223)
- Added proper clamping/rounding modes for Star Wars Bounty Hunter
- Added VIF FIFO hack for Petz - Horsez 2 to resolve hang at loading screen
- Update to compatibility status of few games

[skip ci]
2017-12-28 11:01:52 +05:30
Leucos
13526fc679 Italian translation update (#2155)
- Translated new strings
- Various fixes and improvements
2017-12-20 09:51:04 +05:30
atomic83GitHub
bea611e805 GameDB: Add proper rounding mode for Beyond Good and Evil v2 (#2214)
Apparently the nearest rounding mode is necessary to fix some effects which weren't fixed in positive rounding.

[skip ci]
2017-12-20 09:48:20 +05:30
lightningterror
687c0b45e2 Gsdx: Tekken 5 Channel effect and CRC Hacks
Move CRC hack to Partial that fix the half screen
bottom issue since the effect is not rendered correctly.

Move CRC hack to Aggressive. These hacks are only
needed when running upscaled resolution. They skip the
blur effect which cause ghosting and some other screen issues.
Side effect is they also remove the channel effect on OpenGL
which is emulated correctly so let's put them on Aggressive.

Comment out a hack, it's unknown what the hack does atm.
If there are new issues then it will be added back.

Added comments what the hacks do.

Partial port for channel shuffle effect to Direct3D for Tekken5.
The effect is skipped and not rendered but now the top left
screen glitch has been resolved.
Note: At least Minimum CRC level is required for this to work.
2017-12-13 13:31:49 +01:00
lightningterror
41051f3cfe GSdx: Add hidden option to disable Nvidia hack
Add hidden option "UserHacks_DisableNVhack" to disable
the Nvidia hack on Direct3D which added black lines on the right
and bottom of the screen. Could be useful for Intel and AMD GPUs.

A better solution would be to add Vendor Id detection instead,
but this will do for now.

To disable the Nvidia hack add UserHacks_DisableNVhack=1 in GSdx.ini
2017-12-10 21:37:00 +05:30
RedPanda4552
5fec900861 Make PSX cards appear as Pocketstation devices. (#2208)
Fixes memcard access in Final Fantasy VIII, and likely in other PSX
games supporting the Pocketstation peripheral. This makes inserted PSX cards show up as PocketStation devices in the PS2 browser, which is okay for now.
2017-12-10 17:03:26 +01:00
atomic83GitHub
4558dd9e28 GameDB: Add proper rounding mode for Beyond Good and Evil (#2210)
[skip ci]
2017-12-10 21:04:30 +05:30
Christian Kenny
7a71b6f3d0 Flag XP as an unsupported OS. 2017-12-02 23:47:08 +00:00
Jonathan Li
bc8d9d40bd ci: Fix Travis CI build issues
Add python:i386 to gcc 32-bit builds to avoid a strange dependency
issue with the gcc-4.9 and gcc-7 builds.
Remove chrome workaround since it's not needed anymore.
Change 32-bit clang dependency to gcc-7-multilib (no real reason, I just
feel like doing so).

[skip appveyor]
2017-11-30 23:56:11 +00:00
lightningterror
a74a5d95ab GSdx: Remove/move CRC hacks for Simpsons Game
Remove CRC hacks no longer needed.
Move CRC hacks to Aggressive level. Can be used as a performance hack.
2017-11-28 16:59:13 +05:30
lightningterror
3c74f0f907 GSdx: Extend support of "Preload Frame Data" for Direct3D.
Fixes glitchy water in Rogue Galaxy in Direct3D when the hack is
enabled.
Fixes Test Drive car reflection in Direct3D when the hack is enabled.

OTher games are affected as well.
2017-11-27 11:01:43 +01:00
Jonathan Li
025eef63b5 pcsx2:gui: Display '&' properly in recent ISO list menu
& is used to specify the keyboard shortcut key in menu labels. && must
be used to display an &.

Closes #2148.
2017-11-26 22:47:16 +00:00
Jonathan Li
c9abec7cbe cdvdgigaherz: Always read 2352 bytes from CD sectors
For some CDs (i.e. Suikoden), trying to read a 2048 byte "cooked" sector
does not work. However, reading the raw sector and then extracting the
required 2048 bytes works fine, so let's do that.

This also makes it easier to port CD/DVD disk reading to operating
systems that don't provide CD/DVD interface conveniences.
2017-11-24 00:08:26 +00:00
Jonathan Li
0a4ff90bfb cdvdgigaherz: Detect CD track mode correctly
In every CD data sector, byte 15 indicates what the CD track mode is.
2017-11-24 00:08:26 +00:00
Jackson Sommerich
eb796a13ce Update PCSX2_FAQ.doc to reflect changes made on the PCSX2 Forum (#2087)
doc: Update FAQ document

* Update system requirements to match README.md and remove references to v0.9.6
* Fix formatting issues, add link for DirectX and speed issues
2017-11-23 09:45:08 +01:00
bositman
be32e8940a Merge pull request #2142 from altiereslima/master
Updating Portuguese-BR translation
2017-11-22 13:52:23 +02:00
altiereslima
d179efc3ea Updating Portuguese-BR translation 2017-11-22 01:01:56 -02:00
lightningterror
49cea778a0 Translations: French
Update French translations.
By @atomic83GitHub
2017-11-20 09:56:49 +01:00
lightningterror
6d49bf6fc6 GSdx: Automatic HW Mipmapping option
Adds automatic HW mipmapping support.
It relies on CRC ids so if a game does
not have their CRC id but needs mipmapping
it will not work until the id is added.

Add GUI menu and tooltip for Automatic mipmap
"Automatic (Default)"
This option will be default option from now on.

Rename "Very Slow" text option to "Slow" for full mipmap
as it caused the text not to fit properly in the menu.

Credits also go to @RedPanda4552 and @ssakash for helping
with the code.
2017-11-20 09:54:56 +01:00
lightningterror
431b4f6f17 GSdx: Rearrange HW Hacks
Rearrange the two columns of HW hacks, new arrangement
is done in alphabetical order on Windows and Linux.

Rename some hacks on Linux to match the windows version.

Some other minor tweaks as well.
2017-11-20 09:54:32 +01:00
Víctor "IlDucci
ff30e15a4c Updating Spanish translation
- Removing accents on the word "solo" (New RAE rules)
- Improving the wording on some lines.
2017-11-20 09:54:19 +01:00
pgert
2aea8ee696 Swedish translation update 2017-11-20 09:54:02 +01:00
Christian Kenny
5956493684 GSdx: Remove CRC hack for James Bond Everything or Nothing. Thes hack was used to avoid a VRAM spike, but isn't needed anymore. 2017-11-19 12:58:48 +05:30
UlsterRose
3b122a1ba5 Add vuClampMode fix to EA Burnout titles. 2017-11-14 15:42:59 +05:30
lightningterror
b31c23b37b GSdx: Add/move CRC hacks for Street Fighter EX3
Add missing CRC ids.
Move CRC hacks to OpenGL since the effects aren't emulated properly atm.
2017-11-13 16:04:42 +05:30
Akash
6299d9efa9 GSdx-Capture: Grayout configure button for codecs
The following patch grays out the configure button when there's no
configuration dialog available for the selected codec. What's the use in
clicking it when no dialog pops up? :P (I've been tricked by it lots of
times)
2017-11-11 12:50:22 +05:30
Akash
849c2f36d9 GSdx-Capture: Format event commands in switch-case
Use switch-case over chained if statements for the event commands, makes
the code more readable in my opinion.
2017-11-11 12:50:22 +05:30
lightningterror
1cbd4c5387 GSdx: Add CPU Frame buffer Conversion Hack
Add HW Hack that enables Framebuffer Conversion on the CPU instead of the GPU.
Can fix broken textures on games but at the cost of slower performance.
List of games: Harry Potter games, FIFA Street games.
Games like Call of Duty, Kung fu Panda might also be affected as well as others
especially on Direct3D.
Add HW Hack GUI option on Windows/Linux for 4-bit and 8-bit Framebuffer conversion hack
named "Frame Buffer Conversion".
2017-11-02 10:38:07 +01:00
Christian Kenny
574e0a7531 Update SoundTouch lib to v2.0.0 2017-10-31 19:53:05 +00:00
Jonathan Li
96b412ebb8 pcsx2|common|gsnull: Remove GSprintf API
It's not really used, and the OSD uses a different API.

The specified calling convention (stdcall) is also incorrect since
variadic functions are caller-clean, not callee-clean. The compilers
ignore the stdcall and just use cdecl (I think), though it does trigger
a -Wcast-calling-convention on clang.
2017-10-29 01:01:49 +01:00
Jonathan Li
58f2b6c257 windows: Fix Devel solution configuration
The FreeType release configurations should be used for devel solution
configurations.
2017-10-14 22:54:40 +01:00
Akash
c783b6d7b5 PS2-HW: Remove address of non-existent registers
It seems not all DMA channels have the same set of 32 bit registers. Removed
addresses of registers which aren't actually present in the memory
space.

Example: Channel 0/1/2 have address stack registers but the other
channels lack it. According to documents, the remaining memory space of
the channels seems to be reserved. Which means, write access would be
disregarded and read access would return an unknown value.

Credit goes to Gregory and CK1 for notifying me about it, special mention to ssakash for actually pushing the change to github. Also I wasn't the one who introduced the non-existent registers into the code, these registers were present before under a different name.
2017-10-13 20:28:34 +05:30
Jonathan Li
9be61f83df cdvdgigaherz: Fix Q subchannel relative offset calculation
The wrong comparison was used, so all the relative offsets were
completely wrong. Fixes the wrong track issue in the CD player.

Regression introduced in f314c2a4d9.
2017-10-12 23:54:59 +01:00
Jonathan Li
1bcb7eccbc ci: Update Travis CI and AppVeyor configurations
Travis CI:
Replace GCC4.9 64-bit with GCC7 64-bit.
Replace GCC5 32-bit with GCC7 32-bit.
Move 64-bit to top of matrix so it gets built first (ccache doesn't work
on the 64-bit build and I don't know why (it works locally), so it takes
the longest to build).

AppVeyor:
Add VS2017 build job.
2017-10-12 23:54:12 +01:00
Brian
7a7844162d Add clear list option to ISO Selector 2017-10-10 22:43:40 +01:00
Akash
3356c63cdc PS2-HW: Fix DMA channel register addresses
The macro for address of channel 9 was wrongly having the address of
channel 8, fixed it. (Luckily MADR and QWC were unused so we should be
safe)

Thanks to Fireboyd78 for notifying us about this. (Closes #2091)

Also fixed some inconsistencies where some of the DMA channel register
addresses weren't defined for all the bitfields.
2017-10-10 19:54:48 +05:30
ramapcsx2
af2278c3c2 Merge pull request #2067 from RedPanda4552/master
Add PSX memory card support
2017-09-17 16:53:36 +02:00
Brian
e4777f6563 Allow PSX memcard creation, dynamic SIO delay type. 2017-09-15 11:19:33 -04:00
Jonathan Li
fe2dfdb3b9 gsdx: Remove "using namespace std" 2017-09-08 09:56:28 +02:00
Jonathan Li
82d1aba67f gsdx: Prefix std:: to ostringstream, pair, codecvt* 2017-09-08 09:56:28 +02:00
Jonathan Li
7ed360e06b gsdx: Prefix std:: to shared_ptr 2017-09-08 09:56:28 +02:00
Jonathan Li
0cde534e30 gsdx: Prefix std:: to min and max 2017-09-08 09:56:28 +02:00
Jonathan Li
54c320c724 gdsx: Prefix std:: to map
Also use auto when appropriate.
2017-09-08 09:56:28 +02:00
Jonathan Li
2ff67f3741 gsdx: Prefix std:: to list
Also use auto when appropriate
2017-09-08 09:56:28 +02:00
Jonathan Li
5415b7ad5b gsdx: Prefix std:: to vector
Also use auto when appropriate
2017-09-08 09:56:28 +02:00
Jonathan Li
2aeb406e38 gsdx: Remove hash_{map,set} macros
Also use auto when appropriate.
2017-09-08 09:56:28 +02:00
Jonathan Li
d57b812f36 gsdx: Prefix std:: to string and to_string 2017-09-08 09:56:28 +02:00
Ryudo300
ada0d57452 PCSX2-GUI: Logo Update (Wider image)
New logo for the main interface of PCSX2. (400px instead of 380)
2017-09-07 18:15:26 +02:00
lightningterror
d158ac5ffe GSdx-ogl:
Comment out driver version detection on amd as it was not working properly.
Rename bools for vendor ids.
2017-09-06 18:08:37 +02:00
lightningterror
481a884d25 GSdx - dx9: Edit Alpha Correction (FBA) tooltip.
Can cause graphical glitches in some games.
2017-09-06 18:05:21 +02:00
lightningterror
f14c78cf12 GSdx-ogl: Fix GSdx crashing on Intel igpus
Regression was introduced in #1954
GSdx caused the emulator to crash when the renderer was restarted.

It may have affected older gpus from nvidia/amd
with older OpenGL support as well.
2017-09-06 17:14:21 +02:00
lightningterror
91d8e7c7c6 GSdx-Windows: Grey out OSD and Shader Configuration
Grey out OSD Configuration button for Direct3D
since only OpenGL supports the feature atm.
Grey out Shader Configuration button in Core Benchmark.
2017-08-31 21:11:43 +05:30
Jonathan Li
854f3d5b85 lilypad: Fix Lock Direction/Input/Both features
Regression was introduced in 2ea078beb5.

Coverity CID 178405.
2017-08-30 22:25:06 +01:00
Jonathan Li
056cbbcdcd pcsx2: Fix inconsistent framelimiter/vsync interaction
If emulation is paused and resumed, vsync may become enabled even if the
frame limiter is currently disabled. This state persists until the
settings are changed or the hotkeys are used.

Fix the inconsistent framelimiter/vsync behaviour so that vsync isn't
enabled whenever the framelimiter is disabled, which matches the
behaviour in the rest of the code.
2017-08-30 21:08:54 +01:00
Jonathan Li
c02a545c7d pcsx2: Apply vsync changes immediately on settings change
Fixes an issue where changes to the vsync settings are not applied until
emulation is paused and resumed.
2017-08-30 21:08:54 +01:00
Jonathan Li
fecf8e3ed2 gsdx:ogl: Call swap interval function on rendering thread
The swap interval function must be called on the same thread that
rendering takes place on. This fixes an issue where the turbo speed and
frame limiter hotkeys fail to disable vsync when the OpenGL renderer is
used.
2017-08-30 21:08:54 +01:00
Jonathan Li
12e7eac1b4 ci: Fix Travis CI
[skip appveyor]
2017-08-30 19:11:34 +01:00
Alessandro Vetere
f8e89b694a GSdx GSLocalMemory: Reserve space required in the std::vector before adding elements to it. 2017-08-30 11:43:18 +02:00
Alessandro Vetere
a0aa585afd GSdx GSTextureCache: Using FastList instead of std::list. Various other improvements.
Using range loops where possible (correctly).
Using auto where possible (minimize code changes whenever it's decided to change back to a std container).
Use more efficient erase pattern (where possible).
Minor code tweaks.
2017-08-30 11:43:18 +02:00
Alessandro Vetere
3300470a29 GSdx GSCodeBuffer: std::vector instead of std::list, to speedup linear scan. Using range loop on destruction. 2017-08-30 11:43:18 +02:00
Alessandro Vetere
b2508dcb59 GSdx GSDevice: Using FastList instead of std::list. Using range loops (correctly). Using auto instead of declaring iterator type. 2017-08-30 11:43:18 +02:00
Alessandro Vetere
798d6a9134 GSdx GSDevice11: Fix unsigned warning under VS2015 with DEBUG build enabled. 2017-08-30 11:43:18 +02:00
Alessandro Vetere
965334350f GSdx GSTextureCacheSW: Ported erase iterator trick. Using FastList instead of std::list. Using range loops. Using more efficient erase pattern. 2017-08-30 11:43:18 +02:00
Alessandro Vetere
676c7b89c7 GSdx GSFastList: Introducing the custom container template class. 2017-08-30 11:43:18 +02:00
Alessandro Vetere
b431d172b7 GSdx GSDirtyRect: std::vector instead of std::list, to speedup linear scan. Improved const-ness. Using range loop. 2017-08-30 11:43:18 +02:00
Akash
8fe8cad8f9 GSdx-D3D11: Avoid undefined behavior in swapchain
PCSX2 sends a negative value (-1) to GSdx when adaptive mode is
specified for Vsync, this mode is exclusive to OpenGL at the moment
and is unimplemented on the D3D11 renderer. Also the present function
of swapchain only accepts values from 0 to 4 as parameter, hence
passing negative values to the function is undefined behavior.

So let's fallback to standard synchronization method on D3D11 when
PCSX2 requests for adaptive mode.
2017-08-25 22:40:42 +01:00
lightningterror
420f111611 GSdx: Add missing CRC for GT3 2017-08-16 17:35:32 +05:30
ramapcsx2
9c8a48f38c Merge pull request #2038 from FiLeonard/master
Update German Translation
2017-08-14 12:03:19 +02:00
FiLeonard
50bb101abf small update 2017-08-13 17:55:29 +02:00
FiLeonard
21dcfc8dae correction 2017-08-12 18:59:52 +02:00
FiLeonard
24e5819f99 correction 2017-08-12 18:46:00 +02:00
Gregory Hainaut
64c197de47 glsl: miss color of SSO interface
It was added with the OSD

Fix #2037
2017-08-12 15:43:15 +02:00
Gregory Hainaut
c4bf09ad32 glsl: extension must be declared first
Mesa follows this rule of the standard.

Issue #2037

Shader compile fines now but SSO interface seems to be broken.
2017-08-12 15:37:29 +02:00
Gregory Hainaut
8c37418e44 onepad: print a more accurate message when only a single pad is detected 2017-08-10 22:00:33 +02:00
Gregory Hainaut
d6c27c190d onepad: fallback on 2nd gamepad for the 2nd player
Close #2039
2017-08-10 22:00:28 +02:00
Gregory Hainaut
0d0a54f095 Merge pull request #2040 from orbea/horipad
Add Horipad One config
2017-08-10 11:45:35 +02:00
orbea
590b75453c Add Horipad One config 2017-08-09 17:56:18 -07:00
FiLeonard
f80d17c2be revert kapitalized personal pronouns 2017-08-10 00:32:02 +02:00
FiLeonard
58b94d5a63 a few corrections 2017-08-09 21:36:33 +02:00
Akash
1d95dbe4a1 PCSX2-Git: Minor changes in issue template file
* Remove redundant mention of MTVU hack speedhack.
(It's grayed out at safest preset)
* Change ``Note 1/2`` into a single notes header with
multiple lists, also modified the "is in active development"
part as it's no longer the case.

[skip ci]
2017-08-09 20:10:17 +05:30
Akash
ebe9b3368e PCSX2-WX: Force disable MTVU hack on safest preset
The safest preset should ideally try to provide
the highest accuracy and stability when emulating the
PS2, allowing the manipulation of the MTVU hack could
just destroy both of these things, hence the following patch
force disables the hack on safest preset.
2017-08-09 20:10:17 +05:30
FiLeonard
504337d25e small update 2017-08-09 14:50:50 +02:00
FiLeonard
c53d11b2cd small update 2017-08-09 14:38:22 +02:00
FiLeonard
6de73c7ab3 small updates 2017-08-09 14:15:32 +02:00
FiLeonard
83fecb46f6 Update German Translation 2017-08-09 04:23:48 +02:00
lightningterror
20cc02c90d Update Translations (#2029)
Update tr_TR - credits to PyramidHead
Remove .mo files from locales for tr_TR and cs_CZ
2017-08-06 22:45:49 +05:30
Gregory Hainaut
41bfb6e80a Merge pull request #2000 from PCSX2/greg/vsync-take2
Greg/vsync take2
2017-08-05 11:44:41 +02:00
Gregory Hainaut
f5838c5178 pcsx2 gui: uses a combo box for Vsync
The possible values are
* Disabled
* Enabled
* Adaptive Vsync (the new possibility)
2017-08-05 11:00:41 +02:00
Gregory Hainaut
e8636136c8 core: add a getter for the vsync option
v2: allow all combinations of framelimiter and vsync options
v3:
* disable vsync when the user disable framelimiter with F4
* Use g_Conf->EmuOptions instead of EmuConfig
2017-08-05 11:00:41 +02:00
Gregory Hainaut
17d2d9217b gsdx ogl: test adaptive/late vsync driver support
Supported on GLX (but not Linux free driver) and WGL
2017-08-05 11:00:39 +02:00
Gregory Hainaut
2e4643a398 gsdx ogl: factorize SetVSync
Move common logic into base class
Add API to handle late Vsync (only stub)
2017-08-05 10:59:48 +02:00
Gregory Hainaut
2204885fbb gsdx ogl: factorize common context init code 2017-08-05 10:56:54 +02:00
lightningterror
66a87ce4d0 GSdx: Add missing CRC for Tomb Raider Underworld 2017-07-29 20:10:46 +05:30
Akash
31400b29c3 Merge pull request #2017 from lightningterror/dbzbt3-crcfixup
GSdx: Adjust CRC hack for DBZ BT3
2017-07-27 00:23:25 +05:30
lightningterror
f5b4ccf741 GSdx: Adjust CRC for DBZ BT3
Fix CRC hacks on PAL version.
PAL version will no longer experience very high brightness/contrast
issues on stages in hw mode caused by an incorrect CRC hack.
Moved a CRC hack back to OpenGL mode only for the PAL version
because texture shuffling does not work properly on PAL games.
2017-07-26 20:19:44 +02:00
Akash
59fa831542 PCSX2-Counters: Fix tracking of scalar limit
The scalar limit value was updated only during any turbo/slowmotion
toggle, let's also update it properly after any change in the emulation
settings.

This prevents the need of toggling from turbo/slowmotion to update to
your requested frame rate percentage.
2017-07-25 21:55:22 +02:00
Jonathan Li
4e19f7adbf lilypad: Fix button detection issue in Kung Fu Panda
Kung Fu Panda becomes stuck at an autosave warning screen since it
cannot detect button presses correctly. This fixes the issue, though
potentially it may negatively affect some other games (see #1831,
unfortunately no game titles weren't mentioned).

The issue was introduced in commit 3075ec2203

Closes #1965.
2017-07-24 00:46:00 +01:00
Akash
bd5e54e825 GSdx-Windows: Fix Shadeboost text bug
Forgot to replace `IDC_TEXT` with `IDC_VALUE` macros, due to this the
text containing the name of the options was being updated with the
current value of the option instead of updating the text designated for
holding the values.
2017-07-23 22:50:40 +01:00
puzzo888
1d983a6818 Update GSCrc.cpp (#2018)
gsdx crc: add Front Mission 5 CRC
2017-07-22 11:32:15 +02:00
Gregory Hainaut
390568ade9 onepad: add a first time wizard to notify that plugin auto-map the Gamepad/Joystick
It should avoid some bug reports of not-working-as-expected GUI

v2: English improvement
v3: ditto
v4: :)
2017-07-22 11:31:35 +02:00
Akash
c3ff1074bb GSdx: Rework framebuffer height calculation
DBY isn't an offset to the frame memory but rather an offset to read
output circuit inside the frame memory, hence the top offset should also
be calculated for the total height of the frame memory. Fixes software
mode regression in Beyond Good and Evil.

Also handle cases when GetFrameRect() is called without any paramerer to
avoid an illegal value access violation on the DISP register.
2017-07-13 17:53:29 +02:00
Akash
9af03035aa PCSX2-WX: Revert titlebar update behavior on Windows
Current behavior - The tilebar isn't updated when the user enters full screen mode and when the user returns back to windowed mode they have the older title bar values for a brief second, this sort of behavior is undesirable just in the cost of saving some overhead for updating title. (which is really negligent)

Hence reverting the code back to how it has been for the past 7 years (Yes, I did my research), I'm doing it only for the windows side at the moment as a code comment describes of some sort of Linux specific issue on wxWidgets side.
2017-07-12 22:07:37 +02:00
Akash
9e13b7da01 PCSX2-WX: Add restore defaults to GS panel 2017-07-12 22:04:37 +02:00
Gregory Hainaut
c5d35d434c glsl: reduce geometry shader complexity
output 1 strip of 2 triangles instead of 2 strips of 1 triangle.

Potentially it would reduce the geometry shader overhead. And it
might avoid a middle line in sprite in some AMD GPU/driver/OS
bad combination
2017-07-12 22:04:03 +02:00
Gregory Hainaut
38010432ee gsdx ogl: handle float integral coordinate for depth sampling
Fix depth effect regression on Nemo (issue #1979)
2017-07-12 22:03:47 +02:00
Gregory Hainaut
bab9826fb1 i10n: upload da_DK precompiled mo file 2017-07-03 19:22:03 +02:00
lightningterror
aaf03123f8 GameDB
Remove recent db fix for MGS3 Subsistence
Fixes #1992
2017-07-03 19:06:33 +02:00
pgert
46ab3ee24f Added Danish mo-files. 2017-07-03 19:06:21 +02:00
Jonathan Li
45ac69a1f6 gsdx:d3d11: Fix sprite geometry shader
Sprites always use flat shading.

Fixes #1980
2017-07-02 22:54:36 +01:00
Gregory Hainaut
b8f7e12bc0 onepad: Add platform:Linux on game db entries that miss it
SDL doc:
"Mappings not belonging to the current platform or with no platform
field specified will be ignored (i.e. mappings for Linux will be ignored
in Windows, etc)."

Issue #1978
2017-07-02 16:55:50 +02:00
Gregory Hainaut
2ced227ad3 i10n: upload cs_CZ mo binary files 2017-07-02 15:31:52 +02:00
Gregory Hainaut
392816fae3 gsdx: store vsync state into an integer
allow to support late vsync (Adaptive vsync).
2017-07-02 15:14:45 +02:00
Gregory Hainaut
36fd2b6854 gsdx: remove the unused GSsetFrameLimit API 2017-07-02 15:09:47 +02:00
Gregory Hainaut
1279112ac0 core: add hidden option EnableVsyncWindowFlag to add the WS_POPUP flag
Goal is to ease testing of Vsync/Tearing

v2:
Properly propagate the WS_POPUP flag
2017-07-02 15:08:16 +02:00
lightningterror
358954d69e GSdx-ogl: Printing console messages v2 (#1954)
GSdx-ogl: Console messages v2

Follow up to
commit/ec63b04719fd9c05a6aeeacb55dc1c54f5ef145b

Add intel broken driver wiki link message in console (OpenGL).
Print intel / amd buggy driver message once in console (OpenGL).
Pring texture barrier and viewpoint array info once in console (OpenGL).
2017-07-02 13:56:45 +02:00
František Zatloukal
f6c02262c4 cs_CZ update 2017-07-02 13:55:37 +02:00
Jonathan Li
6e029fc184 cmake: Fix NetBSD compilation
Closes #1973
2017-07-01 11:54:59 +01:00
lightningterror
5c7e2d103c GameDB: Add fixes to various games (#1977)
GameDB: Add fixes to various games

Add fix for R&C2 Going Commando
- fixes cinematic and crash
Add fix for Metal Gear Solid 3: Subsistence
- fixes screen artifacts
Add multiple fixes for Max Payne
Add / correct fix for Mercenaries 2
- Corrected incorrect title and added timing fix
Add fixes for Scarface
Add missing games to DB
2017-06-30 11:59:24 +02:00
lightningterror
f88972013f GSdx: Remove/move DBZ:BT3 CRC
Enables character outlines to partially work on Full CRC.
DX9 has a small issue where a small black line at the bottom shakes when outlines are enabled.
You can either use Aggressive crc or x,y offset to fix the issue.

Removed unnecessary crc hack that caused shadows on stationary objects (trees) to move on Direct3D in a weird
motion blur type way when the player moved slightly.
2017-06-29 16:54:11 +02:00
Akash
f2de553d63 GSdx: Cleanup warnings on MSVC
* Cast return value of IsEof() to bool. (Avoids int -> bool performance
warning error)
* Cast field and index to the required parameter type of AppendRawData.
2017-06-29 16:48:50 +02:00
Gregory Hainaut
7d75a73105 cmake: blacklist GCC 7.0 and GCC 7.1 (based on a small testcase)
GCC bug => https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80799

Close #1937
2017-06-29 14:51:50 +02:00
Jonathan Li
07c69ebed4 ci: Fix 32-bit Travis CI builds
[skip appveyor]
2017-06-23 20:50:14 +01:00
Akash
58102a39a4 PCSX2-WX: Add "Always ask when booting" option
When enabled, this option opens the file explorer to directly select the
ISO at each boot instances instead of relying on the Recent ISO list.
2017-06-19 23:33:29 +01:00
Akash
b75868cc7c PCSX2-WX: Increment max ISO count in recent ISO list
The default 12 is rather low and won't suffice for most cases, updating
it to 20 to give some extra space for additional ISOs. Incrementing it
to an even higher value might not be so good as it consumes lots of
vertical space, not a nice idea for people with smaller screens.
2017-06-19 23:33:29 +01:00
Jonathan Li
4a562401dc gsdx:d3d11: Fix incorrect geometry shader use
The sprite geometry shader was still being used even if the sprites were
converted on the CPUs.

Convert all sprites using the GPU - the fix isn't ideal, but it'll
likely have to do unless someone feels like porting over more of the
OpenGL changes to the D3D11 renderer.

Closes #1921.
2017-06-13 01:11:45 +01:00
Jakob5566
8b245c12ad Add Danish translation 2017-06-09 11:18:41 +02:00
Jonathan Li
f8787ca6b9 gsdx: Fix variable initialisation issue
Class member variables are initialised in order of declaration in the
class definition. Move native_buffer to the top of the class definition
to avoid initialising m_width and m_height to random values.
2017-06-05 01:12:41 +01:00
Akash
23fa0657a7 GSdx-HW: Move scaling code to separate subroutine
Move the custom resolution scaling code to a separate subroutine and
allow future RT buffer resize calls when the buffer size isn't enough.

(Example: when a game's CRTC/Framebuffer size changes. The older code
didn't consider such cases)
2017-06-04 17:10:25 +02:00
Akash
a04d9fa388 GSdx-HW: Revamp buffer size calculation
Added a more robust buffer size calculation mechanism for custom
resolutions. Improves performance in higher resolutions for games
which don't need a big buffer. There's a great boost in performance
at GS limited scenarios.

I don't even feel there's a need for the large framebuffer option right
now, For future - I plan on making the large framebuffer enabled version
as the default as the overhead is there only at situations when it's
necessary. Until then keeping the original code just to be on the safe
side in case any issue pops up.
2017-06-04 17:10:25 +02:00
Akash
266c114c1e GSdx-OGL: Extend ICO workaround to PAL videomode 2017-06-03 14:52:42 +02:00
Jonathan Li
11ed4de0aa gsdx: windows: Port xz dump readback
Also modernize and std:: a bit while I'm at it.
2017-06-03 14:52:01 +02:00
Jonathan Li
742b0edaa8 gsdx: Fix GS dump readback EOF handling
An EOF only occurs after attempting to read past the end of the file.
Account for this correctly, which fixes a potential infinite loop when
reading back an xz compressed GS dump.
2017-06-03 14:52:01 +02:00
Jonathan Li
a6ed698fca unix: Remove LZMA_SUPPORTED define 2017-06-03 14:52:01 +02:00
Jonathan Li
3912f3330f windows: Link GSdx to liblzma (xz) 2017-06-03 14:52:01 +02:00
Jonathan Li
97d99632a6 gsdx: Use std::vector for xz dump output buffer
By default, Windows has a 1MB stack size limit per thread, so array
cannot be used...
2017-06-03 14:52:01 +02:00
Jonathan Li
b170bddad9 3rdparty:xz: Add project and config file
The config file is currently just a straight copy of the one in the xz
repo.
2017-06-03 14:52:01 +02:00
Jonathan Li
a26afbe9a1 3rdparty: Add xz submodule
The submodule commit corresponds to the v5.2.3 release.
2017-06-03 14:52:01 +02:00
Akash
49840bb621 GSdx: Implement SYNCV register bitfields
Add the bitfield structure of the undocumented SYNCV register,
potentially might be useful in proper height determination of the output
circuit for some weird games which still get it wrong but still haven't
figured out how it might be useful. Maybe some sort of black magic
formula with the vertical synchronization values?

The differential phase value seems to closely resemble the display
height value of the video modes (480 for NTSC, 576 for PAL) but after
some investigating into the differential phase, I have no clue on how
they might be even related. Hopefully the mystery will be unveiled in
the near future.
2017-05-24 13:44:52 +02:00
Jonathan Li
e8f35f0bab onepad: Remove use of "using namespace std"
"using namespace std" was causing ambiguity issues and compile errors on
FreeBSD. Remove it.
2017-05-23 01:11:49 +00:00
Gregory Hainaut
802f1029e9 gsdx: dump gsdump in xz format directly
Reduce disk space. Easy to share.

It would be nice to port the code to Windows.
libzma code was taken from https://git.tukaani.org/xz.git

Note: only short dumps are supported so far. Big dump will freeze the interface during the compression.
Or will suck all the RAM.
Note2: a multithreaded encoder would badly impact the compression ratio

Thanks to Turtleli for all review comments
2017-05-21 23:45:35 +02:00
Gregory Hainaut
53b2fdf31c linux: requires liblzma (xz) to build GSdx 2017-05-21 23:45:35 +02:00
Gregory Hainaut
5c7d9d08e2 gsdx: defer init of GSUtil global object
Close #1935
2017-05-21 14:39:22 +02:00
Christian Kenny
b51eca87b6 Reformat version detection, move null plugins, force remove folder in uninstaller.
Null plugins are sad and lonely, put them with the others later

Minor tweaks, force remove Plugins folder because it can prevent $INSTDIR from being deleted (assuming we're doing a standard uninstall)

Rewrite version detection to search for 0.9.8 to 1.4.0 as well as future builds.

Remove offending whitespace
2017-05-16 09:39:12 +02:00
Christian Kenny
e043822a93 Added pre-install dialog, updated build instructions, fix RegKey in uninstaller, automatically backup old configuration folder, misc. changes.
Automatically backup old configuration folder to avoid conflicts, misc. changes.

Added reviewed changes
2017-05-16 09:39:12 +02:00
Christian Kenny
732dc881e4 Block installation on XP/fix an uninstaller regression and add ManifestDPIAware to the installer. Remove NSIS dirs from .gitignore.
Typo ;)

Remove XPStyle parameter. It isn't needed anymore

Updated copyright, added ManifestDPIAware for rich folks, removed IDOK true and Cheats folder from $INSTDIR as Turtleli suggested, formatting adjustments.

Gitignore: remove now unused NSIS directories

Fixed a nasty regression I introduced after a registry pointer was assumed to be incorrect. It contained UserMode data generated by the First Time Wizard. This was causing conflicts and the FTW to fail randomly when running PCSX2 after a reinstall due to old configuration data being read.

I added clarifcation below the original comment to reduce confusion in the future.
2017-05-16 09:39:12 +02:00
Christian Kenny
b896eed5d4 Split portable/pre-install and full installer into own scripts. Move shared definitions to their own files to reduce code duplication.
Move version check to own file

Split main installer into own script. Integrated changes for portable/standard installation.

Forgot to remove a message box
2017-05-16 09:39:12 +02:00
Christian Kenny
5298c2016f Remove unused SVN templates and condense installer files. Reduced compile errors by removing output folder dependency.
Forgot to add SharedRedtape changes to last commit

Remove unused SVN templates

Compile the installer to the NSIS folder so that the user doesn't need to worry about the output folder missing; and wonder why the installer won't compile ;)
2017-05-16 09:39:12 +02:00
Christian Kenny
833622c870 Check/Install DirectX redistributables on Win8.1 and older (so as long as they have admin privileges). Removed SSSE3 and AVX references from build instructions.
Remove old build targets from instructions

Don't install DXRedists on 8.1 and newer
2017-05-16 09:39:12 +02:00
Christian Kenny
b7659ea3a5 Implement version detection for previous installs, separate savestates/memcard categories in the uninstaller. Cleanup scripts and misc. tweaks.
Minor tweaks for SharedBase and SharedRedTape:

-Updated ${APP_VERSION} to 1.6.0 and tweaked uninstall_log for functionality with uninstall script in pcsx2_full_install.nsi

-Added !define for installer icon

-Replaced obsolete function with RMDir functionality, uninstaller speed improved marginally

-Added filepath for $DOCUMENTS to be removed if empty

Main installer tweaks/enhancements:

-Tested installer functions in NSIS 3.01

-Implemented uninstall script for future version detection. If an older or equivalent PCSX2 version is detected, the user is prompted to silently uninstall/overwrite or abort the installer. (The function is not compatible with any current stable releases because they lack the registry string required for version detection.)

-Added a new installer function so that we can launch PCSX2 directly from the installer.

-Supressed some errors related to unused plugins in MakeNSIS.

-Replaced File with CreateDirectory function (for Cheats only) because it can't be used on an empty folder and will cause MakeNSIS to fail.

-Removed unused /oname parameter that was leftover from SVN builds.

-Added option to install additional languages for those who desire to save 2MB of space.

-Condensed DirectX Packages into SectionGroup for neatness
2017-05-16 09:39:12 +02:00
Christian Kenny
5986cbcfe6 Add installer icon, update copyright and build instructions for NSIS 3.0.
Update copyright

Reformatted instructions, added info specific to NSIS 3.0
2017-05-16 09:39:12 +02:00
Gregory Hainaut
bc0b1a78e5 common: workaround to start ASAN with recent glibc
Issue: wait of the semaphore timedout. However semaphore was properly posted
counter is 1.

To workaround the issue, only throw an error if semaphore counter is 0.
Note: I reduced the timeout to 100ms by threads to avoid huge startup delay

Close #1939
2017-05-16 09:20:35 +02:00
Gregory Hainaut
9cb8c70434 gsdx linux: port to latest GTK3 API
* replace gtk_table by gtk_grid
  => it still misses some paddings
* Use 3.22 monitor API to query screen size
  => need to be tested
* directly add scrolled windows into a container without bothering with
  the viewport.

Code compile fine but wasn't tested.

v2: disable the code until I (or someone) get a chance to test and fix it.
2017-05-13 10:39:06 +02:00
Gregory Hainaut
02861fabc8 pcsx2|common: replace throw() by noexcept 2017-05-13 10:38:35 +02:00
Gregory Hainaut
33fb806f13 core: remove noexcept on destructor
It is the default on C++11
2017-05-13 10:38:35 +02:00
Gregory Hainaut
47264dc350 core: use = default for trivial destructor
Again not reported by clang-tidy and done with sed
2017-05-13 10:38:35 +02:00
Gregory Hainaut
2ff43f2ed8 core: remove throw specifier on destructor
It is the 'default' on C++11
2017-05-13 10:38:35 +02:00
Gregory Hainaut
1a9a65d4d0 common: use = default instead of trivial destructor
Strangely clang-tidy didn't report them.

Commit was done with a sed to it need careful review.
2017-05-13 10:38:35 +02:00
Gregory Hainaut
b951e24024 common: remove throw specifier on destructor
By default in C++11 destructors are noexcept.
Besides throw is deprecated
2017-05-13 10:38:35 +02:00
Gregory Hainaut
b15ab1b1cf gsdx: use = default instead of trivial constructor/destructor
reported by clang-tidy
2017-05-13 10:38:35 +02:00
Gregory Hainaut
94b50b85e7 core: use = default instead of trivial copy constructor 2017-05-13 10:38:35 +02:00
Gregory Hainaut
585ccc1b24 core: use = default instead of trivial constructor/destructor
reported by clang-tidy

Note: drop throw() specifier as it is the 'default' in C++11 for
destructor
2017-05-13 10:38:35 +02:00
Gregory Hainaut
d332bb1645 core/gui: use = default instead of trivial constructor/destructor
reported by clang-tidy

Note: drop throw() specifier as it is the 'default' in C++11 for
destructor
2017-05-13 10:38:35 +02:00
Gregory Hainaut
9e101c9ef0 common: use = default instead of trivial constructor/destructor
reported by clang-tidy

Note: drop throw() specifier as it is the 'default' in C++11 for
destructor
2017-05-13 10:38:35 +02:00
Gregory Hainaut
595ad99a5b Cmake: what should have been the previous commit 2017-05-12 19:38:51 +02:00
Gregory Hainaut
05763b3669 cmake: better gcc + gsdx integration
Only set fabi-version on older GCC (5.0 and below)
Disable broken optimization for GCC7+ (until we find a better solution)
2017-05-11 23:14:06 +02:00
Gregory Hainaut
ec63b04719 gsdx: only print once OpenGL status message
All credits go to @lightningterror

Fix #1882
2017-05-11 22:35:31 +02:00
Gregory Hainaut
0939424574 onepad: be sure m_unique_id is set even in case of early return
not important as the object will be deleted but please coverity
2017-05-11 21:47:39 +02:00
Gregory Hainaut
806ede241a onepad: remove useless code
reported by Coverity (I forgot to remove the code)
2017-05-11 21:46:28 +02:00
Akash
984fcfda2e Counters: Update videomode enum with proper prefix
Thanks to @colepcsx2 (https://github.com/PCSX2/pcsx2/pull/1896#commitcomment-21858717) for pointing it out!

I also updated the prefix in the inferior video mode detection of GSdx, I'm not even sure why we need the videomode info on the plugin side, might be useful someday.
2017-05-11 11:23:10 +02:00
Akash
7a2cbfd6bf GSFrame: Update title only after rendering starts
The title bar will display "progressive" for 1-2 seconds when booting an interlaced game at some cases, it's due to an uninitialized SMODE2 register, so let's wait till the rendering starts to allow time for the
SMODE2 init and get the proper values from games.
2017-05-11 11:23:10 +02:00
orbea
2dcc85d64c Allow building the player with the legacy GSdx. 2017-05-11 09:50:01 +02:00
Gregory Hainaut
9b0b325339 cmake: search /usr/bin/wx-config32 (for arch users...)
issue #1933
2017-05-08 09:53:46 +02:00
Akash
7a3239cba0 GSDX: Remove redundant parenthesis from combobox text
The third parameter of the GSSetting constructor already encloses the
text in parenthesis, so the right bracket here just messed up things.
2017-05-07 19:31:37 +01:00
Akash
5f449151a1 GSDX: Add missing grayouts to Shadeboost options
The shadeboost options text (Contrast, Brightness, Saturation) were not
grayed out when shadeboost was disabled, it was sort of inconsistent
compared to the behavior of external shader, so added grayouts to them
when shadeboost is disabled.

Also changed "OpenGL Very Advanced Custom Settings" to "OpenGL Advanced
Settings", the verbosity didn't help much in my opinion.
2017-05-07 19:31:37 +01:00
Gregory Hainaut
ecd7107ccb onepad: move KeyName in the dialog and remove the now useless dialog.h
Note: use C++ construct to avoid C buffer.
2017-05-03 16:42:03 +02:00
Gregory Hainaut
a71a549fa3 onepad: create a LUT for the pad key => SDL key mapping
Initial plan was to allow to remap the logical (SDL) key.
Unfortunately I feel some issues with the current enum.
* button/axis overlap
* trigger/axis must be handled differently

Nevertheless, code is easier this way
2017-05-03 12:33:42 +02:00
Gregory Hainaut
7597b31215 onepad: replace conf pointer by g_conf object 2017-05-03 12:03:56 +02:00
Gregory Hainaut
db4f28f4ca onepad: replace key_status pointer by g_key_status object 2017-05-03 12:03:56 +02:00
Gregory Hainaut
b09a82fb94 onepad: remove dead code 2017-05-03 12:03:56 +02:00
Gregory Hainaut
36528bb723 onepad: allow to save/reload SDL2 mapping from OnePAD2.ini file
SDL_GAMECONTROLLERCONFIG is nice but limited to a single entry. (Note it can still be used)

Option name is SDL2. Here an example

SDL2 = 03000000a306000020f6000011010000,PS2700 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux,
2017-05-03 12:03:56 +02:00
Gregory Hainaut
03899a6240 onepad: drop useless goto statement 2017-05-03 12:03:56 +02:00
Gregory Hainaut
d8f88ee1e3 onepad: s/set_keyboad_key/set_keyboard_key/ 2017-05-03 12:03:56 +02:00
Gregory Hainaut
b9e62be3c1 modernize: use std::make_unique instead of std::unique_ptr
I didn't update GSdx and cdvdGigaherz because we need to pull
common include files
2017-05-03 12:03:38 +02:00
Gregory Hainaut
756176118b common: add make_unique for C++11
v2: fix windows compilation
v3: fix copyright date
2017-05-03 12:03:38 +02:00
Gregory Hainaut
6be52e435d build.sh: avoid duplicate on clang-tidy analysis 2017-05-03 12:03:38 +02:00
Gregory Hainaut
2159245224 onepad: add DUALSHOCK4 USB Wireless Adapator mapping
Close #1924
2017-05-02 10:07:17 +02:00
Jonathan Li
29eed182c2 pcsx2: Remove unnecessary aMax/aMin macros 2017-04-30 23:41:19 +01:00
Jonathan Li
1d364f1991 spu2-x: Remove outdated website text file 2017-04-30 23:31:08 +01:00
Gregory Hainaut
0d3f02ee34 svu: cast variable to int to avoid unsigned vs int comparison 2017-04-30 21:20:23 +02:00
Gregory Hainaut
3a04e3d003 gif: avoid (wrong) uninitialized warning
My guess is that GCC reports an warning because of the default case.

I don't think we support yet __builtin_unreachable on Linux
Nevertheless it will still be an issue in non-release build
2017-04-30 21:20:23 +02:00
Gregory Hainaut
dc00af8829 psx|spu2x|gsdx: shift negative value is undefined in C standard
Instead does the negation after the shift

v2: assert shift <= 15 in clamp_mix
2017-04-30 21:20:23 +02:00
Gregory Hainaut
9d99889703 pcsx2: remove unused variable 2017-04-30 21:20:23 +02:00
Gregory Hainaut
627212290e spu2x: comment unused variable 2017-04-30 21:20:23 +02:00
Gregory Hainaut
d9e43b5d8d gsdx egl: rewrite the EGL implementation
Split code in 2 parts
* Base class (GSWndEGL) that implement the core EGL and GL context
* Derived class (GSWndEGL_X11/GSWndEGL_WL) that implement the backend to handle native resources

Note: Most backend code is only useful for GSopen1/PS1 mode. GSopen2 only requires
the AttachNativeWindow implementation

Code is based around EGL_EXT_platform extension that allow to select the platform at runtime.
Note: I think the extension was integrated in EGL 1.5

The X11 backend was mostly converted to XCB
The wayland backend is only a placeholder for future code

I don't know if MS windows is/could be supported with EGL_EXT_platform API

Code validated on Mesa. Proprietary drivers aren't yet tested.
2017-04-30 14:04:24 +02:00
Gregory Hainaut
98a5492e37 Revert "pcsx2: call XInitThreads at init"
This reverts commit 99180f5afb.

Unfortunately Mint/Arch got segmentation fault in Xlib mutex locking...
Sadly Xlib will be back to thread-unsafe mode.

I'm cooking another solution based on EGL
2017-04-30 12:49:52 +02:00
Jonathan Li
a3b3b4f657 gsdx: Fix uptr size on Windows x64 build 2017-04-29 23:22:02 +01:00
Gregory Hainaut
413d1828eb gsdx: call XInitThread on Linux dump replay 2017-04-29 13:05:28 +02:00
Gregory Hainaut
4b5aabe6b0 onepad: move an ok button to the right corner 2017-04-28 23:24:49 +02:00
Gregory Hainaut
5b4c948e43 onepad: clean the gamepad/joystick interface
Remove return of empty function
Use final/override qualifier
Remove useless virtual

Thanks turtleli for the advices
2017-04-28 11:27:19 +02:00
Gregory Hainaut
f91faacc53 onepad: remove autorepeat deadcode
a9af374 onepad: don't touch autorepeat setup
2017-04-28 11:27:19 +02:00
Gregory Hainaut
e408b3ab02 onepad: replace pthred/queue with std::mutex/mt_queue
v2: based on turtleli feedback
rename m_q into m_queue
add includes
2017-04-28 11:27:19 +02:00
Gregory Hainaut
7d771229e2 onepad: add a GUI list box to select joypad based on UID
Note: remove the cancel management of the small modal
It is easier, it doesn't always work anyway
2017-04-28 11:27:19 +02:00
Gregory Hainaut
31d8142a0d onepad: plug uid instead of the index
ini must be recreated
2017-04-28 11:27:19 +02:00
Gregory Hainaut
3cff588eff onepad: add an unique identifier 2017-04-28 11:27:19 +02:00
Gregory Hainaut
a50766384b onepad: use range loop for hash iteration 2017-04-28 11:27:19 +02:00
Gregory Hainaut
c183de5662 onepad: add hot-plugging support
Note: pad to player mapping is done later

v2: remove the useless print
2017-04-28 11:27:19 +02:00
Gregory Hainaut
1b369520ed onepad: drop the pad if an error was detected
v2:
init m_no_error in gamepad constructor
2017-04-28 11:27:19 +02:00
Gregory Hainaut
2e09c7faf3 onepad: Move init/destroy code to constructor/destructor
* prefix remaining member with m_
* Use array for m_effect_id
* Properly Destroy/Close Haptic/Joystick/Game Controller
 (except on older SDL versions which are buggy)
2017-04-28 11:27:19 +02:00
Gregory Hainaut
4b24cfa5ea onepad: use external resource to support more joysticks 2017-04-28 11:27:19 +02:00
Gregory Hainaut
9da843c994 onepad: plug SDL2 API game controller 2017-04-28 11:27:19 +02:00
Gregory Hainaut
35b162adbf onepad: move enum first in .h file
It would avoid future compilation issue
2017-04-28 11:27:19 +02:00
Gregory Hainaut
94e19ac903 onepad: remove SDL1 manual detection code path 2017-04-28 11:27:19 +02:00
Gregory Hainaut
61182249f0 onepad: drop hacks/options for DualShock3
SDL2 will take care of correct detection
2017-04-28 11:27:19 +02:00
Gregory Hainaut
5c537fdbe3 onepad: properly indent comments
Clang-format doesn't like the double *
2017-04-28 11:27:19 +02:00
Gregory Hainaut
9c7e9cc6f2 onepad: use range loop and vector of unique_ptr to manage the joystick 2017-04-28 11:27:19 +02:00
Gregory Hainaut
873ae6717e onepad: add a game controller db resource
It will be used later by the SDL2 API
2017-04-28 11:27:19 +02:00
Gregory Hainaut
d3a3a8528f cmake: reindent onepad/CMakeLists.txt with space 2017-04-28 11:27:19 +02:00
Gregory Hainaut
41990a6402 cmake: create the macro add_custom_glib_res to handle resources 2017-04-28 11:27:19 +02:00
Jonathan Li
ffcac1bc3b spu2-x:xaudio2: Comment stuff to investigate 2017-04-28 10:12:50 +02:00
Jonathan Li
adb92ce349 spu2-x:xaudio2: Use unique_ptr
Also remove the unused constructor parameter from StreamingVoice and
rename the variables slightly.
2017-04-28 10:12:50 +02:00
Jonathan Li
14bd5a4f59 spu2-x:xaudio2: Improve cleanup after an exception
Initialise pointers to nullptr, move the LoadLibrary code into the try
block (where it should have been in the first place), and use Close()
to cleanup if an exception occurs. Also initialise/destroy the critical
section in the base class constructor/destructor.

This should avoid resource leaks if an exception occurs.
2017-04-28 10:12:50 +02:00
Jonathan Li
6c512c1973 spu2-x:xaudio2: Simplify XAudio2Error exception
Instead of creating a separate message function, just reuse what() and
pass the string to the std::runtime_error constructor instead.

Also catch a reference to a std::runtime_error instead, since it'll
allow for simpler cleanup.
2017-04-28 10:12:50 +02:00
Jonathan Li
3cb0e3bb13 spu2-x: Combine XAudio2 2.7/2.8+ code into an inline file
Avoids code duplication, though there's now messy ifdefs...
2017-04-28 10:12:50 +02:00
lightningterror
303564fd70 GSdx: Move/add GT4 CRC
Moved a CRC hack to Aggressive that can cause or fix VRAM and RAM spikes.
This way people can switch between each config if they experience problems with either.
Varies on userconfig , game version and maybe hardware.

Added missing CRC game version for GT4 pal.

Note: The issue might be the same on GT3 and GTConcept , the code might
need to be removed for those games as well.
2017-04-27 17:46:58 +02:00
Gregory Hainaut
99180f5afb pcsx2: call XInitThreads at init
X11 isn't thread safe by default. It make sense in 1990 but it is ugly nowadays.

The trick is that is must called before any X11 function. So the only
safe place is at the start of the main.  Pcsx2App::OnInit() is the
sooner that I've found.
2017-04-26 21:23:31 +02:00
Kazushim
201c9cd2a4 zh_CN mo files update 2017-04-23 16:00:19 +02:00
Kazushim
07df39c208 zh_CN po files update 2017-04-23 16:00:19 +02:00
Gregory Hainaut
b2a2a3ace1 cmake: update "check these lib..." strings
wx 3.10 is the minimum
sdl2 too for onepad
a recent glew/gtk2 version is enough
2017-04-23 10:59:33 +02:00
Gregory Hainaut
bb35261aca gsdx: don't request a depth buffer on the window
Code directly uses depth buffer attached to a frame buffer
2017-04-23 10:59:33 +02:00
Gregory Hainaut
2155f65478 gsdx: fix EGL build 2017-04-23 10:59:33 +02:00
Jonathan Li
16904d580d pcsx2: Fix booting ISO from commandline 2017-04-21 22:45:19 +01:00
refractionpcsx2
cca6e1dcae Merge pull request #1896 from ssakash/counterstuff
PCSX2-Counters: Detect DVD variant videomodes
2017-04-21 10:26:58 +01:00
FlatOutPS2
47c2f0a289 GSdx: Remove Dirge Of Cerberus CRC hack
Hack was used to remove garbage data rectangles from popping up on screen when objects and characters were added to or removed from the world.
This issue is now being handled by OI_DoubleHalfClear in GSRendererHW.cpp, so the hack is no longe necessary and has been removed.
2017-04-21 11:13:27 +02:00
FlatOutPS2
7392f52184 GSdx: Move Resident Evil 4 and The Getaway series CRC hacks
Moves Resident Evil 4 hack to Aggressive level as it is no longer
required to fix any issues, but does offer a decent speed boost.

Moves The Getaway & The Getaway Black Monday CRC hack to Full level, as the issue can be resolved
when using the OpenGL Hardware renderer.
2017-04-21 11:13:27 +02:00
Jonathan Li
620b9b3300 pcsx2: Avoid clearing current ISO when not autorunning with an ISO 2017-04-21 10:54:16 +02:00
Jonathan Li
92b1f3cf6d pcsx2: Fix "nodisc" commandline option
It was present in the help text but didn't actually do anything.
2017-04-21 10:54:16 +02:00
Jonathan Li
088aa2ffdc pcsx2: Fix autorun when commandline and current CDVD options differ
Fixes an issue where the game will either boot the wrong CDVD source or
fail to boot if the current CDVD option doesn't match the option
specified in the command line.
2017-04-21 10:54:16 +02:00
Gregory Hainaut
688f05ff26 gsdx sw: always enable the gs memory wrapping emulation 2017-04-21 10:53:05 +02:00
Gregory Hainaut
c115a4cf76 Merge branch 'greg/onepad-legacy' 2017-04-19 19:02:49 +02:00
Gregory Hainaut
ef3435441f onepad: create a legacy version for SDL1
The legacy version is the version 1.3

The new version is the version 2.0. It would be based on SDL2 only

Distribution information.
If you link wxWidget with SDL, you will need to be sure it is SDL2 or upgrade.

You can build wxWidget with SDL2 with the following trick

export SDL_CONFIG=/usr/bin/sdl2-config
./configure --with-sdl .....
2017-04-19 19:02:36 +02:00
Akash
73a879caad PCSX2-Counters: Detect DVD variant videomodes
Improved the video mode detection code by also detecting the DVD variant video modes of NTSC & PAL, PSX mode actually make use of these specific variants, as well as the BIOS. Previously, I just had them as a single bios video mode due to laziness. (I know, my bad)

After further research, it seems that these DVD variant modes have their own individual VSync timing values similar to the standard NTSC & PAL video modes, dealing with those timer codes might be essential in getting timing accuracy of the PSX mode games. (I kept it to default NTSC/PAL values for now, interested people can mess with it later)

I had planned to do this before but there some were concerns that two different video modes make use of 0x73 gate in SetGsCrt, which was rather weird (how the heck could two video modes be used in a single param value?)

 0x73- DVDPAL        ( 720 x  480 @ ??.???Hz)
 0x73- DVD480P       ( 720 x  480 @ ??.???Hz)

Hence, we had decided to use the CMOD bit from SMODE1 (AKA color subcarrier frequency) to detect whether it's an analog or digital video mode and update the necessary timing values but seems like it's no longer necessary, after further discussions from some PS2 developers, we've come to the conclusion that only DVDPAL is possible via 0x73 in SetGsCrt. (So I assume the DVD480p init possibility was fake info from Blue and those other GSM guys who were reverse engineering the PS2)
2017-04-19 21:49:43 +05:30
Kingcom
92aa270062 Align functions to up to 16 bytes in the function scanner 2017-04-19 08:34:03 +02:00
Jonathan Li
d23caa9b72 ci: Initialise git submodules in AppVeyor 2017-04-17 23:03:21 +01:00
Kingcom
4b9d409628 Make memory view row size configurable, store it and "Align window to row size" in settings 2017-04-15 22:48:33 +01:00
Gregory Hainaut
a378e307b3 common: drop pthread TLS emulation
thread_local is supported by all C++11 compliant compiler

Keep a way to disable TLS for shared object to avoid issue of DTV
slot shortage.
2017-04-14 17:18:20 +02:00
KousukeItsagame
11aebe465f common: Replace __threadlocal with C++11 thread_local 2017-04-13 19:59:00 +02:00
Gregory Hainaut
3b97137ccf linux: mesa full steam ahead !
Enable multithread openGL
* Might be slower until all improvements are merged to mesa

Disable error validation
* Not yet merged
2017-04-13 18:04:53 +02:00
Gregory Hainaut
24eb1627e5 gsdx: add GStempdir wrapper to get a tempory directory
Allow to use Linux compatible code for OpenCL
2017-04-12 18:39:11 +02:00
Gregory Hainaut
2b30e7880e gsdx: add GSmkdir for windows based on CreateDirectory
v2: use nullptr
2017-04-12 18:39:11 +02:00
Gregory Hainaut
2d0a61fc8d gsdx ogl: use load resource to load shader
* Windows behavior must be checked
* remove glsl_source.h

v2: fix missing include
Big thanks to Turtleli

v3:
fix indentation in gsdx-res.xml
add dependency in cmake
remove old res/glsl/fxaa.fx symlink
add tfx.cl for OpenCL support on Linux

v4, v5
fix cmake indentation
2017-04-12 18:09:06 +02:00
Gregory Hainaut
38c4f5b6e7 gsdx: always NULL terminate resources on Windows
It is done automatically on Linux. Strings are much
better with this NULL char ;)

All credits go to turtleli

v2: increase resize instead of push_back NULL char
2017-04-12 18:09:06 +02:00
Gregory Hainaut
ebae8b65f8 gsdx linux: implement GSdxApp::LoadResource based on g_resource
v2: use early return to reduce code/branch complexity
v3: use nullptr
2017-04-12 18:09:06 +02:00
Gregory Hainaut
1cbade511d gsdx: use vector of char as shader container
It will avoid various char cast on Linux.

v2:
remove cast on windows file and std prefix shader vector
v3:
forget to remove some char cast
2017-04-12 18:09:06 +02:00
Jonathan Li
cf131b51a2 cdvdgigaherz: Avoid LL after date in library name string 2017-04-11 00:31:14 +01:00
Gregory Hainaut
e91194994f gsdx ogl: remove useless glx/egl context print 2017-04-09 12:59:08 +02:00
Jonathan Li
9fa053cd88 pcsx2: Remove unused variables
I'm not sure these variables were ever used.
2017-04-09 00:44:16 +01:00
Gregory Hainaut
8555b9b5ec remove an old merge conflict file (that souldn't have been commited) 2017-04-08 14:40:55 +02:00
Gregory Hainaut
dad4ab1980 gsdx ogl: Deleted objects are automatically unbound/unmapped 2017-04-08 14:40:54 +02:00
Gregory Hainaut
12d2c6be56 gsdx linux gui: align gui with wndows (tooltip + checkbox)
add checkboxes for the 2 "new" hacks
    Wrap gs memory & merge postprocessing sprite

add tooltip for OpenGL options

v2: based on turtleli feedback
use gtk_scrolled_window_set_propagate_natural_height on GTK 3.22+
use the nicer GTK_CHECK_VERSION macro
2017-04-07 23:06:29 +02:00
Gregory Hainaut
83d83b9add gsdx linux gui: reduce height on/for small screen
* Remove the logo
* add a scroll on the osd panel
2017-04-07 23:06:29 +02:00
lightningterror
820919c0a9 GSdx ogl sw: Move GL_ARB_copy_image to optional
Move GL_ARB_copy_image to optional for OpenGL SW render.
It will allow Ivy Bridge to work with OpenGL SW as it's not required.

Sandy Bridge is not yet tested , would be nice if someone could test.
2017-04-06 18:14:59 +02:00
trostboot
2940320930 GameDB: Add GT3 memcard filter
Adds base GT3 serial to other release as per #1878
2017-04-06 15:09:56 +01:00
Gregory Hainaut
ad63c13cd1 gsdx sw: Update comment on the GCC bug
Add link to bugzilla. Bug will be fixed in GCC7

Close #1881
2017-04-04 19:04:21 +02:00
Gregory Hainaut
5b91dc45e0 gsdx ogl: reduce requirement for SW renderer
Clip Control is only used for the HW renderer.

It will help Nvidia DX10 GPU on Windows. Potentially old AMD GPU too.
Unfortunately Ivy bridge still misses texture copy

Note on Linux, you can use the free Mesa driver.

Otherwise, it is time to save money for a future upgrade :)
2017-04-04 18:37:26 +02:00
Gregory Hainaut
df32564bef gsdx: workaround AVX2 generated code by GCC
See commit for the full details.

v2: use a direct access to the union field instead of extract32
It gives us both optimal and working code.
2017-04-01 14:05:40 +02:00
FlatOutPS2
82405982f7 GSdx: Add merge sprite hack to GSdx hacks dialog
Adds merge sprite hack to GSDx hacks dialog

And ports merge sprite hack to Direct3D renderers.
Special thanks to my keyboards Ctrl, c and v buttons for all their hard
work in porting this hack.
2017-04-01 11:16:25 +02:00
FlatOutPS2
557b672232 GSdx: Unscale Point and Line Direct3D11 port
Ports the "Unscale Point and Line" hack to the Direct3D11 Hardware renderer.

And enables the "Unscale Point and Line" hack for Custom Resolutions with Direct3D11 and OpenGL.
2017-04-01 11:16:25 +02:00
FlatOutPS2
117c249595 GSdx: Add Windows GUI for split texture filtering option
Adds Windows GUI elements of the split texture filtering options.

Bilinear Texture Filtering is moved to the top section of the main GSdx window,
and Trilinear Filtering is moved to Hacks.
2017-04-01 11:16:25 +02:00
FlatOutPS2
cb0a430aa4 GSdx: Shader & OSD window update
Adds Texture Filtering Of Display option to the Shader dialog window Windows UI.

Updates the layouts of the Shader and OSD dialog windows to more closely resemble the Linux GUI.
2017-04-01 11:16:25 +02:00
FlatOutPS2
df5278df72 GSdx: Main & Hacks window update
Reorganizes Hacks dialog window.

Adds UI elements for the Memory Wrapping and HPO v2/Special commits

Adds advanced OpenGL functions "Geometry Shader" and "Image Load Store" to the Windows UI.

Renames "Configure Hacks" to "Advanced Settings and Hacks", to more closely resemble the Linux GUI.
2017-04-01 11:16:25 +02:00
FlatOutPS2
975441dfe9 GSdx: Direct3D port of HPO special/V2
Adds a port of the new Half-pixel Offset options for the Direct3D
Hardware renderers.
2017-04-01 11:16:25 +02:00
FlatOutPS2
2d591182c4 GSdx: Memory Wrapping Windows port
Adds GS Memory Wrapping hack to Windows. Enabling the hack will fix cut-off cutscenes in Wallace & Gromit: The Curse of the Were-Rabbit and Thrillville.
2017-04-01 11:16:25 +02:00
Gregory Hainaut
41fb11d846 gsdx: cpu detection take 3! Don't use 64 bits type in Xbyak::Cpu
Recent GCC uses SSE4/AVX code to optimize the 64 bits operation.
It is bad idea as it would generate an illegal instruction on
older CPU.
2017-04-01 11:14:18 +02:00
FlatOutPS2
bcc0160103 GameIndex: minor update
Update compatibility info for 2 games based on compatibility reports I
made earlier.

Fixes title for the PAL and NTSC-U releases of Tokyo Xtreme Racer Drift 2.

And adds a fix for Sled Storm(confirmed to be required for both the PAL(SLES-50683) and NTSC-U(SLUS-20363) versions).
2017-03-31 23:50:35 +01:00
FlatOutPS2
4c84a99f68 PCSX2: Console log widescreen patch folder message improvement
Improves the widescreen patch message when loading from the cheats_ws
folder instead of the archive.
2017-03-31 23:50:35 +01:00
FlatOutPS2
b4001e65e7 PCSX2: Console log plugin message update
Remove full path from every plugin binding and only add it to the
preceding "Loading Plugins..." line.
Instead the revision date and version number are printed for each plugin
to make it easier to identify issues with plugin versions.
2017-03-31 23:50:35 +01:00
FlatOutPS2
82ad1392ef GSdx: Move Ace Combat 4 CRC hack to aggressive level and fix spelling issues
Ace Combat 4 CRC hack removes clouds for a good speed boost, which removes both 3D clouds(invisible with Hardware renderers, but cause slowdown) and 2D background clouds.
Removes blur from player airplane.
This hack also removes rockets, shows explosions(invisible without CRC hack) as garbage data, causes flickering issues with the HUD, and in some (night) missions removes the HUD altogether.
The CRC hack has been moved to the aggressive level.

Aggressive is misspeled several times in the file, this has been adressed.
2017-03-31 23:36:35 +02:00
Jonathan Li
815ac8be04 gsdx:cmake: Fix logo dependency issue
Changes to the dependencies of the generated logo files did not trigger
a rebuild of the files. Use add_custom_command instead of
execute_process so build dependencies can be specified.

Also prevent the generated files from polluting the source directory.
2017-03-30 22:55:34 +01:00
Jonathan Li
ba94643f0f gsdx:linux: Fix missing logo on some Linux distros
The pixdata format loader has been removed from recent versions of
gdk2-pixbuf, so the logo doesn't load. Avoid preprocessing the data and
leave the logo as an embedded bitmap file.
2017-03-30 17:45:49 +01:00
Jonathan Li
ae73356ecf gsdx: Avoid const strings in header file
This prevents each .cpp file that included stdafx.h (IOW everything)
from having its own copy of the strings.
2017-03-30 01:10:48 +01:00
Akash
38c2de3ae3 GSdx-PCRTC: Minor modification to NTSC saturation
Allow the output circuit saturation to take place at cases where one of the output circuit is enabled with frame mode rendering, I'm not sure it would be safe to allow saturations when both of the output circuits are enabled with frame mode rendering. Unlike field mode rendering, frame mode doesn't use identical rectangles at same co-ordinates for output in two alternating fields and potentially they could use a much bigger output size when both of the output circuits are enabled and are separated without any intersection. So let's limit the saturation to only the cases where we detect a single output circuit for frame mode rendering.

Fixes a regression in Devil May Cry 3 and Sky Gunner.
2017-03-29 19:37:44 +02:00
willkuer
a18d624bcb gsdx: Add an automatic CRC hack level
If a user switches renderer they also have to remember to change the CRC
hack level for the best user experience with the selected renderer.

This commit adds a new automatic CRC level that autoselects the
recommended CRC level for the selected renderer, so that a user doesn't
have to make the change manually.

coauthor: turtleli
2017-03-28 23:05:24 +02:00
willkuer
439472d4f8 gsdx: Add template version of GetConfig
It allows static_casts to be avoided for enum classes
2017-03-28 23:05:24 +02:00
Jonathan Li
85ddf69042 gsdx: Improve OpenGL HW renderer checks
If OpenGL software is the saved ini renderer and F9 is pressed to toggle
to the hardware renderer, depth emulation will be disabled. This fixes
that issue.
2017-03-28 23:05:24 +02:00
Jonathan Li
a5282daf91 gsdx: Store the current renderer in GSdxApp 2017-03-28 23:05:24 +02:00
Jonathan Li
94f2ad9263 gsdx: Move renderer config loading from GSOpen2 to _GSOpen
Some duplicate logic is avoided this way.
2017-03-28 23:05:24 +02:00
lightningterror
6977658443 GSdx ogl: SSO Workaround for AMD buggy drivers (#1858)
GSdx ogl: SSO Workaround for AMD buggy drivers

All 2017 drivers are now blacklisted.
The BSOD/crash issue is still there so don't set Blending Accuracy to None!
Shortened the message in the console making it more appealing.
2017-03-28 23:02:19 +02:00
orbea
2aa33e2875 Add crc hack for project metafalica
Closes https://github.com/PCSX2/pcsx2/issues/1762
2017-03-27 12:51:43 +02:00
pgert
b123b6df89 Swedish translation update. 2017-03-27 12:51:10 +02:00
Jonathan Li
eb8ede38cf lilypad: Use l length modifier for wide character string
w is Windows specific. Fixes a gcc and clang warning.
2017-03-23 22:35:49 +00:00
Jonathan Li
f1eff358da gsdx:windows: Fix console output when replaying dumps 2017-03-23 01:33:35 +00:00
Jonathan Li
cf4194fef7 pcsx2: Remove unused Windows files
There's actually more (old cheats and patch browser?), but I don't know
whether they'd be useful so I'll leave those alone for now.
2017-03-22 18:15:07 +00:00
Jonathan Li
f174d71ac7 gsdx: Fix vsnprintf usage in format function
-1 is only returned when there is an encoding error, and the va_list
argument is indeterminate after being passed to vsnprintf.

Use the return value to determine the buffer length, and call va_end and
then va_start before vsnprintf is called again.
2017-03-21 23:21:26 +00:00
Jonathan Li
ae2e8469b4 gsdx: Remove ancient codeblocks file 2017-03-21 23:21:26 +00:00
Jonathan Li
4fff0e952c 3rdparty:freetype: Use zlib in 3rdparty instead of internal version
Reduces the GSdx DLL size slightly (14kb with VS2017)
2017-03-21 23:21:26 +00:00
Jonathan Li
67d9436f22 gsdx: Remove unused and incomplete GSDeviceSW 2017-03-21 23:21:26 +00:00
Jonathan Li
178f31f4c6 pcsx2:mainframe: Remove some comments and unused prototypes
The flag comment was wrong, the rest are mostly old leftovers/TODOs.
2017-03-21 23:21:20 +00:00
Jonathan Li
e344578a01 pcsx2: Remove unused MenuId_Sys_Restart and related code 2017-03-21 19:06:34 +00:00
Jonathan Li
1837d43d96 gui: Remove unused/incomplete panels/dialogs
Also rearrange the CMakeLists.txt slightly so things are easier to find
and to remove a duplicate entry.
2017-03-21 00:10:45 +00:00
Jonathan Li
fb174b482f pcsx2: Remove unused/incomplete stuck/wait for thread dialogs 2017-03-21 00:10:45 +00:00
Jonathan Li
448ca97d93 gsdx: Avoid "using namespace std" in spsc queue 2017-03-21 00:10:35 +00:00
Gregory Hainaut
9865270e68 gsdx: split GSVector.h into smaller files 2017-03-19 13:50:13 +01:00
FlatOutPS2
f3a89f59e4 LilyPad: General fixes and UI improvements
Some general fixes and UI improvements.

Adds Reset Configuration to Input/Force Feedback configuration screens that resets the configuration for the selected control(s).

Adds Restore Defaults button to the General tab that deletes all LilyPad
Settings and bindings and resets to the default settings.

Adds double-click functionality to the PAD list on the General tab,
which will now send the user straight to the corresponding PAD tab.
2017-03-16 22:43:53 +00:00
FlatOutPS2
84a8fdadc5 LilyPad: Fix F4 button (PCSX2 FrameLimiter toggle) getting blocked
Fixes issue where losing focus after pressing alt-tab would end up
blocking the F4 button (which is used for turning the PCSX2 FrameLimiter
on and off).

Fixes: https://github.com/PCSX2/pcsx2/issues/1797
2017-03-16 22:43:53 +00:00
FlatOutPS2
bd45bab34a LilyPad: Display a warning when all controls are inactive
Displays a console warning if no controls/controllers are active and the
emulation cannot be controlled.
2017-03-16 22:43:53 +00:00
FlatOutPS2
2ea078beb5 LilyPad: Add Quick Setup
Adds quick setup that allows for quickly setting up all the default pad
buttons without having to click on each one separately.

Hides special inputs(inputs that aren't available on a PS(2) controller) by default.
2017-03-16 22:43:53 +00:00
FlatOutPS2
3075ec2203 LilyPad: Improve analog/pressure sensitive detection
Improves detection of analog or pressure sensitive support, which previously made some games unable to detect the correct mode.
2017-03-16 22:43:53 +00:00
Gregory Hainaut
a3efc77255 gsdx ogl: use an HLE shader to avoid upscaling line in ICO
ICO uses a depth of field effect for the fog. Depth is extracted
into the alpha channel of a texture. And then used as blending factor.
You need a 1:1 texture/pixel mapping otherwise you will line at boundaries.

In order to extract the DoF, ICO moves the depth buffer around the GS
memory. Memory moves are implemented in the not-scaled world. It means
that we can't have the above 1:1 ratio. And we don't know anymore that
data are coming from the current depth buffer.

The solution: I reused an HLE channel shader to read the depth buffer directly.
This way I have the guarantee that pixel/depth are aligned.

Close #1816
2017-03-16 08:27:12 +01:00
Gregory Hainaut
1a768ca438 gsdx sw: sync thread if current target pages are already used by input texture
Otherwise you have a write before read typical race condition. It works
most of the time because textures are stored in temporary buffers (aka
texture cache). So the race condition requires texture invalidation in the mix.

I hope the perf impact will be small enough.

Fix #1691
Blood Will Tell: gray scale effect description

Frame is renderer in 0x700
Sync 0x700 (RT will be used as input)

Foreach page of frame
    // The missing Sync was this one. You can't copy new data to 0x2800
    // until you finish the rendering that use 0x2800 as input texture
    // (AKA end of this foreach loop)
    Sync 0x2800 (not the first iteration, texture will be used as a RT)
    Copy page from 0x700+offset to 0x2800

    Sync 0x2800 (RT will be used as input)
    Render Effect line1 from 0x2800 to 0x700
2017-03-15 18:30:46 +01:00
Jonathan Li
559f64ee4f pcsx2: Remove VS2013 ifdefs 2017-03-13 23:57:28 +00:00
Jonathan Li
c498833c27 gsdx: Remove VS2013 stuff 2017-03-13 23:57:15 +00:00
Gregory Hainaut
0af80b7c86 gsdx: restore the order of the texture filtering option
It was modified by mistake with previous filtering refactoring
2017-03-13 22:55:47 +01:00
Gregory Hainaut
4227a5bb59 debugger: add eu bios info 2017-03-13 19:41:19 +01:00
Gregory Hainaut
84222a9746 gamedb: wrong entry (duplicated)
Close #915
2017-03-13 19:24:40 +01:00
Gregory Hainaut
0e2d61d422 i10n: add nb_NO mo files 2017-03-12 23:36:59 +01:00
Jonathan Li
58df02e97f ci|mscompile: Remove VS2013 configurations
VS2017 hasn't been added to mscompile since a VC150COMNTOOLS environment
variable isn't set when VS2017 is installed.
2017-03-12 16:29:55 +00:00
Jonathan Li
5c1023a332 spu2-x:windows: Replace GUIDFromString with IIDFromString
Does the same thing.
2017-03-12 00:04:09 +00:00
DandelionSprout
4889e9783f Norwegian translation update (#1850)
i10n: update Norwegian po files
2017-03-11 17:41:55 +01:00
Akash
f423cf73c4 GSdx: Fix Alpha test value initialization
Alpha test should only be disabled when writes to all of the alpha bits in the Framebuffer are masked. Fixes a regression in Dragon Ball Z: Budokai 3 scouter image rendering.
2017-03-11 17:40:28 +01:00
Gregory Hainaut
7d3c850813 gsdx ogl: improve ST/Q precision
When a float overflow is detected, geometry shader is disabled. And ST/Q is done on the CPU

It will help
Issue 551
Issue 1684
2017-03-11 00:24:38 +01:00
Gregory Hainaut
6d6ed1a205 gsdx sw: do const q division in ConvertVertexBuffer
It allow to do the division before the size multiplication
It avoid a float overflow if T is too big.
Old behavior: (T * size) / Q
New behavior: (T / Q) * size

Performance Note:
* Rcp was replaced by a slow division (more accurate)
* At least we avoid a 2nd loop on the vertex buffer

It helps on Pro Soccer Club and Galerians Ash rendering

Tric Note:
SPRITE must be handled differently because the 'q' of first vertex could
be invalid
2017-03-10 20:45:14 +01:00
Gregory Hainaut
611239db5c gsdx: handle float overflow on Q in vertex trace
Replace the fast reciprocal with a slower division when we detect a too big Q value.

Improve #551, #1684
2017-03-10 20:45:14 +01:00
Gregory Hainaut
f862f5be03 gsdx sw: use accurate division for the C reference implementation
Speed isn't important here. It would allow to compare the rendering with
the JIT implementation. If it is necessary we could an option for the JIT.
2017-03-10 20:45:14 +01:00
Gregory Hainaut
b54a824abd gsdx: split texture filtering option
Bilinear applies to all renderer
* Common code done in GSVertexTrace
* Extend it with forced but sprite (trade-off between linear/upscale glitches)
* Linux GUI option was moved at the top with the renderer selection

Trilinear is moved to OGL hack

close #1837

Thanks to Flatout for the review and feedback.
It will take care to update the Window GUI :)
2017-03-10 18:05:34 +01:00
Akash
f443804b35 PCSX2-Git: Move the Q&A section content
Removed the superfluous table and moved the Appveyor, Travis CI and Coverity status boxes to the top to make it easily noticeable.
2017-03-10 00:00:06 +01:00
Akash
b1de70c526 PCSX2-Git: Move screenshots to a new section
The previous placement of the screenshots were inconsistent and they were just arbitrarily placed in different sections of the ReadMe file, moving them to a separate "Screenshot" section to make them look more organized.
2017-03-10 00:00:06 +01:00
bositman
05a186af82 Add new images 2/2 2017-03-10 00:00:06 +01:00
bositman
b538c8fe75 Removing broken images - Adding new ones 1/2
Because changing them with one commit fails for some magical reason -_-
2017-03-10 00:00:06 +01:00
Jonathan Li
ec7781f1f9 windows: Fix VS project file issues
Fixes "project out of date" issue for wx_config on VS2017.
Fixes whole program optimisation possibly not being applied on release
builds for USBqemu (it may have been applied, but I can't actually tell,
and now it at least shows properly in the VS property editor).
2017-03-07 19:47:54 +00:00
Gregory Hainaut
91f805675b gsdx: dump xyoffset register 2017-03-05 22:16:01 +01:00
Gregory Hainaut
0a5f796c33 gsdx sw: missing texture due to wrong optimization fix
Typical bug, missing/wrong texture on the SW renderer but working fine on the HW renderer

Debugged on ATV Quad Power Racing 2 but I suspect couple of game are impacted

Bug description:
GSdx flatten the Q value of sprite. So m_vt.m_eq.q is true when Q(2N+1) are the same.
Q(2N) values could be random. The fix replaces Q0 by Q1 for the uniform Q value.
2017-03-05 20:27:19 +01:00
Gregory Hainaut
438fbf31cf gsdx sw: rcp introduce bad rounding on the grandient
Division is slower but more accurate. Fix rendering issue on Xenosaga (batte slot)/Jak3 (skin color)

Coauthor:pseudonym

Fix issue #1769
2017-03-05 10:53:07 +01:00
Gregory Hainaut
ae8aa358e4 gsdx: move window creation before renderer/device setup 2017-02-26 19:09:16 +01:00
Gregory Hainaut
da2bf4e366 gsdx: reduce the complexity on window creation
Improve code sharing between OS
Use vector to handle priority
Throw in GSWndDX create in case of error
2017-02-26 19:09:16 +01:00
Gregory Hainaut
9ff385f6f3 gsdx: use shared_ptr instead of raw GSWnd* 2017-02-26 19:09:16 +01:00
Gregory Hainaut
714fcaaadd gsdx ogl: move the validation of the gl context in the window 2017-02-26 19:09:16 +01:00
Gregory Hainaut
b3836c58d2 gsdx ogl: properly plug the new HPO option 2017-02-26 19:04:00 +01:00
Gregory Hainaut
646c02a5e2 gsdx linux: update GUI based on previous commit 2017-02-26 19:04:00 +01:00
woj1993
4a6a3af418 gsdx windows: update gui to add a HPO v2 checkbox
Squash done by greg

v2: update tooltip
2017-02-26 19:04:00 +01:00
Akash
8f02052232 Plugin-Function: Add OSD for incomplete/corrupt savestates
Previously, the OSD neglected to mention any sort of message when the savestate load is failed, the following patch now also prints a message on OSD when detecting such cases of loading an incomplete/corrupt savestate.
2017-02-24 19:21:37 +01:00
refractionpcsx2
489a89ae8b Merge pull request #1835 from volodymyrkutsenko/vu0_cfc2_tpc_adjustment
VU0: fix for Street Fighter EX3 and R: Racing Evolution
2017-02-23 11:39:13 +00:00
Volodymyr Kutsenko
6862106dee VU0: added a special case to the CFC2 instruction if it copies the value
from the TPC register (fixes Street Fighter EX3 #954 and R Racing
Evolution the invisible cars issue)
2017-02-23 04:38:26 +02:00
uyjulian
607e01690c Make fps2bios compilable with latest PS2 toolchain 2017-02-21 10:55:18 +01:00
Akash
500d2e076d GSdx-PCRTC: Apply saturation only for field mode
Previously, the NTSC saturation was also applied for double scan mode (Interlaced and Frame) where the developers send double the height to the DISP registers, saturation shouldn't be performed at such cases as the developers could send a value of 780 while the real size of the output would be 390 due to double scan mode. Doing the saturation later after identifying the real size also seems a bit counter-intuitive as we haven't discovered any cases where double scan games require the NTSC saturation hack. So let's just apply the saturation only for Interlaced (Field) Mode and omit the saturation step for other modes.
2017-02-21 10:54:28 +01:00
Akash
17b33afd64 GSdx-PCRTC: Move hacks away from GetDisplayRect()
Isolate all the hacks into a separate subroutine and properly document about them, should make it easier for people to understand the display rectangle setup code, the hacks were totally messing up the readability of the function earlier.
2017-02-21 10:54:28 +01:00
Akash
319b3dabdf GSdx-Windows: Automatic CRC hack level selection
Default to "Partial" CRC hack level when the GPU's best renderer is determined as the OpenGL hardware renderer.
2017-02-21 10:54:03 +01:00
Akash
ff89619b09 GSdx: Add an Enumeration for CRC Hack level 2017-02-21 10:54:03 +01:00
Gregory Hainaut
726f9d5312 gsdx ogl: improve error message on windows
* Common function
* Print an error id
* Don't exit on bad setpixelformat (it is illegal to call it twice)
2017-02-18 22:25:27 +01:00
Gregory Hainaut
f3adf4bf57 gsdx ogl: texture barrier is optional too 2017-02-18 20:11:56 +01:00
Gregory Hainaut
193d9f838b gsdx ogl: mark 2 DSA functions as optional 2017-02-18 19:44:17 +01:00
Jonathan Li
1ff6eec1e3 isoreader:gzip: Avoid shallow copying z_stream objects
This prevents the internal state of the objects from becoming
inconsistent, which causes inflate() to fail with recent zlib versions
(1.2.9 and later).
2017-02-18 15:49:00 +00:00
Jonathan Li
c218ef3970 3rdparty: Update zlib from 1.2.8 to 1.2.11 2017-02-18 15:49:00 +00:00
Gregory Hainaut
674d22321a gsdx wgl: drop GL2.0 context and avoid a context leak
Namely detach/delete context before throwing
2017-02-17 19:20:42 +01:00
Gregory Hainaut
cdb71101a1 gsdx ogl: As Intel is too cheap to provide GL_ARB_direct_state_access on theirs expensive iGPUs
Add a "slower" emulation of the extension...

Hopefully it will allow to start openGL on haswell (maybe broadwell) and later.
2017-02-17 17:44:26 +01:00
Gregory Hainaut
26993380b1 gsdx-ogl: black list 2016/2017.1 AMD driver
Based on AMD feedback, I'm might blacklist all 2017 drivers too.
2017-02-17 17:32:53 +01:00
Gregory Hainaut
da1bb43618 cmake: Add various missing file in CMakeLists.txt
Add some windows code path. It would reduce the burden to port Cmake to windows.
(sill miss 3rdparty/some plugins/...)
2017-02-16 20:11:57 +01:00
Robert Neumann
f86ea9f19b GameIndex.dbf: Removed Shin Megami Tensei Digital Devil Saga series EE timing hack 2017-02-11 14:48:21 +01:00
Gregory Hainaut
0610690fa7 Merge pull request #1814 from PCSX2/greg/gsdx-wgl-context
gsdx wgl: retry to create a context without advance flag
2017-02-11 14:02:48 +01:00
Gregory Hainaut
de962d3e7e gsdx wgl: retry to create a context without advance flag
Hopefully it will support more drivers #1813
2017-02-10 22:26:41 +01:00
Gregory Hainaut
213fa1c148 gsdx sw: init completely m_scanline buffer
The buffer contains extra room to avoid a segmentation fault due to an overflow.
Unfortunately the end of the buffer wasn't initialized which can lead to unexpected behavior.

Based on issue #1806 it could impact Guilty Gear X2
2017-02-08 19:42:54 +01:00
Gregory Hainaut
2a2a022792 gsdx ogl: add a texture barrier when target is read back
Fix graphical corruption in Nouveau/BUA/devil may cry

Issue #1805
2017-02-08 19:42:54 +01:00
Gregory Hainaut
ba91c8f0c2 gsdx opencl: warning+compilation fixes 2017-02-08 19:42:54 +01:00
Gregory Hainaut
c232f90d6e cmake: add an option to enable openCL
Note: nothing work
2017-02-08 19:42:54 +01:00
Gregory Hainaut
d0b1162b15 gsdx ogl: drop fallback of GL_ARB_clear_texture
Mesa AMD was updated :)

all drivers[1] that support GL_ARB_shader_image_load_store got GL_ARB_clear_texture

[1] Intel driver misses others extensions to run GSdx
2017-02-03 21:56:24 +01:00
Gregory Hainaut
63944e8c43 gsdx ogl: allow to start without GL_ARB_texture_barrier
Rendering will be corrupted (for advance effects) if the driver doesn't support it.
However it allow to run with Mesa software emulation (or inside a virtual machine)

Note: mesa still requires an override of the buffer storage extension
MESA_EXTENSION_OVERRIDE=GL_ARB_buffer_storage
2017-02-03 21:56:24 +01:00
Gregory Hainaut
35ed991abe pcsx2: set the size of the vector in the constructor 2017-02-03 21:56:24 +01:00
Gregory Hainaut
23d081ab21 common: remove an old gcc workaround 2017-02-01 18:24:51 +01:00
Gregory Hainaut
6d7b1f9dbd common: move ssappendf in DisR59000asm.cpp
Legacy function to print EE opcode. It doesn't worth an extra file.
2017-02-01 18:24:51 +01:00
Gregory Hainaut
965fccaff0 common: use C++11 version vssappendf
* use std::vector instead of VLA
* remove windows code (optimization is useless here)
2017-02-01 18:24:51 +01:00
Gregory Hainaut
dc42c65dfb gsdx: requires/allow BMI instruction in AVX2 build
So far BMI is inclusive in AVX2 CPU. Help compiler to generate better code
2017-02-01 18:24:51 +01:00
Akash
eda22c241d GSdx: Improve robustness of ComboBoxInit()
Previously, the combobox will reach an indeterminate state whenever it's passed with a value out of range via ComboBoxInit(). To avoid such cases, let's initialize the current selection of the combobox with the front element of the settings vector whenever we detect an out of range value which is not declared in the vector.

To reproduce the issue, set "Renderer" to some sort of crazy value like 50 in the GSdx.ini file and it'll mess up the whole GSdx plugin dialog really bad. This patch prevents such undesirable behavior by simply selecting the front element in the vector when we read an unsupported value.
2017-02-01 11:29:38 +00:00
Huud
c56ac2cf3e PCSX2: Remove Unused And Unneeded Argument. (#1799)
EE interpeter: remove unused argument

rdd is neither used, nor needed. It appears it was there to pass the _Rd_ word to write to, but the writing was moved to PHMSBH() to have one "if (_Rd_)".

Add a note on undefined behavior
2017-02-01 11:30:41 +01:00
Jonathan Li
af38b8bf97 pcsx2: Avoid having to translate the same strings twice
Both strings have almost identical strings present elsewhere in the code,
the only difference being that they use one less space.
2017-01-31 22:30:08 +00:00
Jonathan Li
c65e467c83 pcsx2:windows: Fix unreferenced local variable warning
Also fix some typos in the warning messages.
2017-01-31 22:26:03 +00:00
Gregory Hainaut
5751e38180 gsdx: use range loop instead of for_each 2017-01-30 17:58:39 +01:00
Gregory Hainaut
cf71049bd4 gsdx tc: use unsigned constant
Help the compiler to generate better code

C code:
uint32 addr = (i >> 3u) % MAX_BLOCKS;
uint32 row = addr >> 5u;
uint32 col = 1 << (addr & 31u);

ASM Before
     f48:	mov    eax,esi
     f4a:	mov    ecx,esi
     f4c:	mov    edx,DWORD PTR [ebp+0x8]
     f4f:	sar    eax,0x1f
     f52:	sar    ecx,0x3
     f55:	shr    eax,0x12
     f58:	add    ecx,eax
     f5a:	and    ecx,0x3fff
     f60:	sub    ecx,eax
     f62:	mov    eax,0x1
     f67:	shl    eax,cl
     f69:	shr    ecx,0x5
     f6c:	lea    edx,[edx+ecx*4]

ASM After
     f48:	mov    ecx,edi
     f4a:	mov    eax,0x1
     f4f:	sar    ecx,0x3
     f52:	shl    eax,cl
     f54:	shr    ecx,0x3
     f57:	and    ecx,0x7fc
     f5d:	add    ecx,DWORD PTR [ebp+0x8]
2017-01-30 17:54:29 +01:00
Gregory Hainaut
da054a2aab gsdx: remove useless debug log 2017-01-30 17:54:21 +01:00
Gregory Hainaut
09b8aaed71 gsdx tc: extend the wrap option to the texture cache 2017-01-30 17:54:07 +01:00
Akash
bf10873405 GSdx: Remove useless check and add debug messages
IsEnabled() check is already done in GetDisplayRect, so it's pointless to do it here. Also updated a debug message in the GetFrameRect() function.
2017-01-30 15:29:28 +01:00
Akash
a2cdcb4e4d GSdx-PCRTC: Improve output circuit selection
Previously, the auto output circuit selection of the GSdx wasn't good, it simply defaulted to the second output circuit even when the first output circuit is also enabled. The new algorithm for auto selecting returns the merged rectangle dimensions when both of the output circuits are enabled and if the condition for merge is not satisfied then it returns the bigger output circuit.
2017-01-30 15:29:28 +01:00
Gregory Hainaut
bccc3ef253 Merge pull request #1770 from np511/gcc-cleanup
Cleanup GCC warnings - still needs some work
2017-01-30 15:28:33 +01:00
np511
e5e601eb75 Use GResources API instead of deprecated inline 2017-01-29 09:06:22 -05:00
np511
15d66cf337 Properly format 2017-01-29 09:06:21 -05:00
np511
936d9edc4c Remove old/pointless code 2017-01-29 09:06:21 -05:00
np511
de6216b37b Remove warnings about ISO C++11 conformance 2017-01-29 09:06:10 -05:00
Gregory Hainaut
72d54d3df6 Merge pull request #1792 from FlatOutPS2/Core
GameDB: Add game fixes for Silent Hill 2 and 3
2017-01-27 14:20:46 +01:00
FlatOutPS2
7ff28ab5ae GameDB: Add fixes for Silent Hill 2 and 3
Adds FMVinSoftwareHack gamefix to the game fixes list and activates it
for Silent Hill 2 and 3.
2017-01-27 13:05:41 +01:00
Gregory Hainaut
9393b20e13 Merge pull request #1791 from turtleli/remove-old-cdvd
Remove old cdvd plugins
2017-01-27 11:10:07 +01:00
Jonathan Li
754045b6f7 gsdx:windows: Remove SSSE3 and AVX configurations 2017-01-27 11:06:30 +01:00
Gregory Hainaut
972c907ac2 Merge pull request #1794 from turtleli/add-cdvd-block-dump-menu
pcsx2:gui: Add menu item for creating block dumps
2017-01-27 11:05:47 +01:00
lightningterror
f0393e50c2 GSdx: Windows gui updates (#1768)
* Rename CRC Hack Level "Full (Safest)" to "Full (Direct3D Recommended)"
* add link/info of AMD driver epic fail status
2017-01-27 11:00:23 +01:00
Jonathan Li
625c4a9a05 Merge pull request #1751 from FlatOutPS2/Lily
LilyPad: Another GUI update and add more new functions
2017-01-27 00:22:44 +00:00
Jonathan Li
56c2d20b90 pcsx2:gui: Add menu item for creating block dumps 2017-01-26 18:48:07 +00:00
FlatOutPS2
8d00ae25c4 LilyPad: UI restructure
UI restructure and improvements.
2017-01-26 19:46:37 +01:00
FlatOutPS2
6074d60a90 LilyPad: Replace Turbo hack
The "L3 Toggles Turbo" hack has been removed and been replaced by a
bindable Turbo button on the Pad tabs. The Turbo function in the input
configuration has been renamed Rapid Fire.
2017-01-26 19:46:36 +01:00
FlatOutPS2
6e54dfe5ba LilyPad: Remove outdated hacks
Removes Ignore Key(hasn't functioned since LilyPad 0.9.9 (PCSX2 0.9.6)),
and "Send escape on window close" hack (unnecessary for PCSX2 and caused
issues with other emulators).
2017-01-26 19:46:36 +01:00
FlatOutPS2
9163ed351c LilyPad: Add Exclude Input option
This new option on the pad tabs disables an input so it will be ignored
when trying to bind another input. This is helpful when binding controls
for a device with an input that's difficult to center like an
accelerator, or just always active like a faulty button or analog stick.
2017-01-26 19:46:36 +01:00
FlatOutPS2
f8a79e5d40 LilyPad: Add neGcon support
Adds neGcon as a new pad type.

For use with several PS1 and PS2 games like the Ridge Racer and Ace
Combat series.
2017-01-26 19:46:19 +01:00
lightningterror
1cf30584f0 CP update
Replace Gregory's name with PCSX2 Dev Team
2017-01-26 17:12:13 +01:00
lightningterror
1ecb5aed0f Update Copyright v2
Revernt changes , update Gregory's name
2017-01-26 17:12:13 +01:00
lightningterror
0b93aa5d12 Revert "Update Copyright notices/disclaimers 2017"
This reverts commit fc5bdb771f.
2017-01-26 17:12:13 +01:00
lightningterror
3d4e1c1246 Update Copyright notices/disclaimers 2017
Update all Copyright notices/disclaimers in scripts to 2017
2017-01-26 17:12:13 +01:00
Gregory Hainaut
096c9316b8 gsdx cl: fix various compilation issues and a couple of warnings
I didn't fix all the warnings (purpose was to realign code with "recent" update)

Linux note: only miss 2 major items
* res/tfx.cl loading
* device descriptor
* And various bug fixes ;)
2017-01-24 19:38:31 +01:00
Gregory Hainaut
d67b9cba14 gsdx tc: merge page coverage code
A function was already done for openCL. Use the same for others renderers
2017-01-24 19:38:16 +01:00
Gregory Hainaut
5c7c9452d6 onepad|gsdx: remove useless debug messages 2017-01-22 21:47:05 +01:00
Gregory Hainaut
1e7fd83ac5 gsdx|spu2x: fix %d/%u in printf (cppcheck) 2017-01-22 21:10:40 +01:00
Gregory Hainaut
077ae2e6a0 gsdx: use (void)(0) for empty statement
Reduce warning in cppcheck
2017-01-22 21:10:40 +01:00
Gregory Hainaut
28e1f87d9e build.sh: reduce the number of define for cppcheck analysis + add cdvd giga 2017-01-22 21:10:40 +01:00
Jonathan Li
1a5f01ca9f man-page: Update and use mdoc macros
[skip ci]
2017-01-22 18:38:50 +01:00
Gregory Hainaut
1d2ce62b2c gsdx tc: comment dead code 2017-01-22 16:52:14 +01:00
Gregory Hainaut
d9efbfb178 pcsx2: don't use npos as array index 2017-01-22 16:50:55 +01:00
Gregory Hainaut
6f9feee759 common: init m_vtune_id 2017-01-22 16:45:49 +01:00
Gregory Hainaut
701743a4ec gsdx boost queue: init all states 2017-01-22 16:43:35 +01:00
Gregory Hainaut
9183d1d2c6 gsdx osd: set m_face to null in case of error 2017-01-22 16:42:01 +01:00
Gregory Hainaut
9120c3bfb1 onepad: init all fields of objects 2017-01-22 16:34:27 +01:00
Gregory Hainaut
5d119bec31 vif: init field in constructor + remove empty function 2017-01-22 16:23:40 +01:00
Gregory Hainaut
ad7892bd15 svu: init all field of RANGE struct 2017-01-22 16:10:43 +01:00
Gregory Hainaut
33a7672196 spu2x: use default contructor of the compiler 2017-01-22 16:06:54 +01:00
Gregory Hainaut
44b5552231 MTVU: hide ring buffer pointer bug under the carpet
There is a bug lurking around (intro of SotC). Unfortunately, I didn't find it. So instead, I added a safety net
in the ring buffer reservation.
2017-01-22 15:42:14 +01:00
Gregory Hainaut
81adc3ef4d gsdx ogl: don't use per buffer blending
It increases the number of state that driver must handle.
2017-01-20 18:22:52 +01:00
Gregory Hainaut
3400d7eecc i10n: update es mo file 2017-01-20 18:22:52 +01:00
Jonathan Li
03acb22212 plugins: Remove cdvdlinuz
Superseded by PCSX2 internal ISO reader and cdvdGigaherz.
2017-01-20 00:04:14 +00:00
Jonathan Li
9b110d8c3c plugins: Remove CDVDisoEFP
Superseded by PCSX2 internal ISO reader and cdvdGigaherz.
2017-01-20 00:04:14 +00:00
Jonathan Li
0ad5abbbfc 3rdparty: Remove bzip2
Now unused.
2017-01-20 00:04:14 +00:00
Jonathan Li
cb64cb6abe plugins: Remove CDVDiso
Superseded by PCSX2 internal ISO reader.
2017-01-20 00:04:14 +00:00
Jonathan Li
6aef44271e plugins: Remove CDVDolio
Superseded by PCSX2 internal ISO reader and cdvdGigaherz.
2017-01-20 00:04:14 +00:00
Akash
0d659a1b46 GSdx: Improve captured screenshots naming
Previously, when F8 was triggered multiple times in a single second, the latest captured image would replace the previous captured one as it has the same name as the previous image.

The following patch detects such cases and adds a number along with the filename when new image capture is requested under the same time as the previous capture.
2017-01-19 23:47:34 +00:00
Gregory Hainaut
21612cafc1 Merge branch 'greg/mtvu-mtgs-lockless' 2017-01-18 19:12:26 +01:00
Gregory Hainaut
24c780c884 MTVU/GS: try to relax the readAmount atomic operation
I suspect it to be the same on x86

The real issue is the various atomic in FinishGSPacketMTVU which I'm afraid will create some cpu stall
2017-01-18 19:11:51 +01:00
Gregory Hainaut
e3d1871f86 MTVU: small thread scheduling improvement
* Use yield to avoid a spin loop during WAIT
* Don't flush the full buffer when we miss space
2017-01-18 19:11:10 +01:00
Gregory Hainaut
fff5230631 MTVU: redo properly atomic management around the MTVU ring buffer
The ring buffer is composed of severals read/write by transaction.

Atomic operations are only required at the start/end of the full
transaction. In the middle, you can use normal variable (optimization
opportunity for the compiler)

Use acquire/release semantics on isBusy and vuCycles to remain 100% safe
(relaxed might be doable but better be safe than sorry)

Use dedicated cache line for atomic variable to avoid any conflict between CPU
2017-01-18 19:10:47 +01:00
Gregory Hainaut
d589be9415 GIF: remove 'done' of the GS_Packet struct
The struct is copied in various ring buffer (hot path)
We only need the return status of the function so use a reference instead of
a state variable

Side note: if we align the struct to 16B maybe the compiler can use SSE to copy it.

Warning: it breaks save state compatibility
2017-01-18 19:08:29 +01:00
Gregory Hainaut
7b3984059a MTVU/MTGS: use a mutex free ring buffer
Most of the time the mutex was likely optimized. Now we have the guarantee that
thread won't block.
2017-01-18 19:07:01 +01:00
Gregory Hainaut
e4f4350bb4 boost ring queue: dedicate cache line for atomic variable
Bad for data cache ! But it might be better for atomic operation.
2017-01-18 19:07:01 +01:00
Gregory Hainaut
8779583bdb boost ring queue: use % to wrap the index
For power of 2, it is replaced with a single and instruction. If it potentially faster
than branch. But it worths a benchmark
2017-01-18 19:07:01 +01:00
Gregory Hainaut
725aaccf5c boost ring queue: extend the interface to ease replacement of dequeue class in core 2017-01-18 19:07:00 +01:00
refractionpcsx2
671a575216 refractionpcsx2
GameDB: Set VU rounding to nearest in Sonic R (Sonic Gems Collection).
2017-01-18 08:28:01 +00:00
Gregory Hainaut
253057a765 Merge pull request #1777 from IlDucci/master
Updating Spanish translation
2017-01-17 18:47:52 +01:00
Aced14
70cec30dcf GameDB: Set VU rounding to nearest in Sonic R (Sonic Gems Collection).
Fixes #1759.
2017-01-16 23:25:28 -05:00
Víctor "IlDucci
240191dff8 Updating Spanish translation
Updating the Spanish translation with the latest updates.
2017-01-16 22:03:29 +01:00
Gregory Hainaut
8fe94ec07e Merge pull request #1776 from FlatOutPS2/DX
Revert "gsdx tc: partial support of pseudo depth for Dx"
2017-01-16 19:43:16 +01:00
FlatOutPS2
fffd829f88 Revert "gsdx tc: partial support of pseudo depth for Dx"
This reverts commit
d6383e6c21

It created a regression in Everybody's Golf 4/Hot Shots Golf 4, breaking the renderering when depth emulation is disabled/when using a Direct3D Hardware renderer.
2017-01-16 19:15:46 +01:00
Gregory Hainaut
f9c2025149 gsdx tc: avoid any pitfall with 1 << 31
Based on Turtleli feedback
"1 << 31 is undefined in C++11, but defined in C++14"
2017-01-15 20:11:34 +01:00
Gregory Hainaut
87cf7b6d30 gsdx tc: implement a safe RemoveAt
The code is now a mirror of the ::add. So 1 insert == 1 erase

This way it won't crash on future update. And it will support future GS
memory wrapping improvement.
2017-01-15 20:11:34 +01:00
Gregory Hainaut
d1315b6187 gsdx tc: save list iterator to allow fast removal
ZoE2:
RemoveAt overhead plummet to 0.5%. It was 17% !

However insertion is a bit slower. Due to the begin() after the push_front

v2: use std:: for lists and arrays
2017-01-15 20:11:34 +01:00
Gregory Hainaut
87fc4c1e44 gsdx tc: skip draw call when input texture can't be fetched
Avoid garbage on Full Spectrum Warrior
2017-01-15 20:09:39 +01:00
Gregory Hainaut
2f972b91a3 gsdx tc: allow a hit on older depth buffer
Avoid an issue when rendering take some shortcut (Full Spectrum Warrior)

Close #1757
2017-01-15 20:09:39 +01:00
FlatOutPS2
3acac3203b GSdx: Remove/move CRC hacks
Removes Alpine Racer 3 hack. Issue has been resolved.

Moves NanoBreaker hack. Issue has been resolved for OpenGL and hack has
been moved to DX only.

Moves Tri-Ace games hacks. Hacks are also necessary for OpenGL with "Partial" CRC Hack Level to prevent massive slowdown.

Move Tales Of Legendia hack back as it's also necessary for OpenGL with "Partial" CRC Hack Level to prevent graphical issues.
Close: https://github.com/PCSX2/pcsx2/issues/1698

Added PAL and NTSC-U CRC's for Ar tonelico II.
2017-01-15 20:07:10 +01:00
Jonathan Li
52ec143a92 gsdx:windows: Fix deprecated ATL attributes warning 2017-01-13 23:52:25 +00:00
Jonathan Li
fe1947ea48 gsdx: Fix minor user visible typos
Well. it should be better; but my grammar is questionable at times,
2017-01-13 23:52:02 +00:00
Gregory Hainaut
696510d220 Merge pull request #1763 from guoyunhe/patch-1
Translate Simple Chinese in .desktop file
2017-01-12 14:44:42 +01:00
Guo Yunhe
f5e6c82e86 Translate Simple Chinese in .desktop file
Add Simple Chinese translation in .desktop file
Change "Playstation" to "PlayStation". (Official name)
2017-01-12 13:32:59 +02:00
Gregory Hainaut
8cf3a83dd7 gsdx: try to ask GCC to generate not dumb code
Unfortunately it requires at least GCC6. If a nice guy can check the generated code on GCC6.
I don't know clang status.

Here the only example, I have found on the web
https://developers.redhat.com/blog/2016/02/25/new-asm-flags-feature-for-x86-in-gcc-6/

Current generated code in GSTextureCache::SourceMap::Add

    38b3:	bsf    eax,esi
    38b6:	add    esp,0x10
    38b9:	test   esi,esi
    38bb:	jne    387e <GSTextureCache::SourceMap::Add(GSTextureCache::Source*, GIFRegTEX0 const&, GSOffset*)+0x6e>

BSF already set the Z flag when input (esi) is 0. So it would be better
to not put a silly add before the jump and to skip the test operation.
2017-01-11 21:36:05 +01:00
Gregory Hainaut
1fbee92044 gsdx tc: add a comment for a potential "ASM" optimization
I'm not sure it worth it yet. But a generic function would be nice for
future.
2017-01-11 20:13:53 +01:00
Gregory Hainaut
ced2dd9200 gsdx: hidden option disable_hw_gl_draw
OMG, Zone of Ender got a speed boost from 11 fps to 45 fps

Seriously, the goal is to allow benchmarking GSdx without too much overhead of the main renderer draw call

Note: unlike the null renderer, texture/vertex uploading, 2D draw, texture conversions are still done.
2017-01-11 18:54:36 +01:00
Gregory Hainaut
6dabc68c16 gsdx linux gui: compact the GUI for Nx768 display (seriously guy it is time to upgrade !)
* move the post-processing frame into the OSD tab
* Rename Global Settings to Renderer Settings
* put monitor and indicator check box on the same line

At least we have a similar number of options by tab
2017-01-11 18:32:02 +01:00
Gregory Hainaut
f5fbfe98bd gsdx: fix warning: variable ‘success’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered] 2017-01-11 18:23:34 +01:00
Jonathan Li
62c21fd58f i10n: Update pt_BR (Brazilian Portuguese) .mo files 2017-01-10 21:11:15 +00:00
Jonathan Li
791dc84d49 gsdx:gtk: Update GUI
Set slider ranges to 0-100, which matches what Windows uses.
Add OSD maximum log messages option and tooltips.
2017-01-10 20:47:33 +00:00
FlatOutPS2
6a7c38f30d GSdx: Minor update to GS Settings Dialog
Update a few parts of the GS Shader dialog to reflect the improvements
from the OSD dialog code.
2017-01-10 20:07:29 +00:00
FlatOutPS2
da57014eb8 GSdx OSD: Add Windows UI and new option
Adds Windows UI and option to limit the amount of log messages on the
screen at the same time/in the buffer.
2017-01-10 20:07:29 +00:00
FlatOutPS2
d42759c641 GSdx OSD: Minor log improvements 2017-01-10 20:07:29 +00:00
Gregory Hainaut
83b5bdbd29 Merge pull request #1753 from josephgbr/master
Update Brazilian Portuguese translation
2017-01-10 11:46:48 +01:00
refractionpcsx2
b02cc6ecbe Whoops, over zealous with removing things. 2017-01-09 22:37:15 +00:00
refractionpcsx2
b0baa8d8f9 Revert CLUT change, seems it causes more problems than it solves. Leaving the comment for future investigation 2017-01-09 22:30:54 +00:00
Rafael Fontenelle
fcdc3a4745 Update Brazilian Portuguese translation 2017-01-09 09:53:02 -02:00
Gregory Hainaut
7c4a952ee0 Revert "gsdx tc: always clear a new depth buffer"
This reverts commit f77c1900fa.

Conflicts:
	plugins/GSdx/GSTextureCache.cpp

Another fix was done later for Jak cut scene (or FMV). One game got a regression (don't remember which)
2017-01-09 10:21:23 +01:00
Gregory Hainaut
3fab287e8d onepad: don't load joyid_map from the ini
Old option from the older GUI can cause issue.

Close #1139
2017-01-07 16:38:13 +01:00
Gregory Hainaut
5c6d10da96 i10n: remove build file 2017-01-07 16:02:15 +01:00
Jonathan Li
285bcbcec0 vifUnpack: Report the correct number of bytes
It now reports 6904 bytes instead of just less than 4GB.
2017-01-07 14:49:33 +00:00
Jonathan Li
c2e21fa30e gsdx: Don't use atomic for exit variable
All accesses are protected by locks, so there's no need for it to be
atomic.
2017-01-07 13:54:45 +01:00
Jonathan Li
cb2c9ce4e6 gsdx: Don't use separate count variable
It's only ever updated after the queue is updated, so its state will
always lag slightly behind it. It's sufficient to just use empty().

This seems to fix some caching issues that were noticeable on Skylake
CPUs (#998).
2017-01-07 13:54:45 +01:00
Jonathan Li
a583fafa37 gsdx: Use lock instead of loop to terminate threads 2017-01-07 13:54:45 +01:00
Jonathan Li
b244de73ca gsdx: Use separate mutex for waiting
In the previous code, the worker thread would notify the MTGS thread
while the mutex is still locked, which could cause the MTGS thread to
wake up and immediately go back to sleep again since it can't lock the
mutex.

Use a separate mutex for waiting, which avoids the issue.
2017-01-07 13:54:45 +01:00
Gregory Hainaut
93471d46df build: workaround to detect freetype on my Debian system
I don't know if recent Cmake/Debian work better.
2017-01-07 13:49:56 +01:00
Gregory Hainaut
648cc2bb39 Merge pull request #1693 from ssakash/framebuff
GSDX: Pass total height of framebuffer on GetOutput()
2017-01-07 13:48:35 +01:00
ramapcsx2
80be9d92ca Merge pull request #1709 from turtleli/cdvd-street-fighter-ex3
cdvd: Street Fighter EX3 (NTSC-J) black screen fix.
2017-01-06 22:21:03 +01:00
Akash
09c72375ab GSDX: Pass total height of framebuffer on GetOutput()
Some PSX games seem to store image data of the drawing results in an undeterminate area out of range from the current context buffer. At such cases, calculate the height of both the frame memory rectangles combined.

What happens on "Crash bash" -

* At first draw, scissoring is limited to SCAY0- 0 & SCAY1- 255
* At second draw, scissoring is limited to SCAY0- 255 & SCAY0-511

Previously, we limited the height to the value of one single output texture, so instead of that let's calculate the total height of both the two buffers combined to prevent such issues.
2017-01-04 22:17:26 +05:30
refractionpcsx2
98e8d93fa3 Merge pull request #1728 from ssakash/custom_regression
GSDX-TextureCache: Fix corner cases on custom resolution scaling
2017-01-04 16:21:18 +00:00
Gregory Hainaut
ecd00d377a Merge pull request #1729 from np511/master
Extend LTO support and remove warnings
2017-01-04 17:03:38 +01:00
np511
f55f3b94a1 Removes LTO warnings and sets -flto=number of cores. 2017-01-03 15:45:24 -05:00
Jason Brown
fce2814735 Added callbacks for OSD Log and Monitor. Added wrappers in PCSX2 main for callbacks. Added some basic info calls (e.g. Saving loading FPS) 2017-01-03 10:43:56 +01:00
Jason Brown
44e671bb0a Add an RGBA getter for ConsoleColors 2017-01-03 10:43:56 +01:00
Jason Brown
248ad0ddde Added config page to linux setting dialog 2017-01-03 10:43:56 +01:00
Jason Brown
b8a84d170a Added OSD Manager which depends on FreeType2. Added functions into GSDeviceOGL to render OSD and a point shader. 2017-01-03 10:43:56 +01:00
Jason Brown
4c084391fc Changed the GSBufferOGL interface from map and upload to map and unmap. This allows rendering directly into the OGL buffer instead of having to do copy at some point. 2017-01-03 10:43:56 +01:00
Gregory Hainaut
b87881c91b Merge pull request #1735 from FlatOutPS2/W
GSdx: Prevent FMV crash
2017-01-03 10:36:29 +01:00
FlatOutPS2
048b657c8f GSdx: Prevent FMV crash
Fixes FMV crashing PCSX2 in The Simpsons: Road Rage.
2017-01-03 00:46:38 +01:00
Akash
6c521c36dd GSdx-TC: Remove some old hacks
Previously, we only calculated the width of a single output circuit which lead to missing a single pixel from the other output circuit which in turn causes offset issues in Persona games, I have customized GetDisplayRect() to now also calculate the dimensions of the merged rectangle when both the output circuits are enabled through the PMODE register, so this hack is no longer needed. :)

TL;DR - The above commit of mine accurately handles the offset issues by calculating union of the rects, removing this stupid hack. (not insulting any other developers, this stupid hack was mine :)
2017-01-02 14:43:17 +05:30
Akash
b56ff3fce7 GSDX-TC: Pass merged output size for scaling
Passes the merged output circuit as the base size for texture cache scaling code. Helps fixing scaling issues where games use both of the output circuits for rendering.

Future Note: Alter the behavior of IsEnabled() check always preferring the second output circuit for some weird reason. I plan on changing it to a better auto-output circuit selection mechanism but that could probably be done some time in the future.
2017-01-02 14:42:32 +05:30
Gregory Hainaut
9d1b27cde8 miss a ;
I don't know what I compiled for my previous push !
2016-12-31 17:42:38 +01:00
Gregory Hainaut
1be3f48017 gsdx sw: minor fix on the thread management
* Upgrade the counter to signed 32 bits. 16 bits is too small to contains the 64K value.
* Read ThreadProc/m_count when the mutex is locked
* Use old value of the fetch instead to read back the new value
2016-12-31 16:59:38 +01:00
Gregory Hainaut
14a76a8499 cmake: don't use SSE2 suffix on libgsdx.so file
In debug build, SIMD is disabled, so it is dangerous (use wrong binary) to debug
2016-12-31 13:37:43 +01:00
Gregory Hainaut
761ce60a8e i10n: refresh translated based on latest string change 2016-12-31 11:40:46 +01:00
refractionpcsx2
7a61dc2c88 GSDX: CLUT temp old regression fix for the Romance of the Three Kingdoms games, until somebody who knows what they are doing fixes it properly :P 2016-12-30 22:00:54 +00:00
refractionpcsx2
8fecd3512c refractionpcsx2
GSdx Merge Circuit: Fix regression and issue
2016-12-27 12:08:18 +00:00
refractionpcsx2
c88cd1b065 Merge pull request #1720 from ssakash/rtc
PCSX2-Counters: Fix RTC counting in Progressive modes
2016-12-27 00:00:00 +00:00
refractionpcsx2
af3c1fc510 Gif MFIFO: Slight Optimisation for GIF MFIFO heavily used area.
Hopefully this translates well to slower systems :)

Tekken Tag:

Before: 79-81fps
After: 82-84fps

Front Mission 4 intro (as it pans over the roofs)
Before: 158-159fps
After: 165-166fps
2016-12-24 20:09:47 +00:00
Akash
c92830b103 PCSX2-Counters: Fix RTC counting at certain cases
Previously, the seconds variable of the RTC was updated on progressive modes after every 50 Vsyncs, which was obviously wrong. The code has been adjusted to update the RTC with respect to the vertical frequencies of various other video modes.
2016-12-24 11:54:25 +05:30
refractionpcsx2
7aa554b8eb GameDB: Adding Hugo: Magic in the Trollwoods 2016-12-22 21:12:16 +00:00
Akash
8038ce1aa9 GSDX: Cleanup warnings on MSVC (#1694)
Explicitly cast some bitfields/local loop variables to uint8 as these functions have uint8 as the parameter datatype.
2016-12-21 23:21:07 +00:00
Jonathan Li
10eb88f6fe Merge pull request #1706 from PCSX2/greg/vif-hash
Greg/vif hash
2016-12-21 22:30:27 +00:00
FlatOutPS2
9b6c3bd106 GSdx Merge Circuit: Fix regression and issue
Avoids graphical issues in EA NASCAR games and a regression in Time Crisis 2/3 split screen mode.
2016-12-21 01:28:43 +01:00
Jonathan Li
5a63a62454 cdvdgigaherz: Fix read past the end of the buffer 2016-12-19 23:56:48 +00:00
Jonathan Li
f2edc50675 cdvdgigaherz: Improve prefetch logic
Avoid reading past the end of the disk.
Avoid waiting when there are prefetches remaining.
Fix the maths so that the first prefetch after a request attempts to
read the next block of sectors and not the block of sectors that was
just read (which will just be skipped anyway because the data has just
been cached).
Avoid potential prefetch after disk is swapped (though disc swap doesn't
work properly if you just eject and insert a different disk).
Stop prefetching on disk read failure (Suikoden hits this case - 2048
byte reads are requested, but only 2352 byte reads will succeed).

Also reduce the read retry count to 2.
2016-12-19 23:56:48 +00:00
Jonathan Li
c1160f40d0 cdvdgigaherz: Rename variables/parameters in cdvdDirectReadSector
s/sector/sector_block
s/first/sector
2016-12-19 23:56:48 +00:00
Jonathan Li
3f89f4bd32 cdvdgigaherz: Use constant for sectors per read 2016-12-19 23:56:48 +00:00
Gregory Hainaut
58e4076620 vif: update alignment constraint
16B alignment is now useless for nVifBlock (no more SSE)
However update the alignment of bucket to 64B. It will reduce cache miss
probability in the find loop
2016-12-18 22:51:23 +01:00
Gregory Hainaut
d812222061 vif: use u32 code instead of u8/u16
It avoids memory stalls and greatly reduces the overhead of the dVifUnpack function

Here a vtune summary of this branch (done on SotC init)

dVifUnpack<1> was 14.5% of effective VU thread time
dVifUnpack<1> is now 3.8% of effective VU thread time

I hope it will translate to better fps
2016-12-18 22:44:24 +01:00
Gregory Hainaut
ef75b36013 vif: move back the cache seach in the unpack function
Avoid the various move to return the value (actually due to the pointer)
2016-12-18 22:44:22 +01:00
Gregory Hainaut
e4c2c53b19 vif: inline dVifsetVUptr function
It avoid a double cmp/jmp on the dynarec/interpreter mode.
2016-12-18 22:44:01 +01:00
Gregory Hainaut
6ae082dab2 vif: compute the length during the compilation stage 2016-12-18 22:44:00 +01:00
Gregory Hainaut
7a33cda122 vif: replace sse cmp code with standard cmp
Standard instruction are faster to execute besides the CPU can optimize the cmp/jne

SSE

  e0:	add    ecx,0x10
  e3:	cmp    eax,0x7
  e6:	jg     1b0 <void dVifUnpack<0>(unsigned char const*, bool)+0x1b0>
enter_loop:
  ec:	vpcmpeqd xmm0,xmm1,XMMWORD PTR [ecx]
  f0:	vmovmskps eax,xmm0
  f4:	cmp    eax,0x7
  f7:	jne    e0 <void dVifUnpack<0>(unsigned char const*, bool)+0xe0>

Standard cmp

  d8:	add    eax,0x10
  db:	mov    esi,DWORD PTR [eax+0xc]
  de:	test   esi,esi
  e0:	je     190 <void dVifUnpack<0>(unsigned char const*, bool)+0x190>
enter_loop:
  e6:	cmp    ecx,DWORD PTR [eax+0x4]
  e9:	jne    d8 <void dVifUnpack<0>(unsigned char const*, bool)+0xd8>
  eb:	cmp    DWORD PTR [eax+0x8],ebx
  ee:	jne    d8 <void dVifUnpack<0>(unsigned char const*, bool)+0xd8>

v2: use reference instead of a pointer for find parameter
2016-12-18 22:43:07 +01:00
Jonathan Li
f441efd776 cdvd: Set the data ready flag after a finished transfer
Fixes a black screen loading issue in Street Fighter EX3 (NTSC-J).
2016-12-18 16:27:05 +00:00
Jonathan Li
5c53708f43 cdvd: cdvdRead08 is interrupt reason, not status
It seems there was a bad copy paste that caused PwOff to be changed to
Status in bc9e0b08ad.
2016-12-18 16:25:52 +00:00
Jonathan Li
0708d7c539 onepad: Fix variable type
Fixes a type limits warning on a 64-bit build.
2016-12-18 14:32:13 +00:00
Jonathan Li
c974a0d888 pcsx2: Fix "ISO Selector" menu item removal memleak
Delete() deletes the menu item but keeps the sub menu. Remove() doesn't
delete the menu item.

Also use AppendSubMenu - using Append on a submenu is deprecated.
2016-12-18 14:31:27 +00:00
Gregory Hainaut
2320efeb55 vif: increase buckets number to 64K
It allow to compare only 8B in the lookup so SSE could be replaced with general instruction

As a bonus, it allow to compute the hash key with a mov rather than modulo (which was an 'and')
2016-12-18 14:05:55 +01:00
Gregory Hainaut
1a32062439 vif: repack nVifBlock struct
cl/wl can fit in a single byte. Add a 2B length field instead.
It will contains the pre computed length to reduce dVifsetVUptr overhead
2016-12-18 14:05:55 +01:00
Gregory Hainaut
d34e99b38b vif: handle the special case 0 in the compilation stage (rather than lookup) 2016-12-18 14:05:55 +01:00
Gregory Hainaut
555c96a941 vif: reorganize dVifUnpack
Inline the execution part
Add a num parameter to dVifsetVUptr
Use a local variable for the nVifBlock instead of a global struct state

The goal is to ease future update of the nVifBlock struct
2016-12-18 14:05:55 +01:00
Gregory Hainaut
10b3d429fe vif: new implementation of the hash bucket
Previous implementation saved the both the chain pointer and the chain size
Rational: size is useful to add new element and to detect the end of the chain
Vif cache is rarely miss. So 'add' is barely called and the end of a chain is
barely reached.

New implementation will add a null cell at the end of the chain. As a
cell contains a x86 pointer, if is null you could conclude that you
reach the end of the chain.

The 'add' function will traverse the chain to get the current size. It is
a cold path besides the chain is often short (< 4).

The 'find' function only need to check the startPtr bytes to detect the end
of the loop.

Note: SizeChain was replaced with a std::array
2016-12-18 14:05:53 +01:00
Gregory Hainaut
c58b04979f vif: remove the type template of HashBucket
The class is designed and optimized for the layout of nVifBlock.
Besides it will ease future improvement.
2016-12-18 13:41:14 +01:00
Gregory Hainaut
c368618d09 vif: use intrinsic cast instead of ugly define 2016-12-18 13:41:14 +01:00
Gregory Hainaut
1acc81c25d vif: don't allocate vifblock hash on the heap
Avoid an extra indirection to access the hash bucket (Find function)
2016-12-18 13:41:14 +01:00
Gregory Hainaut
3dc7dc0cdc vif: improve block compilation management
Safety:
* check remaining space before compilation
* clear hash if recompiler is reset

Perf:
* don't research the hash after a miss
* reduce branching in Unpack/ExecuteUnpack

Note: a potential speed optimization for dVifsetVUptr
Precompute the length and store in the cache. However it need 2B on the
nVifBlock struct. Maybe we can compact cl/wl. Or merge aligned with upkType
(if some bits are useless)
2016-12-18 13:41:13 +01:00
Gregory Hainaut
b0b5c27fec vif: remove useless state from nVifStruct 2016-12-18 13:23:07 +01:00
Gregory Hainaut
c2587abcea mVU: always call perf before leaving the compilation function
I misses some early return in my first tentative. Now VTune shows me
properly the time in VU recompiler.

Note: It seem some block overlap (likely due to the branching mess). But it is still way better than no data
2016-12-16 22:01:06 +01:00
Gregory Hainaut
632b4971de common: remove memset duplicates
Use standard memset instead of memset_8

Move memzero/memset8 in a common OS file.
2016-12-16 20:45:22 +01:00
Gregory Hainaut
b3474b5a71 MTVU/gif: prebuilt the fake packet
GS_Packet constructor calls memset which is quite slow and useless as data is overwritten

Vtune overhead of Gif_Unit::Execute goes from 5.8% to 3.0% (EE thread)
2016-12-16 10:31:23 +01:00
ramapcsx2
29d229264d Merge pull request #1696 from FlatOutPS2/master
psxmode: Correct exe name for several PSX titles
2016-12-13 23:54:58 +01:00
FlatOutPS2
ff98dac104 psxmode: Correct exe name for several PSX titles
Several PSX titles lack a backslash in the elf path, which made the disc
serial contain 'cdrom:', this caused savestate issues in those ganes.

Solves: https://github.com/PCSX2/pcsx2/issues/1692
2016-12-13 17:32:26 +01:00
Jonathan Li
61669d1f3f gsdx:png: Fix accidental resource leak
Oops.

Unfortunately it'll reintroduce the clobbering warning on gcc 4.9.
2016-12-12 23:08:30 +00:00
Jonathan Li
b178423166 gsdx-replayer:cmake: Reduce build time/filesize
Avoid building GSdx twice if the replayer is being built.
2016-12-12 18:54:54 +00:00
Jonathan Li
2c3fd160c3 gsdx-replayer:linux: Fix strict-aliasing warnings
Use a reinterpret_cast instead of casting the function pointer address
to a void** and dereferencing it.

Also remove an unnecessary (void) and avoid including stdafx.h.
2016-12-12 18:14:38 +00:00
Jonathan Li
d4a6e18c01 gsdx:png: Fix gcc clobber warnings
Don't adjust 'image' and just use an additional offset.
'success' was kinda unnecessary when true or false could just be
directly returned.
Move 'compression' clamping out to GSPng::Save instead.

And throw in a whole bunch of const for good measure.
2016-12-12 17:39:05 +00:00
Jonathan Li
415090d249 common: Avoid wchar_t in pxTextWrapper
wchar_t is 16-bits on Windows, which can't actually properly fit all
Unicode characters.

Use the wx3.0.x wxTextWrapper approach of using iterators that increment
by actual characters to fix the issue, and also switch to using the
std::string style functions in wxString.
2016-12-10 22:30:27 +00:00
Jonathan Li
afe86a5f66 cmake: Only use -fprofile-dir when PGO is used
It stops clang from warning that '-fprofile-dir' is not supported.
2016-12-10 21:51:21 +00:00
Akash
a83042d5c0 PCSX2-WX: Update strings in Language dialog 2016-12-10 12:35:57 +00:00
Akash
83eb79c9d9 PCSX2-WX: Proper source medium on menuitem
Previously the boot menu items always displayed "Boot CDVD" regardless of the current source medium, this behavior has been fixed to properly adjust the text when source medium is changed. Now it'll display Boot CDVD/ISO/BIOS with respect to the current source medium.

v2: Some instances of "Iso" have been changed to "ISO" for consistency.
v3: Remove the unnecessary "Reboot" on menu item labels, saves some string translations.
v4: Add a new shortcut key for the primary boot menu item.
2016-12-10 12:35:57 +00:00
Akash
b86518ef24 CDVD: Convert CDVD_SourceType into enum class
* Add a template function for underlying type conversions of enumerations
2016-12-10 12:35:57 +00:00
Akash
f367fa5a98 PCSX2-WX: Fix Shutdown menu item behavior
There is already a dedicated bind event to handle the gray out of the menu item, so let's just gray it out initially and let the bind event handler do it's thing.

The previous behavior would only gray out the menu item when all the plugins are in a non-active state which didn't seem ideal as the plugins were shutdown only when closing PCSX2 (or) switching plugins.
2016-12-10 12:35:57 +00:00
Akash
259b81317d PCSX2-WX: Disable HostFs for release builds 2016-12-10 12:35:57 +00:00
FlatOutPS2
947b6b5503 LilyPad: Add Device Select option
Adds a device select option that hides bindings and disables binding new
inputs from all non-selected devices on the bindings list. This also
avoids input conflict issues when one controller is recognized as
several devices through different APIs.
2016-12-10 12:16:44 +00:00
FlatOutPS2
872ab9d2b1 LilyPad: Add Configure on bind option
Part of the GUI update, this function switches to the configuration page
immediately after binding an input instead of staying on the bindings
page.
2016-12-10 12:16:44 +00:00
FlatOutPS2
1f8608f6dd LilyPad: GUI update
Updates the UI by reducing the height of the plugin window. This has
been achieved by removing some buttons below the diagnostics and
bindings list and incorporating those functions into the
lists(accessible by right-clicking in the list). The binding
configurations on the Pad tabs have been moved to a separate page, like
the Forcefeedback bindings, to separate the configuration from the
bindings.
2016-12-10 12:16:44 +00:00
FlatOutPS2
deaceb6b08 LilyPad: Add skip deadzone option
Adds a skip deadzone option to the Pad tabs.

With the normal deadzone, if the control input value is below the
deadzone threshold, the input is ignored.
However, some controllers also benefit from shortening the input range
by skipping a deadzone.
2016-12-10 12:16:44 +00:00
Akash
61a6fe9cd9 GSDX: Apply saturation only to interlaced video mode
JMMT uses a bigger display height on NTSC progressive scan mode, which is not really unusual hence adjust the saturation hack to only take effect on interlaced NTSC mode.

However, the whole double screen issue on FMV still exists. As a bit of information, this game has the second output disabled but seems to have some valid data inside of it, maybe the second output data is leaked into the first one? most likely a bug in the frambuffer data management rather than a CRTC issue (needs to be investigated)
2016-12-10 11:29:10 +01:00
np511
b9d57843eb Adds PGO support. Profile data is stored in a folder called profile
in the top-level source directory. The build folder should NOT be
transferred between computers when PGO is used, though I don't
see why anyone would be doing so anyway.

Also adds support for PGO and LTO to the build.sh script.
2016-12-10 11:26:16 +01:00
Gregory Hainaut
40ac87c9bc Merge pull request #1690 from PCSX2/greg/vtune
Greg/vtune
2016-12-10 11:25:58 +01:00
Gregory Hainaut
7f64f39c05 vtune: count the number of ERET to trigger a quick exit
The purpose is to stop vtune profiling in a predictable way. It allows
to compare multiple runs.

ERET is called every syscall/interrupt return so it is proportional to
the EE program execution.
2016-12-10 11:07:35 +01:00
Gregory Hainaut
031b6e6372 common: improve vtune merge support
Mapping the full buffer is killer on Vtune (either crash or requires a huge processing time).
Instead keep the same ID for code in the same buffers.

I think all buffers are correctly mapped now but I still miss the frame pointer
for VU code.
2016-12-09 09:28:19 +01:00
Gregory Hainaut
b9369e7c00 pcsx2: remove the reserve feature of recompiler memory
Cons:
* requires ~180MB of physical memory (virtual memory is the same so it
  doesn't impact the 4GB limit)

From steam: 98.81% got at least 2GB of RAM. 83.62% got at least 4GB of RAM.
That being said, it might not really increase RAM requirements as OS could put the
new allocation in the swap.

Pro:
* code is much easier
* remove at least half of the signal listener
* last but not least, it is way easier for profiler/debugger
2016-12-09 09:28:19 +01:00
Gregory Hainaut
903d3595e5 pcsx2: add a --profiling cli option
Disable Framelimiter and Vsync

So you can profile real data instead of the idle time between vsync ;)
2016-12-09 09:28:19 +01:00
Gregory Hainaut
0453e5cad8 cmake: improve vtune integration
Year is included in the path so search in order 2018/2017/2016

Not ideal but at least all logic is inside the FindVtune module
2016-12-09 09:28:19 +01:00
Akash
07d7905896 GSDX: Fix output texture height calculation
Previously, the height of the frame offset was also considered for the total height of the texture which was obviously wrong as the portion before the offset value isn't part of the frame memory.
2016-12-08 22:14:05 +01:00
Gregory Hainaut
4d39bbe329 Merge pull request #1688 from turtleli/gsdx-thread
gsdx: Use std::thread and std::function for GSJobQueue
2016-12-08 22:07:36 +01:00
Jonathan Li
ac78688a32 gsdx: Make GSJobQueue non-inheritable
In the previous code, the threads were created and destroyed in the base
class constructor and destructor, so the threads could potentially be
active while the object is in a partially constructed or destroyed state.
The thread however, relies on a virtual function to process the queue
items, and the vtable might not be in the desired state when the object
is partially constructed or destroyed.

This probably only matters during object destruction - no items are in
the queue during object construction so the virtual function won't be
called, but items may still be queued up when the destructor is called,
so the virtual function can be called. It wasn't an issue because all
uses of the thread explicitly waited for the queues to be empty before
invoking the destructor.

Adjust the constructor to take a std::function parameter, which the
thread will use instead to process queue items, and avoid inheriting
from the GSJobQueue class. This will also eliminate the need to
explicitly wait for all jobs to finish (unless there are other external
factors, of course), which would probably make future code safer.
2016-12-08 01:18:17 +00:00
Jonathan Li
cdeed349e3 gsdx: Replace platform-specific threads with std::thread
GSThread now doesn't seem to have a purpose, so it's been removed.
2016-12-08 00:36:32 +00:00
Jonathan Li
faa46bb62d gui: Fix Plugin Selector panel memory leak
SafeList is totally unsafe for non-POD objects.
2016-12-07 20:25:45 +00:00
Jonathan Li
592d4b024a cdvdgigaherz:linux: Swap Ok and Cancel button order
This now matches the usual GTK GUI button order.

Also bump the version number.
2016-12-07 01:40:44 +00:00
Jonathan Li
1d634f9b44 cdvdgigaherz:linux: Use pread instead of lseek + read
It'll make it unnecessary to use a lock when reading disc sectors.
2016-12-07 00:54:11 +00:00
Jonathan Li
5109687a31 gui: Remove "Restore Defaults" button tooltip on Speedhacks panel
It's incorrect, and the button is self explanatory - fixing it would
just mean having a marginally useful tooltip that would require
translating.
2016-12-07 00:46:56 +00:00
refractionpcsx2
cfb801345b Merge pull request #1681 from PCSX2/interrupt_mask_register
PCSX2-GS: Use interrupt mask register bitfields
2016-12-04 01:42:44 +00:00
Jonathan Li
24038f8ce7 3rdparty:wxwidgets: Use locale name directly
Upstream commit 713c3f9d1b10ac25fb3c4a1ff115e23c035851dba from the wx
master branch (3.1.x).

Fixes the crash when the current language is Korean and the Change
Language dialog is accessed.
2016-12-02 00:07:16 +00:00
Jonathan Li
56d0c51033 pcsx2:windows: Don't create console stdio menu item
It's not used on Windows and it causes Visual Studio to report a memory
issue.
2016-12-01 18:25:14 +00:00
Akash
a9b63a2106 PCSX2-GS: Use interrupt mask register bitfields
Previously, the code used a lot of "bitwise AND" to get specific bitfields of the interrupt mask control register, which makes the code look a bit hacky, also it's even more hard for normal people to calculate the value when hexadecimal values are used for the bitwise operations where the register is totally binary. Instead of dealing with all those mess, let's just get the bitfield values from the already implemented nice union of the IMR register. FWIW it also makes the code more readable.
2016-12-01 16:32:27 +05:30
Gregory Hainaut
f41bb8db5e common: forget to format common properly
Moral of the story, don't rely on the commit hook when it isn't installed correctly ;)
2016-11-29 22:59:06 +01:00
Gregory Hainaut
310181b97f common: remove a gcc 4.6 hack
Not supported anymore
2016-11-29 22:59:06 +01:00
Gregory Hainaut
2b8a808fe3 remove trailing white space (until I run clang-format on the full code) 2016-11-29 22:59:06 +01:00
Gregory Hainaut
704776027b gsdx linux: update gui to add a HPO v2 checkbox
Sort std hack & upscaling hack
2016-11-29 17:22:02 +01:00
Gregory Hainaut
a95adcb999 gsdx-ogl: correct texture coordinate by 0.5 when vertex position is -0.5
Avoid ghosting in Captain tsubasa
2016-11-29 17:22:02 +01:00
Gregory Hainaut
61a7c747e1 gsdx-ogl: alternate implementation of half pixel offset
The previous implementation of HPO adds an offset on vertex position. It
doesn't always work beside it moves the rendering window.

The new implementation will add a texture offset so that instead to sample
the middle of the GS texel, we will sample the middle of the real texture texel.

It must be manually enabled with
* UserHacks_HalfPixelOffset_New = 1 (keep a small offset as intended by GS effect)
* UserHacks_HalfPixelOffset_New = 2 (no offset)

v2: always apply a 0.5 offset in case of float coordinates (Tales of Abyss)
Might break other games but few of them uses float coordinates to read
back the target
2016-11-29 17:22:02 +01:00
Gregory Hainaut
c2229e3c0b gsdx-ogl: add a texture offset uniform parameter to vertex shader
It would be used for a new implementation of the half pixel offset hack

Hopefully it doesn't badly impact the perf on low end iGPU
2016-11-29 17:22:02 +01:00
Gregory Hainaut
f6cad2235b gsdx: defer GSScanlineConstantData init
Avoid AVX instruction in the middle

Issue #1677
2016-11-28 19:40:25 +01:00
Gregory Hainaut
4c3e98754e vif JIT: increment based on sizeof(T)
Struct on x64 will be 32B so +2 instead of +1
2016-11-28 19:07:04 +01:00
Gregory Hainaut
9862e5d207 vif hash: move bucket size check in the 'add' path instead of 'find' path
More logical this way
2016-11-28 19:07:04 +01:00
Gregory Hainaut
c9db1c6c4b vtune: plug PCSX2 core + add missing profiling (VU/VIF/TLB)
Doesn't fully work yet
* Unknown stack frame
* Outside any known module

Potential root cause:
* Nvidia driver
* VU code as ebp is required for emulation so likely no frame
2016-11-28 19:07:04 +01:00
Gregory Hainaut
4fca5f4d88 mvu: use static array for dispatcher code
I don't understand why but standard mmap blew up Vtune
2016-11-28 19:07:04 +01:00
refractionpcsx2
7ec8c7f9fe Merge pull request #1676 from FlatOutPS2/master
GameDB: Add fixes for EA Sports team games and more
2016-11-28 12:57:51 +00:00
FlatOutPS2
fadc727df4 GameDB: Add fixes for EA Sports team games and more
Fixes missing geometry in EA Sports team games.

All NTSC-J and the Madden NFL PAL versions unconfirmed, but extremely
unlikely to act any different.

And adds The Simpsons: Hit & Run lens flar fix (see issue
https://github.com/PCSX2/pcsx2/issues/1670)

Fixed title for NCAA College Football 2K3, game is not in compatibility
list.
2016-11-25 21:00:40 +01:00
Gregory Hainaut
aeef39a417 Merge pull request #1672 from np511/master
Fix LTO flags.
2016-11-25 17:09:54 +01:00
Gregory Hainaut
e4516ac9b8 cmake: add extra SSE4 and AVX2 build of GSdx when DISABLE_ADVANCE_SIMD is enabled
It will provide a speed boost on distribution that only enable SSE2
2016-11-25 16:35:40 +01:00
Gregory Hainaut
8431299b92 gsdx sw: port code to the new constant object 2016-11-24 23:03:26 +01:00
Gregory Hainaut
3b5bc9c38d gsdx sw: create a constant buffer
* Use POD type to avoid SSE/AVX compilation dependency
* global object to reduce cache miss
* dynamically object so give a chance to allocate below 2GB (allow x64
  optimization)
2016-11-24 23:03:26 +01:00
Gregory Hainaut
0f5529be18 gsdx sw: s/g_cpu/m_cpu/ 2016-11-24 23:03:25 +01:00
Gregory Hainaut
c3e38e46c7 gsdx sw x64: disable mipmap support on AVX
Until it is implemented (might never happen)
2016-11-24 23:03:25 +01:00
Gregory Hainaut
608bb5ccb2 gsdx sw x64: add AVX2 implementation for VS
FS was copied from 32 bits (require massive update)
2016-11-24 23:03:25 +01:00
Gregory Hainaut
15220c386a gsdx sw x64: setup prim miss some optimizations 2016-11-24 23:03:25 +01:00
Gregory Hainaut
e3bfa2be88 gsdx sw: factorize common draw scanline code
Ymm inherite from Xmm so it is useless to duplicate the code

Add a parameter to alltrue to test the good register
2016-11-24 23:03:25 +01:00
Gregory Hainaut
211c7745de gsdx: don't try to correct depth in primitive trace
Avoid to go above the maximum size allowed by the format

Issue #1674
2016-11-24 22:24:00 +01:00
Jonathan Li
230b470a3c pcsx2:freebsd: Disable aio use on FreeBSD 10.3 and earlier
A FreeBSD 10.3 user (meowthink) reported to me that games were not
working properly on their system. After some investigation, it was
discovered that aio was buggy on their setup. There's also bug reports
for other applications that involve aio too.

Workaround the issue by using a normal read and disabling the use of aio
on FreeBSD 10.3 and earlier. It'll remain enabled on FreeBSD 11.0 in the
hope that the aio issue has since been fixed.
2016-11-24 19:50:07 +00:00
Gregory Hainaut
df96361ded Merge pull request #1673 from FlatOutPS2/W
GSdx Merge Circuit: Fix regressions
2016-11-24 11:02:38 +01:00
FlatOutPS2
417d0a3606 GSdx Merge Circuit: Fix regressions
Fixes screen shaking in Tenchu: Wrath Of Heaven, and graphical issues in
NASCAR 09.
2016-11-23 22:14:44 +01:00
np511
46fb6e9b48 Fixes LTO flags. Disables the use of the "gold" linker as a few plugins fail to compile with "gold" and "gold" is not used outside of LTO currently anyway. 2016-11-22 16:10:25 -05:00
Jonathan Li
483b3d6368 cdvdgigaherz: Avoid holding lock during thread sleep
Fixes Coverity CID 127721: Program hangs

Change the sleep to a condition variable wait, which has the added
benefit of allowing the plugin to close ever so slightly faster if
there's no disc in the drive.
2016-11-22 21:26:41 +01:00
Jonathan Li
29c2ccb310 cdvdgigaherz: Use a queue to manage sector requests
Fixes a data race.

Also avoid copying from the cache when it's unnecessary to do so.
2016-11-22 21:26:41 +01:00
Jonathan Li
3919a32dc3 cdvdgigaherz: Avoid race condition by reading from cache/disk
Instead of reading from a buffer shared by multiple threads, just read
the correct data from the cache or disk instead.
2016-11-22 21:26:41 +01:00
Jonathan Li
31b0b53394 cdvdgigaherz: Read correct sector type in keepalive thread
It'll prevent errors messages when raw sector reading is used.
2016-11-22 21:26:41 +01:00
Jonathan Li
a34942c882 cdvdgigaherz: Only update cache if the read succeeds 2016-11-22 21:26:41 +01:00
Jonathan Li
bb25ce1c6a cdvdgigaherz: Add cache entry check function
Useful when you don't actually want the cached data.
2016-11-22 21:26:41 +01:00
Jonathan Li
23f48e07ed cdvdgigaherz: Change signs
Avoid some unnecessary casting.
2016-11-22 21:26:41 +01:00
Jonathan Li
008fea5d89 common|cdvdgigaherz: Fix API sign mismatch
The typedef and function declaration don't quite match.
2016-11-22 21:26:41 +01:00
Gregory Hainaut
0d275868a5 gsdx x64: quick fix for windows
Until we got a full implementation
2016-11-21 18:18:09 +01:00
Vladimir Jigulin
268b4d9f9f debugger: memory view improvements
Highlight memory location referenced by current register
Allow memory window not be aligned by row size
Use radio and checks in menu
2016-11-21 10:31:34 +01:00
Gregory Hainaut
dc85989553 cmake: only enable SSE2 on x64 build
SW will generate AVX code anyway
2016-11-20 23:27:13 +01:00
Gregory Hainaut
37379d5d1d gsdx sw x64: shuffle memory allocation
tex address is a3
vm address is a1

Could help to avoid REX prefix
Reduce prologue/epilogue register copy

Byte code size 41893 => 38912 (on my testcase)
2016-11-20 20:19:13 +01:00
Gregory Hainaut
b76305a0d2 gsdx sw x64: keep the copy of top in the stack for dthe
An extra stack access by pixel won't impact perf (only 16 bits game with dithering)
Allow to save 2 registers (a1/a3)
2016-11-20 20:19:13 +01:00
Gregory Hainaut
994274623b gsdx sw x64: use rip addressing on draw scan line
byte code 41997 => 41893

However it will allow to save 2 registers as future optimization
2016-11-20 20:19:12 +01:00
Gregory Hainaut
7c06e87d59 gsdx sw x64: use rip addressing on setup prim
byte code: 9017 => 8736

Save a register
2016-11-20 20:19:12 +01:00
Gregory Hainaut
923c297dfc gsdx sw: vinsert128 opcode require an XMM register
Reported as an error on lastest Xbyak
2016-11-20 20:19:12 +01:00
Gregory Hainaut
e674518c4e Update from xbyak 4.84 to 5.11
* bin2hex.h is removed
* vptest/vpblendvb YMM support integrated upsteam
* better support of rip for 64 bits
* AVX512 support (only miss the CPU now)

Local change: add BSD3 clause
2016-11-20 13:21:11 +01:00
Gregory Hainaut
681c09f25c gsdx sw: catch xbyak exception 2016-11-20 12:58:07 +01:00
Gregory Hainaut
0fd5346860 gsdx x64 linux: only mmap in lower 2GB code segment
Allow to use rip addressing
2016-11-20 10:38:15 +01:00
Gregory Hainaut
2252ba1bb7 gsdx: add the detected ISA on the name
As a SSE build could potentially uses AVX operations.
2016-11-20 10:38:15 +01:00
Gregory Hainaut
30a5922a0b pcsx2: reduce std padding to 1 for small screen 2016-11-19 21:52:08 +01:00
Gregory Hainaut
58c3794ce7 Merge pull request #1664 from PCSX2/greg/gsdx-64b
Greg/gsdx 64b
2016-11-19 18:12:41 +01:00
Jonathan Li
ef25502491 gsdx build: don't exclude AVX files.
Thanks for the patch :)
2016-11-19 17:01:36 +01:00
Gregory Hainaut
cc6d193e1d gsdx: Relax SSE/AVX constraint on 64 bits
The JIT will automatically select the best ISA (only AVX1 so far)
2016-11-19 17:01:29 +01:00
Gregory Hainaut
8fd46e96aa gsdx sw JIT: dynamically select ISA for SetupPrim 2016-11-19 17:00:33 +01:00
Gregory Hainaut
574a2c774e gsdx sw JIT: dynamically select between AVX1 and SSE code path (scanline) 2016-11-19 17:00:33 +01:00
Gregory Hainaut
6b78b8f9ce gsdx sw JIT: dynamically select SSE41 at runtime even on SSE2 build (scanline)
It won't give the full SSE41 speed boost but it is better than nothing
2016-11-19 17:00:33 +01:00
Gregory Hainaut
322473c295 gsdx sw: add a code example for gather instruction
It will requires a generic (register naming) linear interpolation to use it properly
Gather instruction requires an extra mask register therefore all registers name will be shuffled

Perf wise, initial haswell implementation seems to be microcode emulated.
2016-11-19 17:00:33 +01:00
Gregory Hainaut
2e20693583 gsdx sw x64: restore read texel optimization 2016-11-19 17:00:33 +01:00
Gregory Hainaut
e728a14c19 gsdx sw: factorize color split in split16_2x8 2016-11-19 17:00:33 +01:00
Gregory Hainaut
d58e43edbf gsdx linux: plug vtune as Windows 2016-11-19 17:00:32 +01:00
Gregory Hainaut
8abf242e2c gsdx: small x64 printf warning fixes 2016-11-19 17:00:32 +01:00
Gregory Hainaut
051c5c4bf7 gsdx sw x64: small stack optimization on linux
mov with the stack pointer require less bytecode
2016-11-19 17:00:32 +01:00
Gregory Hainaut
141c9e9c86 gsdx sw x64: prefer faster 32 bits operation when possible 2016-11-19 17:00:32 +01:00
Gregory Hainaut
a281bda9a6 gsdx sw x64: port the scanline generator on AVX
Based on Gabest's work.

* Miss mipmap

Note: dithering info
It is a bit tricky as a2 on linux was rdx register which overlap with fzm (dh/dl)
It might require dedicated windows code
2016-11-19 17:00:32 +01:00
Gregory Hainaut
8e29e09943 gsdx sw x64: update setup prim generator x64 SSE&AVX 2016-11-19 17:00:32 +01:00
Gregory Hainaut
4a47224ac1 gsdx: define the linux x64 ABI 2016-11-19 17:00:32 +01:00
Gregory Hainaut
e31ce87bb3 gsdx: SW JIT debug helper
Allow to compare 32/64 bits (and all ISAs too)
Allow to breakpoint (int3)
Print selector info
Print size of buffer and start (disabled by default)
2016-11-19 17:00:32 +01:00
Gregory Hainaut
633f7a1db9 xbyak: add int3 instruction
Very useful to stop the JIT
2016-11-19 17:00:32 +01:00
Gregory Hainaut
43b4cfc215 gsdx: separate dump directory for 32/64 bits 2016-11-19 17:00:32 +01:00
Gregory Hainaut
82d12691e1 gsdx: properly check SSE support
1/ Check all "levels"
2/ requires AVX for 64 bits
2016-11-19 17:00:32 +01:00
Gregory Hainaut
8b4da69861 cmake: always define avx on 64 bits build 2016-11-19 17:00:32 +01:00
Gregory Hainaut
0e2ec9c2cb pcsx2 gui: reduce the padding to 2 for low cost display 2016-11-19 11:27:20 +01:00
Gregory Hainaut
4aa79df402 pcsx2 gui: increase a bit the about box
It was too crowded
2016-11-19 11:21:07 +01:00
Gregory Hainaut
b251d47712 pcsx2 gui: use dynamic section sized for ee/vu cycle message
Static size is better aligned but it consumes too much space on the GUI

Besides, if a string (translation) is bigger that the static size it will be cut off.

VU/EE min sized are the same to keep a proper alignment
2016-11-19 11:21:07 +01:00
Gregory Hainaut
9c598fcd01 common: finally spot the text size bug
GetBestWrappedSize (hence the BestSize) computes the size of
the wrapped text based on box side minus padding.

So the width of the widget is already the good size for text wrapping
2016-11-19 11:21:07 +01:00
Gregory Hainaut
4ee942aba2 pcsx2 gui: use pxGetFixedFont helper instead of wxFont constructor 2016-11-19 11:19:24 +01:00
Jonathan Li
d64db65743 LilyPad: Add PS mouse support (#1660)
Adds Playstation Mouse as a new pad type.

For use with PS1 games only.
2016-11-14 13:37:00 +00:00
FlatOutPS2
8db9a27970 fix2 2016-11-14 13:55:55 +01:00
Gregory Hainaut
259521ec3e Merge pull request #1659 from PCSX2/greg/clang-format-common
reformat main common directory
2016-11-14 11:37:53 +01:00
refractionpcsx2
e0cd520837 VIF: Apply stall fix to VIF0 as well. 2016-11-13 12:15:18 +00:00
FlatOutPS2
d1788ac1e9 fix 2016-11-13 10:56:35 +01:00
FlatOutPS2
de8d3fb1eb LilyPad: Add PS mouse support
Adds Playstation Mouse as a new pad type.

For use with PS1 games only.
2016-11-13 01:23:59 +01:00
FlatOutPS2
a3478e02f4 LilyPad: Add tooltips (#1653)
Adds informational tooltips to several UI options.
2016-11-12 23:52:56 +00:00
Jonathan Li
f513ca2a28 cdvdgigaherz:linux: Check ioctl return value
Fixes Coverity CID 172718: Unchecked return value

Also avoid adding the sector leadout descriptor info to the TOC since it
actually isn't used.
2016-11-12 23:28:17 +00:00
Gregory Hainaut
c5d727da39 CDVD: check return value of ToLong
Reported by coverity
2016-11-12 19:36:44 +01:00
Gregory Hainaut
356429d0e7 Sio: use & 0xFF instead of u8 mask
Tentative to avoid various bad coverity reports
2016-11-12 19:29:10 +01:00
Gregory Hainaut
2da6cb263d pcsx2: Gcc warning in copy constructor of BaseMessageBoxEvent
../pcsx2/gui/MessageBoxes.cpp:62:1: warning: base class ‘class pxActionEvent’ should be explicitly initialized in the copy constructor [-Wextra]
 BaseMessageBoxEvent::BaseMessageBoxEvent( const BaseMessageBoxEvent& event )
2016-11-12 18:47:11 +01:00
Gregory Hainaut
5e5b927abd gzip reader: bad find interface
Find => return int
find => return size_t (behave as STL)

Thanks to gcc for the useful warning

+ a cast to avoid an useless warning
2016-11-12 18:41:07 +01:00
Gregory Hainaut
a7e76438b2 iop: use const on some variables
Avoid coverity warning
2016-11-12 18:26:28 +01:00
Gregory Hainaut
056ecb1c39 pcsx2: add some cast to fix gcc (int vs uint) warning
I'm pretty sure that .RMSK (which is an u32:31) warnings are false positives
2016-11-12 17:36:40 +01:00
Gregory Hainaut
63c825d0e0 pcsx2: check return value of std functions
Avoid noisy gcc warnings
2016-11-12 17:36:06 +01:00
Clang Format
1fba5cb580 reformat main common directory
Disable some reformat around emitter registers declaration and a massive cases.
2016-11-12 16:52:49 +01:00
refractionpcsx2
1053234507 VIF: Fix some stalls getting stuck in situations, fixes #1658
Gif FIFO: Improve reliability a little bit, especially when MFIFO is in use.
2016-11-12 12:36:04 +00:00
Gregory Hainaut
49d5c4260f gsdx state: post fix depth tracing
The main FindMinMax methods is perf critical so instead I created a separate function
to ensure the constness of the depth

Fix letter regression on Xenosaga3
2016-11-11 23:39:34 +01:00
Jonathan Li
1530effb29 gsdx: Catch bad_alloc exceptions 2016-11-09 22:41:02 +00:00
Jonathan Li
ae6f26f3ef gsdx: Skip texture cache read if any dimension is 0
Fixes a crash at the PSX logo if either the DX9 or DX11 hardware
renderer is used.
2016-11-09 22:39:53 +00:00
Gregory Hainaut
cf739d2493 Merge pull request #1655 from PCSX2/greg/git-rev-title
pcsx2 gui: use git desribe as version name
2016-11-08 23:42:15 +01:00
Gregory Hainaut
18f677d530 oups miss one minus 2016-11-08 23:11:12 +01:00
Gregory Hainaut
f6c27c2abf pcsx2: use ASCII minus 2016-11-08 23:09:20 +01:00
Gregory Hainaut
5596f69c0e pcsx2 gui: use git desribe as version name
Shorter than date and give all the useful info

Require windows test

close #1043
2016-11-08 22:44:39 +01:00
Gregory Hainaut
784f549339 pcsx2: always probe the ctrl/shift/alt key state
Event handling becomes messy when you press in the app but release outside of it (due to desktop change)

close #477
2016-11-08 22:42:42 +01:00
Gregory Hainaut
5b3dfc3f9e Merge branch 'greg/gcc-warning-iop-fixes' 2016-11-08 21:53:43 +01:00
Gregory Hainaut
6c3a4c6927 iop bios: fix gcc warnings
* return value of function can't be const
* use unique_ptr
2016-11-08 21:53:27 +01:00
Gregory Hainaut
f3e1ba5251 onepad gui: always assume rumble is supported on the GUI
close #1497
2016-11-08 21:23:56 +01:00
Gregory Hainaut
31b32d3b11 gsdx linux: don't require to hit enter for Texture Offset text entry
close #1292
2016-11-08 20:28:42 +01:00
Pseudonym
b3b1f3ac68 IOP: Convert most IOP memory access in the IRX HLE and debugging module to
safe access through iopMem* functions.
2016-11-08 19:08:51 +00:00
Gregory Hainaut
d3a748ce3a cmake: drop CDVDlinuz and CDVDiso
You can use cdvdGigaherz on linux now

close #464
close #465
2016-11-08 19:58:44 +01:00
Gregory Hainaut
ed3052dea5 gsdx: remove various assertion
Useless or wrong assertion
2016-11-08 18:58:10 +01:00
Pseudonym
809684e9de IOP: PSX bios console output filtering of repeated and empty lines. 2016-11-07 10:09:12 +00:00
Jonathan Li
a283e95fed cmake: Add cdvdgigaherz and dependencies
Only new dependency is libudev.
2016-11-07 00:08:23 +00:00
Jonathan Li
16b6cc41a4 cdvdgigaherz:linux: Add config and GUI code 2016-11-07 00:08:23 +00:00
Jonathan Li
747f4dc3fe cdvdgigaherz:linux: Add initial IOCtlSrc implementation 2016-11-07 00:08:23 +00:00
Jonathan Li
f13f50779c cdvdgigaherz: Export plugin interface when using gcc/clang 2016-11-07 00:08:23 +00:00
Jonathan Li
363b581926 cdvdgigaherz: ifdef Windows specific stuff 2016-11-07 00:08:23 +00:00
Jonathan Li
1573f513ce cdvdgigaherz: Move lba_to_msf to header
Also use proper inline keyword.
2016-11-07 00:08:23 +00:00
Jonathan Li
ae0577bc16 cdvdgigaherz: Fix write-strings warnings
Too bad I can't change PS2Edef.h to use a const char*.

Also remove SVN_MOD ifdef from version string.
2016-11-07 00:08:23 +00:00
Jonathan Li
cccf216dbb cdvdgigaherz: Use C++11 threads instead of Win32 threads 2016-11-07 00:08:23 +00:00
Jonathan Li
d872c0560a cdvdgigaherz: Use unique_ptr for src 2016-11-07 00:08:23 +00:00
Jonathan Li
f8f79788e4 cdvdgigaherz: Use condition variables for event waiting
Also use atomics for thread exit variables.
2016-11-07 00:08:23 +00:00
Jonathan Li
f678ff8cfd cdvdgigaherz: Replace critical section with mutex 2016-11-07 00:08:23 +00:00
Jonathan Li
b1850f2465 cdvdgigaherz: Move dllmain to a Windows only file 2016-11-07 00:08:23 +00:00
Jonathan Li
d7866831ae cdvdgigaherz: Use Unicode on Windows 2016-11-07 00:08:23 +00:00
Jonathan Li
5917bf31c3 cdvdgigaherz: Remove old config code 2016-11-07 00:08:23 +00:00
Jonathan Li
59247c7838 cdvdgigaherz: Switch to using the new settings system
Also refactor the default drive selection and GUI code so optical drive
detection is shared.

Note: This breaks the current config, but there's only one setting
anyway.
2016-11-07 00:08:23 +00:00
Jonathan Li
dce3c57e6a cdvdgigaherz: Add portable setting class
Can load/save inis (though functionality is very basic).
2016-11-07 00:08:23 +00:00
Jonathan Li
9c440ab6b7 cdvdgigaherz: Use bool return for ReadSectors*
More readable.
2016-11-07 00:08:23 +00:00
Jonathan Li
fc085c1758 cdvdgigaherz: Improve IOCtlSrc::ReadSectors2048
Don't use a RAW_READ_INFO struct when only the LARGE_INTEGER member is
used. Use SetFilePointerEx which is slightly simpler and doesn't require
checking GetLastError() in some circumstances to check whether the read
has actually failed.

Also use a mutex to prevent simultaneous access from both the read
thread and the keepalive thread to prevent overlapping SetFilePointerEx
calls from causing the wrong data to be read.

And print error messages should a failure occur.
2016-11-07 00:08:23 +00:00
Jonathan Li
fdd6ea3651 cdvdgigaherz: Simplify SetSpindleSpeed
Also set the max drive speed to 4x DVD and 24xCD (down from 8x DVD and
36x CD) - it seems to reduce pausing slightly since the drive doesn't
require as much time to spin up to the desired speed.
2016-11-07 00:08:23 +00:00
Jonathan Li
1834b7d0f9 cdvdgigaherz: Get disc info when disc is first ready
Also set the disc speed at the correct time - CDROM SET SPEED only stays
in effect till the disc is removed.

Also fix a memleak in CDVDopen when the drive cannot be accessed.
2016-11-07 00:08:23 +00:00
Jonathan Li
95b98c5a38 cdvdgigaherz: Use a formatted TOC instead of a raw TOC
It's simpler and provides almost the same information. The only
information that might be lost is the first track specific track type.
2016-11-07 00:08:23 +00:00
Jonathan Li
327515366f cdvdgigaherz: Don't calculate the track length
Not really necessary.

Also fix 2 off-by-ones.
2016-11-07 00:08:23 +00:00
Jonathan Li
1f60e3101e cdvdgigaherz: Reduce disc info ioctl calls
It's rather unnecessary to use the same ioctls multiple times per disc
when the info returned doesn't change. Just use each ioctl once and
read/calculate all the necessary info all at onace.

This also fixes an issue where the IOCTL_DVD_START_SESSION ioctl is
repeatedly used if the returned session ID is 0. The previous code
assumed that 0 was not a valid session ID and would repeatedly use the
ioctl to obtain a non-zero session ID. However, 0 is a valid session ID,
and it seems IOCTL_DVD_START_SESSION can repeatedly return a 0 session
ID even if the corresponding IOCTL_DVD_END_SESSION has not been called.
In our case, a DVD session is only necessary for DVD detection and
reading the physical format information. This fix seems to alter drive
speed behaviour.
2016-11-07 00:08:23 +00:00
Jonathan Li
f8e474a1c5 cdvdgigaherz: s/device/m_device/ 2016-11-07 00:08:23 +00:00
Jonathan Li
8f11049c9f cdvdgigaherz: Remove non-SPTI raw sector reading code
There doesn't seem to be any issues calling CreateFile with
GENERIC_WRITE access (which is necessary for SPTI) on a standard user
account, so the SPTI code should work in all cases.
2016-11-07 00:08:23 +00:00
Jonathan Li
f314c2a4d9 cdvdgigaherz: Simplify Q subchannel relative offset calculation
That way there's no need to calculate the track length for each track.
2016-11-07 00:08:23 +00:00
FlatOutPS2
5d90afe648 LilyPad: Add separate bindings for each pad type (#1609)
Adds separate bindings for each of the pad types (DualShock2,
Guitar,Pop'n Music). This allows the user to change the button
configuration to better suit the Guitar and Pop'n Music pads without
messing up the bindings already setup for the DS2.

Close #1576.
2016-11-06 21:59:19 +00:00
Gregory Hainaut
5ff9e94a2e gsdx linux: align mipmapping gui option on Windows 2016-11-06 16:39:40 +01:00
Gregory Hainaut
107251e099 gsdx: sort crc game list 2016-11-06 16:30:51 +01:00
Gregory Hainaut
f970090577 Merge pull request #1625 from ssakash/mipmap_ui
GSDX-Windows: Add mipmap combobox on GUI
2016-11-05 19:02:28 +01:00
Akash
1547dd4215 GSDX-UI: Add Mipmap combobox
Mipmapping is now supported on hardware renderers thanks to Gregory. Please report any observed hardware mipmapping issues on the forums (http://forums.pcsx2.net/Thread-New-feature-Needs-testing-GSdx-HW-mode-Experimental-mipmap-support) as potentially the HW mipmap code might still have some bugs.
2016-11-05 22:19:32 +05:30
Gregory Hainaut
253bd1aea3 linux compilation fix of previous iop change 2016-11-05 15:44:57 +01:00
refractionpcsx2
49b80a4916 Merge pull request #1383 from PCSX2/prafullpcsx2-eecache
EE-Int: Minor EE Cache changes
2016-11-05 13:30:31 +00:00
Pseudonym
8259b29896 IOP: PSX bios console output 2016-11-05 12:14:01 +00:00
Akash
f1c4b7d5df PSX-mode: Detect video mode via colorburst
Previously the video mode was initialized using the info fetched from SetGsCrt Syscall though unfortunately, it doesn't seem to work with PSX games as they don't use the SetGsCrt syscall. At such cases, we get the video mode info from the SMODE2 colorburst to properly maintain the timing as per the video mode. Might help some cases on PSX games where PAL/NTSC video mode was improperly set to a wrong limit instead of it's actual vertical frequency limit.
2016-11-05 10:29:29 +01:00
Akash
58ed49f3c9 GSDX: Clean up warnings on MSVC
* Explicitly cast w_pages and h_pages into uint32.
* Prevent signed/unsigned comparison by converting lod into unsigned integer, honestly how coud a mipmapping level be negative?
2016-11-05 10:28:04 +01:00
refractionpcsx2
ae57b960c2 Vif-Rec: Initialise IsAligned for VifUnpackSSE_Simple. Should fix the valgrind reported issue (no compatibility changes expected) 2016-11-04 22:31:07 +00:00
Gregory Hainaut
758cf25888 gsdx: wrap bp for block ptr
Fix massive flickering of Beyond Good&Evil on SW renderer (HW happily overflow)
2016-11-04 23:03:12 +01:00
Gregory Hainaut
3d65312999 gsdx hw: remove old assert
Code is working fine with all formats
2016-11-04 23:02:49 +01:00
Akash
437afbbbf3 GSDX-PCRTC: Move Saturation hack to displayrect()
Fixes custom resolution scaling on Tribes aerial assault.
2016-11-01 17:54:46 +01:00
Akash
b871c6b46f GSDX-TextureCache: Generalize scaling equation
Previously the dedicated custom resolution scaling equation was ignored for the second SetScale() call, generalizing the equations will also fix the DMC scaling issue on custom resolution. Also remove unnecessary checks for null on scale factors. The possibility for having a null scale factor value only exists on custom resolution and it will only happen on cases where the output circuit isn't ready yet. So the ideal way would be to handle all the required conditions of output circuit on "m_renderer->CanUpscale()" itself.
2016-11-01 17:54:46 +01:00
Akash
055f236aa5 GSVector: Add constructor to dispatch same values 2016-11-01 17:54:46 +01:00
refractionpcsx2
85fe24cede Merge pull request #1623 from Catarax/master
GameDB: World Rally Championship Freeze Fix (PAL)
2016-11-01 16:05:59 +00:00
Gregory Hainaut
8562409a92 i10n: upload new russian mo file 2016-11-01 13:47:20 +01:00
Gregory Hainaut
c9974b65c4 iop: remove kernelTTYFileDescrWrite debug function
Recommended by pseudo

Main issue is a buffer underflow when strlen(...) < 2
2nd issue is code is called based on hardcoded address of a single bios.
2016-11-01 13:41:54 +01:00
Gregory Hainaut
270d7191ce sio: increase buffer to avoid overflow
memcardWrite will use "sio.buf[data + 5] = mcd->term;" and data is 8 bits

Reported by coverity
2016-11-01 13:41:03 +01:00
Gregory Hainaut
aa4b2d9f3a gsdx sw: wrap GS memory
Cost ought to remain small. Worst case is 2 extra "and" operation by group of pixels in scanline renderer

I think PixelAddressN functions are mostly call in the init.
2016-11-01 13:33:11 +01:00
Pseudonym
233f66db5e Fixed effects area wrapping calculation, which was always buggy but this
wasn't evident until additional addresses were precalculated.
Not expected to improve compatibility.
2016-11-01 11:12:41 +00:00
Christian Kenny
d1ae298211 3rd Party: Update glext and wglext to the current revision 33248 (10-24-2016) 2016-11-01 10:02:29 +01:00
TotalCaesar659
5d1b160fe9 Fixed Russian translation 2016-11-01 09:47:21 +01:00
Jonathan Li
ba557e20a4 gsdx:recorder:unix: Fix thread leaking 2016-10-28 18:33:50 +01:00
Jonathan Li
7ab5cb20c8 gsdx: Don't close threads twice
CloseThread is called in the GSJobQueue destructor, so don't call it
again in the GSThread destructor.

Fixes #392, which was caused by a use after free.

Also prevents pthread_join() from being called twice for each thread
on non-Windows operating systems, which is undefined behaviour.
2016-10-28 18:33:35 +01:00
Jonathan Li
bc7aa1a500 spu2-x:freebsd: Enable SDL backends
portaudio currently isn't providing me with sound, even though it did
before.
2016-10-27 22:03:49 +01:00
Jonathan Li
86951aff9a build.sh: Fix for FreeBSD
"--jobs" isn't present in FreeBSD's make, but "-j" is.
2016-10-27 22:02:43 +01:00
refractionpcsx2
653d825083 Merge pull request #1640 from AniLeo/patch-3
Updates locales/templates readme
2016-10-27 15:24:33 +01:00
AnnieL
72fc467109 Updates locales/templates readme
Replaces the broken wiki link for the correct one
2016-10-27 14:19:36 +01:00
Jonathan Li
86a6f5d67c cdvdgigaherz: s/itob/dec_to_bcd/
There's no need to have 2 ways to convert a u8 to a binary coded
decimal. Remove the macro version.
2016-10-26 22:11:40 +01:00
Jonathan Li
852ed21e88 cdvdgigaherz: Remove no drive support
It's the same as "No disc" or having no disc in the drive.
2016-10-26 17:30:28 +01:00
Jonathan Li
c023d7676a cdvdgigaherz: Remove Source base class
Also remove virtuals from IOCtlSrc.
2016-10-26 17:30:27 +01:00
Jonathan Li
9f6c6d9917 cdvdgigaherz: Don't use GetFileSizeEx to get disk size
It doesn't seem to work for disks, and IOCTL_DISK_GET_LENGTH_INFO
usually succeeds instead.
2016-10-26 17:30:23 +01:00
Jonathan Li
9c643ae9ca cdvdgigaherz: Remove CDVDabout and SysMessage
It's not accessible from PCSX2. More importantly, I don't want to port
it.
2016-10-26 17:30:21 +01:00
Jonathan Li
fb3580efa1 cdvdgigaherz: Remove unneeded code 2016-10-26 17:30:16 +01:00
Gregory Hainaut
5dfb7d63dc gsdx: wrap gs page/block instead to skip them
Fix FMV of Thrillville when coupled with wrap_gs_mem = 1
2016-10-25 22:49:05 +02:00
Gregory Hainaut
db4b4fb166 gsdx ogl: keep a separate log for sw 2016-10-25 22:00:41 +02:00
Gregory Hainaut
cedc8aae44 gsdx: implement a shared memory to emulate the wrapping of the gs memory
Code can be enabled with "wrap_gs_mem = 1". Code only allow a single shared memory but
I don't think we need more anyway.

Linux only, Kernel panic expected with the HW renderer.

Fix FMV on Silent Hill 3 with the SW renderer
2016-10-25 20:29:38 +02:00
Gregory Hainaut
42b51611af gsdx: don't dump debug file if not requested 2016-10-25 17:10:57 +02:00
sudonim1
820462dbc0 Merge pull request #1635 from sudonim1/reverb
SPU2-X: Reverb rewrite
2016-10-24 17:17:48 +01:00
Gregory Hainaut
e80ca0fa92 gsdx ogl: of course some driver don't work with GL_ARB_enhanced_layouts
Windows and (AMD or Intel)
2016-10-23 12:48:23 +02:00
Gregory Hainaut
885ef7a46f gsdx ogl: reduce complexity of driver detection 2016-10-23 12:43:50 +02:00
Gregory Hainaut
565cb70875 gsdx ogl: don't request arb_texture_barrier for the SW renderer
Allow[1] to use the mesa software emulated driver to test EGL.

[1] also need export MESA_EXTENSION_OVERRIDE="GL_ARB_buffer_storage"
2016-10-23 12:13:57 +02:00
Pseudonym
1668392988 SPU2-X: Mass reverb register renaming. Hopefully I didn't screw up the
cross-channel reflection registers.
2016-10-22 19:16:11 +01:00
Pseudonym
9a51820dec SPU2-X: Experimental reverb based on Dr. Hell's
http://drhell.web.fc2.com/ps1/ and/or Martin Korth's
http://problemkaputt.de/psx-spx.htm reverse engineering.
Negate final reverb output (don't know why but it's an
improvement when comparing the waveform).
2016-10-22 19:16:11 +01:00
Gregory Hainaut
01f0f436ac gsdx linux replayer: allow to repack gs dump
linux_replay = -N will save N first frames to a new gs dump

Save disk space & debug time
2016-10-22 13:22:28 +02:00
Gregory Hainaut
99c43881df gsdx egl: report an error if we fail to bind the openGL API
It seems Nvidia added openGL support in 355 (whereas I have 352 on debian).

I don't know the status on AMD.
2016-10-22 13:22:28 +02:00
Gregory Hainaut
d4a163e9cc spu2: improve format consistency 2016-10-22 13:22:28 +02:00
Pseudonym
1f44c4be2f SPU2-X: PSX games should be able to read ENDX correctly now, which is
important functionality for many sound engines.
Fixed two other obvious errors in the psx compatibility merge, probably
inconsequential.
2016-10-20 04:17:03 +01:00
Gregory Hainaut
8fdf973e66 gsdx glsl: add basic support of GL_ARB_enhanced_layouts (GL4.4)
Hardcode location of interface to the location 0. If I understand the
spec correctly (unlikely), variable in interface will get successive
location.

Goal is to reduce driver work. Instead to compute some location based on
name matching approach (and silly validation), the driver can now use
static allocation.

Tests on future Mesa 13 are welcome
2016-10-19 23:03:39 +02:00
Gregory Hainaut
b1f2d27ddf gsdx: move Haunting Ground CRC to dx level 2016-10-19 21:10:44 +02:00
Gregory Hainaut
264b764d6e gsdx tc: improve haunting ground hack to remove the bloom effect
Just clear the buffer. The generic solution will be a copy from buffer A
to buffer B But it requires
1/ a big buffer A (otherwise it would overflow)
2/ a line width rescaling (+ the upscaling mess support)
2016-10-19 19:31:32 +02:00
František Zatloukal
8958b2042f Force GDK_BACKEND to x11 in .desktop 2016-10-18 11:15:26 +02:00
František Zatloukal
a9bc568217 Force GDK_BACKEND to x11
Fixes PCSX2 on Wayland
2016-10-18 11:15:26 +02:00
Gregory Hainaut
c2cf8e528c gsdx ogl: tekken5: only trigger channel effect shader when frame buffer is a single page
Fix missing model regression.
2016-10-17 19:34:55 +02:00
Clang Format
604d3bac3c clang format: set SpacesBeforeTrailingComments to 1 2016-10-16 21:42:31 +02:00
Akash
8945ace3f7 GSDX-UI: Remove Trilinear options at some cases
Currently the Trilinear option only works on OpenGL. Remove it from combobox when other renderers are used.
2016-10-16 17:36:30 +01:00
Akash
45be4626f6 GSDX: Add an enum for texture filtering
Also re-order the combobox to make it look consistent with the tooltip description.
2016-10-16 17:36:30 +01:00
Gregory Hainaut
cc4cc342c2 gsdx hw: add a special sub target invalidation for haunting ground
Fix a wrong blending/blooming

Based on CRC to reduce impact on others games (speed)
2016-10-16 17:32:57 +02:00
Gregory Hainaut
31248da3d1 gsdx sw: Fix 16 bits date test on SSE build
AVX Builds were fixed in this commit a1a842b07f
2016-10-16 16:48:23 +02:00
Gregory Hainaut
defdd27987 gsdx: set m_nativeres to true in replayer
Otherwise you can't compare draw call between native and upscaled
2016-10-16 16:48:23 +02:00
Robert Neumann
f5e096a66f spu2x: indicate pitch modulation and noise enabled status in the visual debugger 2016-10-16 14:15:12 +02:00
Gregory Hainaut
c284459382 gsdx tc: allow to search old depth/color in texture cache
But give higher priority to recent buffer.

Fix cut scene issue in Jak II (and potentially various game when EE/VU hacks are used)
2016-10-15 18:08:00 +02:00
Gregory Hainaut
7bb201a1d2 gsdx tc: move code to allow to lookup an older target if none was found
Next step is to enable it by uncommenting line 452
2016-10-14 22:03:29 +02:00
Catarax
978b3eca05 GameDB: World Rally Championship Freeze Fix (PAL)
Fix the random freeze in WRC for PAL release with the EETimingHack.
2016-10-14 21:02:16 +02:00
Gregory Hainaut
24684033ca gsdx: enable clut_load_before_draw option on Harley Davidson (CRC hack)
At least the game is good until we find how the HW really behave
2016-10-14 20:47:18 +02:00
Gregory Hainaut
2c0a4ac906 gsdx ogl: add an extra debug log level
Avoid too much log
2016-10-14 20:46:58 +02:00
Gregory Hainaut
3c30db965d gsdx gui: add a combo box on linux (below Interlace)
3 states are off/half/full. I'm too lazy to create a better combo box.

The hack option will be removed when Windows GUI is ready
2016-10-14 19:26:58 +02:00
Gregory Hainaut
37a1230c01 gsdx: reduce code duplication for key event 2016-10-14 19:26:58 +02:00
Gregory Hainaut
a4658eac24 gsdx hw: allow overlapping of texture (alpha) and framebuffer (RGB)
Fix HUD on Berserk

v2: use fbmask instead of hacking the target format to 24 bits.
2016-10-14 19:26:27 +02:00
Gregory Hainaut
25e76d0564 gsdx ogl: use an invalid value for stencil state
Fix shadow in WWE Smackdown Vs Raw 2006
2016-10-14 19:01:18 +02:00
Gregory Hainaut
51c64fcbe6 gsdx sw: trick GetFeedbackOutput to handle basic merge loopback
It is enough for Xenosaga.
2016-10-14 18:13:20 +02:00
Gregory Hainaut
deb2ed3d09 gsdx ogl: reimplement merge circuit to support feedback write 2016-10-14 18:13:20 +02:00
Gregory Hainaut
06055add5c gsdx merge: get a new buffer for the feedback write 2016-10-14 18:13:20 +02:00
Gregory Hainaut
317a464278 gsdx shader: RGB => YUV conversion
Required for write feedback emulation
2016-10-14 18:13:20 +02:00
Jason Brown
6ef5607d99 gsdx shader: add a shader to render text for OSD
Gregory: code extracted from the OSD PR to reduce conflict
2016-10-14 18:13:20 +02:00
Jason Brown
d84d30fe87 gsdx: Add color component to OGL shaders 2016-10-14 18:13:20 +02:00
Gregory Hainaut
7ca9ca9465 gsdx: new parameter for merge virtual function
* Add full PMODE register to replace slbg/mmod
* Add full EXTBUF register (will allow to emulate write feedback)
* Add a third source (which will actually be the destination of the
  write feedback)
2016-10-14 18:13:20 +02:00
FlatOutPS2
357dcdb55e GSdx: Move alpha stencil hack back to original location
Avoids skipping the alpha stencil hack.
2016-10-14 16:36:17 +02:00
Gregory Hainaut
fbf7ccbdda gsdx: by default new will throw std::bad_alloc
So catch/use it and don't bother with GSDXErrorOOM
2016-10-13 20:44:59 +02:00
Gregory Hainaut
c440c7c93a gsdx gui: update the filter combox box with new trilinear options
OpenGL only

v2: update setting tooltip based on turtleli feedback
2016-10-13 20:16:38 +02:00
Gregory Hainaut
5ced9c1f19 gsdx mipmap:ogl: plug trilinear/mipmap2 option
mipmap option 3. Actually maybe a separate tri-linear option will be better

m_mipmap == 2 => use manual PS2 trilinear/mipmap
Otherwise
m_filter == 3 => always use full automatic trilinear interpolation
m_filter == 4 => use automatic trilinear interpolation when PS2 uses mipmap
m_filter == 5 => like 4 but force bilinear interpolation inside layer
2016-10-13 20:16:38 +02:00
Gregory Hainaut
c2777ff989 gsdx state: split IsMipmapActive in 2 pieces
This way we can test if a draw call requires a triliner filtering.
It will be used in next commit to implement automatic trilinear
2016-10-13 20:16:38 +02:00
Gregory Hainaut
1b9b47dd6a gsdx mipmap:ogl: add capabilities to automatically generate mipmap layer 2016-10-13 20:16:38 +02:00
Gregory Hainaut
510eccd471 gsdx mipmap: enable fully tri-linear filtering
(when mipmap > 1)
2016-10-13 20:16:38 +02:00
Gregory Hainaut
a8a2db8eb1 gsdx mipmap:ogl: extend HW sampler with tri-linear filtering
v2:
* use nice enum
* use bilinear info when there is no mipmap (more accurate)
2016-10-13 20:16:38 +02:00
Gregory Hainaut
335d7f3ae5 gsdx: add a nice enum for min filter 2016-10-13 20:16:38 +02:00
Gregory Hainaut
7ea0e90678 gsdx mipmap:ogl: extend shader to support trilinear filtering 2016-10-13 20:16:38 +02:00
Gregory Hainaut
d185a85a07 gsdx ogl: replace simple_sample variable by the opposite shader_emulated_sampler
It feels easier to read this way
2016-10-13 20:16:38 +02:00
Gregory Hainaut
ae441e6a2c gsdx mipmap:HW: Update all valid texture layers 2016-10-13 20:16:38 +02:00
Gregory Hainaut
5d593dd948 gsdx mipmap:HW: save state of both min&max lod values 2016-10-13 20:16:38 +02:00
Gregory Hainaut
15b1d8d3f0 gsdx mipmap:tc: add code to update a single layer of a mipmap 2016-10-13 20:16:38 +02:00
Gregory Hainaut
dbb4bdf59f gsdx mipmap:ogl: add GL_TEXTURE mipmap support
* Allocate more memory for extra layers
* Allow to upload data in any layers
2016-10-13 20:16:38 +02:00
Gregory Hainaut
76bd968c59 gsdx mipmap: extend texture/cache to support a layer parameter 2016-10-13 20:16:38 +02:00
Gregory Hainaut
b695e0065a gsdx mipmap: use a 3 state option 2016-10-13 20:16:38 +02:00
Pseudonym
a415d59e2f Remove use of integer constants for iop events that I missed in the
previous commit (thank you @turtleli, I was mentally filtering this line
of code).
Fixes #1618
2016-10-13 16:30:05 +01:00
Pseudonym
733fd79f46 Removed internal iop event enum assignments which just confuse readers and
traces of an old hack.
2016-10-11 18:53:23 +01:00
Jonathan Li
679f3347bb cdvdgigaherz: Read raw CD sectors one by one (#1590)
A multi sector raw disk sector read that reads data from two tracks of
different types will not complete successfully. Reading the sectors one
at a time should fix the issue.
2016-10-10 22:33:15 +01:00
Gregory Hainaut
4d52c55784 QA: add a git hook script to validate the format & check spu2x format
Note: pre-commit hook is for linux, need to be manually installed in .git/hooks/

A windows solution is welcome
2016-10-10 20:43:30 +02:00
Clang Format
039573b133 clang-format spu2x
Note: it doesn't play well with define around forceinline (might need to fix the inline btw)
And a single macro in RegTable.cpp
2016-10-10 20:41:24 +02:00
ramapcsx2
0f022da98c Merge pull request #1615 from ramapcsx2/psxmode-rebase-spu2x
psxmode: SPU2-X backwards compatibility with the original SPU
2016-10-10 15:36:50 +02:00
Robert Neumann
9a832c7bcd Issue template now mentions psxmode is unstable and reports for broken PSX games are too early. 2016-10-10 00:01:15 +02:00
Robert
36631f2270 remove a useless define
cosmetics

more cosmetics

some more cosmetics? sure!

whitespaces

whiterspaces
2016-10-09 20:10:53 +02:00
Robert Neumann
3bc847a9f0 bad merge fix 2 2016-10-09 16:21:48 +02:00
Robert
95fe77a594 bad merge fix 2016-10-09 16:15:19 +02:00
Robert Neumann
19a8ed8b25 psxmode: Spu2x: more native SPU2 reghandlers. first "working" reverb! (everything before was just random data) 2016-10-09 15:52:47 +02:00
Robert Neumann
ee05137415 psxmode: Spu2x: add reverb register handling, fix a problem with the address translation, re-enable "VMIXEL" writing (which should just be named Echo/Effect ON or EON really) 2016-10-09 15:52:47 +02:00
Robert Neumann
1ec70f1df3 psxmode: Spu2x now working correctly. Kudos to pseudonym. Took him 30 minutes to fix this! 2016-10-09 15:52:46 +02:00
Robert Neumann
08b6edae80 psxmode: further spu2x work 2016-10-09 15:52:45 +02:00
Robert
3aabc1adbf spu2x work 1 2016-10-09 15:52:05 +02:00
Gregory Hainaut
9af34cc611 gsdx tc: miss a set scaling call
Likely impact issue #83/#694
2016-10-09 13:07:08 +02:00
Gregory Hainaut
3b733930fe gsdx: UserHacks_TextureInsideRt must be disabled by default
Likely a bad copy/past
2016-10-09 12:13:37 +02:00
Gregory Hainaut
344636d88e gsdx ogl: attach input texture before copy
Help to ensure with copy the good texture in debugger
2016-10-08 23:42:39 +02:00
Gregory Hainaut
22ebdcf1cf gsdx debug: create a nice dump function for kernel gs registers
Add missing register
2016-10-08 23:42:39 +02:00
Andreas
ab228c8484 Added missing CRC for Grand Theft Auto San Andreas. 2016-10-08 18:38:50 +03:00
Robert Neumann
ca59ce45c0 psxmode: Make cd read delays longer to avoid mdec glitches and possibly some other data corruption. Proper read timings can be added later using cdvd.cpp as an example. 2016-10-07 21:36:06 +02:00
Robert Neumann
f45527468f psxmode: silence "vsync timeout" spam 2016-10-07 18:22:37 +02:00
FlatOutPS2
db853b4462 GSdx: Add Jak 2 US CRC to GSCrc list.
Fixes issue: https://github.com/PCSX2/pcsx2/issues/1603
2016-10-07 13:14:15 +03:00
FlatOutPS2
5ca63a4e89 GameDB: Add Tiger Woods PGA Tour series VU Clamping Mode fixes
Fixes black textures on characters in Tiger Woods PGA Tour 2004, 2005,
and 06 through 10.

Known to fix the issue for the following serials: SLES-51887, SLUS-21877, SLES-52509, SLES-54253, SLUS-21483, SLUS-21002

Presumed to also fix the issue for serials(known to suffer from the exact same issue and use the same engine as the other games, so the fix should be the same): SLUS-20757, SLES-53541, SLUS-21264, SLUS-21646, SLUS-21772, SLPM-66191, SLES-54253, SLPM-66674
2016-10-07 13:14:15 +03:00
Gregory Hainaut
574a807678 gsdx tc: new hack to extract texture from rt
UserHacks_TextureInsideRt = 1 (don't look at Jak)
2016-10-07 01:43:04 +02:00
Gregory Hainaut
8873b27eb8 gsdx: let's keep the new clut option off
There are still issue with virtua fighter (albeit my dump is better...)
2016-10-06 22:05:03 +02:00
Gregory Hainaut
79666b26c0 gsdx sw: restore the const reference
It was removed for PSX hack which was removed a couple of commits ago
2016-10-06 20:02:22 +02:00
Gregory Hainaut
c66004bbb2 gsdx: hidden option to better support dual context clut
Option is on by default. Just a safety net in case of regression

Fix clut issue on virtua fighter (SW) and harley davidson (SW/HW).
2016-10-06 19:08:21 +02:00
Gregory Hainaut
9cd4984f7c gsdx debug: more log 2016-10-06 18:56:31 +02:00
Akash
b36dfb356e PCSX2-Git: Add an issue template file (#1567)
Merge issue template

[skip ci]
2016-10-06 00:04:16 +02:00
Gregory Hainaut
d827497403 gsdx: let's handle illegal 4 bits format too
In doubt if some games use them.
2016-10-05 22:07:49 +02:00
Gregory Hainaut
9b93c07339 gsdx: Handle illegal 8 bits format. Found the most silly GS dev trick
Fix Berserk #1526 Well done guys but we're more clever than you ;)

So instead to mask the color channels as any guy that RTFM, they decided to use the illegal 8H frame format
2016-10-05 22:07:43 +02:00
Gregory Hainaut
6fd46eb36a gsdx: move the validation of the texture format before the draw call
Avoid false positive when game write dummy stuff
2016-10-05 22:07:23 +02:00
Pseudonym
a0629587be gsdx memory: implement read texture of PS GPU24
convert the swizzled block as tightly packed 24 bits RGB

Then convert scanline to standard 32 bits RGBA

The HW renderer requires the preload data hack
2016-10-05 21:59:42 +02:00
Gregory Hainaut
1c900e780a gsdx memory: add a PS GPU 24 bits format
Same swizzle as 16 bits. But contains tightly packed RGB pixels.
2016-10-05 21:06:38 +02:00
Gregory Hainaut
1cc696ab31 gsdx hw: update TEST.ATE field after ATE optimization
Otherwise DoFirstPass/DoSecondPass will give you result based on pre-ATE optimization

Close #1607
2016-10-05 09:43:24 +02:00
Gregory Hainaut
3653a7746a gsdx psxmode: small hack to "see" video until we found a better solution 2016-10-05 09:43:24 +02:00
Gregory Hainaut
677f890c5c gsdx debug: static GSState::s_n
This way you can access the current draw call anywhere. Very useful for debug.
2016-10-05 09:43:24 +02:00
Gregory Hainaut
61333ecb40 gsdx debug: trace register access
I didn't include high frequency register such as vertex stuff

main goal is to give the possibility to trace the texture/clut update
2016-10-05 09:43:24 +02:00
Gregory Hainaut
1b8d6a38e7 Merge pull request #1586 from PCSX2/gsdx-refresh-gui-options
Gsdx refresh gui options
2016-10-04 18:30:48 +02:00
Gregory Hainaut
7d165da105 pcsx2: update credit box
Put turtleli in dev section
Add FlatOut in special thanks section

Thanks you very much for your hard work.
2016-10-03 22:25:59 +02:00
Gregory Hainaut
354aa6831b gsdx ogl: brain hang in the middle of the line
Only impact if bilinear is forced
2016-10-03 18:52:02 +02:00
Gregory Hainaut
5b72fab2e4 gsdx ogl: depth regression from 866173a481
Only mask depth if the min value is too big

Issue #1602
2016-10-03 18:32:54 +02:00
Gregory Hainaut
3be055a366 gsdx hw: remove code to detect an effect
It was a tentative to emulate GTA radiosity but the new hack is more generic
2016-10-02 18:29:23 +02:00
Gregory Hainaut
7dcf1cbf90 Merge pull request #1593 from PCSX2/greg/gsdx-hw-ate
gsdx hw ate
2016-10-02 18:22:02 +02:00
Gregory Hainaut
49c44db635 gsdx:dx: make filtering right
WMS/WMT 2 is the region clamping mode.

Hw unit can't emulate it right so it can give you bad filtering (Fix #1025)

Note: I only did the fix because I wanted to remove the TEXA hack. Otherwise
it is still recommended to use openGL
2016-10-02 18:21:52 +02:00
Gregory Hainaut
7f4791fa85 gsdx hw: improve no_ds detection
Support ZTST_NEVER as no depth read => psx mode speed boost
Use zm/fm to reduce further depth lookup
2016-10-02 18:21:52 +02:00
Gregory Hainaut
c3ac3ecbe7 gsdx hw: move try alpha test at the beginning
Will allow to use alpha test optimization to better optimize depth lookup

Require to do clut handling before
2016-10-02 18:21:52 +02:00
Gregory Hainaut
dc365e066d gsdx tc: remove old plain TEXA hack
It must work fine without it now.

From the google code comments:

It would be nice to test those games
* Ar Tonelico 2 (line in sprite regression?)
* breath of fire dragon quarter (overlayed user interface in the game)

v2: update Dx code to use the good format
2016-10-02 18:21:52 +02:00
Gregory Hainaut
cf13cccb1e gsdx: avoid useless spamming of INVALID PSM in release build 2016-10-02 18:21:41 +02:00
refractionpcsx2
471f33ceef Vif Unpack: initialise UnpkNoOfIterations before use. 2016-10-02 17:18:49 +01:00
refractionpcsx2
744d07b8a1 Vif: Fix MSCNT for MK: Shaolin Monks.
-Tested Baldurs Gate, Twisted Metal, Warship Gunner 2 and Downhill Domination, all seem to be fine still.
2016-10-02 15:35:06 +01:00
refractionpcsx2
59be0818e2 Gif: Fix MFIFO logic so it doesn't get caught in a loop (Tekken Tag) 2016-10-02 14:35:36 +01:00
Gregory Hainaut
955a69b16e gsdx ogl: fix GT4 regression (wrong texture on timing) 2016-10-02 12:16:48 +02:00
Gregory Hainaut
c7c6566bca gsdx hw: of course the full Jak series will kill me 2016-10-02 11:57:09 +02:00
Gregory Hainaut
b6638d4eec gsdx hw: forgot to comment an unused variable
Keep the code in case, we better solution is found to validate the depth/frame format
2016-10-02 10:18:15 +02:00
Jonathan Li
fd1cc2fdcb ci:appveyor: Don't use branch name to name directory
Fixes issues with using a / in the branch name, which causes the rename
command to fail because the parent directory isn't present.
2016-10-02 00:04:56 +01:00
Gregory Hainaut
3996fbe365 gsdx hw: reduce conplexity around TryAlphaTest
* As sw renderer, don't bother to bypass it when it is ATST_ALWAYS
* Don't update the ATE register value
=> It is a really bad idea. Next draw call will be wrong if TEST register isn't written.
The TryAlphaTest context could have been updated
2016-10-01 19:20:49 +02:00
Gregory Hainaut
c5f086b385 gsdx ate: separate the code that depends on TEST.AFAIL
Easier to read and allow a switch optimization

Add a shortcut for the common ATST_ALWAYS case
2016-10-01 19:20:38 +02:00
Gregory Hainaut
4612b79575 gsdx: add a warning on vertex trace
Due to a division by 2, depth lsb bit is always 0

I'm not sure it is critical but let's keep a note for the future
2016-10-01 19:16:44 +02:00
Gregory Hainaut
d1e07295e7 gsdx linux: add the missing gui option for unscale point/line primitive 2016-10-01 19:16:44 +02:00
Gregory Hainaut
5e1064da55 gsdx: remove the safe accurate blending hack
V2: Integrate Flatout patch to do the Window side
2016-10-01 19:15:52 +02:00
Gregory Hainaut
f77c1900fa gsdx tc: always clear a new depth buffer
Random data isn't a good idea for a depth buffer. It can cause flickering. (Jak2 FMV)

Hopefully it won't impact too much the speed.
2016-10-01 19:00:17 +02:00
Gregory Hainaut
9c84712640 gsdx hw: enable palette read back on Jak2 2016-10-01 18:47:21 +02:00
Robert Neumann
98c22b9acb psxmode: tried to put the hardware reconfiguration reset in the proper location. didn't work for some reason. 2016-10-01 12:16:56 +02:00
Robert Neumann
d8e0b9f541 psxmode: few comments and a missing hw write. 2016-10-01 11:41:07 +02:00
Jonathan Li
e8ab0f6e85 Merge pull request #1591 from turtleli/update-wx
3rdparty: Update wxWidgets to latest 3.0.x git branch
2016-10-01 02:34:45 +01:00
Gregory Hainaut
5d93a392e4 gsdx hw: xman half screen correction 2016-09-30 22:25:24 +02:00
Gregory Hainaut
29c25bc375 gsdx clut: disable some assertions often fired 2016-09-30 22:24:38 +02:00
Gregory Hainaut
34686394a6 gsdx hw: add an hack for Jak3
I'm disappointed...

Read back palette written by the GPU. Avoid strange color on the skin.
2016-09-30 19:22:16 +02:00
Gregory Hainaut
df2f8684d6 gsdx: improve TC cache log 2016-09-30 19:18:58 +02:00
Gregory Hainaut
8d24aa2b39 gsdx: GoW2 half screen bug
... Seriously ...
2016-09-30 19:15:25 +02:00
Gregory Hainaut
fc32b749dd onepad: fix a pad regression on odin sphere 2016-09-30 10:25:14 +02:00
Jonathan Li
7ad38057b5 symbolmap: Use C++11 recursive mutex
Newer wxWidgets versions call SetThreadUILanguage() on Windows, which
somehow causes our recursive mutex implementation to take ~1ms when
recursive locking occurs. So when a game boots up and the debugger is
loading the symbol map which can easily have 15000+ symbols, the GUI
locks up for 15+ seconds.

Switching to C++11 recursive mutexes seems to work around the issue. It
should be safe here since there's no direct interaction with the GUI.

Note: There is still a 1-2 second GUI lockup when booting a game on
Windows (it has existed for quite a while, and is more noticeable with
fast boot). It doesn't seem to affect Linux (or maybe it's harder to
detect).
2016-09-30 00:55:07 +01:00
Robert Neumann
a6eb615431 psxmode: kernel TTY (printf) 2016-09-29 19:02:57 +02:00
Jonathan Li
e511265cc9 gsdumpgui: Make it work even if it's not named GsDumpGUI.exe
Fixes #1592.

[skip ci]
2016-09-28 23:21:26 +01:00
Gregory Hainaut
8d4fadb3c8 Revert "gsdx state: TEX0 write behavior might depends on the context"
This reverts commit b34243fa7b.

Unfortunately we have a regression on GT4. I'm doomed
2016-09-28 20:00:56 +02:00
Gregory Hainaut
90ad9cf668 gsdx hw mipmap: tune the rounding + remove previous hack
GS really uses an invalid texture located at 0.

Improve the rounding for R&C. The idea is to avoid the corner case were only
the corner of the triangle touch the 7/16 edge.
2016-09-28 19:41:12 +02:00
Gregory Hainaut
adb8be3287 gsdx: add/update comment
Need to investigate why the number of vertex is different in upscaled resolution
2016-09-28 19:41:12 +02:00
Gregory Hainaut
749037346c gsdx: report an error if PSM is invalid 2016-09-28 19:41:12 +02:00
Gregory Hainaut
fea31f7422 gsdx: don't use virtual when it is useless 2016-09-28 19:41:11 +02:00
Gregory Hainaut
97172f5e51 gsdx debug: count draw call in a different way
* Always do +1 before the draw call
* Prefix texture name with i (as input) to keep them before the FB

Goal is to ensure that all renderers share the same draw call value.
2016-09-28 19:41:11 +02:00
Robert Neumann
fd58ee6289 psxmode: disabled a PGIF ringbuffer memset, added comments 2016-09-28 16:18:59 +02:00
Gregory Hainaut
c272359f20 Merge pull request #1550 from PCSX2/gsdx-dual-context-clut
gsdx state: TEX0 write behavior might depends on the context
2016-09-27 12:06:17 +02:00
Gregory Hainaut
b34243fa7b gsdx state: TEX0 write behavior might depends on the context
Game: harley davidson
* write tex0 ctx0
* write tex0 ctx1
* draw  ctx 0

Previous GSdx behavior will load the clut every write of TEX0. In the
above case the draw will take the wrong clut.

To be honest, it could be a wrong emulation on the EE core emulation.
The hardware likely got a single clut (1KB cache is quite expensive)
So clut loading must be skipped if the context is wrong.

Next draw will use the ctx1 clut so I apply TEX0 when the context is switched

Please test harley davidson :)

v2: detect context switch from UpdateContext function
V3: always set m_env.CTXT[i].offset.tex, avoid crash (Thanks to FlatOutPS2 that spot the issue)
V4: move bad psm correction code (rebase put it in the wrong place)
2016-09-27 10:04:09 +02:00
Gregory Hainaut
e0961d81a0 gsdx HW: use after free crash
Free bt
3 0xe676d194 in ~Source ../plugins/GSdx/GSTextureCache.cpp:1526
4 0xe676d194 in GSTextureCache::SourceMap::RemoveAt(GSTextureCache::Source*) ../plugins/GSdx/GSTextureCache.cpp:1990
5 0xe676f0fe in GSTextureCache::IncAge() ../plugins/GSdx/GSTextureCache.cpp:1022

Use bt
0 0xe6772a83 in GSTextureCache::LookupSource(GIFRegTEX0 const&, GIFRegTEXA const&, GSVector4i const&) ../plugins/GSdx/GSTextureCache.cpp:204
1 0xe66b0c9f in GSRendererHW::Draw() ../plugins/GSdx/GSRendererHW.cpp:579
2 0xe66fb43e in GSState::FlushPrim() ../plugins/GSdx/GSState.cpp:1509

Hypothesis the m_map array of list contains an invalid pointer
It is populated GSTextureCache::SourceMap::Add based on the coverage. The coverage is based on the offset.
So offset is potentially wrong. As mipmap code hack the offset value. It would be a nice culprit.

This commit avoids a potential bad transition between MIPMAP (which
overwrite the "offset") and the base layer (which wrongly keep an old "offset")

Conclusion, pray for my soul as it is very hard to reproduce
2016-09-26 20:34:38 +02:00
Gregory Hainaut
04d82d8127 gsdx: size doesn't count but 0.625 might change your life :p 2016-09-26 19:42:07 +02:00
Gregory Hainaut
be9995bd1e gsdx mipmap: improve robustness to avoid potential crash 2016-09-26 09:27:03 +02:00
Jonathan Li
43f5b5e2a6 3rdparty: Update wxWidgets to latest wx3.0.x branch
Fixes a whole bunch of warnings.

Updated to revision d77661c73bf6f9668077ac5a85b4854a1a2204ee.
2016-09-25 21:19:07 +01:00
Gregory Hainaut
ebb2a8ad5a gsdx debug: Add DISABLE_WIP_ASSERTION
To easily disable assertion on codes that only require investigation
2016-09-25 20:00:51 +02:00
Gregory Hainaut
ca4f265ce6 gsdx debug: dump mipmap register could be useful now :) 2016-09-25 20:00:51 +02:00
Robert Neumann
013940250b psxmode: color for mdec please! ;p 2016-09-25 19:55:44 +02:00
ramapcsx2
fdf5e7ab2a Merge pull request #1583 from PCSX2/ramapcsx2-psx-mode
PCSX2 rudimentary supports PlayStation 1 games now. Many thanks to user Wisi on the assemblergames.com forums. He researched and wrote the essential missing piece; The PGIF device!
Note: To use this in any form, SPU2-X needs to be fixed. ZeroSPU2 can be used to boot games for now, but without sound.
2016-09-25 12:51:29 +02:00
Gregory Hainaut
ef9a144437 gsdx hw: extra trick for the mipmap
Ratchet & Clank (the third) uses an address of 0 for invalid mipmap.

It would be very awkward to put the middle layer of texture in start of
memory. So let's use this information to correct the lod.

It make the game more robust on the lod rounding
2016-09-25 11:54:00 +02:00
Gregory Hainaut
78b2848622 gsdx: factorize the TEX0 generation for mipmap 2016-09-25 11:51:48 +02:00
Gregory Hainaut
ccd9ce1728 gsdx hack: move tales of legendia hack to full move
Also remove the OI hack which is handled by the generic double half clear
2016-09-25 10:17:08 +02:00
Gregory Hainaut
e229dc1549 gsdx hack: move Resident Evil 4 to full level
The CRC hack removes the fog, without the hack the screen turns green with D3D,, but the fog emulates correctly on OGL with hardware depth.
2016-09-25 10:13:21 +02:00
Gregory Hainaut
307c4a22ed Merge pull request #1579 from PCSX2/gsdx-generic-double-half-clear
Gsdx generic double half clear
2016-09-25 10:09:24 +02:00
Gregory Hainaut
ad8a84a532 gsdx hw: reduce hack of Spyro series
Based on the comment, it ought to be fixed with previous commit.
2016-09-25 10:08:55 +02:00
Gregory Hainaut
7f871b0cc6 gsdx hw: remove various CRC hack that ought to be fixed with previous commit
* SpidermanWoS
* TyTasmanianTiger
* TyTasmanianTiger2
* DigimonRumbleArena2
* XmenOriginsWolverine
* CallofDutyFinalFronts
* GoW2 (only in openGL)
2016-09-25 10:08:54 +02:00
Gregory Hainaut
1e343084e2 gsdx hw: group the double half clear with gs mem clear hack
It avoid redundant check of the GS context

You can disable the extra clear with UserHacks_DisableGsMemClear = 1
2016-09-25 10:08:54 +02:00
Gregory Hainaut
6c6ed5f443 gsdx ogl: trigger the special RW framebuffer shader when only Alpha is written (#1588)
* gsdx ogl: trigger the special RW framebuffer shader when only Alpha is written

It will work for both Jak and Ratchet&Clank and without CRC
2016-09-25 10:05:44 +02:00
Robert
5e460c57f8 psxmode: add all the rest on core side. psx mode works now.
- include a small game exe detection so pcsx2 doesn't believe it's running the bios
- cdrom.cpp has a hack to account for pcsx2's wrong iop dma timing when mixing mdec and cdrom dmas. This should be properly fixed for the benefit of all ps2 / psx software!
- dmasif2 is disabled since pgpu already handles it
2016-09-24 20:11:32 +02:00
Robert
277b8f3503 psxmode:EE: Plug SBUS PGIF register
v2: improve code integration
v3: fix conflict between sif2/pgif code
2016-09-24 20:11:32 +02:00
Robert
43e8796b2c psxmode:IOP: Init mdec and pgif 2016-09-24 20:11:32 +02:00
Robert
4047e34050 psxmode:IOP: plug in hardware read / write handlers for PGIF and MDEC
v2:
* Update sioRead8() to read a single byte  and add a comment on it
* Better code integration IOP REG

v3:
* only log the bad 16 bit access
2016-09-24 20:11:16 +02:00
Robert
35fa20d965 psxmode: changes to sio that allow psx pads to work 2016-09-24 20:08:46 +02:00
Robert
95be7cf505 build: cmake/MSVC add mdec.cpp/h files 2016-09-24 20:08:46 +02:00
Robert Neumann
f22a8126ed psxmode: prepare mdec 2016-09-24 20:08:46 +02:00
Robert Neumann
236c0c78c3 psxmode:MDEC: use dedicated MDEC_LOG 2016-09-24 20:08:46 +02:00
Robert Neumann
58fe959f85 build: cmake/MSVC add the 2 new files 2016-09-24 20:08:46 +02:00
Robert
280b036b91 psxmode: add PGPU.cpp/h code by user wise on the assemblergames.com forums. 2016-09-24 20:08:45 +02:00
Gregory Hainaut
6e2bf98d5f gsdx hw: round mipmap lod value
Will avoid some corruption based on distance/angle
2016-09-24 20:05:39 +02:00
Gregory Hainaut
719982e4a3 gsdx hw: forget to update a parameter
OMG, fixes various mipmap issues
2016-09-24 18:57:47 +02:00
Gregory Hainaut
76494e5f9c gsdx hw: add an userhack for hw mipmap 2016-09-24 12:39:31 +02:00
Gregory Hainaut
e38aba0dff gsdx: rename SW texture dump filename
* Use texraw for the unconverted texture (keep index fmt)
  => avoid bad filename order with the multiple texture layers
* add the real mipmap address
* Use a nice string format
2016-09-24 09:15:40 +02:00
Gregory Hainaut
f26842faa7 Of course I screwed up in the rebase!
It is a shame!
2016-09-23 18:08:51 +02:00
Gregory Hainaut
816e38db8e Merge branch 'pcsx2-gif-fifo' 2016-09-23 17:50:55 +02:00
refractionpcsx2
2734f53a79 GIF: Implement GIF FIFO on GIF MFIFO mode.
-Removed some obsolete code
-Tiny optimisation for the gifUnit
-Fixed a tiny bug on GIF MFIFO
2016-09-23 17:48:13 +02:00
refractionpcsx2
71601b88ff Fix & symbols in GameFixesPanel 2016-09-23 17:41:48 +02:00
refractionpcsx2
97a8cc7ce5 PCSX2/GameDB: Savestate version bump, Added GIFFIFO entries to GameDB
-RE Savestate version: Sorry, not sorry ;)
2016-09-23 17:41:48 +02:00
refractionpcsx2
0b83b849e7 GIF: Implement GIF FIFO - Enabled as hack as it is slow
-Fixes DJ Hero, Wallace & Gromit (properly), Hot Wheels (closer)
2016-09-23 17:41:48 +02:00
Gregory Hainaut
d89b09427f gsdx: gl logging is only available in MTGS thread
Fix crash in debug build
2016-09-22 17:54:44 +02:00
Gregory Hainaut
b00ae974d2 gsdx ogl: fix bad interaction between accurate blending and geometry shader
Recent optimization allow to use triangle to render sprite even when gs is supported

close #1574
2016-09-20 09:30:24 +02:00
Jonathan Li
c64e8f944e cdvdgigaherz: Fix printf sign mismatch warnings
Fixes warning C6340: printf sign mismatch

Only remaining warnings for cdvdGigaherz (using level 4 warning
settings) are:
C6258: TerminateThread does not allow proper thread clean up
C4201: nonstandard extension used: nameless struct/union (from the
lo/hi u128 struct in common/include/Pcsx2Types.h)
2016-09-20 01:24:23 +01:00
Jonathan Li
57d029f34a cdvdgigaherz: Use INT_PTR for dialog handler return type
BOOL is not the correct return type (though it works for 32-bit).
2016-09-20 01:23:47 +01:00
Jonathan Li
0ca36e8943 cdvdgigaherz: Fix value truncation warnings
Fixes warning C4244: conversion to smaller data type, possible loss of
data.
2016-09-20 00:47:15 +01:00
Jonathan Li
a61aa8ff0b cdvdgigaherz: Remove unreachable return
Fixes warning C4702: unreachable code
2016-09-20 00:46:33 +01:00
Jonathan Li
49cd751acf format-check: enable checking cdvdGigaherz 2016-09-19 19:53:06 +01:00
Clang Format
2967d5d3f1 cdvdgigaherz: Reformat with clang-format 2016-09-19 19:53:00 +01:00
Jonathan Li
60da39712c cdvdgigaherz: Remove unused code/macros/variables/etc
The SPTI code is unused, and it's simpler to just use the Windows
ioctls/API if they work (only raw disk sector reading is an issue and
the SPTI workaround is already in place).
2016-09-19 19:50:55 +01:00
Avi Halachmi (:avih)
52fbfdc5ab Revert most of "Updated some entries in the GameIndex (#1487)"
This reverts commit 07d54587 except for the updates of SCUS-97150 (Formula
One 2001 NTSC-U) - where we have a record of compatibility 5, and also
there's an agreement that the patch is not required anymore since ad61503 .

The reverted compatibility values are because we don't have any kind of
records to support them, no one tested them, and they also don't appear at
our online compatibility list.
2016-09-19 20:47:08 +03:00
Gregory Hainaut
b91bd3ea01 gsdx dx/gl: fix potential bug in alpha test handling
Depth test must remain disabled if write were masked.

Bug was detected on ICO (sea/sky) but the previous commit removes
the wrong ATE draw call.
2016-09-19 08:56:49 +02:00
Gregory Hainaut
6966e08306 gsdx: move alpha test optimization in base class
One code for all renderers :)
2016-09-19 08:48:32 +02:00
Gregory Hainaut
38b77397e0 gsdx hw: remove custom Ty Tasmanian Tiger / Simposons OI hack
Replaced by the generic OI_DoubleHalfClear. If OI_DoubleHalfClear is fast/safe enough, it
will enabled by default in the future.
2016-09-18 18:50:16 +02:00
Gregory Hainaut
6558317a7e gsdx: s/m_eq.xzyf & 4/m_eq.z/
Much better this way
2016-09-18 18:50:15 +02:00
Gregory Hainaut
7a40b27931 gsdx CRC: move GTA hack to full level
You can now emulate the radiosity effect with the UserHacks_AutoFlush hack.
2016-09-18 18:50:15 +02:00
Gregory Hainaut
0f387a8e3c Merge pull request #1535 from PCSX2/clang-tidy-macro-parenthesis
clang-tidy: use parenthesis around macro parameters
2016-09-18 18:48:04 +02:00
Jonathan Li
15fbd6fbf4 cdvdgigaherz: Remove ISO file reader (#1569)
It doesn't support dual layer ISO images, and the ini has to be edited
manually so it loads an ISO image ("$" has to be prepended to the ISO
path as well). The PCSX2 internal ISO file reader is probably better in
most/all aspects and I don't think it's worth copying the logic from
PCSX2 into the plugin.
2016-09-18 18:38:21 +02:00
Gregory Hainaut
310f13a2f7 gsdx ogl: only use geometry shader to convert big enough draw call (#1554)
gsdx ogl: only use geometry shader to convert big enough draw call

The purpose of geometry shader is to reduce bandwidth (72 bytes by sprite)
and CPU load.

Unfortunately it increases CPU load due to extra shader validations.

So geometry shader will only be enabled for draw call with more than
16 sprites (arbitrarily, smallest number before shadow hearts plummet)

v2: don't disable geometry shader in replayer.
It is easier to spot sprite rendering and to manually read vertex info.
2016-09-18 16:58:02 +02:00
Gregory Hainaut
2a60264e40 gsdx replayer: improve error message when file is corrupted 2016-09-18 16:52:35 +02:00
Gregory Hainaut
6e6eae7844 pcsx2:gsdx:spu2x: use parenthesis around macro parameters
For safety reasons.
2016-09-18 16:13:55 +02:00
Gregory Hainaut
b3d31869d6 recompiler: use a function to replace HWADDR macro 2016-09-18 16:13:55 +02:00
Gregory Hainaut
c448c2becb mtvu: use function instead of macro 2016-09-18 16:13:55 +02:00
Gregory Hainaut
d39f17bda3 FPU: replace check* macros by functions
v2: remove useless return after function call
2016-09-18 16:13:29 +02:00
Gregory Hainaut
9648e25018 pcsx2: don't obfuscate the template type with macro 2016-09-18 16:13:29 +02:00
Gregory Hainaut
64d499af6e pcsx2|spu2x: remove unused macro 2016-09-18 16:13:29 +02:00
Gregory Hainaut
02da178d5c pcsx2: replace macro in GameDb by function 2016-09-18 16:13:28 +02:00
Gregory Hainaut
35cf2638e8 Vif: replace makeMergeMask macro with a function 2016-09-18 16:13:28 +02:00
Gregory Hainaut
b1d446895b GSdx: replace IsTopLeftAligned macro with a function 2016-09-18 16:13:28 +02:00
Gregory Hainaut
f0a54bf6e3 spu2x: replace EMITC macro with a function 2016-09-18 16:13:28 +02:00
Gregory Hainaut
a5a2298c7d IPU: replace BUTTERFLY macro with a function 2016-09-18 16:13:28 +02:00
Gregory Hainaut
796b2d4970 IPU: replace SATURATE macro with a function 2016-09-18 16:13:28 +02:00
Gregory Hainaut
ac1b3845b2 pcsx2:log: add MDEC_LOG trace capability 2016-09-18 15:35:59 +02:00
Gregory Hainaut
5ef2d538a0 gsdx hw: only keep a single half clear implementation 2016-09-18 13:16:59 +02:00
Gregory Hainaut
a0c1719695 gsdx hw: DoC takes 3
Add support for 16 bits format too. Fix shadows.
2016-09-17 12:06:43 +02:00
Gregory Hainaut
ebdf54a60b gsdx sw: don't enable auto flush hack in replayer
Otherwise we don't have same number of draw call in HW/SW which is
awful to compare
2016-09-17 12:05:05 +02:00
Gregory Hainaut
3546d54e3b gsdx hw: improve the vertical half clear for DoC
Previous assumption that crazyness was used to clear the buffer is wrong.

It was also used to write a constant color to the buffer.
2016-09-17 10:34:35 +02:00
Jonathan Li
639aafda12 ci: Remove Travis CI caching workaround
Travis CI now takes into account the environment variables when
generating the cache hash. So the workaround of appending random unique
stuff to "compiler" is now unnecessary.
2016-09-16 23:45:44 +01:00
Jonathan Li
4d5e051387 gsdx: Fix missing "\n" in rc file
It stops Visual Studio from asking to normalise the line endings
everytime the resource editor is used.
2016-09-16 23:42:54 +01:00
Jonathan Li
91b2e5bdbb Merge pull request #1564 from FlatOutPS2/master
GSdx: Add Windows UI options for HW hacks
2016-09-16 23:35:45 +01:00
Gregory Hainaut
7b9654f164 gsdx hw: CRC based solution to solve half screen issue on FFVII Dirge Of Cerberus
The trick is that the depth buffer is actually the right of the frame buffer
2016-09-17 00:02:32 +02:00
Christian Kenny
07d54587bd Updated some entries in the GameIndex (#1487) 2016-09-16 22:31:20 +01:00
FlatOutPS2
55b0be36cd GSdx: Add cancel button to Hacks dialog
Add a cancel button to the Hacks dialog to make it easier for the user
to exit the window without making changes.
2016-09-16 23:22:13 +02:00
FlatOutPS2
5420fcaf3a GSdx: Add Windows UI options for HW hacks
Add UI options for Auto Flush and Unscale Point Line HW hacks.
2016-09-16 23:19:05 +02:00
Nobbs66
6589feaacd Link Unconditionally (#1566)
EE Interpreter: Link Unconditionally on Branch and Link instructions
-Link instructions used to store the return address if the branch was
taken, but the correct behaviour is to store the return address whether
or not the branch is taken.
2016-09-16 09:58:37 +01:00
Gregory Hainaut
3994141d40 gsdx sw: always enable the auto flush hack on the SW renderer
There are enough option. Will remove it if too slow.

Positively impact Jak, GTA, Battlefield 2
2016-09-15 17:24:40 +02:00
Gregory Hainaut
1a1d6ab478 gsdx: handle the invalid format 0x3
International Super Star Soccer seems to use it.

It could be a core bug, in doubt uses the likely expected standard 0x13
2016-09-14 19:22:45 +02:00
Gregory Hainaut
4796803c33 pcsx2: Remove == true/false for boolean logic (#1556)
As discussed in #1553

Clang Tidy reports goes from 156 to 9.

Remain some macro in spu2x + a deadcode line
2016-09-10 20:08:14 +02:00
ramapcsx2
95063a7b65 Merge pull request #1559 from Kingcom/memview
Debugger: Fix various memory view issues
2016-09-10 16:51:53 +02:00
Kingcom
f2a0f9f61a Fix memory view scrolling, keep window start aligned to row size, and retain focus upon positioning it to the address accessed by an opcode 2016-09-10 15:44:25 +02:00
Jonathan Li
77e128aa11 Merge pull request #1557 from turtleli/freetype
3rdparty: Add Freetype and link to GSdx
2016-09-10 14:04:26 +01:00
Jonathan Li
72d3e4e03f windows: Add freetype to solution and link to GSdx 2016-09-10 12:36:56 +01:00
Jonathan Li
751fdb96da 3rdparty: Add FreeType 2.7
Customisations:
/: remove all non directories
/builds: Only windows/ftdebug.c retained, custom project added
/objs: Removed (custom project doesn't use the directory)
/docs: Only licence files retained.
/devel: Removed (unused)
2016-09-10 12:29:53 +01:00
Gregory Hainaut
4ebe739b44 pcsx2: remove various unused variable
Warning can be reenabled on GCC

A warning isn't fixed as potentially the code is wrong
../pcsx2/gui/MemoryCardFolder.cpp: In member function ‘void FolderMemoryCard::FlushFileEntries(u32, u32, const wxString&, MemoryCardFileMetadataReference*)’:
../pcsx2/gui/MemoryCardFolder.cpp:1027:10: warning: unused variable ‘filenameCleaned’ [-Wunused-variable]
     bool filenameCleaned = FileAccessHelper::CleanMemcardFilename( cleanName );
2016-09-10 00:09:05 +02:00
Gregory Hainaut
c8e9207879 svu: avoid a maybe uninitialized warning
False positive but compilers aren't reliable
2016-09-10 00:03:53 +02:00
Gregory Hainaut
ccf198a80b gsdx ogl: fix a regression on Okami
Strangely the game uses large texture to handle texture buffer.

I think it plays with WMS/WMT. I'm not sure texture shuffling is 100%
correct here. But without it, it's completely broken.
2016-09-09 21:51:23 +02:00
Gregory Hainaut
8c1722faa2 gsdx: add a note that Jak shadows can be handled with HW GL without auto flush hack 2016-09-09 21:08:15 +02:00
Gregory Hainaut
64a97483fb gsdx: add Jak3 US too 2016-09-09 21:05:00 +02:00
Gregory Hainaut
de480ec0f5 gsdx: add crc hack for Jak
* 0x9C712FF0, Jak1, EU
* 0x472E7699, Jak1, US
* 0x2479F4A9, Jak2, EU
* 0x12804727, Jak3, EU
* 0xDF659E77, JakX, EU

Please report me the CRC of the US version too so I can add them.

Please test the shadows rendering (openGL HW + accurate blending at least basic)
2016-09-09 19:44:04 +02:00
Jonathan Li
d540dbec79 cdvdgigaherz: Fix event handle memory leak
Also bump the version to 0.10.0.
2016-09-08 23:46:05 +01:00
Jonathan Li
303996818c cdvdgigaherz: Delete duplicate PlainIso file 2016-09-08 23:14:26 +01:00
Gregory Hainaut
d27d2dd520 fix compilation issue 2016-09-09 00:11:02 +02:00
Gregory Hainaut
c2b67ccb78 gsdx ogl: implement an alternate shader for Jak Shadows
The game sets the framebuffer as an input texture. So I did the same for
openGL. Code is protected with a CRC. It is working because the game want to sample
pixels.

For the record, I tested it GTA too, it doesn't work as expected because
the game will resize the framebuffer to a smaller one. So you don't have
the guarantee that pixel will be read before a data write.

Note: it requires at least accurate blending set on basic

Note: I need CRC of all Jak games that suffers of this issue. Thanks you :)
2016-09-08 23:58:13 +02:00
Gregory Hainaut
c03b388786 Merge pull request #1551 from PCSX2/clang-format-v2
Clang format v2
2016-09-08 22:53:21 +02:00
Gregory Hainaut
ac14db7b19 linux: use clang-format-3.8
Default is potentially an old version
2016-09-08 21:54:50 +02:00
Gregory Hainaut
36d2f96519 format checker: enable it for lilypad/onepad/cdvdiso 2016-09-08 21:54:50 +02:00
Clang Format
e503534ff4 reformat CDVDiso 2016-09-08 21:54:50 +02:00
Clang Format
d6ae5bfafa reformat lilypad
Note: I'm worried on the EXPORT/CALLBACK behavior on multiple OS
2016-09-08 21:54:49 +02:00
Clang Format
f06f44c30a reformat onepad 2016-09-08 21:52:49 +02:00
Clang Format
0abf686406 pre-fomat onepad
Clang doesn't move back the '{' if there is a comment on the if line
2016-09-08 21:52:49 +02:00
Clang Format
1f8a0db290 reformat null plugin with pointer symbol on the right 2016-09-08 21:52:49 +02:00
Gregory Hainaut
a678ae2529 clang format: put the pointer/reference symbol (*/&) on the right 2016-09-08 21:52:49 +02:00
Gregory Hainaut
f9d8cb97c0 Merge pull request #1508 from PCSX2/gsdx-allow-sso-amd
Finally AMD delivered the fix to support separate shader object !!!
2016-09-08 21:47:32 +02:00
Gregory Hainaut
6ee841319f gsdx: help stupid compiler to allow 32 byte move
Default copy-constructor is eight 32 bits move

GSRendererOGL::Lines2Sprites code shrinks from 510B to 398B
(loop of the function 296B => 181B). Hopefully it will reduce the cost
to convert line to sprite on the CPU (i.e. when geometry shader is disabled)
2016-09-08 20:01:05 +02:00
Gregory Hainaut
b282909c9e common: avoid silly compiler warning due to define redefinition
comma was updated in plugings (due to clang reformat)
2016-09-08 19:20:24 +02:00
Gregory Hainaut
aba0c733cd gsdx linux: add a gui check box to control previous hack 2016-09-08 17:34:28 +02:00
Gregory Hainaut
029d74f855 gsdx: add an auto flush hack to implement a Read Write GS effect.
It impacts all renderers. It ought to fix issue in GTA radiosity,
Shadows in Jak series. (note shadows will suck in upscaling)

Implementation is really brutal. Expect a massive slow down, but at least we can test the effect
easily.

Normally perf impact will remain reasonable if the game doesn't use a Read-Write effect

Performances number are welcomes (my guess is really awful in HW mode, slow in SW mode).
You can enable it with "UserHacks_AutoFlush = 1"
2016-09-08 17:25:59 +02:00
Gregory Hainaut
bcb951077d gsdx: c_str() is useless when parameter is a string
Reported by clang tidy
2016-09-07 22:10:50 +02:00
Gregory Hainaut
a6c25b7bff ipu: DATA is an u32 not a pointer
Fix compilers warning.
2016-09-07 22:06:27 +02:00
Gregory Hainaut
cac822f785 build.sh: also use ninja for coverity build 2016-09-07 18:58:31 +02:00
Gregory Hainaut
145d6e29c2 gsdx: increase the allocation of the GS memory
GS memory is only 4MB but rendering is allowed to be 2048x2048
with 32 bits format (so 16MB). Technically the frame/depth buffer can start
at the end of the GS memory. Let's not waste too much memory.

Fix crash with BASARAX

(game draws a 2048x1664 32 bits area)
2016-09-07 08:34:24 +02:00
Gregory Hainaut
c638e5ec87 gsdx debug: use a pretty format name when dumping texture
Much faster to read the format on the file name :)

+ remove a couple of useless ifdef
2016-09-07 08:34:24 +02:00
Gregory Hainaut
6abd806539 gsdx perf: print frame time distribution 2016-09-07 08:34:24 +02:00
Gregory Hainaut
244bb555f9 Merge pull request #1532 from ssakash/Coverity
PCSX2: Fix a bunch of coverity defects
2016-09-05 20:16:13 +02:00
Gregory Hainaut
cedc4f241d gsdx hw: add a crc hack for Dragon Quest & Final Fantasy in Itadaki Street
The hack only fix the HW renderer but not the SW renderer. However I'm not sure
the issue is from GSdx.

The hack will disable alpha test that used to generate empty draw call.
2016-09-04 19:41:31 +02:00
Gregory Hainaut
bb50b3419e Merge pull request #1542 from PCSX2/gsdx-texture-transfer-motocross
gsdx: save the blit buffer register when a transfer is started
2016-09-04 16:55:08 +02:00
Akash
022e650dc6 SuperVU: Initialize class members
CID 146985 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)8.
uninit_member: Non-static class member vuxy is not initialized in this
constructor nor in any functions that it calls
2016-09-03 20:29:50 +05:30
Akash
dc874a99cd LilyPad: Remove useless self assignment
CID 146888 (#1 of 1): Self assignment (NO_EFFECT)self_assign: Assignment
operation (this->devices[i]->virtualControls + j).uid =
(this->devices[i]->virtualControls + j).uid has no effect.
2016-09-03 20:29:46 +05:30
Akash
7e5bca3dfd Counters: Make the code behavior more explicit
CID 168623 (#1 of 1): Missing break in switch
(MISSING_BREAK)unterminated_case: The case for value
GS_VideoMode::Unknown is not terminated by a 'break' statement.
2016-09-03 20:29:40 +05:30
Gregory Hainaut
52a2bb5524 gsdx ogl: disable texture shuffle when a render a basic sprite
Fix shadow issue on "Shadow of Memories"
2016-09-03 12:18:52 +02:00
Gregory Hainaut
79209c31bf gsdx ogl: avoid bad logging of framebuffer/texture overlap 2016-09-03 12:18:51 +02:00
Jonathan Li
4d10eda308 Merge pull request #1545 from turtleli/cdvd-spti
cdvdgigaherz: Use SPTI to read raw CD sectors
2016-09-02 23:56:05 +01:00
Gregory Hainaut
a123e65185 gsdx sw: handle the invalidation of the palette when written by the GS
Manual gives all setup to upload a palette from the host. But nothing forbid to render
directly in the palette buffer. (GS rule nb 1, there is no rule ^^)

Fix Virtua Fighter 2 dark colors

However I'm not sure we can fix HW renderer. Rendering is done on the GPU but palette
handling is done on the CPU... So we need to read back data (ouch, and slow). A quick
test didn't get the expected results. Potentially there are others bugs (aka not gonna
happen on the HW renderer)
2016-09-03 00:21:56 +02:00
Gregory Hainaut
d01194da0b gsdx sw: help debug
* quick way to disable verbose fixed tex0
* use palette address/format when the palette is dumped :)
2016-09-03 00:10:23 +02:00
Gregory Hainaut
6323268f40 gsdx tc: reset dirty alpha flag when we lookup a frame
Fix black skin regression for haunting ground (at least on my gs dump)
2016-09-02 21:31:13 +02:00
Gregory Hainaut
774d98991c iop rec: fully enable COP2 support 2016-09-02 21:05:28 +02:00
Jonathan Li
3d8be787a2 cdvdgigaherz: Use SPTI to read raw CD sectors
IOCTL_CDROM_RAW_READ apparently does not work for some read modes on
some optical drives, which makes some CD-ROM games unplayable from the
disc.

Work around the issue by using SPTI to retrieve the raw sector data. The
old reading method has been retained in case SPTI cannot be used (if the
device could not be opened with write access).
2016-09-02 00:58:38 +01:00
Gregory Hainaut
b47c50ae5d iop rec: add the missing LWC2/SWC2 (CP2 reg from/to mem) 2016-09-01 21:50:13 +02:00
Gregory Hainaut
1ee0526e41 iop rec: add constant propagation for COP2
Inspirated from COP0
2016-09-01 21:16:43 +02:00
Gregory Hainaut
bdc29dbbbf iop rec: put cop2 comment in the good position... 2016-09-01 20:47:12 +02:00
Gregory Hainaut
c9a1558c60 gsdx: save the blit buffer register when a transfer is started
Fix motocross mania missing texture. Close #1319

As far as I understand, transfer is initialized in DIR. But the real
write only occured later so the blit buffer could have been overwritten
by a new value.

BLIT 0 13700
TREG 40 40
DIR 0 0
BLIT 0 13f00 <=== the bad guy
Write! ...  => 0x3f00 W:1 F:C_32 (DIR 00), dPos(0 0) size(64 64)

v2: set a value in m_tr.m_blit for load state
2016-09-01 09:59:38 +02:00
Gregory Hainaut
b546d096bd Finally AMD delivered the fix to support separate shader object !!!
v2: blacklist AMD driver from the start of 2016
Please note that it is highly recommended to upgrade to a stable&working driver
2016-09-01 09:47:57 +02:00
Gregory Hainaut
448fee76c1 gsdx ogl: move GS setup in SetupIA
Fix regression when geometry shader is disabled
2016-09-01 09:47:46 +02:00
Gregory Hainaut
165bcf5662 Merge pull request #1539 from FlatOutPS2/DX
GSdx DX: extend ATE to better support additional corner case DX port
2016-08-29 11:39:22 +02:00
Gregory Hainaut
19a9d639b1 Merge pull request #1538 from PCSX2/gsdx-improved-ate
gsdx ogl: extend ATE to better support additional corner case (issue …
2016-08-29 11:38:57 +02:00
Gregory Hainaut
da688114f4 Merge pull request #1522 from PCSX2/gsdx-issue-1438
gsdx tc: don't partially invalidate small target
2016-08-28 16:51:25 +02:00
Gregory Hainaut
e4337b6631 glsl2h: add input files in the header
Close #1404
2016-08-28 16:31:35 +02:00
Gregory Hainaut
a1cdf7189a gsdx tc: don't partially invalidate small target
It creates a regression on game that uses a small temporary target to
upload textures of various sizes. Inital code was done to handle direct
frame write (background, FMV) so big target
2016-08-28 16:24:02 +02:00
Gregory Hainaut
c71ef6fa4c i10n: refresh tr_TR (turkish) 2016-08-28 15:43:54 +02:00
FlatOutPS2
e5c6b2e952 GSdx DX: extend ATE to better support additional corner case DX port
Port for Direct3D renderers of PR #1538.
2016-08-28 15:13:15 +02:00
Gregory Hainaut
7103707aeb gsdx: new linux option linear_present
Purpose is to control the filtering when final image is displayed on the screen

Could improve the sharpness of the output in some games (ofc, it will be pixelated)
2016-08-27 19:23:12 +02:00
Gregory Hainaut
d78d515acb iop rec: plug GTE (aka COP2) in the recompiler
Code isn't enabled yet to avoid any breakage

Edit iR3000ATables.cpp line 1446
2016-08-27 17:23:37 +02:00
Gregory Hainaut
2b925e0103 gsdx ogl: extend ATE to better support additional corner case (issue #1499)
When depth primitive is constant and depth test is greater or equal, we can
execute the depth write after color (depth status will only depends on the initial
value)

New case for RGB_ONLY ate:
If the blending equation uses a fixed alpha or a source alpha. We can postpone the alpha write
in a 2nd pass.
If depth can also be postponed, we can guarantee the order of correctness of the value.
1st pass => do RGB
2nd pass => do Alpha & Depth

It fixed Stuntman letter rendering :) Remaining of the game is still broken :(
2016-08-27 14:46:10 +02:00
Gregory Hainaut
b6693c4345 gsdx dx/gl: fix depth optimization
4th bit is the fog value, not the depth
2016-08-27 13:57:39 +02:00
Gregory Hainaut
7b222768d4 build: check syntax of null plugins
Temporary hack to compute the number of commit in the branch

[skip appveyor]
2016-08-27 13:35:36 +02:00
Gregory Hainaut
c6d42c09d8 travis: check format in clang build
I created a dedicated target (before script). Might not be the best idea
2016-08-27 13:35:20 +02:00
Gregory Hainaut
411a25b610 Merge pull request #1531 from PCSX2/clang-tidy-empty-instead-of-size
pcsx2|common|gsdx: use empty() instead of .size() ==/!= 0 check
2016-08-26 10:05:01 +02:00
Gregory Hainaut
601c828562 Merge pull request #1530 from PCSX2/clang-format-plugin-v1
Clang format plugin v1
2016-08-26 10:04:52 +02:00
Gregory Hainaut
5a1cb00a07 Merge pull request #1517 from FlatOutPS2/DX
Gsdx alpha test improvement DX
2016-08-25 09:25:19 +02:00
Clang Format
eb18a2ac0f PADnull reformat 2016-08-25 00:16:29 +02:00
Clang Format
6613862aed CDVDnull reformat 2016-08-25 00:16:25 +02:00
Clang Format
25b0b63216 GSnull reformat 2016-08-25 00:16:21 +02:00
Clang Format
e61d14168a dev9null reformat 2016-08-25 00:16:15 +02:00
Clang Format
e3a2ad03bc SPU2null reformat 2016-08-25 00:16:11 +02:00
Clang Format
67e7d63f0f FWnull reformat 2016-08-25 00:16:07 +02:00
Clang Format
b246d13bae USBnull reformat 2016-08-25 00:16:00 +02:00
Gregory Hainaut
18941f1b80 clang-format: tune format after discussion
Use custom brace setup. So union/struct/class all behave the same.

Fix typo on 3rdparty
2016-08-24 22:55:37 +02:00
Gregory Hainaut
16f12bcfa5 build.sh: small improvement
Fix undefined variable in cpp check
Print current job on clang-tidy (ease replay of a single file)
Keep jobs order, ease diff between multiple run
2016-08-24 22:55:37 +02:00
Gregory Hainaut
2ec0f26122 build.sh:clang-tidy: drop the remaining ASM file 2016-08-24 22:55:37 +02:00
ramapcsx2
c1f45dafa5 Merge pull request #1507 from FlatOutPS2/master
PCSX2: IPU end of video freeze fixes
    Fixes end of video freeze in Enthusia - Professional Racing.
    Fixes end of video freeze with IPU Normal error in games like Enter The Matrix(#1494), Rygar, Freestyle Metal X, etc. Also fixes The Incredible Hulk and Bolt (thanks to @prafullpcsx2 for testing).
2016-08-23 12:56:21 +02:00
Gregory Hainaut
de32691b4e clang format: don't allow statement on single lines + disable resource.h too (generated file)
Following discussion in #1530
2016-08-22 18:21:17 +02:00
Gregory Hainaut
1fb2c66a21 gsdx ogl: Unscale line
Line thickness will be increased to N pixels (N is the upscaling factor).

Code will also be enabled by UserHacks_unscale_point_line = 1
2016-08-22 18:18:12 +02:00
Gregory Hainaut
018895067b gsdx ogl: restore code to unscale point
enabled by UserHacks_unscale_point_line = 1

Point will be transformed into a NxN square sprite. (N is the upscaling factor)
2016-08-22 18:18:12 +02:00
Gregory Hainaut
f3d14dadc7 Merge pull request #1524 from ssakash/SMODE2_Override
EE: Minor changes to syscall function
2016-08-22 11:37:13 +02:00
Gregory Hainaut
1a8825b374 pcsx2|common|gsdx: use empty() instead of .size() ==/!= 0 check
Enhance readability reported by clang tidy
2016-08-21 17:20:13 +02:00
Gregory Hainaut
8ee2d3d367 gsdx: use static assert when possible
reported by clang tidy
2016-08-21 15:22:09 +02:00
Nicolas Hillegeer
b2984cd3d0 build.sh: don't use -m option for parallel
My reasoning was off. The -m flag does avoid the clang-tidy startup
 cost (which isn't large), but it also increases tail latency because it
 allows a straggler command to run much longer. Suppose that many heavy
 .cpp files are bundled into one clang-tidy invocation.

Bench from Greg
with -m
./build.sh --dbg --clean --no-simd --clang-tidy  3886.45s user 12.04s system 1066% cpu 6:05.71 total
without
./build.sh --dbg --clean --no-simd --clang-tidy  4297.51s user 41.70s system 1497% cpu 4:49.86 total
2016-08-21 14:29:49 +02:00
Gregory Hainaut
27ea9c22bb Merge pull request #1529 from aktau/clang-tidy-parallelize
build.sh: parallelize clang-tidy
2016-08-21 13:30:44 +02:00
Nicolas Hillegeer
b45adb6e6a build.sh: parallelize clang-tidy
Also suppress spurious output from command -v.

[ci skip]
2016-08-21 13:29:08 +02:00
Akash
6bc6d20a87 R5900: Add an enum class for SYSCALL
v2: Fix indentation on switch-case.
2016-08-20 23:32:31 +05:30
Akash
95d70db153 Counters: Move interlace detection code to SetGsCrt
* More accurate to PS2 behavior and avoids an useless SMODE write function, it makes sense to also move this as video mode specific colorburst detection was already moved to SetGsCrt.
2016-08-20 23:32:20 +05:30
Avi Halachmi (:avih)
a0b014ecfc editorConfig: use tabs instead of spaces (indent stays 4)
The vast majority of PCSX2 files use tabs for indentations, and all new
commits also use tabs for indents and not spaces. Therefore, having space
.editorConfig makes it extremely hard to work on PCSX2 files with editors
which support this config file.

There were some concerns that github will make things harder for us
with tabs at .editorConfig, and if that indeed becomes an issue then
we'll have to address it somehow. For now, let's hope it won't.

Also, commented out the line which automatically removes trailing
spaces, since it affects the entire file and therefore makes changes
which the committer did not intend to make at places unrelated to the
commit.
2016-08-20 20:43:38 +03:00
Gregory Hainaut
fc996951cb build.sh: use $flags instead of "$flags"
Otherwise bash add tick around it and cmake doesn't understand what happen
2016-08-20 19:05:23 +02:00
Gregory Hainaut
2ae133e993 build.sh: use clang when clang-tidy is enabled
avoid tons of warning that options XXX isn't supported
2016-08-20 19:01:14 +02:00
Gregory Hainaut
a02937a67b Merge pull request #1528 from aktau/build-posixify
build.sh: simplify and semi-modernize
2016-08-20 18:32:51 +02:00
Gregory Hainaut
0f4cc3231a i10n: upload precompiled es file 2016-08-20 18:23:48 +02:00
Jonathan Li
2b2042e1c2 gsdx: Allow screenshot compression level to be changed
At higher resolutions it takes too much time to save a screenshot at the
maximum compression level. So let's allow the user to set the
compression level.

This re-uses the png_compression_level setting. The default compression
level is 1 for speed, but if the user wishes to increase the compression
level (without using an external tool) and doesn't mind if the
screenshot takes more time to save then they can increase the
compression level up to a maximum of 9 (which can take quite a while).

Fixes #1527.
2016-08-20 14:01:24 +01:00
Nicolas Hillegeer
57090e8ec5 build.sh: simplify and semi-modernize
1. All POSIX shells support $(...) syntax [1], including /bin/sh. shellcheck
   warns about it.
2. [[ won't work in /bin/sh [2], so use [ everywhere. I wonder why it worked
   now, perhaps the test was running on a system where /bin/sh -> /bin/bash.
3. In POSIX sh, string indexing is undefined. [SC2039]. Unfortunately, this
   means we require a subprocess: https://wiki.ubuntu.com/DashAsBinSh. Very
   ugly.
4. In POSIX sh, arrays are undefined. We seem to use $flags as an array
   after constructing it by string concatenation. I tried to verify that
   this has the same effect as just passing the quoted string in bash:

      bash-3.2$ flags="-DCMAKE_GOOK"
      bash-3.2$ flags="$flags -DCMAKE_MOARMA"
      bash-3.2$ flags="$flags -DCMAKE_URURURUR"
      bash-3.2$ ./argv $flags
      0: ./argv
      1: -DCMAKE_GOOK
      2: -DCMAKE_MOARMA
      3: -DCMAKE_URURURUR
      bash-3.2$ ./argv "${flags[@]}"
      0: ./argv
      1: -DCMAKE_GOOK -DCMAKE_MOARMA -DCMAKE_URURURUR
      bash-3.2$ ./argv "$flags"
      0: ./argv
      1: -DCMAKE_GOOK -DCMAKE_MOARMA -DCMAKE_URURURUR
      bash-3.2$

5. Enable exit on unknown variable (-u). All variables should be known,
   otherwise we have an error in the script. shellcheck doesn't warn so I
   think it's fine.

Apart from shellcheck(1), I also ran checkbashisms(1). The latter only
reported that "command -v" might not be available in other shells.
Apparently only ash(1) doesn't understand it.

NOTE: Why are we even trying to support pre-Mavericks (Darwin < 13) OSX? We
don't even support the most modern OSX (El Capitan) fully yet. OSX upgrades
are free and generally don't leave old machines behind. Most machines made
after 2009 can upgrade to El Capitan, AFAIK. I also believe that systems
that have all the utilities and libraries necessary to build PCSX2 will have
/bin/bash >= 3.x.

NOTE 2: Does cmake/ninja generate the same type of output in
compile_commands.json?

[1]: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03
[2]: http://serverfault.com/a/52050
2016-08-20 13:15:57 +02:00
Gregory Hainaut
d6b834e8af gsdx hw: don't execute blit fmv with target
Avoid invalid operation due to depth buffer
2016-08-20 12:56:30 +02:00
Gregory Hainaut
fa826b3167 gsdx tc: check compatible bit when wrote in middle of target
All maths are wrong otherwise. Fix half screen issue in WRC
2016-08-20 11:57:15 +02:00
Gregory Hainaut
a49b3c9bf6 gsdx tc: log more stuff on texture cache dirty & frame format 2016-08-20 11:52:22 +02:00
Gregory Hainaut
cdfbff9af0 build.sh: use command -v instead of which 2016-08-19 18:21:42 +02:00
FlatOutPS2
87eed3965e GSDx GSRendererDX code improvement
Replace local copies context and env with m_ prefix originals.
2016-08-19 16:02:49 +02:00
FlatOutPS2
c5cd716c20 Gsdx alpha test improvement DX
Port for the DX renderers of the alpha test improvement for OGL created by gregory38.
2016-08-19 15:59:54 +02:00
Gregory Hainaut
02cfe9aeeb Merge pull request #1520 from IlDucci/master
Updating Spanish translation
2016-08-19 09:55:41 +02:00
Gregory Hainaut
d87452ed21 build.sh: allow to replace make by ninja to speed up the build system
Quick benchmark. GCC debug mode
Full build: 6 second better, it can 2 additional cores :)
make : ./build.sh --dbg --clean  213.25s user 22.35s system 881% cpu 26.739 total
ninja: ./build.sh --dbg --clean  203.94s user 18.31s system 1085% cpu 20.474 total

No change build:: 1 second better :)
 make -C build_dbg -j 16 install  1.51s user 0.34s system 206% cpu 0.898 total
ninja -C build_dbg -j 16 install  0.05s user 0.02s system 98% cpu 0.074 total
2016-08-18 22:45:46 +02:00
Jonathan Li
029468e7b4 ci: Add clang 3.8 to Travis CI 2016-08-17 22:07:42 +01:00
Jonathan Li
c9a1097579 console: Remove buffered and wxerror console writers
Both haven't been used for a long time, and don't seem to hold any
advantages over the default stdout console writer.
2016-08-17 22:07:42 +01:00
Jonathan Li
f338ffea74 console: Remove scrollbar mouse drag pause behaviour
If the dev/verbose logging option is enabled and the game requires
automatic gamefixes, the console log will always scroll to the bottom
when the scrollbar is released since a new log message will be output
when emulation unpauses.

This could be quite annoying when checking a log while the game is
running. The behaviour doesn't seem to be all that useful anymore
(previously it was useful to work around a GUI bug where the automatic
gamefixes/widescreen patches/cheats menu options didn't apply
immediately) and only works on Windows, so let's remove it.
2016-08-17 22:07:42 +01:00
Gregory Hainaut
765b68458a gsdx: improve logging
Don't enable UpdateValidity print by default (+20~25% on log size)
Only useful in rare cases
2016-08-17 21:23:06 +02:00
Gregory Hainaut
15a4d1f0a9 pcsx2: fix gcc warning
MIPSAnalyst.cpp:124:9: warning: ‘takeBranch’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    else if (sure && !takeBranch)

False positive as sure will be false but safer this way
2016-08-17 21:23:06 +02:00
Gregory Hainaut
bf0e5dc5bd Merge pull request #1516 from PCSX2/emitter-manual-void-cast
pcsx2: manually cast function pointer to void*
2016-08-17 18:56:55 +02:00
Gregory Hainaut
19ceea4f1e Merge branch 'strict-aliasing' 2016-08-17 18:53:08 +02:00
Gregory Hainaut
cc68776069 pcsx2: manually cast function pointer to void*
Templace is nicer but give a hard time to compiler.

New version compile in both gcc&clang without hack

v2: add an uptr cast too for VS2013 sigh...
v3: use an ugly function pointer cast to please VS2013
2016-08-17 09:53:30 +02:00
Jonathan Li
d36002a02a gsdx:cmake: Use PNG_LIBRARIES instead of PNG_LIBRARY
PNG_LIBRARIES adds both libpng and zlib to the command line.
PNG_LIBRARY only adds libpng to the linker command line, and the cmake
documentation also suggests not to use it.
2016-08-16 20:35:21 +01:00
IlDucci
fa5effafcd Updating Spanish translation
Added the new shortcut identifiers. Warning: Some strings are shown in
English.
2016-08-16 13:40:09 +02:00
Gregory Hainaut
fa249a3f78 gsdx ogl: don't rely on the Z value in m_vt
Value seems wrongly rounded and you can't distinguish 0xFFFF from 0xFFFE

Instead check that depth is constant for the draw call and the value from the vertex buffer

Fix recent regression on GTA (and likely various games)
2016-08-16 07:30:52 +02:00
FlatOutPS2
c8f6d68d68 PCSX2: IPU end of video freeze fix
Fixes end of video freeze in Enthusia - Professional Racing.
2016-08-15 19:48:21 +02:00
Gregory Hainaut
44bbdbe49d common: use free directly instead of an Alloc(0)
Easier to understand the intent. And avoid false positive in coverity
2016-08-15 15:51:22 +02:00
Gregory Hainaut
252c043409 Merge pull request #1518 from PCSX2/pcsx2-high-level-fopen
Pcsx2 high level fopen
2016-08-15 15:41:27 +02:00
Pseudonym
07e21427b9 When PS1 loading was enabled, someone neglected to check that allowing the function to continue wouldn't cause any problems.
Fixes #1515
2016-08-15 14:23:43 +01:00
Gregory Hainaut
0f1c10230a CDVD: catch MEC/NVM file exception
It will stop the emulation and open a nice box with an error message instead of terminate PCSX2
2016-08-15 14:09:01 +02:00
Gregory Hainaut
deb7121fde CDVD: Use wxFFile API to handle MEC file too
again nicer, exception safe, less compilation warning :)

v2:
* check file is properly opened in write mode
* only print an error when result is bad
2016-08-15 13:08:54 +02:00
Gregory Hainaut
534e01e2d6 CDVD: Use wxFFile API to handle NVM file
Nicer, exception safe, less compilation warning :)

v2: check fp is properly open in write mode
2016-08-15 13:06:34 +02:00
Gregory Hainaut
5c7e2432bd gsdx-ogl: improve alpha test for GTA vice city (letters)
I don't understand why but it seems depth is rounded down even in 16 bits.
So uses 0xFFFE to enable ate_all_color_then_depth in 16 bits format too :)
2016-08-15 11:38:07 +02:00
Gregory Hainaut
5fbf702500 gsdx ogl: new optimization to bypass the alpha test
In FB_ONLY mode the alpha test impacts (discard) only the depth value.
If there is no depth buffer, we don't care about depth write. So alpha
test is useless and we can do the draw with a single draw call and no program
switch
2016-08-15 11:35:24 +02:00
Gregory Hainaut
b62859ffa2 gsdx ogl: only enable the alternate alpha test in FB_ONLY
RGB_ONLY requires to handle the alpha channel in the alpha test
2016-08-15 11:25:19 +02:00
Gregory Hainaut
2700f06fe7 Merge branch 'pcsx2-verbose-thread-error' 2016-08-14 22:31:28 +02:00
Gregory Hainaut
63ec74ebea build: remove most of the bashism
Various distribution still ship the true old shell to win 1 second at startup.
Besides, bash syntax is no way better

Not fully tested, some bashism might remain for some options but at least you can
do a standard build
2016-08-14 22:29:12 +02:00
Gregory Hainaut
9d8135cf1c x86emitter: allow strict aliasing optimization 2016-08-14 21:01:40 +02:00
Gregory Hainaut
2cc98191f0 common: allow strict aliasing optimization 2016-08-14 21:01:40 +02:00
Gregory Hainaut
0417a10483 gsdx: allow strict aliasing optimization 2016-08-14 21:01:40 +02:00
Gregory Hainaut
2e7fab7813 gsdx sw: avoid aliasing issue, clear function was wrong anyway
Value must be un-normalized. Function is only used with 0.0 so
API was updated to only use the 0 case.
2016-08-14 21:01:09 +02:00
Gregory Hainaut
ef7530af29 microVU: fix aliasing issue
Union is safer for the compiler
2016-08-14 20:49:12 +02:00
Gregory Hainaut
e8e66ec4b5 x86emitter: use memcpy to avoid aliasing issue
Code is only called once anyway.
2016-08-14 20:48:45 +02:00
Gregory Hainaut
90707f8d4e gsdx: avoid aliasing issue
Extend GSVector to support float move

Initial code likely used integer move for performance reason. However due to
the nan correction, register is now in float domain.
2016-08-14 20:48:34 +02:00
Gregory Hainaut
cc15a9480b clang format: disable vertical alignment
Avoid issue of bad alignment on some versions
To reduce change impact
2016-08-14 20:47:36 +02:00
Gregory Hainaut
447e0d0336 Merge pull request #1514 from PCSX2/gsdx-nouveau-driver
Gsdx alpha test improvement
2016-08-14 20:29:09 +02:00
Gregory Hainaut
15db7eeb81 gsdx: use correct format in printf
u => unsigned
d => signed

zu => size_t
2016-08-13 12:48:35 +02:00
Gregory Hainaut
0a1454ff6c gsdx: use prefix increment operator for non-primitive type
I think compiler is clever enough to optimize the code but it won't hurt
and it reduces the number of cpp check warning.
2016-08-12 23:11:26 +02:00
Gregory Hainaut
dc2864ad7a gsdx hw: avoid a null deferenced false-positive in coverity
It is a false positive because it supposes that PRIM->TME is both true and false.

It is the first Schrodinger's variable ;)
2016-08-12 23:02:06 +02:00
Gregory Hainaut
2d2fdd6e44 debugger: remove useless null check
It is done too late.
CID 168625 (#1 of 1): Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking this->cpu suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
2016-08-12 22:57:09 +02:00
Gregory Hainaut
f38cd9d80d onepad: add a missing break when CMD_CONFIG_MODE is true but configuration isn't enabled.
I hope it wasn't done on purpose.

CID 168624 (#1 of 1): Missing break in switch (MISSING_BREAK)
unterminated_case: The case for value CMD_CONFIG_MODE is not terminated by a 'break' statement.
2016-08-12 22:55:19 +02:00
Gregory Hainaut
1a09712f89 gsdx: init m_custom_width/height to a default value
Avoid useless warning on coverity
2016-08-12 22:48:20 +02:00
Gregory Hainaut
c41cf6c444 gsdx: init variable in constructor
CID 168626 (#1 of 1): Uninitialized scalar field
uninit_member: Non-static class member m_end_block is not initialized in this constructor nor in any functions that it calls.
2016-08-12 22:45:17 +02:00
Gregory Hainaut
39bf84a13c onepad: don't duplicate the "GamePad" base class code/member in the "JoystickInfo" derivated class 2016-08-12 22:37:37 +02:00
Gregory Hainaut
2d8a0dc59c onepad: fix a couple of ccpcheck warning
Yes I know formating suck
2016-08-12 22:36:17 +02:00
Gregory Hainaut
61eddca39d clang format: preliminary support
Add a .clang-format example file. Might need minor tuning. If people doesn't like the syntax

Add a basic script to validate current change is compliant with clang-format
* on master it will test last 20 commits
* on branch it will test all commits of the branch

Idea is to plug it into travis (might require clang 3.8). Everything is blacklisted. Use "ALL" parameters
to test all standard directories.
2016-08-12 20:28:00 +02:00
Gregory Hainaut
8fe65ec371 cmake: add -Wextra warning on GCC
Add 3 new warnings (first one must be fixed I think)

pcsx2/gui/MessageBoxes.cpp: In copy constructor ‘BaseMessageBoxEvent::BaseMessageBoxEvent(const BaseMessageBoxEvent&)’:
pcsx2/gui/MessageBoxes.cpp:62:1: warning: base class ‘class pxActionEvent’ should be explicitly initialized in the copy constructor [-Wextra]
 BaseMessageBoxEvent::BaseMessageBoxEvent( const BaseMessageBoxEvent& event )

plugins/GSdx/GSPng.cpp: In function ‘bool GSPng::SaveFile(const string&, GSPng::Format, uint8*, uint8*, int, int, int, int, bool, bool)’:
/home/gregory/playstation/emulateur/pcsx2_merge/plugins/GSdx/GSPng.cpp:64:14: warning: variable ‘success’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
         bool success = false;
              ^
plugins/GSdx/GSPng.cpp:44:58: warning: argument ‘image’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
     bool SaveFile(const string& file, Format fmt, uint8* image, uint8* row,
2016-08-12 19:30:14 +02:00
Gregory Hainaut
24ff2482a4 pcsx2: break when switch value is CoreThread_Indeterminate
Fix another GCC warning
2016-08-12 19:30:14 +02:00
Gregory Hainaut
6f64fc9f84 pcsx2: don't compare pointer with 0 2016-08-12 19:30:14 +02:00
Gregory Hainaut
41afd85a5d gsdx sw: fix GCC warning enumeral and non-enumeral type in conditional expression 2016-08-12 19:30:14 +02:00
Gregory Hainaut
5ad4cbace7 onepad|common: fix GCC warning type limit 2016-08-12 19:30:14 +02:00
Gregory Hainaut
88b7470c07 gsdx: use const qualifier to avoid gcc (false positive) warning
variable  might be clobbered by ‘longjmp’ or ‘vfork’

Only remains warning for 2 variables: success & image
2016-08-12 19:30:14 +02:00
Gregory Hainaut
f28ab4c280 pcsx2: gcc warning sign compare 2016-08-12 19:30:14 +02:00
Gregory Hainaut
214253c579 pcsx2: properly init structure with the { } pattern
Remove also 2 unused variables

GCC warning is still disabled as it generates lots of false positive. GCC5 and later will improve the situation

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36750
2016-08-12 19:30:14 +02:00
ramapcsx2
823670e4c5 Merge pull request #1513 from trostboot/g3mcfix
GameDB: Fix Grandia III MemCardFilter
2016-08-12 18:05:58 +02:00
trostboot
276bd01fcc GameDB: Fix Grandia III MemCardFilter
MemCardFilter for Grandia III NTSC-U Disc 2 was applied to the wrong
game. The serials for Disc 1 and 2 are SLUS-21334 and SLUS-21345,
respectively - I assume someone fatfingered when issuing the serials.
2016-08-12 16:12:39 +02:00
Gregory Hainaut
19e992869a Merge pull request #1512 from PCSX2/gsdx-dynamic-thread-height
gsdx sw: add extrathreads_height to control the quantity of pixels pr…
2016-08-12 15:52:13 +02:00
Gregory Hainaut
078577c7c5 common: try to print a nice error message when pthread_create is bad 2016-08-12 10:05:14 +02:00
Gregory Hainaut
332ef5892b gsdx: replace hardcoded constant with nice enum 2016-08-11 22:30:34 +02:00
Gregory Hainaut
8b94320524 gsdx ogl: implement another algo to handle alpha test
Fix rendering issue on letters on Kengo/burnout 3/...

Default algo will execute the alpha test in 2 passes. However due to blending
you can't handle accurately the color.

Fortunately for us, the rendering uses an always pass depth test so you
can execute first all the color rendering (which doesn't depends on the alpha test)
And then the depth part which depends on the alpha test.
2016-08-11 21:15:17 +02:00
Gregory Hainaut
866173a481 gsdx ogl: move zbuffer emulation code into a dedicated function
* Code was factorized a bit with the help of max_z
* Add an extra optimization if test is ZTST_GEQUAL and min z value is
the biggest value. Z test will always be pass.
Note: due to float rounding (23 bits mantissa vs 24 bits depth) the test
is done against 0xFF_FFFE and not 0xFF_FFFF. It is wrong but GPU will
also use float so impact will be null.
2016-08-11 21:14:58 +02:00
Gregory Hainaut
1fa9e3fc93 gsdx ogl: align shader self test to atst previous change 2016-08-10 11:30:13 +02:00
Gregory Hainaut
74822d6ba3 gsdx ogl: rework atst handling
* Move the rounding operation in the constant buffer
* Merge less with less equal. And merge greater with greater equal

Need test
2016-08-10 11:30:11 +02:00
Gregory Hainaut
9a188a87c2 gsdx ogl: move ATST emulation in a dedicated function
Future commit will try to reduce the number of Alpha Test possibilities
2016-08-09 20:53:44 +02:00
Gregory Hainaut
fb2182dd9b gsdx small nitpick 2016-08-09 15:15:30 +02:00
FlatOutPS2
59a4442880 PCSX2: IPU Normal error end of video freeze fix
Fixes end of video freeze with IPU Normal error in games like Enter The
Matrix, Rygar, Freestyle Metal X, etc.
2016-08-09 14:06:21 +02:00
Gregory Hainaut
0b86aad059 spu2x sdl: increase the number of samples
Avoid alsa error "buffer underrun"
2016-08-09 11:38:25 +02:00
Jonathan Li
efb5c85c76 3rdparty:portaudio: Fix module omission in Devel builds
Preprocessor defines were set for Release and Debug modes, but not Devel
builds. Broken since 259a39ef0c.

Fixes #1505.
2016-08-08 23:01:28 +01:00
Jonathan Li
5d6f9a316a cdvdgigaherz: Use null for event/thread handle init
CreateEvent and CreateThread return NULL on failure, not
INVALID_HANDLE_VALUE. This should have been done in
0477e03965, I didn't check thoroughly
enough.
2016-08-08 22:34:58 +01:00
avih
5a75906ce7 Merge pull request #1492 from ssakash/EE_Cyclerate
PCSX2-WX: Add a mild overclock option on the slider
2016-08-08 19:27:33 +03:00
avih
f35c5f1c91 Merge pull request #1491 from ssakash/VFrequency
PCSX2-WX: Add proper vertical frequency values on GS Frame
2016-08-08 18:44:49 +03:00
Gregory Hainaut
0dcce91a6e Merge pull request #1504 from ssakash/RemoveFunction
GSDX: Remove GetDeviceSize()
2016-08-08 16:15:07 +02:00
Akash
0ff7076d84 GUI: Convert text color for -1 value to red
* Only use dark green color for the default cycle rate. using a different color just for a single value (previously for -1) might be confusing for users.

* Use a constant RGB form of dark sea green color instead of the regular dark green color. these new RGB values have been *tuned* for perf...err perfection!
2016-08-08 19:20:51 +05:30
Akash
bc54e3d01b R5900: Add a mild overclock option
* Adds a mild overclock option to have the 0 at middle of the slider.
2016-08-08 19:20:44 +05:30
Akash
e738acbe3c R5900: Minor clean up (no functional change)
* Rename some variables as the previous names didn't make much sense.

* Convert unnecessary int data types to bool.
2016-08-08 18:45:00 +05:30
Avi Halachmi (:avih)
8e8b8f8ed5 widescreen cheats_ws.zip: 6 removed, 49 changed, 452 new, 2440 total
This syncs the cheats_ws.zip widescreen patches archive with Devina's
archive from 2016-08-07.

The zip file is the zipped content of folder cheats_ws at the archive,
after removing the following 10 known WIP patches: 00000000 1771BFE4
C77AF2CA DA3DD765 07652DD9 FDA1CBF6 CC96CE93 2545CA71 1CE1DA8A CD787D68

Compared to the previous content of cheats_ws.zip:
- 6 files deleted (07652DD9 1CE1DA8A 44D23E5F CC96CE93 CD787D68 FDA1CBF6)
- 49 modified files
- 452 new files (w00t!)
- 1939 files identical to before

The zip now has a total of 2440 patch files, compared to 1994 before.
2016-08-08 08:49:51 +03:00
refractionpcsx2
84f1b08033 VIF: Fix up some scenarios with Reverse VIF FIFO. Fixes #1502
-Also noted a scenario which isn't really handled correctly but unsure what would happen in those cases (if there are any). I guess we'll find out :)
2016-08-07 12:27:28 +01:00
Akash
bc24e90070 GSDX: Remove GetDeviceSize()
It's not used anywhere and it doesn't seem needed.
2016-08-07 12:43:03 +05:30
Akash
005f63d455 PCSX2-WX: Improve percentage calculation on GSFrame
Calculate the percentage value using the vertical frequency fetched from counters.
2016-08-05 18:24:03 +05:30
Akash
e7f66900fa Counters: Add a new function GetVerticalFrequency()
No functional changes done, the current commit helps us to pass vertical frequency values of individual video modes to GUI code for accurate percentage calculation on titlebar. (which is done on the succeeding commit)
2016-08-05 18:23:55 +05:30
Jonathan Li
0477e03965 cdvdgigaherz: Fix CreateEvent/CreateThread return value checks
CreateEvent and CreateThread return NULL on failure, not
INVALID_HANDLE_VALUE.

Spotted using Visual Studio Code Analysis Tools (Warning C6387)
2016-08-05 00:30:25 +01:00
Jonathan Li
a8286e7458 cdvdgigaherz: Remove unused variables 2016-08-04 23:46:26 +01:00
Jonathan Li
af60501fb6 windows: Remove unused solution files and property sheets
The solution files are unused and for ancient Visual Studio versions -
GSDumpGUI has its own solution file, and bin2cpp is included in the main
solution file.

The property sheets have either fallen out of use or were never used in
the first place.
2016-08-04 23:09:08 +01:00
Jonathan Li
869f4d1898 gsdx: Only set ini path in GSdxApp::Init() if it's empty
Fixes a regression introduced by 46ba9aa117,
where the Linux GS replayer would always use the options in inis/GSdx.ini
(or use the default options if that doesn't exist) to replay the dump,
instead of using the GSdx.ini from the specified ini folder.
2016-08-04 00:53:50 +01:00
Gregory Hainaut
e9e1b33884 gsdx: log a nice string instead of the hex format of PSM 2016-08-03 18:07:54 +02:00
Gregory Hainaut
ac9f2ed284 lilypad: fix the gcc warning take 3
Signed vs non-signed comparison
2016-08-03 18:06:27 +02:00
Gregory Hainaut
41bede60eb gsdx replayer: fix broken init in replayer
"regression" from previous defered init
2016-08-03 11:57:56 +02:00
Gregory Hainaut
27f313ee16 gsdx hw: limit OI_GsMemClear to large clear
Help to reduce the speed impact
2016-08-03 11:23:23 +02:00
Jonathan Li
f978f9a07d Merge pull request #1477 from turtleli/gsdx-defer-init
gsdx: Avoid illegal instruction crash on older CPUs
2016-08-02 23:00:19 +01:00
Gregory Hainaut
4eda5fb924 Revert "lilypad: use size_t instead of int for num* variable"
This reverts commit 87d73684fa.

Will do something that work ;)

close #1498
2016-08-02 22:40:03 +02:00
Gregory Hainaut
16affc9ef4 gsdx tc: potentially fix a regression
Update done on f712c5c6d0

Previous code use the size of the draw to compute latest block. I
don't know why I use .x/.y which are the origin offset so the start of the block.
2016-08-02 15:35:28 +02:00
Gregory Hainaut
2844facae5 FPU/sVU: Fix GCC warning
may be used uninitialized in this function

Jump pointer are false positive but it helps to make compiler happy
2016-08-02 15:29:38 +02:00
Gregory Hainaut
87d73684fa lilypad: use size_t instead of int for num* variable
Fix noisy GCC warning:  warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2016-08-02 15:29:38 +02:00
Avi Halachmi (:avih)
4096e72835 gameindex.dbf: updated compatibility (1 new, 23 better, 0 worse)
Updated/synced from the online compatibility list.

- Update summary:
Not at dbf (and added): 1
Not at csv (but have compat info at the dbf): 258
Unchanged: 2560
Better compat: 23
Worse compat: 0

- Status before:
Imported entries: 9706
Compatibility 1: 7 games
Compatibility 2: 31 games
Compatibility 3: 48 games
Compatibility 4: 70 games
Compatibility 5: 2665 games

- Status after:
Imported entries: 9707
Compatibility 1: 7 games
Compatibility 2: 29 games
Compatibility 3: 48 games
Compatibility 4: 71 games
Compatibility 5: 2687 games
2016-08-02 16:22:04 +03:00
Gregory Hainaut
f19da94bfd Merge pull request #1476 from PCSX2/onepad-input-state
onepad 1.3: import lilypad state machine into onepad
2016-08-02 15:01:42 +02:00
Jonathan Li
44f90efb93 gsdx:psx: Fix illegal instruction crash on old CPUs
Check the instruction set first in GPUinit, GPUconfigure and GPUtext
to prevent unsupported vector instructions from being executed.

Move the vector initialisation in GPUinit to a separate function - it
avoids a vzeroupper instruction.
2016-08-01 19:38:23 +01:00
Avi Halachmi (:avih)
e329b6ffd0 boot: fix: show bios info at the console title
This is a regression from 6db18446 , which, due to correctly applying
the patches when the bios starts, also updated the console title (which
happens at the same function).

So when updating the settings and loading the patches, only update the
console title if we're already outside of the bios.
2016-07-31 20:56:00 +03:00
Avi Halachmi (:avih)
6db1844656 patches: load correctly for the bios on full boot
We already had loading of the patches (and applying patch=0) before the
game elf recompiles, now do the same when the bios starts too.
2016-07-31 20:05:04 +03:00
Avi Halachmi (:avih)
2aac8d875a patches: more consistency with console messages
If the dev/verbose console source is enabled then there's no change.

If it's not enabled (i.e. most users), then:
- Don't show patch info messages twice on boot (regression from 27e7ecce).
- Show patch info messages when loading a saved state (never worked).
- Don't show patch info messages for the bios.

It still doesn't print the info when patches/fixes/etc are enabled or
disabled while a game is running, because such actions while a game is
running can have unexpected effects regardless (for instance, it's
technically impossible to unapply a patch).

If one really wants to follow the exact timing and info about patch
loading, just enable the dev/verbose console source at the console menu.
2016-07-31 19:07:14 +03:00
Gregory Hainaut
92ae8a5be7 gsdx sw: print current draw call of GetSizeFixedTEX0
To easily detect compare with hardware renderer
2016-07-31 13:19:38 +02:00
Gregory Hainaut
1ea83ba3a7 gsdx debug: log current area of the draw
This way it is easier to see which part of the texture is read, and which part
of the framebuffer is updated
2016-07-31 13:19:38 +02:00
Adam Diffin
6376e8d6e7 Just a simple grammar fix. (#1489) 2016-07-31 01:23:35 +01:00
Avi Halachmi (:avih)
5e3c2f0c6a eeCycleRage: negligible fix for the milest underclock calculation
This now makes the mildest underclock really identical to before 90b11b2 .
2016-07-30 18:11:35 +03:00
Avi Halachmi (:avih)
460b7be47a eeCycleRate: add/restore a milder underclock value to the slider
Also slightly modify the textual description of the other underclock items.

All previous values available at the slider are still there, but since
the new value is now the mildest (slider == -1), it "pushes" the previous
-1 and -2 values one notch down.

This restores the mildest value to be identical to how it behaved before
90b11b2f , which is measured as about 75% speed.

Because the "balanced" preset uses the -1 slider value, it means this
restored mild value is now also used by the balanced preset.

As a note, while the message for the mildest value was always "reduce by
about 33%", before 90b11b2f it was actually about 25% reduction (75% speed,
like with this commit now), and after that commit it was about 40% reduction
(60% speed).

Also, since we add new value to the slider only on one side, the "0"
(default) slider position is now not at the exact middle. That's fine,
but maybe we could also add a milder overclock value on the other side
to have that symetric again.
2016-07-30 17:36:34 +03:00
Avi Halachmi (:avih)
67dc3eef4b gui: eeCycleRate: more accurate description based on measurements
The ee cyclerate percentage values at the slider text were inaccurate,
and sometimes wildely so.

Add some code to measure the actual speed at runtime (disabled by default)
and update the (static) slider text values according to the measurements.

Also change the description from increase/reduce "by AA %" to "to BB %".

This makes it slightly easier to grasp. E.g. "reduce speed to 10%" is
easier to grasp than "reduce speed by 90%", and similarly, "increase
speed to 300%" is easier to grasp than "increase speed by 200%".
2016-07-30 16:04:27 +03:00
Gregory Hainaut
140fe74ca2 gsdx ogl: fix bad blending regression
(when accurate blending is disabled)

Regression was introduced in 29c97a9bf2 (11th June)
2016-07-30 09:59:53 +02:00
Avi Halachmi (:avih)
e8e6d3bc77 game settings/patches: don't apply acidentally to the bios
While c782b62 added much more reliable game game startup detection, the
settings system did not yet gain that knowledge, but typically that's OK.

Typically the settings (and patches) are loaded according to the current
CRC, which happens once on bios boot (with general settings) and then again
when the game starts, which includes game-specific fixes, patches, etc.

However, if the setting are changed (and therefore also applied) after
the game CRC is known but before the game starts, such as if the user
presses Tab to change framelimiter while at the bios, then until now it
was accidentally applying the game's settings while still at the bios.

This commit makes the settings routine know whether or not the game actually
started, and apply the generic/game settings accordingly.
2016-07-29 20:55:58 +03:00
Pseudonym
c782b6222c More robust eeload hooking to monitor and interfere with bios and game loading.
Maybe some other cruft can go now this should be reliable.
2016-07-29 16:51:18 +01:00
Gregory Hainaut
242ac26299 Merge pull request #1485 from ssakash/HPO_Custom
GSDX-TextureCache: Port Half pixel offset hack for custom resolutions
2016-07-29 15:07:02 +02:00
Gregory Hainaut
55599e1802 Merge pull request #1486 from FlatOutPS2/master
GSdx: Star Ocean 3 depth issue fix
2016-07-29 15:06:35 +02:00
Gregory Hainaut
11cdb070c0 cmake: use only sse2 flag for ICC
Default is pentium4
2016-07-29 15:00:52 +02:00
Robert Neumann
eacd789a88 Fix an oversight (missing an include) 2016-07-29 14:06:27 +02:00
FlatOutPS2
02b0451d3c GSdx: Star Ocean 3 depth issue fix
Fixes issue #1475
2016-07-29 12:13:26 +02:00
FlatOutPS2
91e07727e3 GSdx Add missing CRC hacks 2016-07-29 12:12:52 +02:00
ramapcsx2
1068208887 Merge pull request #1484 from ssakash/annoying_warning
GSDX: Silence an implicit conversion warning
2016-07-29 10:11:31 +02:00
Avi Halachmi (:avih)
27e7ecce65 patches: load before recompiling the elf entry block
Commit 330704a added code which applies the patches before recompiling the
elf entry block, but because at that stage the patches for the current
CRC were not yet loaded, effectively it did nothing.

Now it actually loads the patches before applying them.

As a result, it should now be possible for patches (with place=0) to be
effective before the elf is executed.

This is a hack, because the emulation loads the patches while it's not
paused. It works, but it's not great. A better way would be to pause the
emulation once the entry point is detected, then make the setting get
applied normally (which also loads the patches normally), and then resume
the emulation.

This _should_ properly fix #627 (the test case works as expected now).
2016-07-28 22:25:00 +03:00
Avi Halachmi (:avih)
defbdcc2b8 AppCoreThread: small refactor (no-op)
In preparation for the next commit
2016-07-28 22:19:45 +03:00
Akash
dbad57b8e8 GSDX: Silence an implicit conversion warning
OMSetBlendState() doesn't accept passing a float value as it's argument
(AKA actual parameter).
2016-07-28 18:58:06 +05:30
Akash
47f69f694a GSDX-TextureCache: Port Half pixel offset hack for custom resolutions 2016-07-28 18:45:23 +05:30
Gregory Hainaut
620876e0e7 gsdx: fix compilation error with ICC
just require the -restrict compilation flag
2016-07-28 11:01:28 +02:00
Gregory Hainaut
76f38d3da0 onepad: fix ICC compilation warning 2016-07-28 10:48:43 +02:00
Gregory Hainaut
d714a2a393 lilypad: fix compilation on ICC 2016-07-28 10:46:40 +02:00
Gregory Hainaut
55bc7a678a pcsx2: ICC warning: type qualifier on return type is meaningless 2016-07-28 10:36:58 +02:00
Gregory Hainaut
64e8e02f54 cmake: add Intel's ICC compiler support
Full of compilations errors and warnings
2016-07-28 10:36:40 +02:00
Gregory Hainaut
48c4d54a6c onepad: support load/save state for the plugin
close #205
close #1375
close #1465

v2: don't bump PCSX2 savestate version
2016-07-28 09:48:44 +02:00
Jonathan Li
a9f9c1406c Merge pull request #1474 from turtleli/windows-64-bit-fixes
Windows 64-bit compile fixes
2016-07-28 00:19:04 +01:00
Jonathan Li
7e30d16797 gsdx: Use char array instead of string for name
"static string str;" causes a SIGILL signal on a "Nehalem" (SSE4.2)
QEMU VM when compiled with GCC 6.1.1.
2016-07-27 23:34:16 +01:00
Jonathan Li
46ba9aa117 gsdx: Defer GSdxApp initialisation on Linux only
vector push_back causes a SIGILL signal on a Nehalem (SSE4.2) QEMU VM
when compiled with GCC 6.1.1.

However, an empty constructor causes illegal instruction exceptions to be
generated on a Windows VM.

So here's an inbetween that looks stupid but works on what I've tested.
2016-07-27 23:34:15 +01:00
Jonathan Li
9f53987e3b gsdx: Use map for GSCRC::m_map
Visual Studio 2015 initialises unordered_map using vector instructions,
which can cause PCSX2 to crash if the instructions aren't supported.
2016-07-27 23:34:14 +01:00
Jonathan Li
e5ea4cc5d4 gsdx: Defer vector initialisation to GS/GPUinit
It can cause PCSX2 to crash if the instructions aren't supported.
2016-07-27 23:34:14 +01:00
Jonathan Li
d726d4d4aa gsdx: Add AVX2 to instruction set test
Also add a newline to the error message and report AVX/AVX2 instead of
SSE5.00 and SSE5.01.
2016-07-27 23:34:12 +01:00
Gregory Hainaut
7fa55c39f1 Merge pull request #1479 from ssakash/custom_fixes
GSDX-TextureCache: Add proper rounding when unscaling texture size
2016-07-27 22:31:21 +02:00
Avi Halachmi (:avih)
cff8cb137c patches: simplify by unifying patches/cheats (effectively no-op)
patches and cheats are exactly the same (pnach style patch line) but we
stored two sets of them depending on their source: "patches" for
GameIndex.dbf patches, and "cheats" for all the rest (cheats, widescreen,
etc).

Unify patches and cheats and keep only "patches", cleanup and rename the
public API at Patch.h, and add documentation.

Also: add some console messages on invalid "place" value, and when we skip
searching cheats_ws.zip because a pnach file was found at cheats_ws dir.

Also: removed checks before applying different kinds of patches/cheats
because we don't need them (we didn't have disabled patches loaded anyway).

The checks removal _shouldn't_ have any effect, except that the checks were
wrong and accidentally prevented loading widescreen hacks which have a place
value of 0. No one probably noticed it since all the widescreen patches
which I looked at have a place value of 1. So now ws patches with place=0
would load correctly too. If we'll ever have such.
2016-07-27 18:15:17 +03:00
Avi Halachmi (:avih)
eb1e890278 patches/cheats: document "place" value and use it explicitly
This commit doesn't change any behavior, but documents the "places" value
of the patch structure ("place" is 1 in patch=1,... and 0 in patch=0,...)
and also uses an enum to make its use explicit.
2016-07-27 14:21:37 +03:00
Avi Halachmi (:avih)
67aee8a19c patches: reset also patches on VM restart
This should fully fix #851
2016-07-27 14:21:37 +03:00
Avi Halachmi (:avih)
56adb85a87 cheats: reset cheats when restarting the VM
If cheats are enabled and loaded (pnatch files from the cheats folder, or
from the cheats_ws folder, or from cheats_ws.zip), then they were still
applied for some time while rebooting the emulation after a game is already
loaded (e.g. start pcsx2, boot fast, play, boot full). This could cause
the reboot to fail if some patches were applied (e.g. widescreen patches).

It seems that the offending application of the cheats happens at
SysCoreThread::VsyncInThread(), which possibly runs before the config
change event is handled (and re-load the cheats for the current crc).

So reset/invalidate the cheats when the VM is reset.

This should improve issue #851, but ultimately not fully fix it, since
the patches (from games db) are not reset yet with this commit, and we
don't have a function to do so. For now the non-cheats patches are only
reset/reloaded when a configuration change is being handled.

It would probably be a good thing if we can unify patches/cheats.
2016-07-27 14:21:37 +03:00
Gregory Hainaut
62aff1f2a1 onepad 1.3: import lilypad state machine into onepad
Not tested
* rumble

Save/load state will be implemented in the next commit

v2:
* Print current deteced pad mode
* fix dpad button tranmission

close #366
2016-07-27 08:55:27 +02:00
Gregory Hainaut
d6383e6c21 Merge pull request #1472 from PCSX2/gsdx-gta-depth-issue-1457
Gsdx gta depth issue 1457
2016-07-26 18:40:53 +02:00
Akash
d3ebd4b318 GSDX-TextureCache: Add proper rounding when unscaling texture size
Fixes flickering issues on Dragon Ball Z Budokai Tenkaichi FMV's on custom resolution, might also help prevent some crashes on custom resolution.
2016-07-26 18:28:07 +05:30
ramapcsx2
c592ccb3e5 Merge pull request #1435 from ssakash/Custom_TextureCache
GSDX: Improve scaling of custom resolution
2016-07-26 14:07:19 +02:00
Gregory Hainaut
20aee23edc onepad: fix gcc warning
warning: comparison between signed and unsigned integer expressions
2016-07-26 09:27:57 +02:00
Gregory Hainaut
0937526aac onepad: handle correctly the release state of analog pad
Axe ranges from 0 to 255 but the release state value is 127 not 128.

close #243
2016-07-26 09:27:14 +02:00
Jonathan Li
77b9f2c15e pcsx2: Initialise g_Conf->Mcd[].Type
Fixes a valgrind warning. Folder memory cards are autodetected later, so
it's safe to set it to a file memory card.
2016-07-24 22:41:54 +01:00
Jonathan Li
dbf6b38a2e windows: Remove intrin_x86.h from solution
File was deleted recently.
2016-07-24 22:25:08 +01:00
Jonathan Li
38c802a4ef pcsx2:windows: Remove unused sampling profiler
Visual Studio has a much more powerful performance profiler which can do
the same task and more.
2016-07-24 21:42:53 +01:00
Jonathan Li
ed47dca8a1 x86emitter:windows: Make cpu detection/affinity 64-bit compatible
Use DWORD_PTR since that works on both 32-bit and 64-bit builds. And
remove some empty unused functions.

Fixes a 64-bit compilation issue.
2016-07-24 19:05:18 +01:00
Robert Neumann
b8c1fa9b43 Fix warning in dev9ghz 2016-07-23 15:58:37 +02:00
Jonathan Li
043d2926fa pcsx2:windows: Disable SuperVU for 64-bit builds
Doesn't compile. Not going to make this work either.
2016-07-23 10:52:10 +01:00
Jonathan Li
f04dfe43a8 utilities:windows: Restrict memcmp_mmx to 32-bits
Fixes a 64-bit compilation issue.
2016-07-23 10:52:09 +01:00
Jonathan Li
8387de09e2 pcsx2: Use _M_X86_64 for Baseblock static_assert ifdef
Fixes a 64-bit compilation issue.
2016-07-23 10:51:56 +01:00
Jonathan Li
ac7e7a79c3 utilities:windows: Remove memset32 assembly
It's unused, and it doesn't compile in 64 bits.
2016-07-23 02:21:21 +01:00
Jonathan Li
768ed80ece utilities:threading:windows: Use intrinsic pause
Fixes a 64-bit compile error.
2016-07-23 02:21:13 +01:00
Jonathan Li
f40b2e641b spu2-x:windows: Use INT_PTR for DialogProc return type
Fixes a 64-bit compile error.
2016-07-23 02:19:29 +01:00
Jonathan Li
5719bddbb5 gsdx:windows: Change m_colorspace to INT_PTR
Fixes a 64-bit compile error.
2016-07-23 02:19:28 +01:00
Gregory Hainaut
aea75f51bd gsdx tc: partial support of pseudo depth for Dx
Fix #1457 (GTA)

The game uses a depth format for a pure color buffer (cokes do ravage
in gaming industry)

However I'm really afraid that it migth break another effect in other games.
2016-07-22 20:38:46 +02:00
Gregory Hainaut
d58c07d697 onepad: init event struct
Might help to reduce valgrind warning
2016-07-22 20:27:54 +02:00
Gregory Hainaut
fa12743c8e debugger: fix another missing init
==18373== Conditional jump or move depends on uninitialised value(s)
==18373==    at 0x825CC9B: CtrlMemView::render(wxDC&) (CtrlMemView.cpp:277)
==18373==    by 0x825DA19: CtrlMemView::paintEvent(wxPaintEvent&) (CtrlMemView.cpp:138)
==18373==    by 0x81F3A5F: Pcsx2App::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) (AppMain.cpp:614)
==18373==    by 0x40BC50B: wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const (in /usr/lib/i386-linux-gnu/libwx_baseu-3.0.so.0.2.0)
==18373==    by 0x426C654: wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/i386-linux-gnu/libwx_baseu-3.0.so.0.2.0)
==18373==    by 0x426C752: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/i386-linux-gnu/libwx_baseu-3.0.so.0.2.0)

Reported by gcc too
2016-07-22 19:02:34 +02:00
Gregory Hainaut
5cf2688c0c common: remove useless x86_intrin.h
Yeah one less licence in the project :)
2016-07-22 18:47:51 +02:00
Gregory Hainaut
7d35e15fea Merge pull request #1444 from PCSX2/atomic-relax
Atomic relax
2016-07-22 18:36:02 +02:00
Gregory Hainaut
0f62bccb0b Merge pull request #1470 from ssakash/spu2_x_nitpicks
SPU2-X: Align GUI elements on debug dialog
2016-07-22 18:18:20 +02:00
Gregory Hainaut
9182a287e2 Merge pull request #1469 from PCSX2/valgrind-memleak
Valgrind memleak
2016-07-22 18:17:37 +02:00
Akash
8e2b19ada7 SPU2-X: Align GUI elements on debug dialog 2016-07-22 19:29:45 +05:30
Gregory Hainaut
55a408edad debugger: init resolvePointerStrings to a default value
Fix valgrind issue:

==3560== Conditional jump or move depends on uninitialised value(s)
==3560==    at 0x81F7949: CtrlRegisterList::OnDraw(wxDC&) (CtrlRegisterList.cpp:291)
==3560==    by 0x47826DE: wxAnyScrollHelperBase::HandleOnPaint(wxPaintEvent&) (in /usr/lib/i386-linux-gnu/libwx_gtk2u_core-3.0.so.0.2.0)
==3560==    by 0x4785969: wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/i386-linux-gnu/libwx_gtk2u_core-3.0.so.0.2.0)
==3560==    by 0x426CA0E: wxEvtHandler::SafelyProcessEvent(wxEvent&) (in /usr/lib/i386-linux-gnu/libwx_baseu-3.0.so.0.2.0)
==3560==    by 0x4710BAE: wxWindowBase::HandleWindowEvent(wxEvent&) const (in /usr/lib/i386-linux-gnu/libwx_gtk2u_core-3.0.so.0.2.0)
==3560==    by 0x44EF67D: wxWindow::GTKSendPaintEvents(_GdkRegion const*) (in /usr/lib/i386-linux-gnu/libwx_gtk2u_core-3.0.so.0.2.0)
2016-07-22 10:13:54 +02:00
Jonathan Li
fee374b0e9 Merge pull request #1462 from turtleli/tidy-vs-projects
Tidy Visual Studio project files
2016-07-22 00:30:52 +01:00
Jonathan Li
259a39ef0c windows: Update VS solution configurations
Use portaudio devel build for devel config - it fixes a warning that
occurs due to incompatible linker settings (incremental vs whole program
optimisation)

Also add 64-bit configurations.
2016-07-21 23:59:41 +01:00
Gregory Hainaut
53a70d9018 onepad: use modal dialog instead of frame
Avoid various pitfall such as #1387

v2:
* use stack object
2016-07-21 09:51:16 +02:00
Gregory Hainaut
1e3c46a6bb gsdx ogl: purge debug message in destructor
Allow to see latest error and avoid noise in Valgrind log
2016-07-21 09:51:16 +02:00
Gregory Hainaut
b6a55f50ab gsdx ogl: fully initialise PSConstantBuffer structure 2016-07-21 09:51:16 +02:00
Gregory Hainaut
b322ef286e CDVD: initialize a temporary buffer
I'm not sure to understand why Valgrind reports it as we populate the buffer
during the ReadAsync. Maybe Valgrind doesn't like async IO from the kernel.

In doubt, the init will avoid those warnings

==19897== Thread 6 EE Core:
==19897== Conditional jump or move depends on uninitialised value(s)
==19897==    at 0x80FE9E1: BlockdumpFileReader::DetectBlockdump(AsyncFileReader*) (BlockdumpFileReader.cpp:40)
==19897==    by 0x8109EE5: InputIsoFile::Open(wxString const&, bool) (InputIsoFile.cpp:229)
==19897==    by 0x810939E: ISOopen(char const*) (CDVDisoReader.cpp:57)
==19897==    by 0x810194E: DoCDVDopen() (CDVDaccess.cpp:359)
==19897==    by 0x80B651C: SysCorePlugins::OpenPlugin_CDVD() (PluginManager.cpp:1219)
2016-07-21 09:51:16 +02:00
Gregory Hainaut
3c0a97354c pcsx2:linux: leaking allocation isn't necessary 2016-07-21 09:51:15 +02:00
Gregory Hainaut
8b91aefd49 gui: add a destructor to CtrlRegisterList object
So we can free allocated memory
2016-07-21 09:51:15 +02:00
Gregory Hainaut
11e5fe8879 pcsx2 gui: fix a pseudo memory leak on SavestateEntryPack
It is a pseudo leak as it is a global object. Nevertheless it pollutes
the valgrind log.

v2:
* use an array of unique pointer
* use ArraySize instead of a constant
2016-07-21 09:50:28 +02:00
trostboot
dbda9292d8 Add EE clamp modes for Shadow Hearts (#1463)
GameDB: Full EE clamping is required in Shadow Hearts for characters to appear correctly in
various scenes throughout the game.
2016-07-20 11:56:10 +01:00
Jonathan Li
e271932f41 bin2cpp: Tidy VS project
Group common properties. This removes some of the optimisation
properties, which aren't really essential since bin2cpp is only used as
a tool to convert images to header files.
Add 64-bit configurations.
2016-07-19 23:25:12 +01:00
Jonathan Li
e25e8bc580 plugins: Tidy/standardise VS projects
Combine all the different configurations together so the project files
are more generic and maintainable.

Also standardise the layout so all the project files will be similar and
all have the same standard elements (even if empty).

Add 64-bit configurations.

Additional specifics:
spu2-x: FLOAT_SAMPLES preprocessor definition removed since it's unused.
2016-07-19 23:25:12 +01:00
Jonathan Li
f8605dda61 common|pcsx2: Tidy/standardise VS project
Combine all the different configurations together so the project files
are more generic and maintainable.

Also standardise the layout so all the project files will be similar and
all have the same standard elements (even if empty).

Add 64-bit configurations.
2016-07-19 23:25:12 +01:00
Jonathan Li
97e268e5a5 3rdparty: Tidy/standardise VS projects
Combine all the different configurations together so the project files
are more generic and maintainable.

Also standardise the layout so all the project files will be similar and
all have the same standard elements (even if empty).

Add 64-bit configurations.

Additional specifics:
wxWidgets: Common stuff into the property sheets.
pthreads: Fixes the LNK4068 warning.
portaudio: Devel config added.
libjpeg: Non-existent file removed.

Side note: libjpeg is barely used - wxWidgets uses it but doesn't have
to, ZeroGS uses it but we don't develop that anymore.
2016-07-19 23:25:12 +01:00
Jonathan Li
7c3cee0624 spu2-x: Rearrange lowpass.cpp header order
It allows VS to use the precompiled header for that file too.
2016-07-19 23:25:12 +01:00
Jonathan Li
296ef4184f 3rdparty: Use SolutionDir instead of SvnRootDir in property sheet
It's part of Visual Studio, and more importantly, I don't need to
specify a build output directory in the libpng project file.
2016-07-19 23:25:12 +01:00
Jonathan Li
7277074d9e windows: Fix incremental linking property sheet
Don't use "-dbg" target suffix - both Devel and Debug builds use the
property sheet, so it's incorrect.

Also don't set optimise references to false - it's incompatible with
incremental linking and causes compile failures.
2016-07-19 23:25:12 +01:00
Lena
5a17b95901 x86_intrin.h: fix build using GCC (#1468)
__GNUG__ is not defined while compiling this file,
this causes the build to fail.

Replacing this with __GNUC__ fixes this.
2016-07-19 23:13:24 +01:00
Akash
1e92c24847 SPU2-X: Convert inline assembly to intrinsics (#1464) 2016-07-19 23:11:12 +01:00
ramapcsx2
ddc68626d8 Merge pull request #1442 from ssakash/Counters
PCSX2-Counters: Improve video mode detection
2016-07-18 19:28:24 +02:00
Gregory Hainaut
e680a90e90 Merge branch 'intrinsic-cleanup' 2016-07-17 11:33:06 +02:00
Gregory Hainaut
6e306ee44f common: move _xgetbv with cpuid intrin
Besides, code comes from Gabest and not reactOS
2016-07-17 10:25:00 +02:00
Gregory Hainaut
e872552fdc spu2x|common: s/jASSUME/pxAssume/ allow to remove code and __debugbreak intrinsic 2016-07-17 10:24:29 +02:00
Gregory Hainaut
c56ca4a0fa common: include cpuid.h on unix
I tested both clang and gcc.
2016-07-17 10:24:29 +02:00
Gregory Hainaut
f9ebc0ba70 Merge pull request #1459 from frantisekz/master
Degrade GTK3 Fatal Error to Warning
2016-07-15 09:35:36 +02:00
Gregory Hainaut
25bc2dff07 gsdx: dump and log EE texture read
It gives a visual opportunity to detect a bad read of the texture cache
2016-07-14 19:45:06 +02:00
Gregory Hainaut
f76bf9dddc gsdx: dump and log EE texture read
It gives a visual opportunity to detect a bad read of the texture cache
2016-07-14 19:41:21 +02:00
Gregory Hainaut
10ea05bc6f common: remove old atomic wrapper
Use cross-platform std::atomic instead
2016-07-14 18:29:41 +02:00
Gregory Hainaut
812e41d578 common: relax atomic of m_IsBeingDeleted
Avoid the memory fence in the constructor
2016-07-14 18:29:41 +02:00
Gregory Hainaut
086dfc8a14 gsdx sw: use acquire/release semantics for atomic operation
* Avoid the generation of memory barrier (mfence)
2016-07-14 18:29:41 +02:00
Gregory Hainaut
567976e822 MTVU: port vuCycles to std::atomic
V2: use relaxed order as the variable doesn't carry load/store dependency
It is only used as a counter for the speed hack
2016-07-14 18:29:41 +02:00
Gregory Hainaut
3f0655c821 MTVU: port write pointer to atomic and optimize atomic access
Write pointer can be relaxed-read from the EE thread
Read pointer can be relaxed-read from the VU thread

Warning: AtomicExchange calls were replaced by release-store
However AtomicExchange generates a memory barrier (at least on linux)
So either it is useless and it will be faster, or it will explode ;)
2016-07-14 18:29:41 +02:00
Gregory Hainaut
ca46921796 MTVU: use acquire/release semantics for atomic operation
* Avoid the generation of memory barrier (mfence)
* Based on the fact that it used to work on previous code without any
  barrier

v2:
* keep basic code in reset path
* use relaxed access for isBusy. The variable doesn't carry load/store
  dependency but is instead an hint to optimize semaphore post
2016-07-14 18:29:40 +02:00
Gregory Hainaut
3b4c357aaa MTGS: avoid a potential very rare deadlock 2016-07-14 18:29:40 +02:00
Gregory Hainaut
4cdf05efac MTGS: use private member for RingBufferLock
Easier to understand the purpose of the 2nd lock
2016-07-14 18:29:40 +02:00
Gregory Hainaut
5913ff1bd8 MTGS: port read/write pointer to full atomic + optimize atomic access
Read pointer is only written by the MTGS thread so it can be relaxed-read
by the MTGS thread

Write pointer is only written by the EE thread so it can be relaxed-read
by the EE thread

Remove volatile stuff
2016-07-14 18:29:40 +02:00
Gregory Hainaut
6fb7beb58a MTGS: use acquire/release semantics for atomic operation
* Avoid the generation of memory barrier (mfence)
* Based on the fact that it used to work on previous code without any
  barrier

v2:
* keep "slow" and safe atomic on reset path
* use relaxed atomic for m_RingBufferIsBusy
The signal doesn't carry dependency with others load/store. Instead it is used
as an hint to awake the semaphore
As a side, there is a potential thread bug

T1 do
* wait sema
* busy = true;
* while (!queue.empty) do work...
* busy = false;
* go back to wait sema

T2 do
* post sema even if busy is false

If T1 stop after the while queue but before the busy, T2 won't post the
event. When T1 will wake up, it will block on the semaphore
2016-07-14 18:29:40 +02:00
Gregory Hainaut
d855bc5ca8 gsdx sw: improve exit condition of SW extra thread
Use a relaxed atomic to read the exit variable in the hot path

Wait that exit is deasserted in the destructor, so we are sure the
thread will "soon" return
2016-07-14 18:29:22 +02:00
Gregory Hainaut
abc9f7d096 gsdx tc: log unsupported LookupDepthSource 2016-07-14 18:29:22 +02:00
František Zatloukal
2c74ff1e54 Degrade GTK3 Fatal Error to Warning 2016-07-13 02:08:14 +02:00
ramapcsx2
093704f073 Merge pull request #1456 from NZJenkins/master
Zero out the skip bp
2016-07-12 12:15:09 +02:00
NZJenkins
b491f5cdc5 Zero out the skip bp
Fixes #1453
2016-07-12 17:51:56 +12:00
Gregory Hainaut
e642bbc426 gsdx sw: add extrathreads_height to control the quantity of pixels processed by a thread
Value could range from 1 to 9. Default is 4 and it is potentially the
best option.  Feel free to test some values on your system, behavior
might depends on the core number and thread number

Value is exponential so 4 is 2 times more pixels than 3.

Small value increased thread overhead, big value increase wait/sync latency
2016-07-10 17:48:10 +02:00
Gregory Hainaut
91eccb7bab gsdx sw: increase the size of the ring buffer 256 => 65536
memory overhead by thead is only 256KB

However it will reduce the probability to block the push thread to nearly 0

I tested a couple of dumps and only manage 4000 element with 1 extrathread.
2016-07-10 10:49:06 +02:00
Gregory Hainaut
85fb55a0e1 gsdx ogl: memory management take 3
Add a factor 2 on the VRAM to get the quantity of available memory for the textures.
The driver is allowed to put some textures in RAM. Of course it is bad for performance
but it won't crash.

Due to the 4GB by process limit, I keep a (reasonable) maximum of 3.8GB.

In order to avoid a crash when memory is too low an exception will be risen
with no guarantee on rendering and big performance impact. In this situation
you ought to reduce upscaling/disable large framebuffer.
2016-07-10 10:23:23 +02:00
Akash
2ed67f6d65 EE-SYSCALL: Move messages back to dev/verbose level
These messages are not needed anymore as we'll get the video mode
information from the console messages on Counters.
2016-07-09 21:50:41 +05:30
Akash
78bf5ad88e PCSX2-Counters: Move VideoMode init code from _gsSMODEwrite to SYSCALL
* Moving the code to SYSCALL enables us to detect all the video modes properly.
* Added proper detection of VESA,HDTV,BIOS video modes.
2016-07-09 21:50:38 +05:30
Akash
e7d4bc4506 PCSX2-Counters: Remove default video mode variable
* Fixes a bug where NTSC VideoMode was automatically used when videomode is uninitialized. the bug was only temporary till the SMODE register was written.
2016-07-09 21:50:37 +05:30
Akash
a1fdf1e625 PCSX2-Counters: Rename "GS_RegionMode" to "GS_VideoMode"
Technically there's no term called "RegionMode" and the values obtained through the SMODE1 register is actually used for identifying the video mode of the game not any region modes.

* Convert "GS_VideoMode" into an enum class
2016-07-09 21:50:28 +05:30
Gregory Hainaut
a37cd40ce3 gsdx ogl: only print an error when VRAM is low
Until a better solution is found or people buy better GPU :)
2016-07-09 11:43:28 +02:00
Gregory Hainaut
a2086ed458 gsdx profiler: drop latest frame time
Value is out of the chart. I'm not even sure it is a real frame so let's just remove it.
2016-07-09 10:03:21 +02:00
Gregory Hainaut
82d83ca579 gsdx: dull driver
Hopefully futur low-end GPU will get 4GB of VRAM
2016-07-08 21:53:42 +02:00
Gregory Hainaut
3f03f7333c gsdx: improve builtin profiler
* Does the first vsync (start counter) after the sleep
* Dump data after the rendering, avoid to count extra destructor,sleep time
* Dump data into a basic csv file (if people want nice graph)
2016-07-08 21:47:53 +02:00
Gregory Hainaut
8b3e04d1b6 onepad: fix keyboard on 2nd pad
There is only a single event queue, so you need to detect the pad based
on the configuration

Mouse/Wiimote is limited to first pad

Related to issue #1441
2016-07-08 19:07:42 +02:00
Gregory Hainaut
eefe3e8d4f gsdx ogl: reserve 200MB of the VRAM for various gl buffers (IBO/VBO/PBO/UBO) 2016-07-08 09:43:47 +02:00
Gregory Hainaut
df4645a84a gsdx ogl: Don't use NV extension on AMD
potentially the NV extension is wrongly used but can't test it with the free driver
2016-07-07 23:48:56 +02:00
Gregory Hainaut
d6e447a89c gsdx: fix for old gl header release (build bot) 2016-07-07 22:23:20 +02:00
Gregory Hainaut
d8050634f6 gsdx ogl: plug GL_NVX_gpu_memory_info and GL_ATI_meminfo
to query available memory on the GPU

Requirement
* dedicated GPU (ofc!)
* proprietary driver. Free driver supports r600, radeonsi
2016-07-07 22:05:15 +02:00
Gregory Hainaut
7e2b3da928 gsdx ogl: monitor global GPU memory texture usage
So far there is a hardcoded limit at ~3.7GB

In the future, the limit will be reduced for low-end GPU.
2016-07-07 22:05:15 +02:00
Gregory Hainaut
f450056626 gsdx: fix initialization list order
In file included from GSRenderer.cpp:23:0:
GSRenderer.h: In constructor ‘GSRenderer::GSRenderer()’:
GSRenderer.h:58:12: warning: ‘GSRenderer::m_dev’ will be initialized after [-Wreorder]
  GSDevice* m_dev;
            ^
GSRenderer.h:52:13: warning:   ‘GSVector2i GSRenderer::m_real_size’ [-Wreorder]
  GSVector2i m_real_size;
             ^
GSRenderer.cpp:32:1: warning:   when initialized here [-Wreorder]
2016-07-07 22:05:15 +02:00
Gregory Hainaut
a735e2b58f Merge pull request #1287 from mogaika/debug_window_improve
Debugger features
2016-07-07 19:59:33 +02:00
Gregory Hainaut
29c97a9bf2 gsdx ogl: only enable accumulation hack in HDR algo
Goal is to reduce shader permutations and improve perf when sw blending is disabled
2016-07-07 19:56:23 +02:00
Gregory Hainaut
16c2baa0df gsdx-ogl: don't hardcode the accumulation blend trick
Perf impact is bigger than expected
2016-07-07 19:56:23 +02:00
ramapcsx2
6b6821d0c6 Merge pull request #1433 from FlatOutPS2/master
Merge Circuit: Enhance offset detection of output circuit
2016-07-06 12:15:08 +02:00
Akash
309a8283b2 GSDX-TextureCache: Don't allow RT size below default value
Fixes upscaling issues on Burnout dominator where setting custom resolution of 640x448 looks way worse than the native resolution.
2016-07-05 19:15:23 +05:30
Catarax
31a74abebe GameDB: Kessen 2 refraction patch (NTSC-J/NTSC-K) (#1447)
Apply the refraction patch for Kessen 2 NTSC-J/NTSC-K releases.
2016-07-05 09:13:17 +01:00
ramapcsx2
5c614bceba Merge pull request #1446 from Catarax/master
GameDB: Syphon Filter (The Omega Strain) NTSC-K fixes
2016-07-04 14:45:20 +02:00
Akash
6085da91e2 GSDX-Dialog: Clamp custom res and sw threads values to input range (#1443)
Fixes crash on custom resolution when users select a value below 256 or above 8192
2016-07-03 22:04:16 +01:00
Vladimir Jigulin
7e91eb6616 debugger: some user-friendly improves in ui
Grouping bytes in debugger memory window, following pointers and history
Goto in register view
Printing strings in pointer registers
Memory view can be resized correctly by ctrl+wheel
Improvement in function 5900DebugInterface::isValidAddress
2016-07-03 22:01:09 +03:00
Catarax
8aa70f05ad GameIni: Syphon Filter (The Omega Strain) NTSC-K fixes
NTSC-U fixes of Syphon Filter (the Omega Strain) applied to the NTSC-K release.
2016-07-03 20:14:18 +02:00
Gregory Hainaut
a1a5f470f7 gsdx-ogl: fix builtin profiler frame counting 2016-07-03 15:54:58 +02:00
Gregory Hainaut
cc62e8c785 Merge pull request #1439 from ssakash/Cleanup_Warnings
PCSX2: Clean up warnings on MSVC
2016-07-03 15:45:39 +02:00
Akash
d69f2b6cc5 cdvdGigaherz: Clean up warnings on MSVC
SectorConverters: convert variables to u8.
2016-07-02 23:38:02 +05:30
Akash
1bcb5e0cc1 dev9ghzdrk: Clean up warnings on MSVC
pcap_io: cast ``pcap_io_running`` to bool.
2016-07-02 23:38:01 +05:30
Akash
264eb52d61 USBqemu : Clean up warnings on MSVC
usb-kbd: Remove unused variable.
usb-ohci: Add proper casts for the variables.
vl: Add proper casts for the variables.
USB: Add proper casts for the variables.
2016-07-02 23:37:37 +05:30
Gregory Hainaut
11eeeb6ab1 gsdx ogl: be sure sw blending is enabled in sw colclip
Hit the assertion on superman
2016-07-02 17:19:41 +02:00
Akash
4cfb2b248e GSDX: Clean up warnings on MSVC
GLLoader: cast passed parameters to required type.
GSDeviceOGL: cast variables to required type and silence warnings.
GSRendererOGL: cast variables to required type and silence warnings.
2016-06-30 16:50:10 +05:30
Akash
72661e7c16 PCSX2-Core: Clean up some warnings on MSVC
x86emitter : Convert variable type from u8 to bool.
recVTLB: Cast "sign" to bool to prevent a warning.
R5900OpcodeImpl: Cast all the values in array to u64 instead of s64.
2016-06-30 16:49:18 +05:30
Gregory Hainaut
a065a1d918 gsdx ogl: don't use GL_ARB_clear_texture for the depth buffer
It creates some slowdowns for unknown reason. My best hypothesis is
that stencil will be cleared too which is slow.

Let's keep the code for the future when stencil will be dropped.

Fix #1420
2016-06-30 09:40:07 +02:00
FlatOutPS2
1e3e343e43 Merge Circuit: Enhance offset detection of output circuit
If baseline and display rectangle offsets differ by small values then consider the status of frame memory offsets, prevents blurring on Tenchu: Fatal Shadows, Worms 3D, ProStroke Golf, Vexx
2016-06-29 22:35:53 +02:00
Akash
a5671f016a GSDX-TextureCache: Add proper scaling for custom resolution
* Improve frame buffer height management on custom resolution. Width seems to be fine with the same size as scaled image output.
* Prevent offset issues on Persona 3 based on the data from merge circuit.

Note: Fixes custom resolution upscaling on ICO 50Hz/60Hz mode when large frame buffer is enabled. previously 60Hz mode only displayed half of the screen and 50Hz mode only worked due to the scissor hack.
2016-06-30 00:35:10 +05:30
Jonathan Li
79d019b5bb utilities: Don't use TLS buffers in FastFormatString classes (#1430)
The TLS buffers used by the FastFormatUnicode and FastFormatAscii
classes seem to be responsible for PCSX2 not terminating properly on
Windows under certain conditions (using MTVU before commit
1111e03901, using CDVDgigaherz without a
disc, possibly other conditions).

When PCSX2 shut downs and the FastFormatBuffers are being cleaned up,
the call to pthread_key_delete() would end up calling
WaitForSingleObject(e, INFINITE) and waiting indefinitely for an event
to trigger. It never does get triggered (for reasons unknown) and
therefore PCSX2 doesn't terminate properly.

Remove the usage of TLS buffers in the FastFormatString classes - it
fixes the termination issue on Windows and doesn't seem to have much
effect on performance.
2016-06-29 13:13:51 +01:00
Gregory Hainaut
1f4f55bcc9 gsdx: tentative fix for 64 bits buildl 2016-06-26 18:27:50 +02:00
Gregory Hainaut
4ec941440d gsdx replay: use the new profiler data 2016-06-26 17:53:22 +02:00
Gregory Hainaut
d7c1faf563 gsdx ogl: add GPU timers to measure time between 2 vsync
So far only basic stuff (min/mean/max frame rendering time)
2016-06-26 15:34:36 +02:00
Akash
ce20544a4f GSDX-TextureCache: Remove hacks which caused scaling issues
* Ignore Frame memory offsets for calculating dimensions value of display rectangle.
* Remove hack which limited scaling size based on the scissor value.

Note: With the following commit, SilentHill 2 now properly outputs the desired resolution by the users on custom resolution. Previously if we set 1024 x 1024 , it'll output a lower height value which was caused by the hack removed on this commit.
2016-06-26 12:14:38 +05:30
Gregory Hainaut
79587215bb gsdx ogl: add the option force_texture_clear for test purpose
Might be completely useless.

1 => always clear framebuffers and textures to black (aka 0)
2 => always clear framebuffers and textures to red
2016-06-24 18:41:55 +02:00
Pseudonym
36dd50005a Changed the M[FT]P[CS] instruction decoding logic to match results from this test:
https://github.com/unknownbrackets/ps2autotests/blob/master/tests/cpu/ee_cop0/performance.cpp
2016-06-23 20:57:43 +01:00
Catarax
1a085788de GameIni: The Lord of the Rings: The Two Towers White Shiny Weapons Fix (#1429)
Force VU round mode set to Extra+preserve sign in The Lord of the Rings: The Two Towers : Shiny weapons will no more show as white texture in-game. For all PAL/NTSC/NTSC-J releases of the game. Fix the name of a japanese release and add the chinese release of the game to the database.
2016-06-22 09:50:30 +01:00
FlatOutPS2
896730ceda LilyPad: Fix regression in configure binding (#1426)
Fixes regression introduced by the pop'n music controller support PR.

When modifying the axis direction combo box in the Configure Binding
group, the modified binding's info would get deleted and replaced by the
next binding's info. This results in incorrect info being passed to
BindCommand().

This commit reverts the incorrect code so the binding info is backed up
before deletion takes place, therefore ensuring the correct info is
passed to BindCommand().
2016-06-21 22:54:52 +01:00
ramapcsx2
dce67351f9 Merge pull request #1416 from ssakash/Real_IR
GSDX: Add proper detection of internal resolution
2016-06-21 18:05:46 +02:00
Jonathan Li
185012b2b7 gui: Use newer wxWidgets event type names
Also add a comment about how the wxEVT_LIST_ITEM_DESELECTED bug only
affects Windows.
2016-06-20 00:00:26 +01:00
Jonathan Li
b8ac54052c gui: Use Bind instead of Connect for everything else 2016-06-19 23:25:09 +01:00
Jonathan Li
1c398c2b77 gui: Use Bind instead of Connect for menus
Also rearrange the order to (mostly) reflect menu ordering and remove
some bindings to non-existent menu items.
2016-06-19 23:14:55 +01:00
Gregory Hainaut
36e82abd12 Merge pull request #1411 from ssakash/PCRTC
Merge Circuit: Improve offset detection of output circuit
2016-06-19 13:45:51 +02:00
Gregory Hainaut
41c522104e Merge pull request #1414 from PCSX2/gsdx-single-pbo
gsdx ogl: replace eight 8MB PBO with a single fat 64MB PBO
2016-06-19 13:40:38 +02:00
Akash
e05e7bee82 GSDX: Add proper detection of internal resolution 2016-06-19 17:10:03 +05:30
FlatOutPS2
ce8b9c153c LilyPad: Make D-pad buttons independent of each other (#1412)
Fixes games that require dance pad support (Dance Dance
revolution series).
2016-06-19 12:25:00 +01:00
Gregory Hainaut
4318b83414 cmake: lilypad requires wx library 2016-06-19 09:49:49 +02:00
Gregory Hainaut
113c78b67e gsdx ogl: replace eight 8MB PBO with a single fat 64MB PBO
It ought to be the same in performance but code will be easier this way

v2: print the sync status
v3: use a performance print so it doesn't spam the console
2016-06-18 14:59:19 +02:00
Jonathan Li
eddabf9dbc spu2-x: Remove unused DirectSound 5.1 module
It was copied over from SPU2ghz but never actually used.
2016-06-18 00:01:32 +01:00
Jonathan Li
0ecee3deda cleanup: Remove unnecessary rebuild files
They're used for converting the image files to header files, but they're
outdated and have been unused for quite a while.
2016-06-17 23:56:31 +01:00
Akash
ab1ab7b6f1 GSDX: Remove redundant "Null" string from GS Frame title bar (#1409)
* GSDX: Remove redundant "Null" string

* GSDX: Convert "GetConfigI" into "GetConfigB"
2016-06-17 14:25:09 +01:00
Jonathan Li
2436480d9b gui: Use Bind instead of Connect for panels and dialogs 2016-06-17 00:03:59 +01:00
Jonathan Li
3904c67e6e utilities: Use Bind instead of Connect 2016-06-17 00:03:58 +01:00
Jonathan Li
c10728319b utilities: Use Bind compatible event declarations/definitions 2016-06-16 23:49:34 +01:00
Jonathan Li
7ac47676e2 pcsx2: Use Bind compatible event declarations/definitions
Also remove some unused event types.
2016-06-16 21:37:45 +01:00
Jonathan Li
aee0d4c0c8 gsframe: Use Bind instead of Connect 2016-06-16 21:37:45 +01:00
Jonathan Li
2112e38886 gsframe: Use wx enum for left mouse button 2016-06-16 21:37:45 +01:00
Akash
4a0656e903 Merge Circuit: Improve offset detection of output circuit
* Fixes blurring / wrong resolution output on FFXII
2016-06-16 13:22:53 +05:30
Catarax
cf48e9d640 Guitar Hero III + Aerosmith : Crash & Graphics Fix (#1407)
Force Round Mode to Nearest on Guitar Hero 3 & Aerosmith version by default : Fix the random crash on PCSX2 while playing and fix all graphics issues in Software Mode. 
For all PAL/NTSC/NTSC-J versions.
2016-06-14 17:32:46 +01:00
Jonathan Li
5aa3d71eaf Merge pull request #1398 from FlatOutPS2/PS1
LilyPad PS1 analog mode fix and UI improvement
2016-06-13 22:39:16 +01:00
Jonathan Li
52a88a7bdf Merge pull request #1384 from ssakash/gsdx-default-renderer
gsdx:windows: Automatically determine best renderer
gsdx:windows: Only enable "Disable Depth Emulation" checkbox on OpenGL
2016-06-13 22:04:46 +01:00
Gregory Hainaut
08579021c5 gsdx ogl: 1 isn't used for WMT/WMS in shader
Stick it to 0 to avoid useless shader toggling
2016-06-11 13:35:32 +02:00
Gregory Hainaut
3234c8241b gsdx ogl: massively extend glsl self test
* Support Mesa Nouveau IR (free driver for Nvidia's GPU)
  => Print intermediate representation + final shader
  => Dump GPR usage
* Move dumped shader in /tmp/GSdx_Shader/<sub_dir>
  =>  Avoid the landing of 3 thousands of files in $PWD ^^
* Use function instead of macro
2016-06-11 13:34:37 +02:00
Gregory Hainaut
1c8de02c8d gsdx ogl: trace shader permutation
Too much permutation is bad for driver performances
2016-06-11 13:34:23 +02:00
Gregory Hainaut
5ffc911a69 gsdx: avoid crash in DX debug build 2016-06-11 01:13:20 +02:00
Gregory Hainaut
bbf046033c i10n: update precompiled files 2016-06-11 01:13:20 +02:00
Akash
c13fd1923b GameDB: Add Full Clamping for Toy Golf Extreme (#1399)
GameDB: Add clamping for Toy Gold Extreme to stop falling through tables. Fixes #1397
2016-06-10 15:46:08 +01:00
FlatOutPS2
d736dc1a0a LilyPad PS1 analog mode fix
Fixes issue where "Use analog mode if possible - PS1 only" would enable
analog mode when playing games that don't support it.
2016-06-10 11:30:30 +02:00
FlatOutPS2
60ece1ee72 LilyPad UI improvement
The layout of the buttons is improved to more closely resemble a modern analog controller/DualShock configuration, and the Device column of the list view has been reduced slighty so by default the horizontal scroll bar isn't visible.
2016-06-10 11:30:18 +02:00
Gregory Hainaut
8c4d8cfdca glsl: avoid an unset warning 2016-06-09 18:27:58 +02:00
Gregory Hainaut
df45c99f96 gsdx ogl: prefix member in GSUniform object with m_ 2016-06-09 18:27:58 +02:00
Gregory Hainaut
fca2661e05 gsdx ogl: add a pretty name to various opengl opengl 2016-06-09 18:27:58 +02:00
Gregory Hainaut
ff3d9bd373 gsdx ogl: add function pointer to name object
It could be nice to ease debug
2016-06-09 18:27:58 +02:00
Gregory Hainaut
415ce93425 gsdx ogl: rename the confusing function EmulateGS to Lines2Sprites 2016-06-09 18:27:58 +02:00
Gregory Hainaut
61075febae gsdx ogl: move selector as state variables
Will be easier to move code around if required in the future
2016-06-09 18:27:58 +02:00
Gregory Hainaut
1132230674 gsdx ogl: create m_require_one_barrier/m_require_full_barrier state variable
hopefully code will be more readable
2016-06-09 18:27:58 +02:00
Gregory Hainaut
7ece9b823d gsdx ogl: move texture management into a separate function 2016-06-09 18:27:57 +02:00
Akash
399ad3f450 GSDX: Gray out "Disable Depth Emulation" for renderers other than OpenGL 2016-06-09 15:27:18 +05:30
Akash
fdc10e13ec GSDX: Better detection of default renderer
* Better detection of default renderer based on the vendor ID ( Nvidia, AMD , Intel)
* GSUtil: Add a dedicated function for identifying best renderer
2016-06-09 15:27:11 +05:30
ramapcsx2
f5675fc0fe Merge pull request #1394 from PCSX2/revert-1368-Counters
Revert "PCSX2-Counters: Some Changes to Video mode counter stuffs"
Problem: New timings for HDTV modes make games run too slow. VSyncInfoCalc() needs to be checked first.
2016-06-09 00:57:32 +02:00
ramapcsx2
ec07571069 Revert "PCSX2-Counters: Some Changes to Video mode counter stuffs" 2016-06-09 00:44:14 +02:00
ramapcsx2
d482c5de91 Merge pull request #1368 from PCSX2-Alpha/Counters
PCSX2-Counters: Some Changes to Video mode counter stuffs / introduce proper names and differentiate between official PS2 video modes
2016-06-09 00:14:25 +02:00
FlatOutPS2
f1ba9c9d6a PCSX2-WX: MainFrame keyboard navigation improvement (#1388)
Adding shortcuts to all the menu options, that only some of the options
in the Config tab already had.

Also update translations so menus are still localised (well, mostly).
2016-06-08 21:48:16 +01:00
Jonathan Li
e6e8e2e4d5 gsdx-fx: Fix shader when using OpenGL 2016-06-07 00:14:48 +01:00
Jonathan Li
9e9505a732 linux: Fix hotswapping CDVD message truncation
Iso, Plugin, and NoDisc were truncated to I, P, and N. Fix the issue.
2016-06-06 23:35:05 +01:00
refractionpcsx2
c530858df3 GSdx: Move "isNative" check to DX11 context creation. Resolves speed regression in games that constantly change the viewport size. 2016-06-06 20:45:30 +01:00
Jonathan Li
7c205d7a1e windows: Don't use __declspec(dllexport) for plugin exports
Using __declspec(dllexport) causes duplicate export warnings to be
generated when compiling 64-bit builds. Name mangling also occurs on
functions that are exported this way, so it doesn't actually work with
the plugin system, which uses unmangled names.

The module definition file exports the functions without name mangling
and is sufficient on its own.
2016-06-05 22:57:42 +01:00
Jonathan Li
292c6810ad lilypad: Fix missing call to HidD_GetHidGuid
I accidentally removed it in a previous commit. It probably didn't
affect anyone though (you'd need to be using a DS3 via libusb, most
people will be using other methods).
2016-06-05 20:04:17 +01:00
Gregory Hainaut
2b00447a43 glsl: optimize the number of active constant buffer
Increase the performance on the free driver (Nouveau)

Currently the driver validates all UBO when only 1 is updated. It
is clearly a bad idea to put all UBO in a single common headers.
2016-06-05 16:45:11 +02:00
Jonathan Li
e6bf77d148 Merge pull request #1253 from turtleli/spu2x-xaudio
spu2-x:windows:Use XAudio2.8+ for Windows 8 and later
2016-06-05 00:28:26 +01:00
Jonathan Li
c7940856ce windows: Remove unneeded library dependencies
Some are unnecessary since they're already taken care of by project
references, while others are duplicates or unused.
2016-06-04 22:55:48 +01:00
Jonathan Li
8dd16b1fdb zerospu2: Remove unneeded preprocessor macros and properties 2016-06-04 21:35:55 +01:00
Jonathan Li
471722482e gsdx-legacy: Remove baseclasses
Use the baseclasses project in unfree instead.
2016-06-04 21:22:24 +01:00
Akash
f9b56bc354 EE-SYSCALL: Move messages back to dev/verbose level
Not needed anymore as we get another message from Counters for each
change in video mode. (refer previous commit)
2016-06-04 22:10:36 +05:30
Akash
1a41053c76 PCSX2-Counters: Improved video mode detection
* The detected values using the SMODE registers were for the video modes and not the region of the game, changed the variable naming to video modes to prevent any confusions.
* Fix a bug where 1080I was reported as progressive
* Convert GS_VideMode into an enum class
* Move VideoMode init code from _gsSMODEwrite to SYSCALL
* PCSX2 will now correctly report whether the video mode is NTSC/PAL/VESA/480p/576p/720p/1080i/1080p
2016-06-04 22:10:27 +05:30
refractionpcsx2
3b2b6a20aa eeCache: Flush cache entries on DXLTG
-SYNC.L should be called before this command forcing the cache to writeback to memory, but that would be slow to do every time, so we will do it on this command.
2016-06-04 12:57:14 +01:00
Gregory Hainaut
4768f912b8 gsdx linux: add vsync support for free driver 2016-06-04 13:17:59 +02:00
prafullpcsx2
8418d54ac7 Minor EE Cache changes
This seems to help games that require EE Cache. Please test Ice Age 2 and Evolution Snowboarding.
2016-06-03 12:00:55 +05:30
Gregory Hainaut
2b2412ca20 gsdx hw: disable OI_GsMemClear when framebuffer writes are masked. 2016-06-01 22:34:14 +02:00
Gregory Hainaut
7202cac7d0 gsdx ogl: remove the dual source blending workaround 2016-06-01 21:00:29 +02:00
Gregory Hainaut
08a8bfa76c gsdx ogl: plug new program compilation for bad driver 2016-06-01 21:00:29 +02:00
Gregory Hainaut
17988fc7de gsdx ogl: add code to compile a single shader 2016-06-01 21:00:29 +02:00
Gregory Hainaut
405f312fe8 gsdx ogl: format GSShader code
Move the Geometry Shader to the call of the function
2016-06-01 21:00:29 +02:00
Jonathan Li
5672d2b39e ci: Remove clang from Travis CI builds
llvm's apt repo is currently switched off so the builds are erroring
out.

[skip ci]
2016-06-01 18:05:00 +01:00
Gregory Hainaut
538bb418ce gsdx ogl: revert the removal of single shader compilation function pointer
(It doesn't mean I will drop SSO but that I will do some tests one day)
2016-06-01 09:29:56 +02:00
Gregory Hainaut
5d49a6b685 gsdx ogl: replace 4 VS shader variation by an AND mask
Perf will be roughly the same. However there is a single VS for all
the HW emulation.
2016-06-01 09:29:56 +02:00
Gregory Hainaut
959abe64f8 gsdx ogl: implement wildhack on the CPU
Speed impact is likely small and the plan is only to keep a single Vertex Shader
2016-06-01 09:29:56 +02:00
Gregory Hainaut
3d192b7f8d gsdx ogl: separate channel code into a separate function 2016-06-01 09:29:56 +02:00
pal1000
c6e1753803 gitignore: Add Visual Studio 2015 databases (#1380)
[skip ci]
2016-05-31 19:14:42 +01:00
Gregory Hainaut
6d2196125d gsdx: fix TVshader case option 2016-05-31 19:35:35 +02:00
Gregory Hainaut
564bf8a089 gsdx ogl: terminator 3 supports sampling from the depth 2016-05-30 19:39:52 +02:00
Gregory Hainaut
43a1c48f75 gsdx option: add missing default and fix case 2016-05-30 18:23:22 +02:00
Jonathan Li
c2b31c0987 Merge pull request #1377 from NZJenkins/master
GetBreakPointCondition handle temp breakpoints
2016-05-30 15:12:36 +01:00
NZJenkins
6bc02cbb45 GetBreakPointCondition handle temp breakpoints
Fixes #1374
temp bp were not previously handled
2016-05-30 16:16:32 +12:00
Gregory Hainaut
9c8b5e37a4 gsdx ogl: blacklist AMD 2015 drivers 2016-05-29 18:21:12 +02:00
Gregory Hainaut
12512f767b gsdx linux gui: disable the hack panel when user hacks are disabled
Move the user hack option to the main panel (Box with a single option doesn't look nice)

Hopefully it will be less confusing for linux users.
2016-05-29 18:09:22 +02:00
Gregory Hainaut
38a511e3e1 gsdx linux: some capture options are cross platform 2016-05-29 17:38:40 +02:00
Jonathan Li
e7745d13f4 spu2-x:windows: Add XAudio2 2.8 backend
On Windows Vista and 7, the XAudio2 2.7 backend will still be used.
Windows 8, 8.1 and 10 users will use XAudio2 2.8/2.9 (depending on OS).
2016-05-29 14:50:12 +01:00
Jonathan Li
5344c3f121 spu2-x: Rename SndOut_XAudio2.cpp to SndOut_XAudio2_7.cpp 2016-05-29 14:50:12 +01:00
Jonathan Li
de56e30bba spu2-x:windows:xaudio: Remove ifdefs and rename class/vars
This reverts commit 8a61c7d336.

The plan is to support both XAudio2 2.7 and 2.8+. This file will only be
used for 2.7, so let's remove the ifdefs and rename the class and vars.
2016-05-29 14:50:12 +01:00
Jonathan Li
c8162df936 spu2-x: Only XAudio2 2.7 requires the DXSDK
Use the newer Windows SDK for everything else.
2016-05-29 14:50:12 +01:00
Jonathan Li
5ea80b86db spu2-x:windows: Remove VersionHelpers workaround
We've moved to the non-XP toolkit - it can be removed.
2016-05-29 14:50:12 +01:00
Jonathan Li
8b74c108a4 Revert "gsdx:windows: Fix Windows 7 compile"
This reverts commit 7736c90457.

It wasn't actually a Windows 7 compile fix, but a bad build environment
workaround.
2016-05-29 14:33:58 +01:00
refractionpcsx2
67288b4735 A wild bracket has appeared! I choose you, delete button! 2016-05-29 14:13:45 +01:00
refractionpcsx2
bbecc3d0c2 microVU: Only spam "Reading VU1 Regs" warning in Dev mode and only when MTVU is enabled. It's useless when it isn't. 2016-05-29 13:23:25 +01:00
Jonathan Li
b20433c0be windows: Remove user.props references from all projects
find . -name *.vcxproj -exec sed -i -e '/user.props/d' {} \;

Microsoft recommends against using .user files. From
https://msdn.microsoft.com/en-us/library/669zx6zc.aspx :
"The best practice is to delete the reference to them in Property
Manager to ensure that your projects operate independently of any
per-user, per-computer settings. This is important to ensure correct
behaviour in a SCC (source code control) environment."

If you cannot compile SPU2-X after this commit (since that still relies
on the old DirectX SDK), you'll need to fix your build environment.
2016-05-29 12:21:52 +01:00
Gregory Hainaut
fb26254fbb gsdx ogl: implement a more generic HLE shader for terminator 3
Hopefully without regression for others games
2016-05-29 10:13:43 +02:00
Gregory Hainaut
f7ddd488e1 gsdx ogl: Extend uniform buffer with channel parameter
Instead to use the standard ps ubo which is used every draw call.
I reused a barely used buffer to reduce the extra cost of the upload
2016-05-29 10:13:43 +02:00
Gregory Hainaut
6f19d928f6 gsdx ogl: use the new uniform cache upload method 2016-05-29 10:13:43 +02:00
Gregory Hainaut
fa15d7fd26 gsdx ogl: generic code to cache uniform buffer
It will allow to skip a buffer transfer if the new content is the same
2016-05-29 10:13:43 +02:00
Jonathan Li
be7af60ab5 lilypad: Use Windows SDK headers for HID functions
Has been available since the switch to the Windows 8.1 SDK.
2016-05-28 23:30:28 +01:00
Jonathan Li
c6ed5ee9c6 windows: Make build work with non-English parent directory
Not a recommendation to do so. Alsorecommendnottousespaceseither.
2016-05-28 23:27:34 +01:00
Jonathan Li
36cd1ae3cc windows: Remove parameter from prebuild command
It's unused. Also convert to using SolutionDir instead of Svnwhatever.
2016-05-28 23:25:08 +01:00
Gregory Hainaut
58f04975e1 oups fix link 2016-05-28 18:49:49 +02:00
Gregory Hainaut
179681ef18 gsdx ogl: enable AMD driver blending workaround only on latest legacy driver
Legacy GPU:
Older driver will be broken.

Still supported GPU:
Please upgrade to the latest AMD driver 16.5.2 or 16.5.3 (and prey that future driver will still work)
2016-05-28 18:43:55 +02:00
Gregory Hainaut
7682bf9b49 Merge pull request #1370 from PCSX2/gsdx-default-option
Gsdx default option
2016-05-28 18:28:36 +02:00
Gregory Hainaut
a648e2db70 gsdx: switch to dx10/11 as default on Windows
1/ Detecting Dx level requires a DX context.
2/ Dx9 GPU market is 1-2% (I'm not even sure they can run latest windows 10)
2016-05-28 10:07:27 +02:00
Gregory Hainaut
c61e09e36a fix left over default 2016-05-28 10:07:27 +02:00
Gregory Hainaut
453ac88dce gsdx option: use CaptureWidth/CaptureHeight on linux too 2016-05-28 10:07:27 +02:00
Gregory Hainaut
a9c18c57e4 gsdx option: use the new GetConfig* function
v2:
add PSX stuff
ssakash review
2016-05-28 10:07:27 +02:00
Gregory Hainaut
03a6f2093e gsdx option: add multiple GetConfig to avoid overload issue 2016-05-28 10:07:27 +02:00
Gregory Hainaut
05818d70f4 gsdx option: centralize default configuration to a single file
Potential issue
* miss a default value
* Renderer is DX9 again on windows
* Case issue
* Same default for all code paths
* overload of GetConfig

v2: separate specific OS option
2016-05-28 10:07:26 +02:00
Jonathan Li
f888aa61fb lilypad: Remove local volume control
Windows Vista onwards provides application specific volume controls, and
the local volume feature only interferes with it. Any volume adjusting
stuff probably belongs in SPU2-X.

Closes #629
2016-05-27 23:55:45 +01:00
Jonathan Li
2aeceafb36 lilypad:windows: Remove keyboard hooks code
The code wasn't used, and generally low level hooks should be avoided
since they affect the responsiveness of all applications. On Windows 7
and later, the hooks may also be silently removed if they timeout, which
could be possible under heavy load.
2016-05-27 23:40:31 +01:00
Jonathan Li
4f24d22a68 lilypad: Disable close hacks when loaded by PCSX2
The close hacks don't work with PCSX2 - the WM_CLOSE message can't
actually be triggered for the rendering window. The hacks were also
designed as a workaround for some PSX emulator close window bugs, which
don't affect us.
2016-05-27 00:36:11 +01:00
Gregory Hainaut
d33bdc7da1 cmake: drop the now useless -no-integrated-as option
close #303
2016-05-26 19:40:02 +02:00
Gregory Hainaut
9150747df1 Merge pull request #1369 from PCSX2-Alpha/GSDX_PSX
GSDX: Move PSX code to an isolated path
2016-05-26 18:45:41 +02:00
Akash
2409817556 GSDX: Move PSX code to an isolated path 2016-05-26 19:04:17 +05:30
Jonathan Li
06dba2d258 Merge pull request #1372 from PCSX2-Alpha/Windows_GUI
GSDX-Windows: Add "Large Framebuffer" option
2016-05-26 08:57:33 +01:00
Akash
9ae6c2673a GSDX-Windows: Add "Large Framebuffer" option 2016-05-26 11:38:24 +05:30
Jonathan Li
352b61c741 gsdx: Allow normal assert to be used 2016-05-26 00:11:52 +01:00
Jonathan Li
db81925c4b Merge pull request #1335 from turtleli/freebsd
Support FreeBSD
2016-05-25 18:55:51 +01:00
Gregory Hainaut
60e0f3b9b5 Merge pull request #1234 from PCSX2-Alpha/Time_Crisis
GSDX: Improve CRTC width detection
2016-05-25 17:51:07 +02:00
Jonathan Li
68eb3774b9 GameDB: Add memcard filter for THAW (collector's edition)
The game saves using the SLUS-21208 serial (normal edition).

Fixes #1367.
2016-05-23 23:06:21 +01:00
Gregory Hainaut
b6da1bcb15 gsdx linux: add the new option checkbox 2016-05-23 19:38:44 +02:00
Gregory Hainaut
0c3324b6ef gsdx hw: create a large_framebuffer option
Enable it to ensure correct rendering (FMV)
Disable it to reduce GPU/memory requirement

Option will likely be removed when the perf impact will be reduced.
2016-05-23 19:38:44 +02:00
Gregory Hainaut
1f4439a89e gsdx: add some notes of potential optimization 2016-05-23 19:38:44 +02:00
Jonathan Li
d2e5c32c83 cmake: Disable SuperVU for non-Linux OS
Doesn't work on FreeBSD, would be annoying to port.
2016-05-21 23:26:19 +01:00
Jonathan Li
bde5960581 iop: Use count_leading_sign_bits for err, counting sign bits
Replaces the inline assembly and generic version with the unified
implementation.
2016-05-21 23:26:18 +01:00
Jonathan Li
eaa4abea45 ipu: Convert yuv2rgb sse2 inline assembly to intrinsics
It's more portable.

Use _mm_shuffle_epi32 instead of _mm_movehl_ps - I think it avoids
data bypass delays going from integer to float domains on older
processors, and Agner's tables indicate that the instruction has the
same latency and occasionally has higher throughput (depending on cpu).

And switch the _mm_xor_si128 and _mm_unpacklo_epi8 around so the same
constant can be used for both C bias and alpha.
2016-05-21 23:26:17 +01:00
refractionpcsx2
5c02636dd9 GameDB: Auto fixes for Bakugan - Battle Brawlers 2016-05-21 21:23:38 +01:00
Jonathan Li
571432a7aa gsdx:freebsd: Fix compilation 2016-05-21 13:34:18 +01:00
Jonathan Li
57cdf0bf16 gsdx:linux: Use clock_gettime instead of ftime
ftime is obsolete and not present in recent POSIX specifications.
2016-05-21 13:33:40 +01:00
Jonathan Li
da2046e90e gsdx: Use alignas instead of __aligned
__aligned is defined in FreeBSD headers and will cause compile errors.
2016-05-21 13:23:11 +01:00
Jonathan Li
6362b9c9b2 pcsx2: aio: Complete POSIX AIO reader 2016-05-21 13:23:10 +01:00
Jonathan Li
e10ed744bc pcsx2:freebsd: Fix build 2016-05-20 22:32:41 +01:00
Jonathan Li
5f6658ae9a common:freebsd: Kill some warnings 2016-05-20 22:32:41 +01:00
Jonathan Li
7aa6564dcc common:freebsd: Fix compilation 2016-05-20 22:32:41 +01:00
Jonathan Li
280ca1dd85 utilities: Add FreeBSD thread name implementation 2016-05-20 22:32:41 +01:00
Jonathan Li
e23b6e3484 cmake: Setup FreeBSD 2016-05-20 22:31:30 +01:00
Jonathan Li
f95c38f632 spu2-x:freebsd: Adjust cmake and ifdefs
For now the SDL backend has been removed, mainly cause it makes the
dialog code too messy.
2016-05-20 22:30:52 +01:00
Jonathan Li
f963fcfa66 onepad:freebsd: Adjust ifdefs 2016-05-20 22:30:52 +01:00
Gregory Hainaut
a7ba779ba8 gsdx ogl: another HLE channel effect for terminator 3
Same as before but with a different fbmask value (I don't know why but
I have the feeling that I might need the others value too)
2016-05-20 19:55:39 +02:00
Gregory Hainaut
1c21ea955c gsdx ogl: HLE channel effect for terminator 3
Unfortunately I think the game uses another similar effects
2016-05-20 19:45:20 +02:00
Gregory Hainaut
247d33a627 gsdx ogl: always clear depth buffer in FFX2
It avoid depth issues and I'm sure it won't broke other games this way.

Issue #1340
2016-05-19 17:53:46 +02:00
Akash
2166980f91 GSDX: Calculate dimensions of rectangle after merge
* Properly display rectangle size after passing through merge circuit on
GS Dumps and GS Frame titlebar.
2016-05-19 15:53:49 +05:30
Akash
58b43dbb6c GSDX: Rework video mode detection code
* Use some nice enums instead of macros
* properly detect 720P/1080I separately.
* Some code cleanup, extended variable names and added few comments
2016-05-19 14:02:50 +05:30
Jonathan Li
9537accb51 linux: Remove old recent ISO list workarounds
Seems to work fine now, no warnings or compile errors.
2016-05-19 09:08:13 +01:00
Gregory Hainaut
e258f3e2fa gsdx ogl: update accurate DATE behavior
* Fast accurate DATE is always enabled, it was faster than standard DATE

* The less fast version is always enabled too. It is likely barely used
  so perf impact will be small on few game that could hit this path.
  Nice rendering has a higher priority

* The "slow" path will depends on the date option.
Note normally it isn't too slow (-10%) if GL_ARB_shader_image_load_store
is supported but AMD crimson is an epic fail.
2016-05-19 10:03:46 +02:00
Jonathan Li
7b27be1306 gsdx: Consider horizontal offsets when merging output
Fixes games like Time Crisis 2/3, which use two half-width display
rectangles placed side by side in split screen mode by using different
DISPLAY.DX values.
2016-05-19 10:06:12 +05:30
Jonathan Li
203fb71851 linux:async-iso: Fix invalid file descriptor checks
-1 is returned when open() fails, not 0.
2016-05-18 23:31:32 +01:00
Jonathan Li
899784cbdc onepad: Only append -dev to library name for Devel builds 2016-05-18 22:58:15 +01:00
Jonathan Li
3a274e85f0 cmake:onepad: Add wxWidgets to dependencies 2016-05-18 22:56:59 +01:00
refractionpcsx2
ad61503d83 CDVD: Fix drive status on BREAK.
-Formula One 2001 expects the drive to be paused after break.
-The command breaks from the current command, it doesn't stop the drive :)
2016-05-18 21:44:13 +01:00
Gregory Hainaut
14fa797235 gsdx hw: always uses a big RT on snowblind engine game
Avoid headack to avoid conflict between 1280x1024 and 640x1280 resolution
2016-05-17 20:01:00 +02:00
Gregory Hainaut
156f1b70c3 cmake: disable avx2+ on debug build
Gdb (7.7.1) doesn't support it properly.
2016-05-17 19:33:12 +02:00
Gregory Hainaut
a4c7541092 gsdx ogl: tentative hack to make FFX go along with depth option
Issue1: Depth buffer is wrongly invalidated only the first page is detected.

Issue2: First page seems to be partially written. Could be a GSdx transfer bug.
Anyway, invalidation only support a page granularity.

So here a quick workaround that will clear depth buffer in case of very small partial write.

Might worth to check regression on nocturne/digital saga
2016-05-17 19:33:12 +02:00
Jonathan Li
df5035d975 ci:travis ci: Use ccache and add gcc 6 build config
Also make the build noisier to prevent some build failures when download
speeds are slow from whatever repository.

Note: The 64-bit devel build currently doesn't benefit from ccache for
whatever reason.

[skip appveyor]
2016-05-16 23:48:13 +01:00
Gregory Hainaut
37c049425d gsdx ogl: gl depth is written by default
Fix bad depth state in dump (yes the bug is 2 years old!)
2016-05-16 20:10:32 +02:00
Gregory Hainaut
f5b174f985 gsdx ogl: pitch is always the width of the transfer not the size of the texture 2016-05-16 19:20:01 +02:00
Gregory Hainaut
fa921215d9 gsdx ogl: add GL_ARB_get_texture_sub_image extension support
could help to read back a portion of a texture
2016-05-16 18:58:33 +02:00
Gregory Hainaut
e02753df46 gsdx ogl: oups, mandatory function pointer was wrongly optional 2016-05-16 18:58:33 +02:00
Gregory Hainaut
37e4d2bd48 gsdx ogl: update old comment 2016-05-16 18:58:33 +02:00
Gregory Hainaut
96b5170d8c Merge pull request #1317 from PCSX2/gsdx-array-coverage
Gsdx array coverage
2016-05-16 18:16:15 +02:00
Gregory Hainaut
ed0adf61d3 gsdx ogl: allow to define a debug context in windows.
Be aware: dev build will be slow and quite chatty
2016-05-16 17:08:20 +02:00
Gregory Hainaut
30ce6b0a6a gsdx ogl: check debug function exists
I'm sure they exists in the openGL renderer context but there are
also used in common code. So potentially in DX context.
2016-05-16 16:59:00 +02:00
Gregory Hainaut
99476f4b13 gsdx ogl: explain better previous clear vs framebuffer comment 2016-05-16 16:49:18 +02:00
Gregory Hainaut
08f7bd2dc3 gsdx: add crc hack for Ar tonelico 2
It would requires some texture dynamic width convert shaders.
So as a quick solution, let's add a new CRC hack.

For issue #1362 (granted the CRC is correct)
2016-05-16 10:55:02 +02:00
Gregory Hainaut
1522cba5b0 gsdx ogl: performance note of texture clear vs framebuffer clear
In case of render target. FB clear is better
2016-05-16 10:38:47 +02:00
Gregory Hainaut
e776118de9 gsdx-ogl: implement previous DATE optimization in a single shader pass
Faster :) Reduce further the cost of accurate date

The optimization will clear the stencil to 1. So all pixels will have a
single sample that pass both the depth & stencil test. No primitive
overlaps So the destination alpha test can be done directly in the
shader.
2016-05-15 17:44:40 +02:00
Gregory Hainaut
3ab12cef2f gsdx ogl: accelerate special case of accurate date.
Game often uses date to allow a single pixel pass. If this
use case is detected, stencil buffer will be cleared after first pixels
that pass both depth&stencil test.

It seems to reduce the load on the GPU.

Note: with the help of texture barriere, maybe we could implement the algo
with a single pass.
2016-05-15 17:22:58 +02:00
Gregory Hainaut
025be70c42 gsdx-ogl: allow to fallback to a slow accurate DATE when GL_ARB_shader_image_load_store isn't supported
The best is still to have a DX11 generation GPU
2016-05-15 16:29:29 +02:00
Gregory Hainaut
5b061e062c gsdx ogl: replace ClearRenderTarget_i by glClearTexSubImage
Avoid state change, avoid potential texture buffer reallocation

Note: require GL_ARB_clear_texture
2016-05-15 15:55:31 +02:00
Gregory Hainaut
82060320ef gsdx ogl: use draw list size for sprite instead of vertex number to select date algo
Latest overlap detection allow to draw multiple sprite instead of 1,
so the limit based on vertex number is too conservative.
2016-05-15 15:00:52 +02:00
Gregory Hainaut
c054b097e9 gsdx ogl: fix wrong depth clear
If a color buffer is still attached and is smaller than depth buffer,
the latter won't be fully cleared.

As a faster alternative, use GL4.4 clear texture function. Avoid to fiddle with
framebuffer and pixel tests.

Fix #1362x Ar Tolenico 2 map clip
2016-05-15 14:57:37 +02:00
Gregory Hainaut
caacb1dc9f gsdx-ogl: add texure clear function (GL4.4) 2016-05-15 14:57:11 +02:00
Gregory Hainaut
d47d9e5017 gsdx-ogl: fix a minor gcc warning 2016-05-15 13:10:46 +02:00
Gregory Hainaut
913e3d65d2 gsdx ogl: use glViewportIndexedf and glScissorIndexed 2016-05-14 17:18:16 +02:00
Gregory Hainaut
cd9ee3c468 gsdx ogl: emulate GL_ARB_draw_buffers_blend and GL_ARB_viewport_array
New functions only set the parameter to a single buffer whereas old function
set all buffers
2016-05-14 17:15:30 +02:00
Gregory Hainaut
4065730e36 gsdx ogl: merge sprite hack take 2
try to detect paving correctly. Avoid to break effect such as Heat effect in Tekken5
2016-05-14 12:24:56 +02:00
Gregory Hainaut
2fc244a3eb gsdx-ogl: inline function only call once 2016-05-14 11:53:02 +02:00
Gregory Hainaut
24a673c482 gsdx ogl: avoid special format on the merge sprite hack 2016-05-13 18:28:21 +02:00
Gregory Hainaut
b57b97eb3c debian: update dependency for latest Debian/Ubuntu 2016-05-13 18:28:21 +02:00
Jonathan Li
92d4d93fce Merge pull request #1312 from FlatOutPS2/master
Automatic aspect ratio switch during FMV playback
2016-05-11 14:07:59 +01:00
FlatOutPS2
5871874f70 Avoid crash on some systems with FMV software switch
Avoid crash on some systems switching HW><SW in fullscreen aspect
ratio's with FMV Software switch.

Replaces previous zoom adjusting fix with a more efficent one.

Squashed a small improvement into commit.
2016-05-11 14:33:25 +02:00
Jonathan Li
32aab3366d Merge pull request #1356 from NZJenkins/master
Ensure selected rows are visible in debugger
2016-05-10 22:25:24 +01:00
Gregory Hainaut
156b6425d2 gsdx ogl: add UserHacks_merge_pp_sprite option to reduce upscaling glitches
For test purpose, it is higly experimental.

So far it is yield interesting result for tekken5
2016-05-10 08:12:07 +02:00
Gregory Hainaut
c019f86529 gsdx ogl: add a performance note for a potential channel optimization 2016-05-10 08:11:28 +02:00
NZJenkins
25b29a2864 Ensure selected rows are visible in debugger
Fixes #1353
DebuggerLists:
Select does not ensure the item is visible if selecting
Went with existing convention of Select and Focus.

CtrlRegisterList:
Added ensureVisible, called whenever the current row selection is
changed
2016-05-10 13:01:18 +12:00
Gregory Hainaut
4effc70792 gsdx hw: Fix regression on align sprite
The hack also updates position of not texture mapped sprite.

Unlike the 2nd hack (round sprite) which can be skipped if TME is disabled
2016-05-09 09:45:34 +02:00
Jonathan Li
23782b5c24 Merge pull request #1337 from turtleli/autodock
Console: Add AutoDock option to menu
2016-05-09 00:13:21 +01:00
Gregory Hainaut
5ecbc2889b Merge pull request #1349 from PCSX2/gsdx-channel-effect
Gsdx channel effect
2016-05-08 19:03:18 +02:00
Gregory Hainaut
5b04672ba2 gsdx ogl: separate Tales of Abyss/Urban Chaos effect based on the fbmask
Avoid to rely on CRC
2016-05-08 17:31:13 +02:00
Gregory Hainaut
48d962e15a gsdx log: print detected crc
Helpful to get crc from gs dump
2016-05-08 16:30:50 +02:00
Gregory Hainaut
fb6a6f73c4 gsdx: move Tekken5/Tales of Abyss CRC to Dx level 2016-05-07 22:46:42 +02:00
Gregory Hainaut
ecbcc566fe gsdx ogl: use GT shader for Tourist Trophy 2016-05-07 22:46:41 +02:00
Gregory Hainaut
fc86620327 gsdx ogl: disable channel effect when signature is a bit different
Hack to avoid regression on Blood Will Tell
2016-05-07 22:46:41 +02:00
Gregory Hainaut
30b452543a gsdx ogl: tekken5 uses similar effect as Gran Turismo
So just reuse GT hle shader :) Acid stage is now correct. However it might need
some tuning for others stages.
Still look awful with uspcaled resolution (note internal game framebuffer is around 160x128)
2016-05-07 22:46:41 +02:00
Gregory Hainaut
d41613c46a gsdx ogl: add a Tales of Abyss HLE shader
Again fast and efficient but it relies on CRC

v2: forget to update the precompiled shader...
2016-05-07 22:46:41 +02:00
Gregory Hainaut
d5681ba01c glsl: fix a bug in urban chaos hle shader
Bug only impact the lsb bits of the depth conversion, so impact is likely small
2016-05-07 22:46:41 +02:00
Gregory Hainaut
70ee8c5bc4 gsdx ogl: add an HLE brightness/contrast shader for GT series.
It works and it is very fast. But it relies on CRC

Others effect need to be tested as well
2016-05-07 22:46:41 +02:00
Gregory Hainaut
91c164ecca gsdx tc: avoid potential division by 0 2016-05-07 18:36:28 +02:00
Gregory Hainaut
265ea82780 gsdx tc: avoid to load data outside of the GS memory
Avoid crash in Kungfu panda
2016-05-06 21:46:29 +02:00
Jonathan Li
c540840cd4 pcsx2: Apply auto gamefix/widescreen/cheat changes immediately 2016-05-06 20:32:31 +01:00
Gregory Hainaut
f34e77f08c gsdx: fix regression on 24 bit format (gust game)
bpp is the size of the container format but not the size of the format itself.
For PSM24, bpp is 32, trbpp is 24
2016-05-06 13:49:24 +02:00
Gregory Hainaut
c94fecdadb Merge pull request #1346 from PCSX2/gsdx-cleanup
Gsdx cleanup
2016-05-06 12:23:54 +02:00
Jonathan Li
f97b556e23 pcsx2: Use incoming settings when applying settings
The old config settings were wrongly used when determining whether to
load patches, cheats and widescreen hacks. These settings needed to be
applied twice to actually take effect if they were changed while a game
is running.

Use the incoming settings so the settings only need to be applied once.
2016-05-06 01:03:51 +01:00
Gregory Hainaut
e890ce989c gsdx: throw oom exception + error
Texture can't be NULL anymore, so we can remove a couples of check
2016-05-05 18:53:51 +02:00
Gregory Hainaut
d58b71688b gsdx debug: auto GL_POP
Nicer and exception safe

V2: miss definition of vs/ps
2016-05-05 18:53:32 +02:00
Gregory Hainaut
37c7fa7663 gsdx: add draw exception (OOM and Recoverable)
The exception will free the unused (but allocated) texture aka the emergency break ;)

Recoverable could be useful for unsupported draw call
2016-05-05 17:47:32 +02:00
Gregory Hainaut
c8dddfed06 gsdx hack: move m_skip and m_userhacks_skipdraw to GSState level
Avoid to push argument to call IsBadFrame
2016-05-05 16:22:14 +02:00
Gregory Hainaut
21d1bd48ec gsdx hack: move the CRC setup into a separate function
In order to reduce a bit the overhead of IsBadFrame called each draw calls
2016-05-05 16:03:48 +02:00
Gregory Hainaut
7b0427e86e gsdx hack: use psm lookup + remove now useless log 2016-05-05 15:46:54 +02:00
Gregory Hainaut
8424eeb4ee gsdx tc: small hint for the compiler 2016-05-05 15:32:21 +02:00
Gregory Hainaut
055b9c57e7 gsdx tc: use unscaled size as clamping in Target::Update
Might avoid/reduce crash like #1340
2016-05-05 12:59:49 +02:00
Gregory Hainaut
5948c2d8cd gsdx AMD: broken for broken
Until AMD release the driver with a fix, I can't use 2nd blending source with SSO.

So let's use the first source. Blending/Alpha will be wrong. But it is likely better
than an uninitialized alpha value.
2016-05-05 12:24:55 +02:00
Gregory Hainaut
f712c5c6d0 gsdx tc: use GSLocalMemory::m_psm instead of hardcoded value 2016-05-05 12:19:25 +02:00
Gregory Hainaut
642cc50ac4 gsdx hw: reduce verbosity of channel skip log 2016-05-05 12:19:19 +02:00
Gregory Hainaut
7c430c9d3c glsl: fix coordinate in channel depth effect
UV can't be used directly in channel effect

Properly fix Urban Chaos smoke
2016-05-04 18:08:40 +02:00
Gregory Hainaut
b8b0a0d662 gsdx hw: remove dead code 2016-05-04 18:08:34 +02:00
Jonathan Li
f4566acfa5 Merge pull request #1338 from turtleli/breakpoint-windows-fix
debugger:windows: Fix vanishing breakpoints when scrollbar disappears
2016-05-04 11:17:20 +01:00
FlatOutPS2
6defe6e07d Automatic aspect ratio switch during FMV playback
Updated to bypass ini setting for automatic aspect ratio switch.
2016-05-03 16:50:42 +02:00
Jonathan Li
ad652706d6 debugger:windows: Fix vanishing breakpoints when scrollbar disappears
On Windows, it seems that if you resize the columns in the size event
handler when the scrollbar disappears, the listview contents may decide
to disappear as well. So let's avoid the resize for this case.
2016-05-03 00:42:45 +01:00
Gregory Hainaut
90af611fdb gsdx ogl: Fix channel effect interaction with accurate blending
* Vertex info must be updated before PrimitiveOverlap
* Fix the vertex number (2 not 4)
* add an uint16 cast to shut up Visual Studio
2016-05-02 19:48:11 +02:00
Gregory Hainaut
e190841d67 gsdx ogl: improve blending logging 2016-05-02 18:14:02 +02:00
Gregory Hainaut
3077cc82cc gsdx hack: Ghost in the Shell still broken in openGL 2016-05-02 18:14:02 +02:00
Jonathan Li
7435e6e7b3 Console: Add AutoDock option to menu 2016-05-02 17:02:16 +01:00
Jonathan Li
6430e41fb5 gsdx:windows: Update GUI to reflect recent changes
"Enable Hardware Depth" removed from main dialog.
"Disable Depth Emulation" and "Fast Texture Invalidation" added to Hacks
dialog.

And fix lots of whitespace issues.
2016-05-02 00:28:10 +01:00
Jonathan Li
9b58b3fb6e Console: Do not scroll to bottom unless text is updated
Also remove the size event handler and use Bind instead of Connect
2016-05-01 18:38:59 +01:00
Akash
21e6a344a2 GSDX: Improvements to the GSDX dialog (#1284)
GSDX: Improvements to the config interface.

- GSDX: Add new logos to dialog
- GSDX: Remove all the extra null renderers
- GSDX: Changes to renderer combobox
- Sort all the renderers in ascending order. (the fact that D3D11 was
above D3D9 really annoyed me >_<)
- Properly display usage of D3D10/D3D11 on the combobox.
- Use highest available version of DX by default.
- GSDX: gray out upscaling hacks at native resolution
- GSDX-PSX: Modifications to the dialog
- Add new logos
- Remove SDL renderer from combobox since it was removed long ago.
2016-05-01 17:33:53 +01:00
Gregory Hainaut
826b38c47a gsdx tc: use array in GSOffset to store texture coverage
GSOffset is already based on a lookup of PSM/BP/BW. Coverage only adds
the size parameters (so only 256 possibilities)

It replaces the hash lookup with a free array access.
2016-05-01 15:02:36 +02:00
Gregory Hainaut
9cacfee8c7 Merge pull request #1322 from PCSX2/gsdx-8b-subrt
gsdx: improve detection of channel shuffle
2016-05-01 14:28:22 +02:00
Gregory Hainaut
7add3d1018 gsdx hack: add a lengthy comment to explain man hunt2 hack
An HLE shader replacement could be done for this game but it is
low priority
2016-05-01 13:37:54 +02:00
Gregory Hainaut
4bf484c881 gsdx: move various games crc to dx level
* GT3
* GT4
* GTConcept
* JamesBondEverythingOrNothing
* SkyGunner
* StarWarsBattlefront2
* StarWarsBattlefront
* TouristTrophy
* ICO
* DeathByDegreesTekkenNinaWilliams
2016-05-01 13:22:12 +02:00
Jonathan Li
6b5761dfa4 gui: Avoid out-of-bound access when sVU is disabled
The radio buttons are ifdef'd out so they don't exist.
2016-05-01 09:52:36 +00:00
FlatOutPS2
424e7d65e5 Add several XGKick hacks (#1332)
Add XGKicks for Formula One 2001-2003, World Of Outlaws and Sprint Cars
2016-04-30 21:27:22 +01:00
Gregory Hainaut
5676acaef9 glsl: support channel effect on depth texture too 2016-04-30 16:07:45 +02:00
Gregory Hainaut
e0581ee771 gsdx ogl: Finalize the urban chaos workaround
Rendering must be nice now
2016-04-30 14:52:53 +02:00
Gregory Hainaut
14e1ed06df glsl: add an HLE shader for Urban Chaos
Pro:
* Replace 140 draw calls into a single one
* No complex texture conversion/lookup
* smaller solution than a generic solution
2016-04-30 14:52:53 +02:00
Gregory Hainaut
7d191ebf8e gsdx tc: load palette for pseudo 8 bits depth
Rendering is still broken but I'm afraid it will need a dedicated shader
2016-04-30 14:52:43 +02:00
Gregory Hainaut
12b8704502 gsdx dx: disable channel shuffle 2016-04-30 14:52:43 +02:00
Gregory Hainaut
b4c7d32741 gsdx ogl: avoid to wrongly detect a channel shuffle 2016-04-30 14:52:43 +02:00
Gregory Hainaut
1011a757a8 gsdx hw: factorize redundant code 2016-04-30 14:52:43 +02:00
Gregory Hainaut
b78c772a14 gsdx: improve detection of channel shuffle
Improve rendering on Prince Of Persia (requires preload data hack)

Worth to re-test: MTGS2/3

Urban Chaos is a bit better but there still a bad overlay
2016-04-30 14:52:43 +02:00
Gregory Hainaut
2160d7da81 Merge pull request #1330 from PCSX2/gsdx-move-crc-separate-file
Gsdx move crc separate file
2016-04-30 14:33:44 +02:00
Gregory Hainaut
02dff2653a gsdx hack: sort the file
* separate Dx only/aggresive hack
* add GSC_CrashNburn and GSC_BullyCC to Dx only section
2016-04-30 12:45:06 +02:00
Gregory Hainaut
60267790a1 gsdx: move (most) of the hw hack into a separate file
GSState.cpp was really too big
2016-04-30 12:24:08 +02:00
Gregory Hainaut
7a5e1d4154 gsdx ogl: allow to use a separate texture for the channel effect 2016-04-29 17:34:17 +02:00
Gregory Hainaut
a9d25efcde gsdx ogl: extend state to support up to 8 textures 2016-04-29 17:34:17 +02:00
Gregory Hainaut
e45f90fac3 gsdx: fix a gcc warning 2016-04-29 17:34:17 +02:00
Gregory Hainaut
e195e67a48 gsdx: move Metal Gear Solid CRC to DX level
OpenGL is near perfect :)
2016-04-29 17:34:17 +02:00
Jonathan Li
35e17127af debugger: Use Bind instead of Connect for events 2016-04-29 00:16:16 +01:00
Jonathan Li
4227477fc4 ConsoleLogger: Use wxTE_NOHIDESEL style for pxLogTextCtrl
It prevents the console logger text from disappearing on Windows and we
can remove a Windows specific fix.
2016-04-29 00:15:44 +01:00
Jonathan Li
f78d1a4018 utilities: Remove wx2.8 code and uses of wxMAJOR_VERSION 2016-04-29 00:09:47 +01:00
Jonathan Li
d89043d8ac pcsx2: Remove wx2.8 code and uses of wxMAJOR_VERSION
Technically wxMAJOR_VERSION wasn't the right thing to use, but it was
good enough.
2016-04-29 00:09:47 +01:00
Gregory Hainaut
5e5069423b Merge pull request #1321 from PCSX2/gsdx-preloadcrash
GSDX: Avoid crash when TBW == 0 - Preload data frame
2016-04-28 23:06:29 +02:00
Gregory Hainaut
cb19451418 gsdx ogl: implement RT channel fetch
Fix blending of Metal Gear Solid/KillZone (and potentially other games)

Potentially impact issue #905, #594, #914, #896
2016-04-28 22:56:38 +02:00
Gregory Hainaut
c445a14c46 gsdx ogl: extend shader to lookup a single channel 2016-04-28 22:56:38 +02:00
Gregory Hainaut
eaa4fd41e2 gsdx ogl: improve logging of special effect 2016-04-28 22:56:38 +02:00
refractionpcsx2
0aa8fe0f20 GSDX: Avoid crash when TBW == 0 2016-04-28 21:36:21 +01:00
Gregory Hainaut
f946f38f26 gsdx hw: keep the debug counter in sync
Otherwise I'm screwed :p
2016-04-28 20:03:53 +02:00
Gregory Hainaut
04a578495f gsdx hw: disable channel shuffle effect
Greatly reduce memory requirement for target
MGS3 at 4x: from 2680MB to 160MB

Remove a couple of (slow) draw calls
2016-04-28 19:46:26 +02:00
Gregory Hainaut
f63e38a59e gsdx ogl: as always some games do bad stuff
Let's keep a comment for the moment. I don't know if we need to fix it, neither how.
2016-04-28 19:42:00 +02:00
Gregory Hainaut
45bfe2ad58 gsdx hw: trace some special post processing effect
* Double downscale is done in GTA
* Channel Shuffle is the top-left corner issue

So far nothing is emulated
2016-04-28 19:39:57 +02:00
Gregory Hainaut
5b04f4dab9 gsdx: add optimization note for the future 2016-04-28 18:01:21 +02:00
Gregory Hainaut
4808d89449 gsdx ogl: use enum pretty name 2016-04-28 18:01:20 +02:00
Jonathan Li
f7495c6867 ConsoleLogger: Use Bind instead of Connect 2016-04-27 23:24:17 +01:00
Jonathan Li
de6b7752d4 ConsoleLogger: Define events in a Bind compatible way
Also remove the pxEvt_LogWrite event, since that isn't used.
2016-04-27 23:24:17 +01:00
Jonathan Li
a6ba7a19b9 ConsoleLogger: Removed DockedMove
It's unused.
2016-04-27 23:24:17 +01:00
Jonathan Li
5d81fa70ff windows: Remove USBqemu from old_plugins solution
USBqemu is included in the main PCSX2_suite solution, so it doesn't need
to be in old_plugins as well.
2016-04-27 20:38:37 +01:00
Jonathan Li
91161b37dd pcsx2: Remove duplicate license blurb in BreakpointWindow.cpp 2016-04-27 20:38:08 +01:00
Jonathan Li
0de8f4a3a6 onepad: Use Bind instead of Connect
It's the recommended dynamic event binding method since wx2.9.
2016-04-27 08:59:11 +01:00
Jonathan Li
0d43de516c onepad: Remove wx2.8 compatibility code 2016-04-27 08:59:11 +01:00
Gregory Hainaut
ab31915ce9 gsdx: glsl: fix silly typo
And regression on various games
2016-04-27 09:52:35 +02:00
Gregory Hainaut
aeb92592e7 gsdx ogl: use GSUtil::GetClassVertexCount 2016-04-26 19:29:04 +02:00
Gregory Hainaut
df70b8bb0e gsdx: fix Q NaN value
Avoid potential undefined results
2016-04-26 19:09:32 +02:00
Gregory Hainaut
726b901dc5 Merge pull request #1304 from PCSX2/gsdx-faster-texture-cache
gsdx tc: reduce texture cache overhead
2016-04-26 16:46:44 +02:00
Gregory Hainaut
c7f0a85d41 Merge pull request #1306 from PCSX2/gsdx-direct-depth-sample
Gsdx direct depth sample
2016-04-26 16:46:22 +02:00
Gregory Hainaut
49d175b677 gsdx tc: allow to create a dummy Source without tons of memory allocation
It makes shared texture virtually free from the CPU PoV.
2016-04-24 22:30:56 +02:00
Gregory Hainaut
ad08701cb1 gsdx tc: trick the texture cache to use a depth format for depth texture
This way we avoid the rescaling of the depth buffer and texture allocation.
2016-04-24 22:18:26 +02:00
Gregory Hainaut
1960d51e60 gsdx tc: properly support 16 bits depth conversion 2016-04-24 22:18:26 +02:00
Gregory Hainaut
de38963904 gsdx ogl: plug the new depth sampling in the renderer
Note:
When source format is depth, integral texture coordinate must be used => depth_fmt 1/2/3
2016-04-24 22:18:26 +02:00
Gregory Hainaut
fda511a949 gsdx glsl: extend hw shader to sample depth texture
Will use integral coordinate to avoid any rescaling.

Bilinear interpolation isn't supported. I don't think it is allowed to
filter a depth texture anyway.
2016-04-24 22:18:26 +02:00
Gregory Hainaut
583de1bf0b gsdx tc: add a dedicated function to lookup a depth source
The hypothesis is that game will use a depth (aka Z32/Z24/Z16/Z16S)
format when sampling depth texture as color.  Technically one could use
a standard color format but block/pixel order won't be the same.
(otherwise I'm screwed)

=> Hypothesis invalid on GoW. They just do a scrambled rendering...

Lookup info:
* The first searched list is the depth pool as we search a depth
  texture.
* 2nd one is the render target pool (if a depth was converted to a
  render target already)

To avoid any CPU overhead, the source will be a pointer to the real texture
* Conversion (if float texture) will be done on the fly by the shader (GPU).
* Relative rescaling won't be supported. Texture must be fetched with
  integral coordinate
2016-04-24 22:18:26 +02:00
Gregory Hainaut
9ee090a36e gsdx tc: add a shareable texture flag
Plan is to bypass shader conversion/rescaling/copy for depth texture
2016-04-24 22:18:26 +02:00
Gregory Hainaut
8ec1461842 gsdx: increase the number of texture in the pool
It could slightly increase the VRAM requirement but it will reduce texture
allocation/unallocation at start/end of frame.
2016-04-24 22:14:51 +02:00
Gregory Hainaut
b4b878ac24 gsdx-ogl: add a note for a future small optimization 2016-04-24 22:14:51 +02:00
Jonathan Li
9d2cd8490c Merge pull request #1305 from adamantike/trivial-wxfont-fix
Trivial fix on wxFont style/weight usage
2016-04-24 18:43:21 +01:00
adamantike
a0eca54f96 Trivial fix on wxFont style/weight usage 2016-04-24 13:25:56 -03:00
Gregory Hainaut
da1b032793 spu2x-linux: update GUI to support a 15 ms latency 2016-04-24 11:13:28 +02:00
Gregory Hainaut
4281b8630b gsdx ogl: remove the useless shadeboost Constant Buffer 2016-04-24 11:08:14 +02:00
Gregory Hainaut
d610a6aac4 gsdx glsl: ofc forget to do the shader in bin 2016-04-24 11:07:46 +02:00
Gregory Hainaut
d027ed2092 gsdx ogl: merge GSTextureFXOGL to GSDeviceOGL
First file is rather small in openGL. And it is linked to the latter.
2016-04-24 10:55:22 +02:00
Gregory Hainaut
1558220f74 gsdx glsl: create a common header definition
* avoid duplication between all the files for UBO
* remove various interface define
2016-04-24 10:54:39 +02:00
Gregory Hainaut
8ee0783bd3 GSdx: remove useless variable 2016-04-24 10:42:03 +02:00
Gregory Hainaut
fa1377a8ee gsdx tc: reduce texture cache overhead
Cache page coverage of texture into a hash map

Test done on Champion of Norrath (paltex + DisablePartialInvalidation)

Profiler:
Self of GSTextureCache::SourceMap::Add 5.39% => 0.23%
Self of GSTextureCache::LookupSource 15.27% => 10.82%

Hard to measure on CoN as it depends on memory transfer. Seem to be 5-10 fps faster.
2016-04-23 19:22:58 +02:00
Gregory Hainaut
67e955919f gsdx: keep dump code enabled in dev release too 2016-04-23 18:29:56 +02:00
Gregory Hainaut
a149d6b26f gsdx: use psm.bpp flag to improve code reading 2016-04-23 18:29:39 +02:00
Gregory Hainaut
dd98a0b913 gsdx: add a depth format flag 2016-04-23 18:28:50 +02:00
Jonathan Li
5035c8bd48 utilities: always include wx/crt.h on Linux
The header is necessary if the wx3.0 package isn't compiled with
wx2.8 backwards compatibility.
2016-04-23 13:57:47 +01:00
Jonathan Li
dda44519c1 pcsx2|utilities: Use non-deprecated wxFont stuff 2016-04-23 13:57:42 +01:00
Gregory Hainaut
87867beb0e gsdx-ogl: remove the invalidation of texture
It doesn't help the perf and only create overhead (test done on snow engine game)
2016-04-21 21:07:17 +02:00
Gregory Hainaut
3709b5aecc gsdx: add a small comment to ease code reading 2016-04-21 09:28:44 +02:00
Gregory Hainaut
b5ec683318 gsdx-linux: remove custom resolution from the GUI
It would be replaced by a float resolution factor
2016-04-21 09:28:44 +02:00
Gregory Hainaut
821e3ff294 gsdx-ogl: reduce length of debug message 2016-04-21 09:28:44 +02:00
Gregory Hainaut
8217c717f6 gsdx-ogl: require GL_KHR_debug
Will reduce the slowdown on debug build
2016-04-21 09:28:44 +02:00
Gregory Hainaut
9598417f42 gsdx-ogl: GL_ARB_copy_image is now mandatory 2016-04-21 09:28:44 +02:00
Gregory Hainaut
99bccc6dff gsdx-ogl: remove the geometry shader blacklist for Gallium Mesa drivers 2016-04-21 09:28:44 +02:00
Gregory Hainaut
cb8088216b Merge pull request #1281 from PCSX2-Alpha/NTSC_saturation
GSDX: Remove some unnecessary/dubious hacks
2016-04-21 09:28:30 +02:00
Gregory Hainaut
59ef668fd2 Merge pull request #1222 from PCSX2/gsdx-black-fmv
Gsdx black fmv
2016-04-21 09:25:36 +02:00
Gregory Hainaut
8b247bde35 Merge pull request #1301 from clbr/master
textureSW: fix Map with offset
2016-04-20 10:05:32 +02:00
Lauri Kasanen
994c9147f5 textureSW: fix Map with offset 2016-04-19 21:22:53 +03:00
Gregory Hainaut
943e000c41 Merge pull request #1299 from PCSX2/gcc-6
x86emitter: gcc 6 compilation fix
2016-04-18 20:54:25 +02:00
Gregory Hainaut
c44f605b5e x86emitter: gcc 6 compilation fix
Fix #1297
2016-04-18 19:27:06 +02:00
Gregory Hainaut
5b68415173 cmake: add an alternate wx-config path for Fedora 24
Fix #1296
2016-04-17 17:14:51 +02:00
Catarax
0f226939aa GameDB: Burnout 2 Graphics Fix (Bright Lights in Cars) (#1293)
Remove bright lights in cars for Burnout 2 (Demo/Japanese/Second PAL release)
2016-04-14 16:53:33 +01:00
refractionpcsx2
25fb54e959 GameDB: Automatic VU Rounding to Nearest on "Gun" game. Fixes #43 2016-04-14 15:20:55 +01:00
refractionpcsx2
dcb676765e GSdx: Clean up some warning under windows (#1289) 2016-04-14 11:00:58 +01:00
Gregory Hainaut
2e567d6d55 gsdx ogl: update comment
something to test in the future
2016-04-14 10:19:18 +02:00
Gregory Hainaut
d129aedfe8 GSdx:vector: add sllv32 and srlv32 for 128 bits op
(variable shift)
2016-04-14 10:18:43 +02:00
Jonathan Li
5035e7417d Merge pull request #1239 from FlatOutPS2/master
Remove cheats file from redundant folder
2016-04-13 23:21:56 +01:00
Jonathan Li
2c02094281 Merge pull request #1290 from turtleli/remove-nulls
windows: Remove GSNull, PADNull, and CDVDNull from VS solution
2016-04-12 23:42:27 +01:00
Gregory Hainaut
8a7184be3f gsdx: fix hack logic 2016-04-12 11:36:24 +02:00
Jonathan Li
04a72381e6 windows: Remove GSNull, PADNull, and CDVDNull from VS solution
They're not really needed, and some of the exported functions don't
actually match what PCSX2 currently expects (i.e. PADgsDriverInfo,
GSgetDriverInfo).

Although it can be fixed up, it's simpler to just remove them.
2016-04-12 00:23:56 +01:00
Gregory Hainaut
6a09fa56fb gsdx: disable nocturne CRC hack
Yeah one less !
2016-04-11 22:41:19 +02:00
Gregory Hainaut
4611264ce3 gsdx: add CRC hack for Nocturne PAL
Reduce depth transfer to the real size of the game. Otherwise
we need to handle a mix of color/depth transfer.
2016-04-11 16:04:04 +02:00
refractionpcsx2
00aa07ad97 GameDB: Remove IPU hack for Klonoa 2 (J) 2016-04-11 14:29:22 +01:00
Gregory Hainaut
22a40b65ae gsdx-ogl: always use 1 for GL_UNPACK_ALIGNMENT
Avoid a gl function call for each texture uploads
2016-04-11 12:45:11 +02:00
refractionpcsx2
fdae698f07 SPU2-X: Correct project settings for devel profile. Fixes #1288 2016-04-11 01:15:07 +01:00
Jonathan Li
d158d4de51 windows: Move baseclasses to a separate project
It saves the buildbots from needlessly recompiling the files for each GSdx
configuration.
2016-04-11 00:22:31 +01:00
Gregory Hainaut
847b57907e Revert "gsdx-ogl: add a new hack to force anisotropic filtering"
This reverts commit 53690cf9d0.

Quoting user:

 For aliasing, the option allow of reduce a little but always very
 visible compared with DX11 even with anisotropic OFF, , furthermore
 many textures bug added with option activated (predictable but not see
 on DX11 with anisotropic ON).

TL;DR doesn't worth it.

Note: it seem to work on DX because DX uses HW texturing in clamp region
mode (and others invalid case). OpenGL uses SW texturing to ensure accuracy
2016-04-10 17:30:49 +02:00
Gregory Hainaut
2941adf364 gsdx ogl: use the new pipeline API
Pre build all SW shader into pipeline.

Directly bind the pipeline instead of all pipeline stages. (less work for the driver)
2016-04-10 17:28:05 +02:00
Gregory Hainaut
95e3dcb448 gsdx-ogl: improve the shader program management
* keep a reference of program/pipeline created to ease the deletion
* extend a bit the API to support multiple pipeline

Final goal will be to use a pre link pipeline for SW shaders. And uses
the default pipeline for HW shaders.
2016-04-10 17:05:33 +02:00
Gregory Hainaut
395e2f31d0 gsdx-ogl: remove dead code (due to legacy removal) 2016-04-10 14:23:58 +02:00
Gregory Hainaut
3f404c8edb gsdx-ogl: update shader pipeline intertace to use vs/gs/ps triplet
Better to have 1 function calls with 3 parameters rather 3 functions call with 1 parameter.
2016-04-10 14:14:30 +02:00
Gregory Hainaut
53690cf9d0 gsdx-ogl: add a new hack to force anisotropic filtering
By default, anisotropic filtering was disabled when textures aren't countinuous.
This hack allows to force it. It can help to reduce aliasing but it would create
unexpected effect on texture boundaries.

Again, someone ought to add the option on Windows too
2016-04-10 13:53:17 +02:00
Gregory Hainaut
9e6cb79f4e gsdx linux: move depth option as a speed hack
Someone ought to add the Windows option too (and DisablePartialInvalidation too)

It might break a couple of games but most of them run better with depth enabled.
2016-04-10 13:22:55 +02:00
Gregory Hainaut
12443da00c GSdx ogl: ouch the typo exp != exp2
Fix some rounding issue on depth effect (shadow in Dot hack games)
2016-04-10 11:31:40 +02:00
Gregory Hainaut
c2a9118186 debian: add the GSdx legacy build 2016-04-10 11:31:40 +02:00
Gregory Hainaut
7aaf36d24d gsdx ogl: add function pointer for framebuffer no attachment extension
Could be useful in the future
2016-04-10 11:31:40 +02:00
Gregory Hainaut
7cc13ce99c gsdx-ogl: only bind the FB to the draw FB 2016-04-10 11:31:40 +02:00
Gregory Hainaut
d533c393b2 gsdx ogl: rely on DSA API 2016-04-10 11:31:40 +02:00
Jonathan Li
fb97de7f79 gsdx:windows: Fix crash on psx side of plugin
I forgot it had a psx emu interface.
2016-04-09 19:56:23 +01:00
refractionpcsx2
23289c09bb Merge pull request #1285 from PCSX2-Alpha/klonoa2
GameDB: Remove IPU hack for klonoa 2
2016-04-09 16:28:09 +01:00
Akash
7c34982528 GameDB: Remove IPU hack for klonoa 2 2016-04-08 19:25:17 +05:30
Jonathan Li
5de16001e2 Merge pull request #1273 from PCSX2-Alpha/Willkuer_suggestion
Always show number of loaded widescreen hacks/cheats in console title
if the respective options are enabled (even if none are loaded).

Always print the number of loaded widescreen hacks to the console if
the option is enabled (even if none are loaded).
2016-04-07 23:38:23 +01:00
Gregory Hainaut
b9e8384c11 gsdx-ogl: move the mandatory extension into mandatory section 2016-04-07 22:29:35 +02:00
Gregory Hainaut
121e92a829 gsdx ogl: remove a now useless warning message 2016-04-07 22:28:11 +02:00
Gregory Hainaut
4475c4fe7c gsdx linux: remove the old extension options 2016-04-07 22:27:33 +02:00
Gregory Hainaut
cef76de547 gsdx ogl: GL_ARB_direct_state_access is now mandatory 2016-04-07 22:27:28 +02:00
Gregory Hainaut
a62019a3fd gsdx-ogl: found_GL_ARB_buffer_storage is now mandatory 2016-04-07 22:17:22 +02:00
Gregory Hainaut
52e3c3516d gsdx-ogl: GL_ARB_separate_shader_objects is now mandatory 2016-04-07 22:11:35 +02:00
Gregory Hainaut
f751f70b1e gsdx ogl: GL_ARB_clip_control is now mandatory 2016-04-07 21:57:54 +02:00
Gregory Hainaut
dfb4b5a339 gsdx-ogl: GL_ARB_texture_barrier is now mandatory
(GL4.5 extension)
2016-04-07 21:51:37 +02:00
Gregory Hainaut
1208dbe8c7 cmake: add an option to build the new legacy GSdx plugin
+ bump the new one to 1.1.0 (to ease reporting)
2016-04-07 21:46:42 +02:00
Gregory Hainaut
8751203986 fork GSdx into a GSdx_legacy plugin 2016-04-07 21:27:55 +02:00
Gregory Hainaut
8ccdc05c08 Merge pull request #1217 from PCSX2-Alpha/CRTC_option
GSDX : Add an option for CRTC size and some other video mode stuffs
2016-04-07 21:24:46 +02:00
Gregory Hainaut
17886a9808 gsdx-ogl: allow some accurate date when GL_ARB_shader_image_load_store isn't supported
Close #1282
2016-04-07 19:29:46 +02:00
Jonathan Li
69a84a2782 gsdx:windows: Don't call GSshutdown in GSconfigure
Fixes an issue with the D3D backends crashing if the configure dialog
is accessed and ok is pressed. The D3Dcompiler dll is freed and a null
pointer is dereferenced.

It might break gsdxgui but GSshutdown really should not be called unless
GSdx is shutting down. GSDumpGUI on Windows provides the same (or
better) functionality.
2016-04-07 18:18:36 +01:00
Akash
9ad33012ad Core: Cleanup and some changes to console messages
* Always show number of cheats/widescreen hacks loaded in console title when respective options are enabled.
* Make the placement of braces consistent
2016-04-07 15:48:49 +05:30
Akash
a1b0ae467e GSDX: Remove dubious/unnecessary hacks
* Silent Hill 2 doesn't need the CRC hack
* GSRenderer: no need to explicitly set bottom value for r.
* Texture Cache: Removed a check which couldn't possibly enter true
branch.
2016-04-07 15:15:39 +05:30
Akash
69c9a3d793 GSDX: Add an option to disable NTSC saturation
v2: convert it into a member variable.
2016-04-07 15:15:17 +05:30
Gregory Hainaut
5736b5e9eb debugger: properly init DisassemblyLineInfo
Avoid conditinal check on uninitialized value (reported by Valgrind)
2016-04-07 09:36:22 +02:00
Jonathan Li
0ab7b6340d Merge pull request #1275 from AdmiralCurtiss/memcard-plugin-switch-filter-reset
Move folder memcard filter management into the actual folder memcard class to fix #1179 and similar.
2016-04-06 23:59:36 +01:00
Jonathan Li
e16b367e6e windows: Workaround weird LoadLibraryEx failures
For some reason some Windows 7 systems (most are unaffected) cannot cope
with LoadLibraryEx and return error code 87 - "The parameter is
incorrect".

Switch to using LoadLibrary instead for any case where Windows 7 is
expected to successfully load the requested dll. Potentially Windows
Vista is also affected.
2016-04-06 19:52:59 +01:00
Gregory Hainaut
da9577076c Merge pull request #1278 from PCSX2/gsdx-EE-read-depth-support
gsdx ogl: allow to read the depth buffer
2016-04-06 12:20:16 +02:00
Akash
3dd8574e33 EE-Syscall: print log messages even without dev/verbose checked 2016-04-06 09:22:55 +05:30
Akash
af1b6f4b42 EE-Syscall: Add some missing video modes 2016-04-06 09:22:53 +05:30
Gregory Hainaut
b8a023d158 gsdx ogl: mark OGL object as final
Give the compiler more devirtualization hint
2016-04-05 00:01:43 +02:00
Gregory Hainaut
decac5fd12 gsdx ogl: implement an empty BeginScene
Compile will devirtualize it and then remove it during the inline.
2016-04-04 23:32:11 +02:00
Gregory Hainaut
cb279ef321 gsdx ogl: help compiler to devirtualize 2016-04-04 23:12:31 +02:00
Gregory Hainaut
e3787b6b3c gsdx-ogl: use final qualifier to help compiler
Improve Devirtualization optimization
2016-04-04 22:52:59 +02:00
Gregory Hainaut
771583c559 gsdx-ogl: help the compiler to propagate stride constant
Optimize various multiplication

Note: potentially we can do it with constexpr but I'm not sure of compiler support
2016-04-04 22:46:31 +02:00
Gregory Hainaut
8943a9db4a gsdx hw: GS can draw 2 frames in a single framebuffer
So let's increase the height. It will increase the memory requirement on some games

v2: try to do it automatically
(not sure it will useful as most game will requires it)
v3: let's back to an hardcoded 1280 size. It generates too much issue
2016-04-04 21:30:40 +02:00
Gregory Hainaut
063d2e568a gsdx tc: re-implement frame lookup
Try to avoid random black screen frame

v2: don't force the preload hack on the frame
It creates a ghost image over FMV

v3: support offset within a frame
2016-04-04 21:30:37 +02:00
Gregory Hainaut
eec74fd963 gsdx hw: Add an alternate draw call for FMV rendering
The long story:
Game blits FMV far aways of the RT which is actually the input of the RO texture...
Currently GSdx suffers of 2 bugs.
1/ RT is too small
2/ texture isn't properly updated with the rendered value. Texture is invalidated
but it reads back the pixels from the GS memory whereas the correct
value is located on the GPU.

This commit will replace the standard draw by a manual blit. Therefore it avoid
size issue and bad upscaling issue.

v2:
* Use various copy to be more compatible with dx api
* Move all part of the hack info the BlitFMV function

v3: add log message
2016-04-04 21:29:32 +02:00
Gregory Hainaut
72d43b2e56 gsdx tc: add an invalidation procedure to drop sub rt
It will be used in next commit. However, it might not be the best solution
2016-04-04 21:29:32 +02:00
Gregory Hainaut
2ca624c8c6 gsdx tc: implement a read function of Source texture
It will be used in the following commit
2016-04-04 21:29:31 +02:00
Gregory Hainaut
d922225e69 gsdx tc:invalidate RT when a texture is written inside it
It often happens the game try to upload the FMV directly which typically
gave a black screen.

Commit fix rules of roses and I hope various black screen FMV

Performance impact must be tested, and I'm afraid of strange texture cache behavior.

V2: check the size of the transfer too
V3: add support of 16 bits format
V4: avoid division by 0
2016-04-04 21:29:31 +02:00
Gregory Hainaut
9aea76b0e8 gsdx tc: store a hint on the target size
The hint is based on the rendering
2016-04-04 21:29:31 +02:00
Gregory Hainaut
8ee9295f39 x86emitter: increase size of union capabilities 2016-04-04 21:04:41 +02:00
Gregory Hainaut
c4ebdd1f37 gsdx ogl: allow to read the depth buffer
Unfortunately can't be tested on gs dump

Ought to impact #1276 (Incognito/Eat Sleep Play's games, Nocturne too)
2016-04-03 12:30:14 +02:00
Gregory Hainaut
00643dbdfb gsdx tc: report unsupported depth read path
Help to debug depth issue  (aka lighting effects pass through wall)
2016-04-03 11:22:11 +02:00
Gregory Hainaut
ee08a6fc53 Merge pull request #1270 from PCSX2/monolithic-build
Monolithic build
2016-04-03 11:20:07 +02:00
Gregory Hainaut
5bdadbc089 Merge pull request #1268 from PCSX2/coverity-uninitialized-members
Coverity uninitialized members
2016-04-03 11:19:37 +02:00
Admiral H. Curtiss
97a68becb9 Handle filter management in the folder memcard class rather than outside.
This prevents desync between what is assumed to be the active filter and
what is actually the active filter, fixing errors like #1179 where the
memory cards are closed and reopened for whatever reason.
2016-04-02 15:22:11 +02:00
Jonathan Li
7736c90457 gsdx:windows: Fix Windows 7 compile
Somehow D3D_COMPILE_STANDARD_FILE_INCLUDE isn't defined, so the correct
headers aren't being used.
2016-04-02 12:17:52 +01:00
Admiral H. Curtiss
3b7ba39590 Fix potential access of free'd memory when re-opening an already open folder memory card. 2016-04-02 04:03:07 +02:00
Gregory Hainaut
eec3d02737 cmake: fix prof build
It was a dev build actually...
2016-04-02 00:56:41 +02:00
Gregory Hainaut
cc1756b8e5 gsdx: disable dump in release build 2016-04-02 00:56:41 +02:00
Jonathan Li
16ef7ca5fd Merge pull request #1238 from turtleli/gsdx-use-windows-sdk
gsdx: Remove DirectX SDK dependency
2016-04-01 23:31:45 +01:00
Gregory Hainaut
b42ddba13c onepad: repopulate option at the init
CID 159402
2016-03-30 19:56:19 +02:00
Gregory Hainaut
8dee7daeb9 gsdx-ogl: init textures for all formats
CID 150171
2016-03-30 19:56:19 +02:00
Gregory Hainaut
856a12f94f gsdx-ogl: init Render object
CID 147002
2016-03-30 19:56:19 +02:00
Gregory Hainaut
a4d0c23071 gsdx: init GSCapture field
CID 159404
2016-03-30 19:56:19 +02:00
Gregory Hainaut
e96b29f84f mVU: init microRegAlloc
CID 146988
2016-03-30 19:56:19 +02:00
Gregory Hainaut
eb2c61ccc0 pcsx2: init FileMemoryCard
CID 147037
2016-03-30 19:56:19 +02:00
Gregory Hainaut
27400b0be1 pcsx2: initialize pxEvtQueue
CID 146991
2016-03-30 19:56:19 +02:00
Gregory Hainaut
cf722fdf50 pcsx2: Initialized member of SysCorePlugins
CID 147006
2016-03-30 19:56:19 +02:00
Gregory Hainaut
459aebe8bf pcsx2:gif: initialize gif unit member
CID 147032
2016-03-30 19:56:19 +02:00
Gregory Hainaut
beadc0e69b pcsx2:gif: reset field from the constructor
CID 147031
2016-03-30 19:56:19 +02:00
Gregory Hainaut
0fb249284f debugger: initialized member
CID 147003
CID 147004
2016-03-30 19:56:19 +02:00
Gregory Hainaut
791a0ce702 common: initialize scalar field of pxThread
CID 147022

v2: initialize all member in initializer list
2016-03-30 19:55:45 +02:00
Gregory Hainaut
37de84d55f x86emitter: initialize scalar field
CID:147038
2016-03-30 19:50:41 +02:00
Gregory Hainaut
1bd8113f66 cmake: add various option to disable plugin support 2016-03-30 10:19:54 +02:00
Gregory Hainaut
f010f9458b plugin: add define to select builtin plugin 2016-03-30 09:54:34 +02:00
Gregory Hainaut
3a8164ac4e plugins: add a dynamic/static loader 2016-03-30 09:42:17 +02:00
Jonathan Li
e347c8b0b1 gsdx:windows: Remove DXSDK references from property sheets
GSdx doesn't use the DirectX SDK anymore.

Also clean up the property sheets while I'm at it.
2016-03-30 00:03:04 +01:00
Jonathan Li
b243e2532b gsdx-d3d9: Remove d3dx9 stuff and use d3dcompile
Using D3DX9 requires the end user to install the Direct X redist files.

Switch to using D3DCompile.
2016-03-30 00:03:04 +01:00
Jonathan Li
2ec8d88d80 gsdx-d3d11: Remove d3dx11 stuff and use d3dcompile
Using D3DX11 requires the end user to install the DirectX redist files.

Switch to using D3DCompile, and distribute D3DCompiler_47.dll for
Windows Vista, 7 and 8 users (Windows 8.1 onwards supplies
D3DCompiler_47.dll with the OS).
2016-03-30 00:03:04 +01:00
Jonathan Li
8f4823d604 gsdx-dx: Load D3DCompiler dll at runtime
D3DCompiler_47.dll will be loaded for Windows 8.1 and above (and maybe
Windows 7 devs), D3DCompiler_43.dll will be loaded for Windows 7 and
below.
2016-03-30 00:03:04 +01:00
Jonathan Li
80b6140a3e gsdx:windows: Prefer Windows SDK over old DX SDK
Some files are present in both the Windows SDK and the old DirectX SDK.
Use the newer versions of the files in the Windows SDK where possible.
2016-03-30 00:03:04 +01:00
Jonathan Li
7f3f6e96d8 cdvdgigaherz: Use Windows SDK headers
The rosddk headers are no longer necessary and have been removed.
2016-03-29 23:51:17 +01:00
Gregory Hainaut
f1b3d7d036 Merge pull request #1200 from hoholee12/master
GameDB: Default to Positive round mode for Ed, Edd, 'n Eddy & 	GameDB: SLES-52895 and SLUS-20904 are same, and patch works.
2016-03-29 11:08:00 +02:00
Gregory Hainaut
de24ce0a8f x86emitter: miss comas here 2016-03-28 18:10:39 +02:00
Jonathan Li
cb29585e84 Merge pull request #1254 from turtleli/isoreader-layer1
cdvd:iso: Use Primary Volume Descriptor to find DVD layer break
2016-03-28 13:05:02 +01:00
Gregory Hainaut
f6ee94589f gsdx hw: OI_GSMemClear supports various frame formats
Could help #1267
2016-03-28 10:47:42 +02:00
Jonathan Li
587c0ea339 Merge pull request #1237 from turtleli/xinput
lilypad|xpad: Remove DirectX SDK dependency, support both XInput 1.3 and 1.4
2016-03-28 09:46:58 +01:00
Gregory Hainaut
a99750ae87 gsdx hw: only enable OI_GsMemClear when both depth/alpha test are disabled
Fix #1262
2016-03-26 11:28:28 +01:00
refractionpcsx2
181d8f52d5 Merge pull request #1261 from Catarax/master
GameDB: Oni (PAL-F) Black Screen Fix & Missing Oni PAL Entries
2016-03-25 17:12:18 +00:00
Gregory Hainaut
261ef9ab6a gsdx: move some DBZGT hacks to Dx level
Based on this thread:

http://forums.pcsx2.net/Thread-Dragon-Ball-Z-Budokai-Tenkaichi-3-Graphical-Issue-Emulator-does-not-render-outlines
2016-03-25 08:23:50 +01:00
Gregory Hainaut
8ca212d142 linux: example how to use clang tidy 2016-03-25 08:23:50 +01:00
Gregory Hainaut
791a14bec0 gsdx linux: add a gui box to select the png compression level 2016-03-25 08:23:50 +01:00
Jonathan Li
a80a7175f3 xpad: Use the Windows SDK and remove unneeded dependencies 2016-03-23 19:12:44 +00:00
Jonathan Li
13bb7cf30a xpad: Support both XInput 1.3 and 1.4 2016-03-23 19:12:43 +00:00
Catarax
b866055264 GameDB: Oni (PAL-F) Black Screen Fix & Missing Oni PAL Entries
The french version of Oni will be playable, no more stuck in a black screen after the intro videos. Added also the PAL-S and PAL-I Oni entries to the list.
2016-03-22 15:39:51 +01:00
refractionpcsx2
c163b845eb Merge pull request #1260 from Catarax/master
GameDB: Tony Hawk's Games Crash and Graphics Fix & Jak X Boot Fix
2016-03-22 12:33:54 +00:00
Catarax
3f9ea4fc79 GameDB: Tony Hawk's Games Crash and Graphics Fix & Jak X Black Screen Patch
Set VU0/1 to Nearest by default in order to fix the graphics and avoid a PCSX2 crash to Tony Hawk's games. Corrected the name of a Tony Hawk's Underground (PAL) release. And Jak X (PAL/NTSC) will now boot correclty, avoiding a black screen by default.
2016-03-22 12:41:13 +01:00
Gregory Hainaut
93067ee30f Merge pull request #1258 from orbea/master
MAN_DIR added
2016-03-22 00:04:44 +01:00
Gregory Hainaut
205b496d5c gsdx: fix gl recording regression 2016-03-21 18:52:26 +01:00
Gregory Hainaut
8e5e770fd1 gsdx hw: Ensure GS memory is always cleared properly
It will fix some issues on FMV

Previous behavior can be restored with the hack "UserHacks_DisableGsMemClear"

Fix #768
And maybe #855
2016-03-21 18:26:22 +01:00
refractionpcsx2
c87e4a4582 Merge pull request #1255 from Catarax/master
GameDB: Tony Hawk's Proving Ground PAL Crash & Graphics Fix
2016-03-21 09:06:43 +00:00
orbea
72699bc988 MAN_DIR added 2016-03-20 23:02:59 -07:00
Catarax
c59406e9e4 GameDB: Tony Hawk's Pro Skater 2003 Crash & Graphics Fix
Set VU0/1 to Nearest by default in order to fix the graphics and avoid a PCSX2 crash (the game is Tony Hawk's Pro Skater 4 in japanese)
2016-03-21 02:40:38 +01:00
Catarax
9f8e4bcef4 GameDB: Tony Hawk's Project 8 PAL Crash & Graphics Fix
Set VU0/1 to Nearest by default in order to fix the graphics and avoid a PCSX2 crash (like other Tony Hawk's episodes made by Neversoft)
2016-03-21 02:27:51 +01:00
Catarax
722448c97b GameDB: Fixed Region Info of SLES-51721 2016-03-20 23:47:22 +01:00
Catarax
007c46eedd GameDB: Tony Hawk's Proving Ground PAL Crash & Graphics Fix
Set VU0/1 to Nearest by default in order to fix the graphics and avoid a PCSX2 crash (like other Tony Hawk's episodes made by Neversoft)
2016-03-20 23:44:03 +01:00
Jonathan Li
5d303c793b cdvd:iso: Use Volume Descriptor to find layer break
The DVD layer 0 sector count is stored in the Volume Space Size field of
the Primary Volume Descriptor on DVD layer 0. This value is the same as
the total sector count for a single layer DVD and the first layer 1 LSN
of a dual layer DVD.

Let's use that to determine the layer 1 start LSN instead of using the
brute force approach. Since this approach is much faster than the
previous approach, the layer break is no longer cached.
2016-03-20 21:42:35 +00:00
refractionpcsx2
6649f43069 VIF: Only delay MSCAL - Fixes #1218 Downhill Domination and Twisted Metal Head-On. Snowblind games still fine 2016-03-20 17:18:17 +00:00
Gregory Hainaut
c43b1ac201 gsdx tc: extend the fast invalidation hack to limit the size of target read
It actually removes the previous hack that read the full target.

Unfortunately snowblind engine game uses big target so the read is very big too (1280x448)
which is killer for the perf. Whereas the game requires only 24x12 texels

Give a 2x speed boost on Champion of Norrath !!!
2016-03-20 18:11:44 +01:00
refractionpcsx2
be34b963e9 Merge pull request #1252 from Catarax/master
GameDB: Various Graphics Fix
2016-03-20 17:06:37 +00:00
Catarax
3f67fac085 GameDB: Tony Hawk's American Wasteland PAL Crash & Graphics Fix
Set VU0/1 to Nearest by default in order to fix the graphics and avoid a PCSX2 crash (like other Tony Hawk's episodes made by Neversoft)
2016-03-20 17:34:32 +01:00
Catarax
ade2c23fb5 GameDB: Tony Hawk's Downhill Jam NTSC Graphics Fix (SLUS-21456)
Set VU0/1 to Nearest by default to Tony Hawk's Downhill Jam in order to fix the graphics (like other Tony Hawk's episodes using the engine by Neversoft).
2016-03-20 17:31:22 +01:00
Catarax
e344ec46a5 GameDB: Tony Hawk's Project 8 NTSC Graphics Fix (SLUS-21444)
Set VU0/1 to Nearest by default to Tony Hawk's Project 8 in order to fix the graphics (like other Tony Hawk's episodes using the engine by Neversoft).
2016-03-20 17:28:57 +01:00
Catarax
0fdaf659d6 GameDB: Tony Hawk's Proving Ground NTSC Graphics Fix (SLUS-21616)
Set VU0/1 to Nearest by default to Tony Hawk's Proving Ground in order to fix the graphics (like other Tony Hawk's episodes using the engine by Neversoft).
2016-03-20 17:25:04 +01:00
Catarax
d998ca2f0f GameDB: Burnout 2 PAL Graphics Fix (SLES-51044)
VU0/1 set to "Negative" by default to the SLES-51044 release, this fix is already used in the SLUS-20497 release on GameDB.
2016-03-20 17:19:58 +01:00
Catarax
d4b79754ad GameDB: Disney's Extreme Skate Adventure Graphics Fix (SLES-51721)
VU0/1 set to "Nearest" by default to the SLES-51721 release, this fix is already done in the SLES-51721 release.
2016-03-20 17:10:02 +01:00
Gregory Hainaut
46ff5dccff gsdx: be debug friendly 2016-03-20 16:15:00 +01:00
Gregory Hainaut
a83b8d62ec gsdx linux: add a gui checkbox for the "fast texture invalidation" hack 2016-03-20 13:59:24 +01:00
Gregory Hainaut
7eb242d3ad gsdx-ogl: remove the ogl_texture_storage option
The previous commits make PBO faster for all drivers.
2016-03-19 01:00:52 +01:00
Gregory Hainaut
68aa182b16 gsdx-ogl: sort the texture upload code
I wanted to do a separate path for palette texture. So far, it isn't very
conclusive.
2016-03-19 00:58:58 +01:00
Gregory Hainaut
46a4d2dc47 gsdx-tc: add UserHacks_DisablePartialInvalidation for snowblind engine game
Games uses very special texture with a lots of repeating.

It is much faster to send the full texture rather than trying to partially invalidate it.

On my gs dump:
FPS: 29 => 68 !
2016-03-19 00:25:58 +01:00
Gregory Hainaut
eb69522641 gsdx-ogl: optimize texture memory upload
Previous code was
1/ unpack texture into local buffer
2/ copy local buffer into gl buffer
3/ copy gl buffer to texture

New code is
1/ unpact texture directly into gl buffer
2/ copy gl buffer to texture

Perf increase (done in native)
DQ8:   255 -> 270 (+5%)
Colin: 126 -> 135 (+8%)
ZoE:   50  -> 54  (+8%)
2016-03-18 20:24:42 +01:00
Gregory Hainaut
da741e294e gsdx-ogl: optimize GPU->CPU memory transfer size
Might help for snow engine game (a little)

Previous code use to read the full texture whereas now it will be limited
to the size of the useful data.
2016-03-18 20:24:42 +01:00
FlatOutPS2
adb17bb071 Remove cheats file from redundant folder
Persona 4 cheats file and the cheats folder a redundant, as the
installer doesn't use this folder, but creates a seperate cheats folder
in My Documents/PCSX2 and the Binary release creates a cheats folder the
first time you start up PCSX2.
2016-03-18 15:38:35 +01:00
Jonathan Li
02ea7d390c lilypad:windows: Switch to includes from Windows SDK 2016-03-17 23:58:19 +00:00
Jonathan Li
834652922a lilypad:windows:xinput: Only support 1.3 and 1.4
1.3 is used on Vista and 7, so we don't need earlier versions.
2016-03-17 23:58:18 +00:00
Jonathan Li
490cb757bf lilypad:windows: Clean up property mess
I probably should have used property sheets as well, but it's still a
good improvement. It does cut down quite a few 64-bit warnings.
2016-03-16 20:54:54 +00:00
Jonathan Li
e760a9566a windows: Move EmbeddedImage.h to utilities project file 2016-03-16 20:41:21 +00:00
Jonathan Li
a487aaf952 Merge pull request #1232 from turtleli/nonxp-toolkit
windows: Switch to Non-XP compatible toolkits
2016-03-16 20:34:27 +00:00
Jonathan Li
c829826870 Merge pull request #1231 from turtleli/cdvd-fixes
cdvdgigaherz: Dual layer DVD fixes
2016-03-16 19:55:20 +00:00
Jonathan Li
bfbc6de7b5 cdvdgigaherz: Fix Dual layer DVD layer 1 read
ReadFile reports that the DVD is reading from the end of file when
attempting to read any layer 1 sectors.

Use the FSCTL_ALLOW_EXTENDED_DASD_IO ioctl to prevent the file system
driver from carrying out boundary checks.
2016-03-16 17:55:27 +00:00
Jonathan Li
2213564977 cdvdgigaherz: Fix TOC creation
cdvdgigaherz only determines whether there is no disc, a CD, a single
layer DVD or dual layer DVD in the drive. It does not detect whether a
CD/DVD is a PS2 CD/DVD or not.

Fix the missing TOCs.
2016-03-16 17:55:26 +00:00
Jonathan Li
9e2f309e30 cdvdgigaherz: Fix incorrect dual-layer DVD track info
Single-session DVDs only have 1 track, regardless of whether the DVD is
single or dual layered.
2016-03-16 17:55:19 +00:00
Gregory Hainaut
ba458c1391 Merge pull request #1209 from rz5/master
Exclude 'PCSX2-linux.sh' from Windows builds.
2016-03-16 14:16:19 +01:00
Jonathan Li
643db78cc4 cdvdgigaherz: Fix last resort DVD size calculations
The calculated size values were off by one for single layer DVDs, off by
two for dual layer PTP DVDs, and just wrong for OTP DVDs.

Usually the IOCTL_DISK_GET_LENGTH_INFO ioctl will have succeeded already.
2016-03-15 23:20:06 +00:00
Jonathan Li
41986f4307 cdvdgigaherz: Remove unneeded IOCTL_DVD_READ_STRUCTURE ioctls
Only 1 IOCTL_DVD_READ_STRUCTURE ioctl call is necessary for determining
the DVD media type and layer break address. All the necessary
information is already present in the layer 0 physical descriptor.
2016-03-15 23:19:10 +00:00
rz5
0b3542a573 Move linux file to linux-various to avoid including it in win builds.
Changed the condition around for sake of ease of reading.
2016-03-15 21:47:11 +00:00
Gregory Hainaut
0ef8ddb2a2 Merge pull request #924 from kust2708/onepad-gui
Onepad GUI for Linux - New wxWidget interface
2016-03-15 20:23:44 +01:00
Jonathan Li
7292955600 cdvdgigaherz: Fix sector address endian issue
The sector addresses returned when reading the layer information from a
DVD are big-endian. Convert the addresses to little endian.
2016-03-15 17:34:36 +00:00
Jonathan Li
5db0d682b8 cdvdgigaherz: Fix detection typo 2016-03-15 17:34:35 +00:00
Jonathan Li
d07076b9d4 cdvdgigaherz: Dual layer DVD type/layer 1 start LSN fixes
For dual layer DVDs, CDVDgetDualInfo() should return the first layer 1
LSN, not the last layer 0 LSN, which is what GetLayerBreakAddress()
returns. This matches what the internal ISO reader returns.

Also, PTP DVDs should return a value of 1 for the media type, not 2.

Finally, adjust the CDVDgetDualInfo() return value so PCSX2 correctly
recognises dual layer DVDs.
2016-03-15 17:28:43 +00:00
Akash
9b0ecdf43f GSDX-OGL: gray out MSAA on opengl renderer
It's currently unimplemented on OpenGL renderer.
2016-03-14 18:38:40 +05:30
Jonathan Li
b516c1001a windows: Set _WIN32_WINNT to 0x0600 (Windows Vista) 2016-03-13 13:41:16 +00:00
Jonathan Li
9ed9b2d8cd windows: Switch to DefaultPlatformToolset aka non-XP toolsets
Basically I ran
find . -name "*.vcxproj" -exec sed -i -e 's/_xp//' {} \;

This will likely break XP, but it paves the way on Windows for a PCSX2
that does not require the DirectX redistributables to be installed for
Windows 8, 8.1 and 10 users. Windows Vista and 7 users will still require
the DirectX redistributable files for XInput and XAudio, though PCSX2
should still be capable of running if a user does not actually use either
of them.
2016-03-13 12:04:28 +00:00
Gregory Hainaut
4ff1f31ecd i10n: add fr mo files 2016-03-12 16:15:48 +01:00
Gregory Hainaut
653998e005 gsdx: add vertex data offset in comment
Avoid to recompute them every time I want to decode the vertex stream
2016-03-12 15:53:38 +01:00
Gregory Hainaut
de7d127c52 gsdx-ogl: create a small macro to load function pointers 2016-03-12 15:52:36 +01:00
Gregory Hainaut
95ef4e20f8 gsdx-ogl: load GL_ARB_viewport_array function pointer for the future 2016-03-12 15:52:36 +01:00
Gregory Hainaut
56c2e94daf gsdx-ogl: sort extension requirement
All GL4 extensions supported by DX10 class GPU will be soon mandatory

Namely:
* GL_ARB_copy_image
* GL_ARB_texture_barrier
* GL_ARB_clip_control
* GL_ARB_direct_state_access
* GL_ARB_separate_shader_objects
* GL_ARB_buffer_storage
2016-03-12 15:52:36 +01:00
Gregory Hainaut
01b7f1ae18 Merge pull request #1230 from TotalCaesar659/master
Adding russian translation for the pop-up comment
2016-03-12 15:42:31 +01:00
Gregory Hainaut
a3788c4e98 Merge pull request #1225 from PCSX2-Alpha/scaling_fix
GSDX: set a safe limit to Framebuffer width
2016-03-12 15:42:18 +01:00
ramapcsx2
e7581f4e15 Merge pull request #1229 from FlatOutPS2/master
GameDB: Adding VU XGKick hack game fix for WRC II Extreme
2016-03-12 11:40:31 +01:00
TotalCaesar659
b508a07d74 Merge pull request #1 from TotalCaesar659/TotalCaesar659-patch-1
Update PCSX2.desktop.in
2016-03-12 01:01:33 +03:00
TotalCaesar659
afa375f220 Update PCSX2.desktop.in 2016-03-12 00:21:57 +03:00
Akash
997f0535f5 GSDX: Set a safe limit to Framebuffer width
There are likely few games (RE4) which constantly change the FBW register value causing the framebuffer width to be updated at every interval. Adding a safe limit (512) similar to frame buffer height would prevent such constant changes of the framebuffer width when FBW changes once again to an even lower value.
2016-03-11 07:28:05 +05:30
Gregory Hainaut
d378021dee Merge pull request #1221 from piorrro33/master
Big French translation update
2016-03-10 20:28:41 +01:00
Gregory Hainaut
ec57f1305a gsdx: detect rendering outside of the framebuffer
Could help to detect rendering issue (for example missing fmv)
2016-03-10 19:03:39 +01:00
Gregory Hainaut
bc73195193 gsdx-ogl: pack more tightly the FS UBO
Merge TA vec2 + Af vec1 into a single vec4
2016-03-10 18:29:05 +01:00
FlatOutPS2
696d95b112 Renaming WRC to appropriate abbreviations 2016-03-10 17:33:21 +01:00
FlatOutPS2
0b10ea6e36 Added XGKick hack game fix to GameIndex file 2016-03-10 16:29:29 +01:00
Jonathan Li
3e278a2e75 Merge pull request #1197 from turtleli/gsdx-png
Gsdx: PNG screenshots (Windows), use libpng directly
2016-03-08 23:49:56 +00:00
refractionpcsx2
236e5fcf9d Merge pull request #1226 from PCSX2-Alpha/GameDB_once_again
GameDB: Remove some unnecessary old patches
2016-03-08 09:59:03 +00:00
Akash
8e83564ce9 GameDB: Remove some old patches 2016-03-08 15:11:51 +05:30
refractionpcsx2
dadbebd3ea Merge pull request #1223 from PCSX2-Alpha/Game_DB
GameDB: Add Prafull's Gamefix patches
2016-03-07 16:41:40 +00:00
Akash
88900ed0d5 GameDB: Add Prafull's Gamefix patches 2016-03-07 00:14:20 +05:30
Gregory Hainaut
7b8616ac7b gsdx-ogl: add function pointer for query object 2016-03-06 13:39:24 +01:00
Jonathan Li
5abacd3667 Merge pull request #1205 from NZJenkins/Delay-bp-conditions
Check delay breakpoint conditions
2016-03-04 18:16:08 +00:00
Jonathan Li
34ea33f237 ci: Fix Travis CI 32-bit builds
Build broke because Chrome is now 64-bit only. We don't use Chrome
anyway, so let's just delete the Chrome repository list.
2016-03-04 00:12:47 +00:00
NZJenkins
ba706b6dab Check delay breakpoint condition
isBreakpointNeeded returns if breakpoints are needed for any combination
of the current pc and delay slot.
dynarecCheckBreakpoint checks conditions for each breakpoint slot.
2016-03-04 11:26:37 +13:00
Jonathan Li
6b950d0408 gsdx: Allow dump and capture PNG compression to be changed
Valid values for png_compression_level are from 0 (no compression) to 9
(max compression). The default is 1.

v2: Use zlib Z_BEST_SPEED (1) and Z_BEST_COMPRESSION (9) defines.
2016-03-02 22:58:45 +00:00
Jonathan Li
a97cbf038c gsdx-d3d9: Save screenshots as PNG files
v2: Avoid unnecessary memory copy
2016-03-02 22:57:17 +00:00
Jonathan Li
d865efceb9 gsdx-d3d11: Save screenshots as PNG files 2016-03-02 22:57:16 +00:00
Jonathan Li
cf939620ea gsdx-ogl: Save depth image as RGB and alpha images 2016-03-02 22:57:16 +00:00
Jonathan Li
aa3f4c74dc GSDumpGUI: Add png image display support 2016-03-02 22:57:15 +00:00
Jonathan Li
97215008c9 ci|cmake|debian: Remove png++ build dependencies
GSdx now uses libpng directly. png++ is now unused, so let's remove it.
2016-03-02 22:57:15 +00:00
Jonathan Li
ee5861efc8 gsdx: Remove non-PNG code
It's no longer in use.
2016-03-02 22:57:12 +00:00
Jonathan Li
38edd77034 gsdx-ogl:windows: Save screenshots as PNG files
v2: Add zlib directory to property sheet
2016-03-02 22:52:08 +00:00
Jonathan Li
87dcfbc645 gsdx-png: Use libpng directly instead of via png++
v2: Increase compression to maximum
v3: Add zlib to GSdx build dependencies
v4: Reduce memory usage
2016-03-02 22:48:54 +00:00
Gregory Hainaut
edef3ad8c3 Merge pull request #1170 from PCSX2-Alpha/TC_Scaling
GSDX: Detect RT size based on display and frame registers.
2016-03-02 13:51:28 +01:00
yop yop yop
af01e95164 added comment 2016-03-02 20:36:51 +09:00
Gregory Hainaut
883963232f Merge pull request #1211 from PCSX2/atomix-fetch-correction
Core|Common: restore old interlocked add/sub behavior
2016-02-29 22:29:54 +01:00
Gregory Hainaut
3d5c1b4ef8 Core|Common: restore old interlocked add/sub behavior
interlocked* returns the new value whereas fetch_add/sub returns the old value.
2016-02-29 21:43:56 +01:00
Gregory Hainaut
4b00ec9d4f Merge pull request #1210 from IlDucci/master
Updating Spanish Translation
2016-02-29 19:27:53 +01:00
IlDucci
2e3a7386e9 Updating Spanish Translation
Updated Spanish translation with latest changes.
2016-02-28 22:52:19 +01:00
Gregory Hainaut
e57a75ac55 Merge pull request #1202 from PCSX2/atomic-v2
Atomic v2
2016-02-28 22:08:29 +01:00
Gregory Hainaut
610bf8a277 Common: delete most of the deprecated atomic API 2016-02-28 15:29:31 +01:00
Gregory Hainaut
5ca92ecd67 Common: port code to std::atomic 2016-02-28 15:29:31 +01:00
Gregory Hainaut
ca8955daf3 MTVU: port ScopedLockBool to std::atomic 2016-02-28 15:29:31 +01:00
Gregory Hainaut
3a4787dd98 MTVU: partially port code to MTVU
Remains volatize as MTGS and the ScopedLockBool stuff
2016-02-28 15:29:31 +01:00
Gregory Hainaut
40b1a3996a VU: port BaseVUmicroCPU to std::atomic 2016-02-28 15:29:31 +01:00
Gregory Hainaut
8555a87380 GS.h: use std::atomic 2016-02-28 15:29:31 +01:00
Gregory Hainaut
5a84a0d8d2 MTGS: port to std::atomic
Except the ring pointers m_ReadPos/m_WritePos because it requires
memory access optimization
2016-02-28 15:29:31 +01:00
Gregory Hainaut
410922a943 Deci2: port to std::atomic 2016-02-28 15:29:31 +01:00
Gregory Hainaut
3a9bd90a3b Gif: port code to std::atomic 2016-02-28 15:29:31 +01:00
Gregory Hainaut
92078b1c58 System: port to std::atomic
v2: use an explicit int type for clang
// multiple conversions from switch condition type
// 'std::atomic<ExecutionMode>' to an integral or enumeration type

v3/v4: use .load to read variable (clang 3.7)
v5: add back 'std::atomic<ExecutionMode>' now that .load is used everywhere
2016-02-28 15:29:00 +01:00
Gregory Hainaut
34826c9506 PluginManager: port to std::atomic 2016-02-28 15:29:00 +01:00
Gregory Hainaut
97cc468509 gui: use std::atomic bool to manage the gui
V2: Don't use 64 bits atomic (I'm not sure it is legal on 32 bits)
Note: Clang-3.7 fails to link
2016-02-28 15:29:00 +01:00
Gregory Hainaut
e5d4f2c24f EE: use std::atomic<bool> for reset variable 2016-02-28 15:29:00 +01:00
Gregory Hainaut
60fe26ff2f common:threading: Port NonblockingMutex to std::atomic_flag 2016-02-28 15:29:00 +01:00
Gregory Hainaut
89fad4d3ad common: port ScopedPtrMT to std::atomic
v2: s/NULL/nullptr/
v3: tentative fix for MSVC
// ScopedPtrMT.h(91, 0): error C2593: 'operator ==' is ambiguous
2016-02-28 15:29:00 +01:00
Gregory Hainaut
db379ad7b5 Merge pull request #1206 from pgert/master
Update & Improvements of Swedish GUI-translation.
2016-02-28 15:21:50 +01:00
Jonathan Li
2d4e2fb8cb windows: spu2-x does not use the emitter
So let's not specify it as a build dependency.

Also remove some unnecessary manual library linkage and remove the
wsWidgets GUI property sheet, which does nothing useful.
2016-02-28 11:08:08 +00:00
Jonathan Li
66050db322 3rdparty: add zlib project reference to libpng
It was missing.
2016-02-28 03:09:19 +00:00
Jonathan Li
bfeb3e801a gsnull: Remove GSsetWindowInfo
PCSX2 doesn't actually use it.

GSnull also seems a bit behind the current GS plugin API - perhaps it
should be removed.
2016-02-28 02:45:59 +00:00
Jonathan Li
6c7cfe9e4d xpad: Change to Unicode project and remove unused headers
Also remove an unnecessary ASSERT define, and delete the copy
constructors.
2016-02-28 02:45:10 +00:00
kust2708
de5f7f70e2 OnePad: Fix multi-gamepad support
Can change the number of gamepad with the constant GAMEPAD_NUMBER in the onepad.h file
2016-02-27 22:11:08 +01:00
kust2708
0b0e2a3f34 Onepad : Fix compilation with wx2.8
Feedback fix, when more than two gamepad are used simultaneously.
Change all 'this->' by 'm_'
fix on the hack sixaxis pressure
Modification of the size (1000x760 -> 1000x730)
2016-02-27 21:45:37 +01:00
kust2708
02b5d80bb9 Onepad : Modification for the new background
Add new checkbox for the hack ds3 pressure
2016-02-27 21:45:37 +01:00
kust2708
0e602ab50b OnePad : Add set all buttons + fix bug
Can set all buttons. Buttons labels are not printed correctly in spite of update and refresh
The cause of this problem come from the while in the config_key function which monopolise ressources

Add arrow pictures implementation

OnePad : bug fixed (assert failure)
Modification of copyright
2016-02-27 21:44:58 +01:00
Pierre GRASSER
e98eedb16a Big French translation update 2016-02-27 13:47:51 +01:00
pgert
72a5425c3c Update & Improvements of Swedish GUI-translation. 2016-02-26 23:00:41 +01:00
Jonathan Li
234bf8af34 3rdparty: wxWidgets: Remove WS_POPUP style from ShowFullScreen
WS_POPUP causes fullscreen tearing when using OpenGL and the GSPanel
rendering area exactly covers the full screen. (always affects stretch
mode, but most people have 16:9 monitors, so in general the widescreen
16:9 mode is also affected).

Fixes #1075
2016-02-25 23:52:32 +00:00
Jonathan Li
85489d05e0 lilypad:windows: Set Unicode in project file instead
Also move the DirectInput define.
2016-02-25 23:36:11 +00:00
Jonathan Li
6fa7a8989c lilypad:windows: LoadLibrary is not required for Raw Input
It's been available since XP and it's not special like XInput (where we
might have SCP in the middle) so let's have the linker resolve the
functions at link time.
2016-02-25 23:36:11 +00:00
Jonathan Li
fd8c762772 lilypad: Fix gcc strict-aliasing warning
The fixme I added was likely wrong. Not sure what I was thinking.
2016-02-25 23:36:11 +00:00
yop yop yop
3d38cdb609 GameDB: SLES-52895 and SLUS-20904 are same, and patch works. 2016-02-25 16:14:32 +09:00
Jonathan Li
1103f9046a Merge pull request #1201 from PCSX2-Alpha/minor_changes
PCSX2-WX: Minor changes to core panels/dialog
2016-02-24 19:59:40 +00:00
Akash
b07b06a9fb GSDX-Texture Cache: Rework scaling function
The following patch uses the height value of the display rectangle rather than make an estimation of the Frame buffer height when the game uses a non-referenceable height (or) width.
2016-02-24 09:14:01 +05:30
Gregory Hainaut
cb776d2f50 gsdx:atomic: better match the old if(!_interlockedbittestandset(&m_mapped, 0)) behavior
Thanks @turtleli
2016-02-23 18:43:44 +01:00
Akash
e1febf7ec1 EE/VU Panel: Remove unnecessary code
Removed some unneeded explicit calls of the enable function and also corrected the placement of braces on a function. ( do note that only the specific function at the file used a different placement of the braces)

Also fix the grayout behavior of SuperVU recompiler option when DISABLE_SVU is defined. (thanks to turtleli)
2016-02-23 17:51:20 +05:30
Akash
35f599833c EE-Panel: gray out EE Cache when recompiler is set 2016-02-23 17:51:12 +05:30
Gregory Hainaut
c0e58e48ae Merge pull request #467 from PCSX2/atomic
Replace volatile with real atomic
2016-02-22 21:20:03 +01:00
Gregory Hainaut
f9b4ff17a5 gsdx: drop interlocked* function on linux 2016-02-22 19:12:50 +01:00
Gregory Hainaut
a601991f91 gsdx: add atomic for transaction scope object 2016-02-22 19:12:50 +01:00
Gregory Hainaut
f904cd6c4a gsdx: add atomic for SW Renderer
V2: fix assertion
2016-02-22 19:12:37 +01:00
NZJenkins
729218ec4b debugger: Fix opcode lookup crash 2016-02-21 22:39:29 +00:00
Gregory Hainaut
9bbb0fe1f6 gsdx: add atomic for texture upload
V2: fix init of atomic flag object
2016-02-21 18:17:53 +01:00
Gregory Hainaut
1db5e0c0bf cmake: create a prof build type
It is the same as a release build but with the debug symbol and the
frame pointer.
2016-02-21 16:24:47 +01:00
Gregory Hainaut
a66c911fed cmake: factorize debug/dev define 2016-02-21 16:17:10 +01:00
Gregory Hainaut
8987ca61a1 cmake: Og for debug build + extra debug information (ggdb3)
GSdx is utterly slow on debug build. -Og enable a couple of debugger-friendly optimization.
2016-02-21 16:05:00 +01:00
Akash
ef9b8b792f About Box: Fix a very minor typo 2016-02-21 17:45:23 +05:30
Gregory Hainaut
1e018d8a8a i10n: refresh POT
Add the new VU gamefix string
2016-02-21 11:55:20 +01:00
Gregory Hainaut
9ba470fc63 gsdx-ogl: properly handle t_float in GS
f8c442cf76 misses the swap of t_float in GS

Fix regression in Okami

Bonus: factorize VS_WILDHACK in the VS
2016-02-21 11:48:30 +01:00
Gregory Hainaut
d53ed5bbee i10n: update pre-build mo 2016-02-21 11:37:15 +01:00
yop yop yop
a788173534 GameDB: Default to Positive round mode for Ed, Edd, 'n Eddy 2016-02-21 16:51:44 +09:00
ramapcsx2
eee10a10d8 Merge pull request #1192 from battletoast/master
Update german translation
2016-02-20 15:49:54 +01:00
Gregory Hainaut
bef8447447 Merge pull request #1186 from PCSX2/gsdx-unoptimize-vs
gsdx-ogl: make VS more generic
2016-02-20 10:39:19 +01:00
Gregory Hainaut
6002719c8c Merge pull request #1185 from PCSX2/tekken5-fast-depth
gsdx: no depth lookup optimization
2016-02-20 10:24:21 +01:00
Gregory Hainaut
f569606475 Merge pull request #1184 from PCSX2/invert-unsafe-fbmask-option
gsdx-ogl: invert behavior of unsafe user hack
2016-02-20 10:09:39 +01:00
Gregory Hainaut
e3867ffa41 Merge pull request #1193 from piorrro33/master
French localization update, 2nd try
2016-02-19 16:28:33 +01:00
Pierre GRASSER
5b5655c989 French translation update (100% complete)
Pretty big translation update. It is now 100% complete, but I'll go on using it to see if I forgot some things.

Pretty big translation update. It is now 100% complete, but I'll go on using it to see if I forgot some things.

Localization update #2

3rd edit (and the last, hopefully)

4th edit

5th edit (the last, for sure)

Fixed a string that was too long and didn't fit

 This is a combination of 2 commits.
2016-02-19 13:10:14 +01:00
battletoast
fe45975f43 Update pcsx2_Iconized.po 2016-02-18 21:21:41 +01:00
Gregory Hainaut
1853d0d16d gsdx: no depth lookup optimization
Don't lookup a depth buffer if depth test is always pass without write

Boost performance on Tekken5 when depth emulation is enabled in openGL
(Tekken5 sets same address for both the RT and the depth but depth is disabled)

v2:
Keep ds if DATE is enabled (some implementation uses a stencil buffer)
Be more aggressive to avoid an useless depth lookup
2016-02-18 20:35:50 +01:00
Gregory Hainaut
8637516565 linux: fix the \n handling 2016-02-18 19:02:16 +01:00
Gregory Hainaut
f8c442cf76 gsdx-ogl: make VS more generic
Texture coordinate could be dummy/float/int integral/int normalized.

Old behavior:
* VS was in charge to select the texture coordinate
* int integral format wasn't supported

New behavior:
* Always compute all formats
* FS will be in charge to select the good format

Impact:
* VS will be slightly slower but it reduces shaders permutation from
   little to 0 (won't be bad for CPU)
* FS speed isn't impacted as 2 separate code paths were already required
  to support both format
* Rasterizer will be 33% slower but unlikely to be the limited factor of
  the GPU
* In future we could directly use the integral format in the FS.

V2: remove useless PSin_t
2016-02-18 19:02:05 +01:00
Gregory Hainaut
0dadc124d3 gsdx-ogl: invert behavior of unsafe user hack
It would be on by default. Unsafe & fast path.

The hack is a security if someone encounters any issue

v2: update Windows gui file
v3: fix typo in tooltip and linux gui
2016-02-18 18:48:13 +01:00
Gregory Hainaut
1e549b0ab4 Merge pull request #1190 from piorrro33/patch-2
Typo correction #2
2016-02-18 14:36:40 +01:00
Pierre "Piorrro" GRASSER
30d1c0e0b5 Typo correction #2
I forgot to edit the other strings, last time.
2016-02-18 13:49:56 +01:00
refractionpcsx2
44e6445180 Merge pull request #1183 from netoale/patch-1
GSDX: Add The Simpsons Game (F) CRC to GSCrc.cpp
2016-02-17 11:12:14 +00:00
netoale
b910e20413 Update GSCrc.cpp
added french version of Simpsons The Game 0x5C1EBF61
2016-02-15 21:56:53 +01:00
refractionpcsx2
909584d473 GSDX: Disable Nvidia hack when in native res 2016-02-15 20:27:51 +00:00
Jonathan Li
aff75131e4 gui: Fix console log source menu item behaviour
Fixes an issue where the Enable all/Disable all/Restore Default menu
items in the Console Log Sources menu do not immediately enable/disable
CDVD log output.
2016-02-15 20:05:17 +00:00
Jonathan Li
999166fa58 lilypad: Fix some gcc and clang warnings
Fixes writable-strings, missing-braces, and undefined-inline warnings.
2016-02-14 22:25:17 +00:00
Jonathan Li
2b558a9606 lilypad: Make command/response debug output portable
It also makes the log viewable in Windows Notepad.

Also fix an off-by-one and fix the missing C++ exception settings.
2016-02-14 22:25:17 +00:00
kust2708
823a37aed7 OnePad : New GUI based on gwWidget
Buttons done, configuration initialization done.
Still need to add Gamepad and Joysticks configuration frames.
Require png file for the moment (the embedded picture will be fixed after).

New Onepad GUI based on wxWidget (Main frame almost finish)
Background picture is now embedded
Button binding works
Loading and saving works
Need to add feedback and gamepad, joysticks configuration frame

Modification of the onepad CMakeList.txt
Automatic generation of images headers using perl script

Modification of the test feedback function
2016-02-14 17:26:31 +01:00
kust2708
5b287deca2 Onepad : Add GUI images 2016-02-14 17:25:28 +01:00
Jonathan Li
2b61edb80d lilypad:windows: Remove NO_CRT configurations
It's Windows-only and isn't actually used.
2016-02-14 13:24:59 +00:00
Gregory Hainaut
4061539e1b Merge pull request #1181 from piorrro33/master
Typo correction
2016-02-14 13:36:54 +01:00
Jonathan Li
1718d07f94 Merge pull request #1174 from NZJenkins/stepOut-Fix
StepOut breakpoint fix
2016-02-14 11:39:39 +00:00
Pierre "Piorrro" GRASSER
d7b40433db Typo correction 2016-02-14 09:30:49 +01:00
BoopFtang
fd4997ab94 StepOut breakpoint fix
Fixes #1164
SetSkipFirst wasn't called
2016-02-14 19:22:43 +13:00
Gregory Hainaut
8ae7f60b04 Merge pull request #1175 from PCSX2-Alpha/GSDX_stuffs
GSDX: Vertical frequency corrections and extra stuffs
2016-02-13 18:15:49 +01:00
Gregory Hainaut
85cf009f80 Merge pull request #1176 from Asmodean-/master
GSdx: Update Post-Processing
2016-02-13 18:13:48 +01:00
Gregory Hainaut
dc347e4854 Merge pull request #1178 from PCSX2/opengl-release-mode
gsdx-gl: use CONTEXT_FLAG_NO_ERROR_BIT_KHR to reduce driver overheard
2016-02-13 18:13:05 +01:00
Gregory Hainaut
81a4ca5667 Merge pull request #1177 from PCSX2-Alpha/EditorConfig
EditorConfig: Enforce Indent size for specific files on project
2016-02-13 17:38:33 +01:00
Kieran Hanrahan
7236ed93e9 Update GSdx_FX_Settings.ini 2016-02-13 16:02:37 +00:00
Kieran Hanrahan
fc0cebe7c5 More scaling workarounds 2016-02-13 16:02:14 +00:00
Jonathan Li
c47501d228 lilypad: Fix function name typo 2016-02-13 15:03:31 +00:00
Jonathan Li
f423549257 pcsx2: Fix savestate saving crash
My bad.
2016-02-13 14:57:55 +00:00
Gregory Hainaut
77f9113301 gsdx-gl: use CONTEXT_FLAG_NO_ERROR_BIT_KHR to reduce driver overheard
Didn't test it yet as my driver is too old.

Note: might break the open source drivers.
2016-02-13 15:28:11 +01:00
Karasuhebi
c843130854 Change Playstation to PlayStation in the About dialog and the CLI dialog.
Changed the word "Playstation" to the proper "PlayStation" in the About
dialog and the Command Line Options dialog.

Add a space between PlayStation and 2.
2016-02-13 13:58:58 +01:00
Gregory Hainaut
38b9198dba Merge pull request #1173 from turtleli/replace-scoped-ptr
Replace ScopedPtr with unique_ptr
2016-02-13 13:49:18 +01:00
ramapcsx2
32182fe126 always fflush ee/iop logs. fixes the test suite timing out on windows. 2016-02-13 12:14:40 +01:00
Jonathan Li
255a62dd21 Merge pull request #1144 from ekudritski/ekudritski-popn-patch-1
Add pop'n music controller support to LilyPad.
Also fix some warnings.
2016-02-13 00:15:15 +00:00
Kieran Hanrahan
c05195a47b Update GSdx_FX_Settings.ini 2016-02-12 21:29:28 +00:00
Kieran Hanrahan
eec86488e8 Add GS scaling workaround logic 2016-02-12 21:29:18 +00:00
Kieran Hanrahan
5ace5a5d8e Update GS post-processing
Update GSdx FX, & added debanding effect, and Timothy Lottes CRT by request.
2016-02-12 18:13:23 +00:00
Kieran Hanrahan
b2b0cf11eb Update GSdx_FX_Settings.ini 2016-02-12 18:11:06 +00:00
Gregory Hainaut
8ab46827de tests: be more user friendly
Default inis dir
Use 8 CPU by default
Print a nice gdb command to replay the test
2016-02-12 19:10:36 +01:00
Akash
0a60e504b6 EditorConfig: Enforce Indent size for specific files 2016-02-12 21:16:09 +05:30
ekudritski
e2c5236706 Just some cleaning 2016-02-12 09:57:08 +02:00
Akash
a20edc1783 GitIgnore: Ignore wav files for local diff 2016-02-12 12:05:43 +05:30
Akash
e810428c86 GSDX: Remove some old comments
Disgaea 2 intro FMV now works fine with/without upscaling. (confirmed
with rama)
2016-02-12 12:05:42 +05:30
Akash
465cfb4fad PCSX2-GSFrame: Make upscaling impact resolution values 2016-02-12 11:57:41 +05:30
Akash
67a7a63a36 GSDX: Add vertical frequency for all video modes 2016-02-12 05:28:30 +05:30
Akash
1445bf7fb1 GSDX: Extend macros for all video modes.
The following patch detects the other video modes based on Phased lock loop divider (LC)
2016-02-12 04:43:57 +05:30
Jonathan Li
f67cb001df Merge pull request #1172 from NZJenkins/master
Debugger breakpoint bugfix
2016-02-11 22:47:40 +00:00
Jonathan Li
b1404cff37 ci: Fix Travis CI clang build
There are dependency issues with g++-4.8-multilib, so let's use
g++-4.9-multilib from the toolchain repo instead.

[skip appveyor]
2016-02-11 20:44:56 +00:00
Gregory Hainaut
50caca4002 EE: replace EE/FPU mov opcode when FPU_RECOMPILE isn't enabled
It will be easier for testing if we change the format of the FPU register
2016-02-11 18:53:28 +01:00
Gregory Hainaut
122baa17a2 EE: intruder detected 2016-02-11 18:43:33 +01:00
BoopFtang
83a877c3dc Fixes #1161
In the case of a disabled breakpoint at the address, false would be
returned without checking for temp breakpoint
2016-02-10 15:54:56 +13:00
Gregory Hainaut
253e801f51 linux: enable float operation on SSE unit
Potentially faster and requires to flush denormal float to 0
2016-02-09 18:24:12 +01:00
Jonathan Li
e92636ab1a utilities: Remove ScopedPtr and pxObjPtr implementation
Both are now unused.
2016-02-08 22:31:45 +00:00
Jonathan Li
a74677acf7 utilities: Convert ScopedPtr to unique_ptr 2016-02-08 22:31:45 +00:00
Jonathan Li
499fed40f2 pcsx2: Convert ScopedPtr to unique_ptr 2016-02-08 22:31:45 +00:00
Jonathan Li
8889f4fdcc gui: Replace ScopedPtr with unique_ptr 2016-02-08 22:31:45 +00:00
Jonathan Li
92bb849e7c Use unique_ptr instead of ScopedPtr for exceptions 2016-02-08 22:31:45 +00:00
Jonathan Li
115b14bc94 cdvd: Replace ScopedPtr with unique_ptr 2016-02-08 22:31:45 +00:00
Gregory Hainaut
5b74374bb2 Merge pull request #1169 from PCSX2/remove-mmx
Remove mmx
2016-02-08 19:17:24 +01:00
Gareth Poole
0b362fd866 GSdx: Fix spelling issues in GSdx Linux configuration window 2016-02-08 19:14:56 +01:00
Gregory Hainaut
fe0229aed0 EE: remove dead code 2016-02-08 09:52:31 +01:00
Gregory Hainaut
5611333c29 PCSX2: remove reporting of mmx/3dnow 2016-02-08 09:16:52 +01:00
Gregory Hainaut
5140a2e107 x86emitter: remove MMX support 2016-02-08 09:13:24 +01:00
Gregory Hainaut
0f81482ed1 EE: remove most of MMX allocator code 2016-02-07 13:21:11 +01:00
Gregory Hainaut
278411898a EE: drop MMX/FPU state management
Useless as MMX code is removed
2016-02-07 13:07:55 +01:00
Gregory Hainaut
9af112b38f EE: remove _clearNeededMMXregs and deadcode
Nop because needed is always 0
2016-02-07 13:00:48 +01:00
Gregory Hainaut
095437d0c7 EE: _flushMMXregs is a nop because inuse==0 2016-02-07 12:57:56 +01:00
Gregory Hainaut
45443b48ef EE: freeMMXreg is a nop because inuse == 0 2016-02-07 12:56:30 +01:00
Gregory Hainaut
6f561d6bd7 EE: delete the nop _deleteMMXreg() 2016-02-07 12:53:17 +01:00
Gregory Hainaut
c3afcffc50 EE: replace _checkMMXreg and _allocCheckGPRtoMMX
Both functions return -1

Remove all conditions (-1 >= 0)
2016-02-07 12:46:34 +01:00
Gregory Hainaut
e1651c752a EE: mmxregs[i].inuse is never set to true
Let's remove code that depends on it

_deleteMMXreg/_checkMMXreg/_getNumMMXwrite/_flushMMXunused are now stub
2016-02-07 12:23:15 +01:00
Gregory Hainaut
054d8c4c9f EE: remove more unused MMX functions 2016-02-07 12:08:33 +01:00
Gregory Hainaut
a0e619bcd7 VTLB: disable MMX optimization
memory copy will be done in SSE or X86 only. It is very unlikely that
it was used anyway (need 64 bits transfer and no XMM register available)

Remove the now useless _allocMMXreg and _getFreeMMXreg too
2016-02-07 12:06:41 +01:00
Gregory Hainaut
15390cd966 EE: remove unused MMX path
All commented and disabled code
2016-02-07 12:02:17 +01:00
Gregory Hainaut
ea1a9943fc EE: disable the old mmx code
Time to test and report bug or speed issue.
2016-02-07 11:35:03 +01:00
Gregory Hainaut
51b40c6b18 gsdx: move black CRC hack from openGL to DX level
Rendering is much nicer this way
2016-02-06 17:32:12 +01:00
Gregory Hainaut
c2aa56ac38 EE: fix shift constant propagation in new SSE code
It seems constant must be flushed before any call to _allocGPRtoXMMreg
2016-02-06 16:47:44 +01:00
Gregory Hainaut
fd4bc63854 EE: disable VF delete when SVU is disabled 2016-02-06 15:51:59 +01:00
Gregory Hainaut
a9a955f8b9 EE: port MMX code to SSE for shift opcode
Code need to be enabled with a define (NO_MMX 1)

Code was tested with ps2autotest but it need more tests. I need to check
alignement issue too.

Globally code is potentially a little slower than SSE.
The trick is that we need to shift only the 64 lsb whereas SSE will
shift the full 128 bits register.

Current implementation flush the lsb and drop the full register. It is
unlikely that next intruction will be done in SSE anyway.

Note: it would be easier in x64 arch
2016-02-06 15:24:26 +01:00
Gregory Hainaut
119f6deb24 EE: add some assert(0) on likely unused code
if someone hit the assertion please report it
2016-02-05 00:27:29 +01:00
Gregory Hainaut
6ac76c86d7 recompiler: document the register allocation 2016-02-05 00:27:29 +01:00
Jonathan Li
224370e866 debugger: Fix breakpoint window list item deletion
Fixes #1163.
2016-02-04 19:12:48 +00:00
Jonathan Li
98de0d4351 pcsx2: Do not move console with main frame if maximised 2016-02-04 19:12:48 +00:00
Jonathan Li
d6e702a9eb pcsx2: Do not save console position when maximised 2016-02-04 19:12:47 +00:00
Jonathan Li
93dc772565 GSdx: Missed a _WINDOWS usage...
Visual Studio Find and Replace can only be trusted if all the files are
included in the project. I suppose it's time to add any missing files
to the relevant projects...
2016-02-04 19:12:46 +00:00
Gregory Hainaut
d59e4ca4d1 intrinsic: add rotate support for clang.... 2016-02-01 18:46:10 +01:00
Elgar
8c5c4608d2 LilyPad: Add support for Pop'N Music Controller 2016-02-01 15:45:26 +02:00
Gregory Hainaut
85f64b8c08 Merge pull request #1137 from PCSX2-Alpha/CRTC_Scaling
PCRTC: Proper handling for 720P/1080P video modes.
2016-02-01 10:11:58 +01:00
Gregory Hainaut
c20dc61f16 EE: fix compilation when branch recompilation is disabled 2016-01-31 23:45:08 +01:00
Gregory Hainaut
3ec458ef4f FPU: sqrt(-0) == 0
It is marked as a special case in the doc (sqrt(-0) == -0)
but test on the PS2 show the contrary. Quite a mistery
2016-01-31 23:43:55 +01:00
refractionpcsx2
6391b00c00 Merge pull request #1158 from AdmiralCurtiss/memcard-documentation
Add Memory Card File System documentation to repository for easy reference.
2016-01-31 20:24:45 +00:00
Admiral H. Curtiss
35a1c9a133 Add Memory Card File System documentation to repository for easy reference.
Originally from http://www.csclub.uwaterloo.ca:11068/mymc/ps2mcfs.html.
It's public domain, so there's no problem with just putting it in here.
2016-01-31 20:42:29 +01:00
Gregory Hainaut
64001c9643 Merge pull request #1153 from jobermayr/master
Dump.cpp: Fix Linux build.
2016-01-31 17:55:17 +01:00
refractionpcsx2
da347aa077 Merge pull request #1156 from AdmiralCurtiss/memcard-folder-dot-and-space
Folder Memory Card: Detect and handle filenames that end in dots and/or spaces.
2016-01-30 20:39:45 +00:00
Admiral H. Curtiss
326d50b686 Folder Memory Card: Detect and handle filenames that end in dots and/or spaces. 2016-01-30 20:14:42 +01:00
Johannes Obermayr
ec3170752a Fix Linux build.
pcsx2/Dump.cpp: In function 'void iDumpBlock(u32, u32, uptr, u32)':
pcsx2/Dump.cpp:258:4: error: cannot convert 'wxString' to 'const char*' for argument '1' to 'int system(const char*)'

pcsx2/x86/iR3000A.cpp: In function 'void iIopDumpBlock(int, u8*)':
pcsx2/x86/iR3000A.cpp:285:45: error: cannot convert 'wxString' to 'const char*' for argument '1' to 'int system(const char*)'
2016-01-30 17:56:35 +01:00
Gregory Hainaut
8e17f915c6 Merge pull request #1150 from jobs-git/patch-3
Fix Windows Resource file name error
2016-01-30 13:33:51 +01:00
Jonathan Li
62e4423f30 Merge pull request #1145 from PCSX2-Alpha/WX_stuffs
VideoPanel: Fix gray/ungray behaviour
2016-01-30 12:17:14 +00:00
Gregory Hainaut
3329bc1748 linux: drop wx2.8 support. Only 3.0 is supported
Close #1152
2016-01-30 12:48:35 +01:00
Gregory Hainaut
91e46a94f5 tests: disable spu sound in test
Avoid spurious alsa error message
2016-01-30 12:39:17 +01:00
Akash
c889659ad7 GSDX: Prevent a bad division
GetDeviceSize() already does a half division based on the INT and FFMD
registers.
2016-01-30 05:20:06 +05:30
Akash
7407162dfe GSDX: Add some nice macros 2016-01-30 05:19:53 +05:30
refractionpcsx2
2ffdbe781f Vif-Int: Fix mode = 3 2016-01-29 23:11:54 +00:00
refractionpcsx2
e5e0f85b50 Vif Rec: Emulate Mode = 3 for test, not sure any games use it.
Interpreter is still wrong, but currently crashy on this test, as it doesn't get this far I'm scared to change it in case it kills other stuff
2016-01-29 23:01:54 +00:00
Dominic Guana
766b5514f0 Fix Windows Resource file name error
The original file name is given by 

    SampleProf.cp 

However this is not the file we could find in any Code or Directory of PCSX2, rather it should be:

    SamplProf.cpp
2016-01-30 06:41:19 +08:00
Gregory Hainaut
eaa211212d ee-fpu: upgrade the FPU to 3.0
properly return reserved register

Fix FCR test :)
2016-01-29 23:24:11 +01:00
refractionpcsx2
cf993c2a36 Vif-Rec: Fix skip size calculation.
(also a line ending issue, hope it doesn't mess it up lol)
2016-01-29 21:03:02 +00:00
Akash
edfda74e9c PCSX2: Fix preset grey out behavior
Previously the text box for "Frames to Draw" and "Frames to Skip" got failed to grey out properly and only the text and arrows got greyed out, The following patch properly greys out the elements.

To be noted that the issue wasn't present on 1.2.1 , I guess this was some regression along with WX 3.0 ?

v2: Fix Indentation
2016-01-30 01:22:37 +05:30
Gregory Hainaut
2662809900 pcsx2:miss a rename of branch to g_branch
Fix compilation issue with no fpu recompiler
2016-01-29 19:53:21 +01:00
Gregory Hainaut
65daf74d0e tests: sort the blacklisted test 2016-01-29 19:53:21 +01:00
Jonathan Li
fdbe018cdf pcsx2: Fix memleak in portable mode error dialog handling 2016-01-28 20:51:19 +00:00
Gregory Hainaut
841df74010 gsdx: add info to get a working driver 2016-01-28 21:18:24 +01:00
Gregory Hainaut
5efbf2a802 dmac: madr msb bit is fixed to 0 in 8/9 channels
Fix another dmac tests :)
2016-01-28 21:16:20 +01:00
Gregory Hainaut
b2fbbddfa0 dmac: implement memcpy wrapping for SPR
Partially fix the dma test
2016-01-28 21:02:35 +01:00
Jonathan Li
e983be4060 Merge pull request #1142 from PCSX2-Alpha/Consolelog_stuffs
console: don't remember size when maximised
console: make enable/disable/restore defaults affect all items
2016-01-28 12:52:45 +00:00
Jonathan Li
3544b84632 usbqemu|dev9ghzdrk: Use _WIN32 for Windows preprocessor macro 2016-01-27 22:58:09 +00:00
Jonathan Li
d5e56c7e76 spu2-x: Use _WIN32 for Windows preprocessor macro 2016-01-27 22:49:41 +00:00
Jonathan Li
04a8efd8c3 pcsx2|common: Use _WIN32 for Windows preprocessor macro
It's predefined, unlike WIN32 and _WINDOWS (and other variants), which
are defined in the property sheets.
2016-01-27 22:41:45 +00:00
Jonathan Li
0f11838d93 gsdx: s/_WINDOWS/_WIN32/
It's the proper Windows preprocessor macro.
2016-01-27 22:41:45 +00:00
Jonathan Li
50c7775e47 utilities: Use C99+ size definitions on Windows
Also remove a LONG definition for Linux - it's unused.
2016-01-27 22:41:45 +00:00
Jonathan Li
2939abd8de pcsx2: Remove useless plugin load failure error messages
If wxDynamicLibrary.Load() fails, wxWidgets provides a good enough error
message anyway.
2016-01-27 22:41:45 +00:00
Gregory Hainaut
1d4e2cedf8 tests: update the list of bad test 2016-01-27 22:39:40 +01:00
Gregory Hainaut
5d1e5df205 dmac: wrap source address to remain in 16K
Add some assertions of memcpy that overflow (need to be wrapped)
2016-01-27 22:39:39 +01:00
Gregory Hainaut
c959424957 dmac: limit address to the scratch pad memory
Help dma tests
2016-01-27 22:39:39 +01:00
Gregory Hainaut
c037686a26 iop: don't load any value in r0
Fix lsu.irx test
2016-01-27 20:08:37 +01:00
Gregory Hainaut
b21ce8c9fb iop: fix division handling based on the EE div operator
Division will now handle properly division by 0 and signed overflow
2016-01-27 19:13:31 +01:00
Gregory Hainaut
11f59ada16 iop:interpreter: remove special case for unsigned division 2016-01-27 18:20:54 +01:00
Gregory Hainaut
135cdfca46 iop: fix division on the interpreter
Recompiler is still completely broken just add tons of FIXME
2016-01-27 18:15:14 +01:00
Gregory Hainaut
41157ee3e9 iop: fix 64 bits build
remove the offset which is useless
2016-01-27 16:49:06 +01:00
Gregory Hainaut
ba62ce9e93 iop: fix MTLO instruction
Test hilodelay.irx is now pass ^^ (but test only covers constant path.)
2016-01-27 10:27:34 +01:00
Gregory Hainaut
bfd1bcec69 iop: improve debug
Add a nop between instruction
Dump mips instruction
Add pretty print support

Note: it would be nicer to plug pretty print in the system command directly
2016-01-27 10:27:34 +01:00
Gregory Hainaut
53e24a8e30 x86emitter: fix an useless gcc warning on int/uint cast 2016-01-27 10:27:34 +01:00
Gregory Hainaut
ebea587465 vif: add an assert 0 for x64 2016-01-27 10:27:34 +01:00
refractionpcsx2
7185927e7e Vif-Rec: Fix up nVifBlock structure, thanks sudonim1 2016-01-26 19:19:02 +00:00
Gregory Hainaut
522149f503 tests: remove some carriage returns 2016-01-26 18:15:47 +01:00
Gregory Hainaut
f5d71352ca pcsx2: avoid flushing issue with the test suite
Linux only as I don't know if windows suffers of the same issue.
2016-01-26 09:18:15 +01:00
Gregory Hainaut
75ec16fd72 test: redo run phase to support windows 2016-01-26 09:18:15 +01:00
refractionpcsx2
d0a23a7d73 Vif-Rec: Sort of fix for tests using masks with different cl/wl values.
Now gives correct results, but, ugh, I'm not sure on this whole hashing thing, it's probably doing something else wrong now.
2016-01-26 00:02:21 +00:00
refractionpcsx2
0147e6cb8d Vif: Fix for Unpacks when WL = 0. (KH2 + Tests) Removes a long standing hack.
Note: CL = 0 behaviour is still not completely accurate, the first vector is incorrect, but will look at that another day, need a game that does it first really so we can see if it helps :)
2016-01-25 21:43:53 +00:00
Akash
fea95c2951 Log window: Fix behavior of some menu items
Previously the Enable all / Disable all / Restore defaults menu options ignored the status of Dev/verbose and CDVD reads. The following commit makes them to also impact the other two menu items.
2016-01-25 18:25:07 +05:30
Akash
af855bc295 Log window: better handling of display size.
Fixes Issue #1092 , don't remember the display size when the log window is maximized since the display size gets too big and the next time you open PCSX2 you'll see a gigantic log window ;)

V2: Fix a wrong indentation.
2016-01-25 18:24:27 +05:30
Gregory Hainaut
393e56a604 tests: handle better timeout
Relying on the timeout program
2016-01-24 22:32:00 +01:00
Gregory Hainaut
8485a8c654 iop: fix division overflow
So far only on the const path because it is was easy (and free)
but it ought to be done on the recompiler too.
2016-01-24 21:49:06 +01:00
Gregory Hainaut
95be13bc4a VIF: add 2 hacks to avoid crash/infinite loop when wl = 0
This way we could run some tests on wl = 0 behavior
2016-01-24 20:29:42 +01:00
Gregory Hainaut
411010e6e6 tests: add --bad option to run only blacklisted test 2016-01-24 20:11:25 +01:00
Gregory Hainaut
64718e576f test: fix path mess
Not a good idea to compute the absolute path 2 times. Add more logging.
2016-01-24 19:27:24 +01:00
Gregory Hainaut
3f5ac02697 tests: take 431414...
restore cwd after the find
just put the front letter in cyg_abs_path (as previous working bash script)
2016-01-24 18:53:46 +01:00
Gregory Hainaut
8b1c465bf6 fix a typo 2016-01-24 18:28:38 +01:00
Gregory Hainaut
00dea566f2 tests: auto detect cygwin 2016-01-24 18:18:22 +01:00
Gregory Hainaut
e8f8d55010 tests: uses standard perl path for perl operation 2016-01-24 16:37:36 +01:00
Gregory Hainaut
e985488471 tests: create a common cygpath function to ease future test 2016-01-24 15:21:47 +01:00
Gregory Hainaut
5a20d629ab spu2x: add comment on the previous fix
Always enabled it for all SDL2 versions. A shift won't kill perf.
And no surprise if they backport the behavior on older version.
2016-01-24 12:41:29 +01:00
Gregory Hainaut
90c5f0e1ae spu2x: tentative fix for SDL 2.0.4 2016-01-24 11:01:41 +01:00
Gregory Hainaut
91362f938d tests: use cygpath on cfg destination dir 2016-01-23 18:58:36 +01:00
Gregory Hainaut
82fe0148f2 tests:chomp cygpath 2016-01-23 18:50:43 +01:00
Gregory Hainaut
b174f4736f tests: replace cygwin auto detection by an option
Until I found a better solution
2016-01-23 18:42:17 +01:00
Gregory Hainaut
e0ac3cfb12 test: add an useful print 2016-01-23 18:37:22 +01:00
Gregory Hainaut
8ff78378cd tests: try to be compatible with cygwin 2016-01-23 18:35:34 +01:00
Gregory Hainaut
e36f1d3128 tests: requires a double escape due to double evaluation 2016-01-23 13:45:16 +01:00
Gregory Hainaut
c00b427efa tests: add irx support 2016-01-23 13:37:39 +01:00
Gregory Hainaut
117c3414f2 oups wrongly remove a line
Thanks tapcio
2016-01-22 22:56:57 +01:00
Gregory Hainaut
724542d870 pcsx2: add --irx option to inject an irx module
Irx module will be loaded at the end of the ROM (limited
at 256KB)

At the execution of the boot the list of module addresses are
hacked to add the new module.

For #1130
2016-01-22 19:46:03 +01:00
Gregory Hainaut
2ff611137e pcsx2|lilypad|gsdx: use portable printf format
(portable: let's see VS compilation...)
2016-01-22 19:46:03 +01:00
bositman
2c3f9e35ac Merge pull request #1091 from vgturtle127/patch-1
Update README for the latest version, and fix a few things
2016-01-22 12:12:12 +02:00
Gregory Hainaut
8c127a8193 travis: report 64 bits compilation issue 2016-01-22 09:40:47 +01:00
Gregory Hainaut
da4d3562f5 gsdx-ogl: update status of the SSO extension
AMD (proprietary) is working on it
Free driver will be fixed on Mesa 11.2 (and I hope mesa 11.1.2)
2016-01-22 09:28:59 +01:00
Gregory Hainaut
3f3141c186 GSdx-ogl: limit accurate sprite blending to smaller draw call
Completely restore speed in Zone of Ender

Fix #1093
2016-01-22 09:07:35 +01:00
Gregory Hainaut
3ea98b0c00 Merge pull request #1040 from KrossX/scp_support
LilyPad XInputness
2016-01-22 08:07:26 +01:00
Gregory Hainaut
69d585e867 Merge pull request #1114 from remeh/clang-unused-param
gsdx: cmake: don't display "unused parameters" warnings on release bu…
2016-01-22 08:07:07 +01:00
Gregory Hainaut
6dd83d3cba x86emitter: there are 16 int registers for all sizes. 2016-01-21 22:34:13 +01:00
Gregory Hainaut
9e773ff980 Merge pull request #1123 from PCSX2/emitter-Trex
Emitter trex
2016-01-21 22:32:37 +01:00
Gregory Hainaut
a2a23579bd Merge pull request #1122 from PCSX2/emitter-64b
Emitter 64b
2016-01-21 22:31:01 +01:00
ramapcsx2
fb184da86e The GTE opcode table was missing 4 commands. took them from another PCSX derived emulator.
Now the simple GTE test works :)
2016-01-21 14:45:24 +01:00
Derek "Turtle" Roe
72327802d6 See description
Fix redundancy and change wording of a few things
Make Vista with Service Pack 2 the minimum requirement so we don't have
to deal with the horrid mess that was launch Vista.

[skip ci]
2016-01-20 18:14:53 -06:00
refractionpcsx2
09817b24f0 IOP: Readd GTE now we know it exists, plus a couple of devcon outputs. 2016-01-20 20:29:18 +00:00
Gregory Hainaut
6b513239f8 tests: add --option k=v to overload PCSX2 option
Allow to easily switch rounding/clamping/Interpreter vs recompiler
2016-01-20 20:31:55 +01:00
Gregory Hainaut
7b2dc697fb tests: add dry_run and regression option
dry_run to quickly test the script
regression to blacklist bad test
2016-01-20 19:37:45 +01:00
Gregory Hainaut
1a700145ec x86emitter: remove unused FPU opcode
Future code would rely on SSE anyway
2016-01-20 10:23:23 +01:00
Gregory Hainaut
162bf3d22d debug: add a nop between EE instruction in dev build
This way it is easier to detect the boundary in the x86 asm block
2016-01-20 09:33:56 +01:00
Gregory Hainaut
d78f887d1c recVtlb: separate dispatcher generation into a dedicated function 2016-01-20 09:23:32 +01:00
Gregory Hainaut
8a9a56707c tests: fix diff bug and use default option value
You can use the 2 following variables to give a default --suite and --cfg options
* PS2_AUTOTESTS_ROOT
* PS2_AUTOTESTS_CFG
2016-01-20 07:56:32 +01:00
Akash
22fccd5143 GSDX: Add a nice debug message 2016-01-20 04:29:23 +05:30
Akash
ebb6e34196 PCRTC: Fix video modes higher than 480P 2016-01-20 04:23:45 +05:30
Gregory Hainaut
30c4456b85 tests: port shell code to pure PERL 2016-01-19 22:59:20 +01:00
Gregory Hainaut
9ac6cd503d Merge pull request #1018 from willkuer/GenericGSSetting
gsdx: Generic GSSetting
2016-01-19 16:23:19 +01:00
Gregory Hainaut
71c440862c Merge pull request #1126 from turtleli/replace-scoped-array-with-unique-ptr
Replace ScopedArray with unique_ptr
2016-01-19 16:22:13 +01:00
Gregory Hainaut
961abd823f Merge pull request #1127 from ssakash/FPU_Profiler-opcodes
EE: Add COP1 Instructions to profiler
2016-01-19 16:21:57 +01:00
willkuer
fd412c2938 gsdx: Generic GSSetting
The old implementation saved the current value of a GSSetting as uint in
a field called 'id'. The  implementation of GSSettings suggests that
GSSettings  could be saved in a database with id as primary key. This
would require a translation look up from id to value but  could have all
advantages of a database. However the interface to GSSetting was never
implemented like that.

In the new implementation GSSetting has a 'value' field that stores an
int representative value of the desired state. Additionally the
constructor is 'overloaded' as template to reduce casting in the
consumer code. However all consumer values need to be castable to int.

Accordingly combobox initialization was adjusted.
2016-01-18 23:59:27 +01:00
Gregory Hainaut
fd237244a2 tests: add a testname option to filter tests
[skip ci]
2016-01-18 23:53:28 +01:00
Gregory Hainaut
39f661c5f5 tests: show replay command for timed-out test 2016-01-18 23:40:04 +01:00
KrossX
e86e472d4f Less bind pressure for XInput too. 2016-01-18 19:36:02 -03:00
KrossX
dafec4642c Default mappings for XInput devices
Copied if there's no settings file present.
2016-01-18 19:27:48 -03:00
KrossX
27f6fb1ff1 Add support for Scarlet Crush's XInput extensions
Also adds support for the GUIDE buttons to be used.
2016-01-18 19:27:48 -03:00
Gregory Hainaut
807ec04229 tests: help + replay command
Remove useless debug info too
2016-01-18 21:41:16 +01:00
Gregory Hainaut
44f1281915 tests: add a show diff opt 2016-01-18 20:26:36 +01:00
Gregory Hainaut
c6794733ca tests: detect timeout
Unfortunately I doesn't manage to kill the bad process.
2016-01-18 20:20:57 +01:00
Gregory Hainaut
157b68a29f tests: add a nice reporting status, fix MT test 2016-01-18 18:54:43 +01:00
Gregory Hainaut
00dde7d2cf i10n: update ca_ES and ru_RU 2016-01-18 18:25:15 +01:00
Gregory Hainaut
68daf5f0ad test: improve the test runner
Improve the configuration of the build (log)
Run on multiple CPU (not tested)

Remove the logging hack in the GUI

Still miss:
* result
* help
2016-01-18 18:19:38 +01:00
Akash
72e8d083b7 EE: Add COP1 Instructions to profiler 2016-01-18 19:45:28 +05:30
Gregory Hainaut
b9c5ab08a8 test: add a new PERL test runner
Miss all importants features.
* Multi thread
* Self Configuration
* Result report
* help ;)
2016-01-18 10:34:58 +01:00
Derek "Turtle" Roe
a569a2e166 See long description
Fixed italic links not being clickable on GitHub
Added some updated info about requirements
Merged some notes
Fixed some incorrect grammar and typos
Updated formatting a little

[skip ci]
2016-01-17 20:31:36 -06:00
Jonathan Li
3c7e45ccc8 utilities: Remove ScopedArray implementation
It's now unused.
2016-01-17 22:54:22 +00:00
Jonathan Li
e7ca031d1e pcsx2: Replace ScopedArray with unique_ptr
Same functionality, but we don't have to maintain code ourselves.
2016-01-17 22:54:22 +00:00
Jonathan Li
e472713c62 pcsx2: Fix inverted EE cycle rate range check
Overclock is now positive and underclock is now negative (it used to be
the other way round), so the range check should reflect that.

Coverity CID 156245 Bad bit shift operation(BAD SHIFT)
2016-01-17 22:27:16 +00:00
Jonathan Li
f3f0d743ff pcsx2: Use std::array for Console colours
Using a memcpy to copy non-POD classes with virtual methods is undefined
behaviour. clang was warning that the vtable was being overwritten.

Replace the SafeArray with std::array.
2016-01-17 22:06:32 +00:00
Jonathan Li
e8596f0430 pcsx2: Rearrange Console colour enum order
Preparation for next commit - The default isn't bold, so it's slightly
neater to have it at the start.
2016-01-17 22:06:32 +00:00
Jonathan Li
8a61c7d336 spu2-x:windows: ifdef XAudio2 2.7 specific stuff
Support for XAudio2 2.8+ still requires build configurations that use
the Windows SDK include and library files (instead of the DirectX SDK
files).
2016-01-17 22:06:32 +00:00
refractionpcsx2
87138c9854 GameDB: Enabled SkipMpeg hack by default on BDFL Manager PAL-G 2016-01-17 20:03:06 +00:00
Gregory Hainaut
05b8ec97e9 Merge pull request #1124 from TotalCaesar659/master
Fixes some mistakes in Russian translation
2016-01-17 17:52:12 +01:00
Jonathan Li
fa9981b1ca ci: Add 64-bit build to Travis CI
Allow the 64-build to fail (at least until the 64-bit emitter stuff is
merged so it compiles properly).

[skip appveyor]
2016-01-17 16:42:58 +00:00
TotalCaesar659
bdfe8a224a Fixes some mistakes in Russian translation 2016-01-17 19:24:54 +03:00
Gregory Hainaut
41a80fce20 x86emitter: finally support 64 bits instructions
Note: a couple of instructions don't support REX prefix. Some
exception ought to be implemented later
2016-01-17 17:02:38 +01:00
Gregory Hainaut
40438cf2bd x86emitter: port couple of simd instrusction to xOpWrite0F template 2016-01-17 16:59:44 +01:00
Gregory Hainaut
9ac22ee9aa x86emitter: rewrite remaining function to use generic template 2016-01-17 16:42:39 +01:00
Gregory Hainaut
5bf12519da Merge pull request #1105 from ssakash/CRTC_-NTSC-height-saturation
PCRTC: Better handling of CRTC height saturation
2016-01-17 16:38:59 +01:00
Gregory Hainaut
42783279ff Merge pull request #1020 from ramapcsx2/loading_psx_games_enable
Enable loading psx games by default. Should help fixing PSX support w…
2016-01-17 16:35:55 +01:00
Gregory Hainaut
522ca27243 Merge pull request #1111 from Dokman/ca_ES
Catalan Translation
2016-01-17 16:30:45 +01:00
Gregory Hainaut
254081e3ad Merge pull request #1115 from turtleli/gsdx-ogl-blend
gsdx-ogl: Improve accurate blend sprite draw speed
2016-01-17 15:42:07 +01:00
Gregory Hainaut
fc5e293ef6 x86emitter: rewrite move to use generic template 2016-01-17 13:44:29 +01:00
Gregory Hainaut
25cd35147e x86emitter: rewrite groups to use generic template 2016-01-17 12:34:44 +01:00
Gregory Hainaut
a9864a5619 x86emitter: create xOpAccWrite handy template for special accumulator opcode 2016-01-17 12:34:28 +01:00
Gregory Hainaut
d2436fa86d x86emitter: remove unused function 2016-01-17 12:07:41 +01:00
Gregory Hainaut
16057d8b04 x86emitter: inc/dec are illegal on x86_64 2016-01-17 12:07:03 +01:00
Gregory Hainaut
f2ecfc99ad x86emitter: align EmitRex interface on EmitSibMagic 2016-01-17 12:06:08 +01:00
Gregory Hainaut
e50e9a5e65 x86emitter: sed/32orLess/64orLess/ 2016-01-17 00:29:19 +01:00
Gregory Hainaut
395d43fd9c x86emitter: jump: use base type directly
which fix 16 bits call (no prefix)
2016-01-17 00:21:05 +01:00
Gregory Hainaut
968af6148e x86emitter: extend SSE instruction type 2016-01-17 00:21:05 +01:00
Gregory Hainaut
4bc9cbc24f x86emitter: extend lea/bswap 2016-01-17 00:21:05 +01:00
Gregory Hainaut
eb4db2152c x86emitter: add x64 to push/pop 2016-01-17 00:21:05 +01:00
Gregory Hainaut
ef21a8dbd0 x86emitter: extend group8 type 2016-01-17 00:21:05 +01:00
Gregory Hainaut
39a6bda52d x86emitter: extend test & bitscan type
Factorize the code to support any types
2016-01-17 00:21:05 +01:00
Gregory Hainaut
e285036455 x86emitter: shift: extend it to 64 bits type 2016-01-17 00:21:05 +01:00
Gregory Hainaut
fdaf0e9979 x86emitter:group: uses base type
Add 64 bits support for free ;)

Note: 64b still requires the REX prefix
2016-01-17 00:21:05 +01:00
Gregory Hainaut
e2602b3967 x86emitter:move: factorize type and extend it to 64 bits
It's still missing the REX prefix support
2016-01-17 00:21:05 +01:00
Gregory Hainaut
41f509873d x86emitter: extend xIndirect32orLess to support 64 bits
It would be renamed later to avoid conflict with pending updates
2016-01-17 00:12:31 +01:00
Gregory Hainaut
39dc8368fa x86emitter: add GetPrefix16 helper 2016-01-17 00:12:21 +01:00
Gregory Hainaut
be0b8cf2f5 x86emitter: implement some function to emit the REX prefix
Same fashion as EmitSibMagic
2016-01-17 00:10:21 +01:00
Gregory Hainaut
53b5ecf34a x86emitter: add the new x86_64 registers set 2016-01-17 00:10:21 +01:00
Gregory Hainaut
366f793cf0 core: use xRegisterLong instead of xRegister32
Code needs to work with xAddressReg however the x32 inheritance doesn't
exits anymore on 64 bits.

Note: it might be possible to uses some kind of autoconversion with
xRegister32or64. Could be a future improvement.
2016-01-17 00:10:21 +01:00
Gregory Hainaut
1328865279 x86emitter: xAddressReg size will depend on the arch
Note: displacement are never 8B. The max is 4B which is sign extended to 8B.
So we can't store a pointer into it anymore.

Add xRegisterLong that will be x64 on 64 bits and x32 on 32 bits
2016-01-17 00:10:21 +01:00
Gregory Hainaut
a865ba8cf5 x86emitter: add various type for 64 bits 2016-01-17 00:10:21 +01:00
Gregory Hainaut
2fea78a6c4 x86emitter: remove not virtual inherited function
IsSIMD isn't virtual
2016-01-17 00:10:21 +01:00
Jonathan Li
37deeb0d52 gsdx-ogl: Optimise overlap detection algorithm
Vectorise coordinate min/max sorting, and use the ordered runion
instead.
2016-01-16 19:21:56 +00:00
Jonathan Li
14dffa762b gsdx: Add runion_ordered to GSVector
Allows to save a few instructions cycles when xy and zw are already
sorted (min and max rectangle coords).
2016-01-16 19:21:55 +00:00
Jonathan Li
2fc3ef8124 gsdx-ogl: Add sprite overlap statistics to debug messages 2016-01-16 19:21:54 +00:00
Gregory Hainaut
38c548854e Merge branch 'uptr-addr' 2016-01-16 18:34:27 +01:00
ramapcsx2
20c8b89bb7 cdvd: return 0xff instead of 0 on unknown 8 bit reads. improves compatibility with popstarter a bit.
Unfortunately, it then fails to load pops with "loadmodule: fname rom0:UDNL args 5 arg crap:"
2016-01-16 14:36:09 +01:00
Gregory Hainaut
35568f6425 gsdx: disable simd in 64 bits
Let's concentrate first on SSE2

This commit fuses a couple of ifdef
2016-01-16 14:34:00 +01:00
Gregory Hainaut
76230c1305 MTGS: s/u32 pointer/uptr/ 2016-01-16 14:34:00 +01:00
Gregory Hainaut
e23ba2340c core: s/u32 pointer/uptr/ 2016-01-16 14:34:00 +01:00
Gregory Hainaut
022cd9cd64 gsdx: s/u32 pointer/uptr/ 2016-01-16 14:34:00 +01:00
Gregory Hainaut
6ec7d2c340 x86emitter: ease template stuff 2016-01-16 14:34:00 +01:00
Gregory Hainaut
8c3798e96b core: pointers are 8B on 64 bytes 2016-01-16 14:34:00 +01:00
Gregory Hainaut
d623453451 build.sh: automatically configure wx-config on debian system
It is easier to alternate between 32/64 bits build
2016-01-16 14:33:49 +01:00
ramapcsx2
aafa333355 added the profiler to the visual studio solution. also added preliminary cop1 (fpu) tables, ready for implementation 2016-01-15 00:26:52 +01:00
Gregory Hainaut
9bcd9f0a73 cmake: onepad require gtk 2016-01-14 19:26:55 +01:00
Gregory Hainaut
a7a8c542f5 Merge pull request #1100 from PCSX2/recompiler-abi-wrapper
Recompiler abi wrapper
2016-01-14 19:21:27 +01:00
Jonathan Li
74ace74d50 gsdx-ogl: Group non-overlapped accurate blend sprite draws
Reduces the number of draw calls and barriers when drawing sprites.
2016-01-13 08:07:53 +00:00
Jonathan Li
f3b6829c74 gsdx-ogl: Restart collision detection algorithm for remaining sprites
It's useless on its own, but it prepares for the next commit.
2016-01-13 08:02:42 +00:00
Gregory Hainaut
c73d626757 build.sh: separate release/dev/dbg into separated directory
Avoid useless recompilation
2016-01-13 08:58:50 +01:00
Gregory Hainaut
4ac17428ac Merge branch 'EmperorArthur-build_with_spaces' 2016-01-13 08:15:06 +01:00
Gregory Hainaut
c8da280a19 Merge branch 'build_with_spaces' of git://github.com/EmperorArthur/pcsx2 into EmperorArthur-build_with_spaces
Conflicts:
	build.sh
2016-01-13 08:14:46 +01:00
Gregory Hainaut
d4b30620a7 pcsx2: avoid a segmentation fault due to previous hack 2016-01-12 19:35:23 +01:00
Gregory Hainaut
46a2f6ed24 interpreter: fix a subtle bug in a QFSRV
Math is correct but a shift of 64 bits is illegal in x86 because the cl register is masked

From the x86 spec:
    The destination operand can be a register or a memory location. The count operand can be an immediate value or
    the CL register. The count is masked to 5 bits (or 6 bits if in 64-bit mode and REX.W is used). The count range is
    limited to 0 to 31 (or 63 if 64-bit mode and REX.W is used). A special opcode encoding is provided for a count of 1.
2016-01-12 19:29:10 +01:00
remeh
28cfd50f08 gsdx: cmake: don't display "unused parameters" warnings on release build with clang. 2016-01-12 13:42:47 +01:00
dokman
f06d055372 Now it's usable!
All done

ToDo:
Details of every setting
2016-01-12 10:44:36 +01:00
dokman
7fae220f18 Emulation Settings done 2016-01-12 10:26:10 +01:00
dokman
7b48923a2c Updating with newest templates.
Emulation Settings
EE/IOP done
VUs done
GS done
GS Window done
Speedhacks done
Game fixes ToDo

Plugin/BIOS Selector done
2016-01-12 10:05:34 +01:00
refractionpcsx2
22de865582 Gamefix: Add Scarface - The World is Yours Gamefix, might help other games that do constant VU recompilation. 2016-01-11 23:32:33 +00:00
dokman
5f680141b4 Pushing base of translation with the newest template 2016-01-11 22:39:06 +01:00
Gregory Hainaut
3c528f0fdd common define _32kb and _4kb 2016-01-11 18:00:25 +01:00
Gregory Hainaut
812a2e4850 recVtlb: Align dispatcher to 32B boundary
Better for cache coherency
2016-01-11 18:00:19 +01:00
Gregory Hainaut
e3d5eb5a4e core: convert xCALL to xFastCall
SuperVU wasn't converted (unlikely to be ported to 64 bits)
A couple of calls weren't converted because they require extra work
but there are not mandatory (debug/MTVU/...)
2016-01-11 09:21:45 +01:00
Gregory Hainaut
859d62d2a7 ee|iop: use xScopedStackFrame to handle dynarec frame
* Rework a bit MVU to support xScopedStackFrame. Potentially
stack frame can be optimized (save 5 instructions)

* I removed the recompiler stack check. Address sanitizer is more efficient anyway
2016-01-11 09:21:45 +01:00
Gregory Hainaut
6e66bea152 x86emitter: improve the various abi wrapper
V2:
* Add various option to handle the different frame
* Basic x86-64 port (untested so likely completely broken)

v3:
Create an templated xImpl_FastCall object

v4:
clang compilation fix
2016-01-11 09:21:32 +01:00
Gregory Hainaut
a6eb871b42 pcsx2: use a common general intrin include
Avoid issue with various compiler conversion
Fix build with GCC4.8
2016-01-11 09:13:52 +01:00
Derek "Turtle" Roe
a09b42e046 Revert title case 2016-01-10 19:55:30 -06:00
Derek "Turtle" Roe
c85713850d Revert change 2016-01-10 19:53:43 -06:00
Derek "Turtle" Roe
3823b1a6fc Update MTVU speedhack commit 2016-01-10 19:48:49 -06:00
Gregory Hainaut
52b4604d3b iop: remove unused iPsxMem.cpp file 2016-01-10 18:41:18 +01:00
Akash
aade5278d8 PCRTC: Better handling of CRTC height saturation 2016-01-10 21:47:59 +05:30
Gregory Hainaut
afdf5cdfe2 x86emitter: remove old unused macro
Add some notes for a GCC "bug"
2016-01-10 16:49:50 +01:00
Gregory Hainaut
41d13dc2c6 vtlb: remove SetBaseAddr
Base address is given in the constructor
2016-01-10 14:31:49 +01:00
Gregory Hainaut
9bcd34349f Merge branch 'recompiler-prof' 2016-01-10 14:15:42 +01:00
Gregory Hainaut
1c4b430984 profiler: plug recompiler with new perf infra
Only EE/IOP support by block profiling

v2: cast wxString with ToUTF8 (windows)
2016-01-10 13:43:08 +01:00
Gregory Hainaut
92d7639267 profiler: add functions to plug linux Perf Event on JIT
Basically it creates a /tmp/perf-`pid`.map file which will contains
a mapping of the x86 code with the EE/IOP/VU code

* You need to enable the profiler with a define
* You can split the profiling by block (inside a recomp buffer)

v2: add new file to VS xml files
v3: remove useless include
2016-01-10 13:42:59 +01:00
Jonathan Li
8977673fdf ci: reduce AppVeyor workload
Don't compile with VS2013 if VS2015 compilation fails.
Build only SSE2 and AVX2 GSdx variants.
2016-01-10 12:11:49 +00:00
Derek "Turtle" Roe
25a4636d0a Update some links and fix some more errors 2016-01-09 23:01:37 -06:00
Derek "Turtle" Roe
80589dfeb2 Update notes 2016-01-09 21:27:18 -06:00
Derek "Turtle" Roe
76ca2aab29 Fix some typos and fix screenshots not lining up correctly 2016-01-09 18:22:16 -06:00
Derek "Turtle" Roe
429005559d More updates 2016-01-09 18:20:20 -06:00
Derek "Turtle" Roe
e193a48b75 Small updates 2016-01-09 18:09:45 -06:00
Derek "Turtle" Roe
09b975ab46 Add screenshots back in and update the requirements 2016-01-09 18:07:07 -06:00
Derek "Turtle" Roe
582a834b89 Fix some more grammatical errors and punctuation, and some small updates 2016-01-09 17:17:50 -06:00
Derek "Turtle" Roe
1ae9c0858a Fix a punctuation error and remove title case 2016-01-09 17:12:02 -06:00
Derek "Turtle" Roe
5211c95b81 Fix some more things in the README and remove low-res screenshots 2016-01-09 17:10:36 -06:00
Gregory Hainaut
e75d3f759f ee:profiler: add instructions counters 2016-01-09 23:29:03 +01:00
Gregory Hainaut
5b08bda5b8 ee:profiler: count EE memory access 2016-01-09 23:29:03 +01:00
Gregory Hainaut
0e1188565e ee:profiler: count EE instruction execution
Based on microVU_Profiler.h

It remains to emit all the opcode to use it properly
2016-01-09 23:29:03 +01:00
Gregory Hainaut
50c7cb1717 x86emitter: implement some BMI instructions
Only a couple of one to do some memory profiling
2016-01-09 23:29:01 +01:00
Gregory Hainaut
9e13a7bdaa x86emitter: add support for the VEX opcode 2016-01-09 22:59:31 +01:00
Gregory Hainaut
29b0b17f50 x86emitter: add BMI1 & BMI2 instruction detection 2016-01-09 22:59:31 +01:00
Gregory Hainaut
d57466608e linux: pretty print dump
allow to replace 0xBADA55 address with nice name such as v0_b0
2016-01-09 22:59:31 +01:00
Gregory Hainaut
c80037bb2f debug: add a new function to dump EE block
Give both EE and x86 code.

Don't rely on global variable. The dump still dump the content of the register.
Of course value will be wrong if you don't dump it at the start of the block.
It help to detect register/memory access

the cpu struct address is also printed to easily postprocess the x86 memory pointer
(see next commit)
2016-01-09 22:59:31 +01:00
Gregory Hainaut
dd097fe361 cmake: clang, please compile my code quietly 2016-01-09 22:57:43 +01:00
Gregory Hainaut
fd56195b2d x86emitter: drop old register define 2016-01-09 21:28:10 +01:00
Gregory Hainaut
5c0c9a60e9 core: use ecx directly 2016-01-09 21:26:25 +01:00
Gregory Hainaut
834cc3f2c5 core|x86emitter: port basic jump instruction 2016-01-09 21:26:25 +01:00
Gregory Hainaut
b09295fc7c core: use xRegister32 for _allocX86reg 2016-01-09 21:26:25 +01:00
Gregory Hainaut
4ddc4778e4 ee: use xRegister32 for 1st argument of _psxMoveGPRtoR 2016-01-09 21:26:25 +01:00
Gregory Hainaut
3570467838 core: inline LogicalOp* functions 2016-01-09 21:26:25 +01:00
Gregory Hainaut
9b7b9bc407 fix compilation issue due to bad renaming
:(
2016-01-09 21:26:25 +01:00
Gregory Hainaut
9eb73e1ef0 core: rely on register.GetId() instead of define 2016-01-09 21:15:46 +01:00
Gregory Hainaut
743e615224 core: overload _freeX86reg with xRegister32 2016-01-09 21:15:25 +01:00
Gregory Hainaut
6291910b02 ee: use xRegister32 for 1st argument of _eeMoveGPRtoR 2016-01-09 21:15:12 +01:00
Gregory Hainaut
8737db97e7 core: remove allocation error check
1/ Allocation can't fail anymore
2/ Avoid to convert it to new register syntax
2016-01-09 21:14:05 +01:00
Gregory Hainaut
60a9463e7a x86emitter: remove unused legacy function
And mark the remaining one as deprecated

Clang only as it relies on C++14
2016-01-09 21:13:29 +01:00
Gregory Hainaut
fcdbae6806 core: massively sed old emitter syntax to the new one
It misses jump & FPU. Jump need to be handled manually.

Syntax isn't perfect yet because of various casts. But it will allow to have a
single emitter syntax and rely on type safety on the future.

Conflicts:
	pcsx2/x86/iR3000Atables.cpp
	pcsx2/x86/ix86-32/iR5900-32.cpp
2016-01-09 20:56:07 +01:00
Gregory Hainaut
bd1d3724c1 core: manually convert few functions to new emitter
Remaining part will be done by a sed scripts
2016-01-09 20:39:32 +01:00
Gregory Hainaut
a9a26b93f9 ee: directly call EMMS from dispatcher
Until we completely remove MMX from the recompiler
2016-01-09 19:57:28 +01:00
Gregory Hainaut
c121bccb03 pcsx2: delete old asm file 2016-01-09 18:45:34 +01:00
Gregory Hainaut
39b77c6fd3 cmake: remove unused asm file
Code was ported (inlined asm/recompiler)
2016-01-09 15:48:58 +01:00
Gregory Hainaut
3f17898bf5 spu2x: linux compilation fix 2016-01-09 14:26:57 +01:00
Gregory Hainaut
fbffa507b8 cmake: fix linux case
Close #1094
2016-01-09 12:15:29 +01:00
Derek "Turtle" Roe
e392212e67 Update README for the latest version, and fix a few things 2016-01-08 21:12:27 -06:00
Gregory Hainaut
de2b97c640 linux compilation fix 2016-01-08 22:35:55 +01:00
Gregory Hainaut
74db92bee4 Merge pull request #978 from juhalaukkanen/apple_osx_master_merge
OSX 32bit build
2016-01-08 20:09:37 +01:00
Gregory Hainaut
4f28403c03 Merge pull request #972 from PCSX2/clean-gcc-opt-cmake
cmake: reenable a couple of missing gcc optimization
2016-01-08 19:32:18 +01:00
Gregory Hainaut
963be27b75 Merge pull request #1057 from ssakash/videmode_changes
EE SYSCALL: Add missing video modes at SYSCALL 2
2016-01-08 19:31:48 +01:00
Gregory Hainaut
19b0f604b4 Merge pull request #1087 from katamaritaco/patch-1
Fixed broken link; Add wiki link; Formatting
2016-01-08 19:28:49 +01:00
Gregory Hainaut
7c7de87fcf Merge pull request #1078 from PCSX2/gsdx-unsafe-fbmask
Gsdx unsafe fbmask
2016-01-08 19:26:14 +01:00
Nick Heindl
b50a777437 Added github issues to the tasks
Added github issues to the tasks
2016-01-06 01:15:36 -06:00
Nick Heindl
4852d255c7 Format, add forum link, and organize per PR-889👽
Added forum link, organized the wiki links into sections as per suggestions on PR-889 (I found that after I made original PR, apologies).
2016-01-06 01:08:26 -06:00
Nick Heindl
ae18127409 Fixed broken link; Add wiki link; Formatting
Added the wiki link and better description.
Fix broken link of 'todo'.
Formatted 'Coding Style' to 'Code Formatting Guidelines' for consistency.
Added the Commenting Etiquette link as well.
2016-01-05 18:08:25 -06:00
Akash
8c5c73ea4b GSDX: Fast blending option for windows 2016-01-03 15:40:04 +01:00
Gregory Hainaut
24be4b4969 gsdx-ogl: remove unsafe fbmask of the free SW blending
Initially it was free to do the SW blending because safe fbmask
will already do a sw blending.

Unsafe version uses a fast path with a limited blending. Therefore
SW blending isn't free anymore.

Improve the speed of the previous speed hack (xenosaga 1)
2016-01-03 15:39:45 +01:00
Gregory Hainaut
bb15e54438 gsdx-linux: add a new gui entry for the previous hack 2016-01-03 15:39:45 +01:00
Gregory Hainaut
0d25a0592a gsdx-ogl: fast blending accurate hack
The hack relies on the undefined behavior of the hardware so it can
potentially generate rendering corruption.

This new hack drops the cache flusing when only the alpha channel is masked.
Alpha is a direct copy of the fragment. Normally masked bits will be constant
everywhere (RT, FS output, texture cache) so it would likely work.

Just in case, code is only enabled with the new shiny hack
2016-01-03 15:39:45 +01:00
Akash
6dda879e63 EE-Syscall: Add missing modes 2015-12-24 13:30:25 +05:30
Arthur Moore
6698c5760b Quote all uses of coverity_dir 2015-12-17 19:47:48 -05:00
Arthur Moore
9f87fb16a2 Quote all uses of the build directory 2015-12-17 19:45:23 -05:00
ramapcsx2
6a94a7d49a Enable loading psx games by default. Should help fixing PSX support when people don't have to first find the hidden config variable before they can even test this. 2015-12-05 12:31:45 +01:00
Juha Laukkanen
c72400e927 Darwin/OSX - spu2x apple build with portaudio only.
OSX compilation fix: spu2x: Windows & Linux
2015-12-02 05:01:12 +02:00
Juha Laukkanen
b56197d30b Darwin/OSX - cmake which enables apple build and hopefully won't break Linux build.
OSX compilation fix: librt & not wxgl (yet).
2015-12-02 05:00:55 +02:00
Juha Laukkanen
ade57809c1 Darwin/OSX - bash doesn't understand '|&' - alt format for stderr redirect pipe. 2015-12-02 05:00:55 +02:00
Juha Laukkanen
4fa8834de4 Darwin/OSX ifdef __APPLE__ or __WXMAC__ cases.
OSX comment about __WXMAC__ usage
2015-12-02 05:00:41 +02:00
Juha Laukkanen
592aacb25a Darwin/OSX __POSIX__ definitions. 2015-12-02 05:00:41 +02:00
Juha Laukkanen
7edf747e84 Darwin/OSX Mutex & MAP_ANON vs. MAP_ANONYMOUS.
OSX compilation fix: mutex: Windows
2015-12-02 05:00:23 +02:00
Juha Laukkanen
fc3ff48777 Darwin/OSX SysMessage stub & __POSIX__ define. 2015-11-30 12:18:44 +02:00
Arthur Moore
5252edcd0e Properly handle spaces in the build path
Ex: /usr/local/Console Emulators/pcsx2/
2015-11-30 01:01:11 -05:00
Juha Laukkanen
f813b9e25b Darwin/OSX semaphore & thread & os backend. 2015-11-17 19:30:20 +02:00
Juha Laukkanen
c15958f3c2 Darwin/OSX flat file reader stub. 2015-11-17 19:28:03 +02:00
Juha Laukkanen
be720b96c1 Added OSX Darwin v13+ cmake files. 2015-11-17 19:25:12 +02:00
Gregory Hainaut
d5830ef708 cmake: reenable a couple of missing gcc optimization 2015-11-14 09:54:09 +01:00
4226 changed files with 885318 additions and 773297 deletions

90
.clang-format Normal file
View File

@@ -0,0 +1,90 @@
---
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: DontAlign
AlignOperands: true
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: true
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
BeforeCatch: true
BeforeElse: true
IndentBraces: false
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: false
BreakConstructorInitializers: BeforeComma
ColumnLimit: 0
CommentPragmas: '^ (IWYU pragma:|NOLINT)'
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
ForEachMacros: []
IncludeCategories:
- Regex: '^"(stdafx|PrecompiledHeader)'
Priority: -2
- Regex: '^".*Common'
Priority: -1
- Regex: '^<'
Priority: 1
- Regex: '^"'
Priority: 2
IndentCaseLabels: true
IndentWidth: 4
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 3
NamespaceIndentation: All
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Left
ReflowComments: false
SortIncludes: false
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 4
UseTab: ForContinuationAndIndentation
...

3
.codacy.yaml Normal file
View File

@@ -0,0 +1,3 @@
---
exclude_paths:
- '3rdparty/**'

52
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,52 @@
# So you want to contribute to PCSX2? Great
As a first step, please review these links as they'll help you understand how the development of PCSX2 works.
* [Just Starting Out](#just-starting-out)
* [Issue Reporting](#issue-reporting)
* [Pull Request Guidelines](#pull-request-guidelines)
* [General Documentation And Coding Strategies](#general-documentation-and-coding-strategies)
* [Tasks](#tasks)
## Just Starting Out
* If you're unfamilar with git, check out this [brief introduction to Git](https://github.com/PCSX2/pcsx2/wiki/Git-survival-guide)
* [How to build PCSX2 for Windows](https://github.com/PCSX2/pcsx2/wiki/Setting-up-the-PCSX2-repository-on-Windows-\(WIP---maybe-more-useful-as-a-manpage-instead%3F\))
* [How to build PCSX2 for Linux](https://github.com/PCSX2/pcsx2/wiki/Installing-on-Linux)
## Issue Reporting
* [How to write a useful issue](https://github.com/PCSX2/pcsx2/wiki/How-to-create-useful-and-valid-issues)
## Pull Request Guidelines
The following is a list of *general* style recommendations that will make reviewing and merging easier:
* Commit Messages
* Please try to prefix your commit message, indicating what area of the project was modified.
* For example `gs: message...`.
* Looking at the project's commit history will help with keeping prefixes consistent overtime, *there is no strictly enforced list*.
* Try to keep messages brief and informative
* Remove unnecessary commits and squash commits together when appropriate.
* If you are not familiar with rebasing with git, check out the following resources:
* CLI - https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history
* GUI (SourceTree) - https://www.atlassian.com/blog/sourcetree/interactive-rebase-sourcetree
* Code Styling and Formatting
* [Consult the style guide](https://github.com/tadanokojin/pcsx2/blob/coding-guide/pcsx2/Docs/Coding_Guidelines.md)
* Run `clang-format` using the configuration file in the root of the repository
* Visual Studio Setup - https://devblogs.microsoft.com/cppblog/clangformat-support-in-visual-studio-2017-15-7-preview-1/
* IMPORTANT - if you are running `clang-format` on unrelated changes (ie. formatting an entire file), please do so in a separate commit.
* If you cannot scope your `clang-format` to just your changes and do not want to format unrelated code. Try your best to stick with the existing formatting already established in the file in question.
## General Documentation And Coding Strategies
* [Commenting Etiquette](https://github.com/PCSX2/pcsx2/wiki/Commenting-Etiquette)
* [Coding style](https://github.com/PCSX2/pcsx2/wiki/Code-Formatting-Guidelines)
* [More comprehensive style-guide (Currently in Draft)](https://github.com/tadanokojin/pcsx2/blob/coding-guide/pcsx2/Docs/Coding_Guidelines.md)
* [wxWidgets coding strategies](https://github.com/PCSX2/pcsx2/wiki/wxWidgets-Coding-Strategies)
## Tasks
* [Todo List](https://github.com/PCSX2/pcsx2/wiki/Contributing-\(TODO-List\))
* [Issues](https://github.com/PCSX2/pcsx2/issues)
* [A collection of ideas to improve GS OGL](https://github.com/PCSX2/pcsx2/wiki/Todo-List)

View File

@@ -0,0 +1,81 @@
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Application Bug Report
description: Found a problem with the application itself (ie. bad file path handling, UX issue)? Help us improve it.
title: "[BUG]: "
labels: [Bug]
# assignees:
# - octocat
body:
- type: markdown
attributes:
value: |
## Important: Read First
Please do not make support requests on GitHub. Our issue tracker is for tracking bugs and feature requests only
If you need help configuring the emulator please make a request on our forums or contact us on discord
If you are unsure, start with [discord](https://discord.com/invite/TCz3t9k) or the [forums](https://forums.pcsx2.net/index.php)
Please make an effort to make sure your issue isn't already reported
### Please Avoid Issues Pertaining to the Following:
- We are **not** accepting bug reports for **PSX mode** at this time
- If you are interested in helping contribute to PSX mode please do so on the forums. Otherwise our recommendation is that you use a [proper PSX emulator](https://emulation.gametechwiki.com/index.php/PlayStation_emulators)
- We do **not** accept issues relating to **upscaling** at this time
- We are aware of the various problems with upscaling. The issue spans many games and having hundreds of issues for the same fundamental issues isn't particularly helpful. There are several workarounds for graphical problems that come as a result of upscaling
- Please try your game at native resolution before creating an issue
- If your bug is the result of upscaling please use the forums or discord for assistance with various upscaling workarounds. Additionally, the unofficial PCSX2 [Wiki](https://wiki.pcsx2.net/Main_Page) often lists various fixes for upscaling issues
- type: textarea
id: desc
attributes:
label: Describe the Bug
description: "A clear and concise description of what the bug is"
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction Steps
description: "Steps to reproduce the behavior"
validations:
required: true
- type: textarea
id: expect
attributes:
label: Expected Behavior
description: "A clear and concise description of what you expected to happen"
validations:
required: false
- type: input
id: rev
attributes:
label: PCSX2 Revision
description: "Please ensure you are on the latest version before making an issue"
placeholder: "Example: v1.7.1337"
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
options:
- Windows 11
- Windows 10 (32bit)
- Windows 10 (64bit)
- Windows 8.1 (32bit)
- Windows 8.1 (64bit)
- Linux (32bit) - Specify Distro Below
- Linux (64bit) - Specify Distro Below
- macOS (Monteray)
- macOS (BigSur)
- macOS (Catalina)
- macOS (Mojave)
validations:
required: true
- type: input
id: os-distro
attributes:
label: If Linux - Specify Distro
placeholder: "Example: Arch"
validations:
required: false

11
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Support Forums
url: https://forums.pcsx2.net/index.php
about: For community support and answers
- name: Discord
url: https://discord.com/invite/TCz3t9k
about: Get direct support and hang out with us
- name: Wiki
url: https://wiki.pcsx2.net/Main_Page
about: For user provided information and reports

View File

@@ -0,0 +1,149 @@
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Emulation Bug Report
description: Problem in a game (ie. graphical artifacts, crashes)? Help us improve it.
title: "[BUG]: "
labels: [Bug]
# assignees:
# - octocat
body:
- type: markdown
attributes:
value: |
## Important: Read First
Please do not make support requests on GitHub. Our issue tracker is for tracking bugs and feature requests only
If you need help configuring the emulator please make a request on our forums or contact us on discord
If you are unsure, start with [discord](https://discord.com/invite/TCz3t9k) or the [forums](https://forums.pcsx2.net/index.php)
Please make an effort to make sure your issue isn't already reported
### Please Avoid Issues Pertaining to the Following:
- We are **not** accepting bug reports for **PSX mode** at this time
- If you are interested in helping contribute to PSX mode please do so on the forums. Otherwise our recommendation is that you use a [proper PSX emulator](https://emulation.gametechwiki.com/index.php/PlayStation_emulators)
- We do **not** accept issues relating to **upscaling** at this time
- We are aware of the various problems with upscaling. The issue spans many games and having hundreds of issues for the same fundamental issues isn't particularly helpful. There are several workarounds for graphical problems that come as a result of upscaling
- Please try your game at native resolution before creating an issue
- If your bug is the result of upscaling please use the forums or discord for assistance with various upscaling workarounds. Additionally, the unofficial PCSX2 [Wiki](https://wiki.pcsx2.net/Main_Page) often lists various fixes for upscaling issues
- type: textarea
id: desc
attributes:
label: Describe the Bug
description: "A clear and concise description of what the bug is"
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction Steps
description: "Steps to reproduce the behavior"
validations:
required: true
- type: textarea
id: expect
attributes:
label: Expected Behavior
description: "A clear and concise description of what you expected to happen"
validations:
required: false
- type: markdown
attributes:
value: |
## System Info
Please make sure your system meets our requirements for OS version, CPU and GPU
- [System Requirements](https://github.com/PCSX2/pcsx2#system-requirements)
We **do not** accept bug reports for **unsupported operating systems**.
- [For macOS Support](https://forums.pcsx2.net/Thread-Native-Mac-Testing-Build)
Performance issues as a result of not meeting our hardware requirements are not valid
Please read our known issues pages for AMD and Intel drivers.
- [Intel Drivers](https://github.com/PCSX2/pcsx2/wiki/OpenGL-and-Intel-GPUs-All-you-need-to-know)
- [AMD Drivers](https://github.com/PCSX2/pcsx2/wiki/OpenGL-and-AMD-GPUs---All-you-need-to-know)
We are **not** accepting issues related to the **libretro** core. The libretro core is being maintained separately at this time
- type: input
id: rev
attributes:
label: PCSX2 Revision
description: "We only accept bug reports for the latest dev version. Please try upgrading before making an issue."
placeholder: "Example: v1.7.1337"
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
options:
- Windows 11
- Windows 10 (32bit)
- Windows 10 (64bit)
- Windows 8.1 (32bit)
- Windows 8.1 (64bit)
- Linux (32bit) - Specify Distro Below
- Linux (64bit) - Specify Distro Below
- macOS (Monteray)
- macOS (BigSur)
- macOS (Catalina)
- macOS (Mojave)
validations:
required: true
- type: input
id: os-distro
attributes:
label: If Linux - Specify Distro
placeholder: "Example: Arch"
validations:
required: false
- type: input
id: cpu
attributes:
label: CPU
placeholder: "Example: i5-7600"
validations:
required: true
- type: input
id: gpu
attributes:
label: GPU
placeholder: "Example: GTX 1070"
validations:
required: true
- type: textarea
id: gsSettings
attributes:
label: GS Settings
description: "Any **non-default** settings for GS. If you don't want to list them out, please provide screenshots of your configuration window (including hw hacks if enabled)."
validations:
required: false
- type: textarea
id: emuSettings
attributes:
label: Emulation Settings
description: |
Any non-default core settings. If you don't want to list them out, please provide screenshots of your configuration window
Please note that the safe preset works for most games. MTVU can have some compatibility issues so please disable it before making a report
If you need to modify the settings manually because a game requires you to do so to work, please state that explicitly
validations:
required: false
- type: textarea
id: gsScreens
attributes:
label: GS Window Screenshots
description: "If your issue is graphical in nature and you think screenshots will help illustrate your issue, you may do that here."
validations:
required: false
- type: textarea
id: logsDumps
attributes:
label: "Logs & Dumps"
description: |
Please feel free to attach any logs, block dumps, GSdump, etc here
If your problem is graphical in nature it is highly recommended that you provide a GSdump. [GSdump Guide](https://forums.pcsx2.net/Thread-How-to-create-a-proper-GS-dump)
validations:
required: false

View File

@@ -0,0 +1,41 @@
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Feature request
description: Suggest a new feature or improve an existing one
title: "[Feature Request]: "
labels: ["Enhancement / Feature Request"]
# assignees:
# - octocat
body:
- type: textarea
id: desc
attributes:
label: Description
description: |
A concise description of the feature you want
Include step by step examples of how the feature should work under various circumstances
validations:
required: true
- type: textarea
id: reason
attributes:
label: Reason
description: |
Give a reason why you want this feature
- How will it make things easier for you?
- How does this feature help your enjoyment of the emulator?
- What does it provide that isn't being provided currently?
We are not accepting feature requests related to the libretro core as it's being maintained separately at this time
validations:
required: true
- type: textarea
id: examples
attributes:
label: Examples
description: |
Provide examples of the feature as implemented by other software
Include screenshots or video if you like to help demonstrate how you'd like this feature to work
validations:
required: true

8
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,8 @@
### Description of Changes
<!-- Brief description or overview on what was changed in the PR -->
### Rationale behind Changes
<!-- Why were these changes made? What problem does it solve / area does it improve? -->
### Suggested Testing Steps
<!-- If applicable, including examples you've already tested with / recommendations for how to test further is very helpful! -->

8
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
# Set update schedule for GitHub Actions
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"

121
.github/labeler.yml vendored Normal file
View File

@@ -0,0 +1,121 @@
# Documentation - https://github.com/actions/labeler
# General Labels
'Build | Project System':
- '.github/*'
- '.github/**/*'
- '*.sln'
- '**/*.sln'
- '*.vcxproj*'
- '**/*.vcxproj*'
- 'cmake/*'
- 'cmake/**/*'
- 'CMakeLists.txt'
- '**/CMakeLists.txt'
- 'buildbot.xml'
- 'build.sh'
'Dependencies':
- '3rdparty/*'
- '3rdparty/**/*'
- '**/3rdpartyDeps.props'
- '.gitmodules'
'Documentation':
- '*.md'
- '**/*.md'
- '*.pdf'
- '**/*.pdf'
'GUI/WX':
- 'pcsx2/gui/*'
- 'pcsx2/gui/**/*'
- 'pcsx2/SPU2/wx/*'
- 'pcsx2/SPU2/wx/**/*'
- 'pcsx2/PAD/Linux/wx_dialog/*'
- 'pcsx2/PAD/Linux/wx_dialog/**/*'
- 'pcsx2/GS/Window/GSwxDialog.h'
'GUI/Qt':
- 'pcsx2-qt/*'
- 'pcsx2-qt/**/*'
- '3rdparty/Qt/*'
- '3rdparty/Qt/**/*'
'GameDB':
- '**/GameIndex.*'
'Installer | Package':
- 'nsis/*'
- 'nsis/**/*'
- 'build.sh'
# Tools / Features
'Debugger':
- 'pcsx2/DebugTools/*'
- 'pcsx2/DebugTools/**/*'
- 'pcsx2/gui/Debugger/*'
- 'pcsx2/gui/Debugger/**/*'
'IPC':
- 'pcsx2/IPC*'
- 'pcsx2/**/IPC*'
'TAS Functionality':
- 'pcsx2/Recording/*'
- 'pcsx2/Recording/**/*'
# Emulation Components
'Counters':
- 'pcsx2/Counters.*'
'Vector Units':
- 'pcsx2/VU*'
- 'pcsx2/**/VU*'
- 'pcsx2/*VU*'
- 'pcsx2/**/*VU*'
'VIF':
- 'pcsx2/Vif*'
- 'pcsx2/**/Vif*'
- 'pcsx2/VIF*'
- 'pcsx2/**/VIF*'
# GS Related Labels
'GS':
- 'pcsx2/GS/*'
- 'pcsx2/GS/**/*'
'GS: Direct3D':
- 'pcsx2/GS/Renderers/DX11/*'
- 'pcsx2/GS/Renderers/DX11/**/*'
'GS: Hardware':
- 'pcsx2/GS/Renderers/HW/*'
- 'pcsx2/GS/Renderers/HW/**/*'
'GS: OpenGL':
- 'pcsx2/GS/Renderers/OpenGL/*'
- 'pcsx2/GS/Renderers/OpenGL/**/*'
'GS: Vulkan':
- 'pcsx2/GS/Renderers/Vulkan/*'
- 'pcsx2/GS/Renderers/Vulkan/**/*'
'GS: Texture Cache':
- 'pcsx2/GS/Renderers/*TextureCache*.*'
- 'pcsx2/GS/Renderers/**/*TextureCache*.*'
'GS: Software':
- 'pcsx2/GS/Renderers/SW/*'
- 'pcsx2/GS/Renderers/SW/**/*'
# Other Core Components
'CDVD':
- 'pcsx2/CDVD/*'
- 'pcsx2/CDVD/**/*'
'DEV9':
- 'pcsx2/DEV9/*'
- 'pcsx2/DEV9/**/*'
'IPU':
- 'pcsx2/IPU/*'
- 'pcsx2/IPU/**/*'
'Memory Card':
- 'pcsx2/gui/MemoryCard*'
- 'pcsx2/gui/**/MemoryCard*'
'PAD: Linux/Mac':
- 'pcsx2/PAD/Linux/*'
- 'pcsx2/PAD/Linux/**/*'
'PAD: Windows':
- 'pcsx2/PAD/Windows/*'
- 'pcsx2/PAD/Windows/**/*'
'SPU2':
- 'pcsx2/SPU2/*'
- 'pcsx2/SPU2/**/*'
'USB':
- 'pcsx2/USB/*'
- 'pcsx2/USB/**/*'

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View File

@@ -0,0 +1,47 @@
@startuml
participant User as user
participant Github as github
participant "Create Release WF" as create
participant "Build WFs" as build
participant "Finalize Release WF" as finalize
participant Discord as discord
==Nightly Release==
user -> github : New Commit on master (from PR, or directly)
...waiting for commit push event to fire...
github -> create : Push a new git tag, patch incrementing latest Version
alt from-pr? case
create -> create : Use links to the PR as a description
else was a commit
create -> create : Use Commit Message as Description
end
create -> create : Generate release notes
create -> github : Create new draft release, associated with tag and with the notes
note right
Draft releases are not public facing, only those with write access can see them!
end note
...waiting for push tag event to fire...
loop for all build workflows
github -> build : Build the tag commit
build -> build : .exe will use the git tag for it's title and such
build -> build : Upload the generated artifact to the associated release
alt all-artifacts-uploaded? case
build -> github : Publish the release
user -> github : Can now download the artifacts on the published release
end
note right
This is the only area where an eventual consistency issue is apparent
It is because GitHub does not fire events for when draft releases are edited
This is glossed over in the initial impl and can be improved and be made eventually consistent as well
end note
...waiting for release publish event to fire...
github -> finalize : Announce the Release
finalize -> github : Gather all asset links, and format message embed.
finalize -> discord : Announce new build via a WebHook
...waiting for announcement...
user -> discord : Can download artifacts from links via the discord
@enduml

27
.github/workflows/lint-gamedb.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
name: 📝 Validate GameDB
on:
push:
branches:
- master
paths:
- '**/GameIndex.yaml'
pull_request:
branches:
- master
paths:
- '**/GameIndex.yaml'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Validate GameDB
env:
SCRIPT_DIR: .github/workflows/scripts/validation/lint-gamedb
run: |
pip install -r "${SCRIPT_DIR}/requirements.txt"
python "${SCRIPT_DIR}/lint-gamedb.py"

233
.github/workflows/linux-workflow.yml vendored Normal file
View File

@@ -0,0 +1,233 @@
name: 🐧 Linux Builds
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- master
tags:
- v*
pull_request:
branches:
- master
paths-ignore:
- "**/*.md"
- "**/*.bat"
- "**/*.cmd"
- "**/*.props"
- "**/*.sln"
- ".clang-format"
- ".codacy.yaml"
- ".github/*"
- ".github/workflows/lint-gamedb.yml"
- ".github/workflows/macos-workflow.yml"
- ".github/workflows/pr-triage.yml"
- ".github/workflows/scripts/windows/**"
- ".github/workflows/scripts/validation/**"
- ".github/workflows/windows-workflow.yml"
- ".gitignore"
- "bin/PCSX2_keys.ini.default"
- "build.sh"
- "buildbot.xml"
- "pcsx2/CDVD/Windows/**"
- "pcsx2/DEV9/Win32/**"
- "pcsx2/PAD/Windows/**"
- "pcsx2/SPU2/Windows/**"
- "pcsx2/USB/Win32/**"
- "pcsx2/windows/**"
jobs:
build:
strategy:
# Prevent one build from failing everything (although maybe those should be included as experimental builds instead)
fail-fast: false
matrix:
include:
- os: ubuntu-18.04
platform: x64
compiler: gcc
cmakeflags: -DLTO_PCSX2_CORE=ON
appimage: true
experimental: false
- os: ubuntu-18.04
platform: x64
compiler: clang
# Need to disable PCH until cmake 3.17
# (PCH conflicts with ccache, fixed by https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4400)
cmakeflags: -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
detail: " nopch"
appimage: false
experimental: false
- os: ubuntu-18.04
platform: x64
compiler: gcc
cmakeflags: -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
detail: " nopch"
appimage: false
experimental: false
- os: ubuntu-18.04
platform: x64
compiler: gcc
cmakeflags: -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON -DARCH_FLAG=-march=haswell
detail: " avx2 nopch"
appimage: false
experimental: false
name: ${{ matrix.compiler }}${{ matrix.detail }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
timeout-minutes: 60
env:
CCACHE_BASEDIR: ${{ github.workspace }}
CCACHE_DIR: ${{ github.workspace }}/.ccache
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 9
CCACHE_MAXSIZE: 100M
SDL: SDL2-2.0.16
PATCHELF_VERSION: 0.12
steps:
# NOTE - useful for debugging
# - name: Dump GitHub context
# env:
# GITHUB_CONTEXT: ${{ toJson(github) }}
# run: |
# echo "$GITHUB_CONTEXT"
# echo ${{ github.event.pull_request.title }}
- name: Checkout Repository
uses: actions/checkout@v3
- name: Checkout Submodules
if: steps.cache-submodules.outputs.cache-hit != 'true'
run: git submodule update --init --recursive -j $(getconf _NPROCESSORS_ONLN)
# -- SETUP CCACHE - https://cristianadam.eu/20200113/speeding-up-c-plus-plus-github-actions-using-ccache/
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2.1.7
with:
path: .ccache
key: ${{ matrix.os }} ${{ matrix.platform }} ${{ matrix.compiler }}${{ matrix.detail }} ccache ${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: ${{ matrix.os }} ${{ matrix.platform }} ${{ matrix.compiler }}${{ matrix.detail }} ccache
- name: Prepare Artifact Metadata
id: artifact-metadata
shell: bash
run: |
ARCH=$([ "${{ matrix.platform }}" == x86 ] && echo "32bit" || echo "64bit")
ARTIFACT_NAME=""
if [ ${{ github.event_name }} == "pull_request" ]; then
PR_SHA=$(git rev-parse --short "${{ github.event.pull_request.head.sha }}")
ARTIFACT_NAME="PCSX2-${ARCH}"
if [ ! -z "${{ github.event.pull_request.number }}" ]; then
PR_NUM=${{ github.event.pull_request.number }}
ARTIFACT_NAME="${ARTIFACT_NAME}-pr[${PR_NUM}]"
fi
ARTIFACT_NAME="${ARTIFACT_NAME}-sha[${PR_SHA}]"
if [ ! -z "${{ github.event.pull_request.title }}" ]; then
PR_TITLE=$(echo "${{ github.event.pull_request.title }}" | tr -cd '[a-zA-Z0-9[:space:]]_-')
ARTIFACT_NAME="${ARTIFACT_NAME}-title["${PR_TITLE}""
fi
else
SHA=$(git rev-parse --short "$GITHUB_SHA")
ARTIFACT_NAME="PCSX2-${ARCH}-sha[${SHA}"
fi
TRIMMED_ARTIFACT_NAME=$(printf "%.199s]" "$ARTIFACT_NAME")
echo "name=$TRIMMED_ARTIFACT_NAME"
echo "##[set-output name=name;]${TRIMMED_ARTIFACT_NAME}"
echo "##[set-output name=arch;]${ARCH}"
- name: Install Packages
env:
PLATFORM: ${{ matrix.platform }}
COMPILER: ${{ matrix.compiler }}
run: .github/workflows/scripts/linux/install-packages.sh
- name: Cache Dependencies
uses: actions/cache@v2.1.7
with:
path: |
3rdparty/${{ env.SDL }}
3rdparty/patchelf-${{ env.PATCHELF_VERSION }}
key: ${{ matrix.os }} ${{ matrix.platform }} ${{ env.SDL }} patchelf-${{ env.PATCHELF_VERSION }}
- name: Build Dependencies
run: |
if [[ ! -e 3rdparty/patchelf-${{ env.PATCHELF_VERSION }} ]]; then
curl -sSfL https://github.com/NixOS/patchelf/releases/download/${{ env.PATCHELF_VERSION }}/patchelf-${{ env.PATCHELF_VERSION }}.tar.bz2 | tar -xjC 3rdparty
mv 3rdparty/patchelf-${{ env.PATCHELF_VERSION }}* 3rdparty/patchelf-${{ env.PATCHELF_VERSION }}
cd 3rdparty/patchelf-${{ env.PATCHELF_VERSION }}
./configure
make && cd ../../
fi
sudo make -C 3rdparty/patchelf-${{ env.PATCHELF_VERSION }} install
if [[ ! -e 3rdparty/${{ env.SDL }} ]]; then
curl -sL https://libsdl.org/release/${{ env.SDL }}.tar.gz | tar -xzC 3rdparty
cd 3rdparty/${{ env.SDL }}
if [ "${{ matrix.platform }}" == "x86" ]; then
./configure --build=i686-pc-linux-gnu CC=${{ matrix.compiler }} CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 --prefix=/usr --libdir=/usr/lib/i386-linux-gnu
else
./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
fi
make -j $(getconf _NPROCESSORS_ONLN) && cd ../../
fi
sudo make -C 3rdparty/${{ env.SDL }} install
- name: Generate CMake
env:
PLATFORM: ${{ matrix.platform }}
COMPILER: ${{ matrix.compiler }}
ADDITIONAL_CMAKE_ARGS: ${{ matrix.cmakeflags }}
run: .github/workflows/scripts/linux/generate-cmake.sh
- name: Build PCSX2
working-directory: build
run: ../.github/workflows/scripts/linux/compile.sh
- name: Run Tests
working-directory: ./build
run: ninja unittests
- name: Package AppImage
if: matrix.appimage == true
env:
PLATFORM: ${{ matrix.platform }}
COMPILER: ${{ matrix.compiler }}
name: ${{ steps.artifact-metadata.outputs.name }}
run: .github/workflows/scripts/linux/appimage.sh
- name: Upload artifact
if: matrix.appimage == true
uses: actions/upload-artifact@v2
with:
name: ${{ steps.artifact-metadata.outputs.name }}
path: ci-artifacts
# ---- Release / Tagging related steps ----
- name: Prepare Build Artifacts
if: github.repository == 'PCSX2/pcsx2' && startsWith(github.ref, 'refs/tags/') && matrix.appimage == true
run: |
mv ./ci-artifacts/*.AppImage ./ci-artifacts/linux-AppImage-${{ steps.artifact-metadata.outputs.arch }}.AppImage
ls ./ci-artifacts/
- name: Upload Assets and Potential Publish Release
if: github.repository == 'PCSX2/pcsx2' && startsWith(github.ref, 'refs/tags/') && matrix.appimage == true
env:
GITHUB_TOKEN: ${{ secrets.BOT_PAT }}
ASSET_DIR: ${{ github.WORKSPACE }}/ci-artifacts
ASSET_EXTENSION: AppImage
TAG_TO_SEARCH_FOR: ${{ github.REF }}
run: |
cd ./.github/workflows/scripts/releases/upload-release-artifacts
npm ci
node index.js

117
.github/workflows/macos-workflow.yml vendored Normal file
View File

@@ -0,0 +1,117 @@
name: 🍎 MacOS Builds
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- master
paths-ignore:
- '**/*.md'
- '**/*.bat'
- '**/*.cmd'
- '**/*.props'
- '**/*.sln'
- '.clang-format'
- '.codacy.yaml'
- '.github/*'
- '.github/workflows/lint-gamedb.yml'
- '.github/workflows/linux-workflow.yml'
- '.github/workflows/pr-triage.yml'
- '.github/workflows/scripts/windows/**'
- '.github/workflows/scripts/validation/**'
- '.github/workflows/windows-workflow.yml'
- '.gitignore'
- 'bin/PCSX2_keys.ini.default'
- 'build.sh'
- 'buildbot.xml'
- 'pcsx2/CDVD/Windows/**'
- 'pcsx2/DEV9/Win32/**'
- 'pcsx2/PAD/Windows/**'
- 'pcsx2/SPU2/Windows/**'
- 'pcsx2/USB/Win32/**'
- 'pcsx2/windows/**'
pull_request:
branches:
- master
paths-ignore:
- '**/*.md'
- '**/*.bat'
- '**/*.cmd'
- '**/*.props'
- '**/*.sln'
- '.clang-format'
- '.codacy.yaml'
- '.github/*'
- '.github/workflows/lint-gamedb.yml'
- '.github/workflows/linux-workflow.yml'
- '.github/workflows/pr-triage.yml'
- '.github/workflows/scripts/windows/**'
- '.github/workflows/scripts/validation/**'
- '.github/workflows/windows-workflow.yml'
- '.gitignore'
- 'bin/PCSX2_keys.ini.default'
- 'build.sh'
- 'buildbot.xml'
- 'pcsx2/CDVD/Windows/**'
- 'pcsx2/DEV9/Win32/**'
- 'pcsx2/PAD/Windows/**'
- 'pcsx2/SPU2/Windows/**'
- 'pcsx2/USB/Win32/**'
- 'pcsx2/windows/**'
jobs:
build:
strategy:
# Prevent one build from failing everything (although maybe those should be included as experimental builds instead)
fail-fast: false
matrix:
os: [macos-11.0]
platform: [x64]
experimental: [false]
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
timeout-minutes: 30
steps:
# NOTE - useful for debugging
# - name: Dump GitHub context
# env:
# GITHUB_CONTEXT: ${{ toJson(github) }}
# run: |
# echo "$GITHUB_CONTEXT"
# echo ${{ github.event.pull_request.title }}
- name: Checkout Repository
uses: actions/checkout@v3
- name: Checkout Submodules
run: git submodule update --init --recursive -j $(getconf _NPROCESSORS_ONLN)
- name: Install Packages
env:
PLATFORM: ${{ matrix.platform }}
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_NO_ANALYTICS: 1
run: |
# To save time, only brew update if running the install without it fails
function do-install() {
brew install sound-touch portaudio wxwidgets sdl2 libsamplerate
}
if ! do-install; then
brew update
do-install
fi
- name: Generate CMake Files
run: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_PO=FALSE -DLTO_PCSX2_CORE=ON -B build .
- name: Build PCSX2
working-directory: build
run: make -j$(getconf _NPROCESSORS_ONLN) # macOS doesn't use make install
- name: Run Tests
working-directory: build
run: make -j$(getconf _NPROCESSORS_ONLN) unittests

27
.github/workflows/pr-triage.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
# Runs steps to triage an incoming Pull Request, for example - applying labels.
name: 🤔 Pull Request Triage
on: pull_request_target
jobs:
triage:
if: github.repository == 'PCSX2/pcsx2'
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@main
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: xTVaser/first-interaction@v1.2.4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
debug-mode: false
pr-message: |-
## Thank you for submitting a contribution to PCSX2
As this is your first pull request, [please be aware of the contributing guidelines](https://github.com/PCSX2/pcsx2/blob/master/.github/CONTRIBUTING.md).
Additionally, as per recent changes in GitHub Actions, your pull request will need to be approved by a maintainer before GitHub Actions can run against it. [You can find more information about this change here.](https://github.blog/2021-04-22-github-actions-update-helping-maintainers-combat-bad-actors/)
Please be patient until this happens. In the meantime if you'd like to confirm the builds are passing, you have the option of opening a PR on your own fork, just make sure your fork's master branch is up to date!
pr-labels: "First Time Contribution"

24
.github/workflows/release-announce.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: 📢 Announce Release
on:
release:
types: [published]
jobs:
announce:
if: github.repository == 'PCSX2/pcsx2'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Announce Release
env:
DISCORD_BUILD_WEBHOOK: ${{ secrets.DISCORD_BUILD_WEBHOOK }}
run: |
cd ./.github/workflows/scripts/releases/announce-release
npm ci
node index.js

View File

@@ -0,0 +1,62 @@
# Whenever a commit is pushed to master (ideally via a pull-request!)
# this action will create the next release, which means:
# 1. tag master with the proper version
# 2. create a new draft release (pre-released if a nightly build)
# 3. add release notes
name: 🏭 Create Release
on:
push:
branches:
- master
# TODO - future work
# workflow_dispatch:
# inputs:
# isStable:
# description: 'Should it be a stable release?'
# required: true
# default: 'false'
# versionTag:
# description: 'The version to tag with'
# required: true
jobs:
cut-release:
if: github.repository == 'PCSX2/pcsx2'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# Docs - https://github.com/mathieudutour/github-tag-action
# Workflows cannot trigger other workflows implicitly
# - https://github.community/t/github-actions-workflow-not-triggering-with-tag-push/17053/7
- name: Bump Version and Push Tag
id: tag_version
uses: mathieudutour/github-tag-action@v6.0
with:
github_token: ${{ secrets.BOT_PAT }}
tag_prefix: v
default_bump: patch
# Generate the Release Notes
- name: Generate Release Notes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMMIT_SHA: ${{ github.SHA }}
run: |
cd ./.github/workflows/scripts/releases/generate-release-notes
npm ci
node index.js
mv ./release-notes.md ${GITHUB_WORKSPACE}/release-notes.md
ls
# Docs - https://github.com/softprops/action-gh-release
- name: Create a GitHub Release
uses: softprops/action-gh-release@v1
if: steps.tag_version.outputs.new_tag
with:
body_path: ./release-notes.md
draft: true
prerelease: true
tag_name: ${{ steps.tag_version.outputs.new_tag }}

View File

@@ -0,0 +1 @@
*.txt

View File

@@ -0,0 +1,39 @@
import os
relevant_categories = [
"# Windows",
"# Mac OS X",
"# Linux"
]
header_lines = []
new_db_contents = []
def is_relevant_category(line):
for category in relevant_categories:
if category in line:
return True
return False
with open("./game_controller_db.txt") as file:
lines = file.readlines()
finished_header = False
processing_section = False
for line in lines:
if finished_header is False:
header_lines.append(line)
if line == "\n":
finished_header = True
if processing_section and line == "\n":
processing_section = False
new_db_contents.append("\n")
if is_relevant_category(line) and processing_section is False:
processing_section = True
new_db_contents.append(line)
elif processing_section:
new_db_contents.append(line)
os.remove("./game_controller_db.txt")
with open("./game_controller_db.txt", "w") as f:
f.writelines(header_lines)
f.writelines(new_db_contents)

3
.github/workflows/scripts/linux/AppRun vendored Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
$APPDIR/AppRun-patched

View File

@@ -0,0 +1,10 @@
#!/bin/bash
export LD_LIBRARY_PATH="$APPDIR/usr/lib:$LD_LIBRARY_PATH"
export BINARY_NAME=$(basename "$ARGV0")
if [[ ! -e "$PWD/$BINARY_NAME.config" ]]; then
mkdir "$PWD/$BINARY_NAME.config"
fi
export XDG_CONFIG_HOME="$PWD/$BINARY_NAME.config"
mkdir -p "$HOME"/.local/share/icons/hicolor/scalable/apps && cp "$APPDIR"/PCSX2.png "$HOME"/.local/share/icons/hicolor/scalable/apps

59
.github/workflows/scripts/linux/appimage.sh vendored Executable file
View File

@@ -0,0 +1,59 @@
#!/bin/bash
set -ex
echo "${PLATFORM}"
if [ "${PLATFORM}" == "x86" ]; then
APPARCH="i686"
ARCH="i386"
LIBARCH="i386-linux-gnu"
else
APPARCH="x86_64"
ARCH="x86_64"
LIBARCH="x86_64-linux-gnu"
fi
cd /tmp
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$ARCH.AppImage"
chmod a+x linuxdeploy*.AppImage
./linuxdeploy-"$ARCH".AppImage --appimage-extract
curl -sSfL "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh" -o /tmp/squashfs-root/usr/bin/linuxdeploy-plugin-gtk.sh
chmod a+x /tmp/squashfs-root/usr/bin/linuxdeploy-plugin-gtk.sh
mv /tmp/squashfs-root/usr/bin/patchelf /tmp/squashfs-root/usr/bin/patchelf.orig
sudo cp /usr/local/bin/patchelf /tmp/squashfs-root/usr/bin/patchelf
cd "$GITHUB_WORKSPACE"
ninja -C build install
cp ./pcsx2/gui/Resources/AppIcon64.png ./squashfs-root/PCSX2.png
cp ./linux_various/PCSX2.desktop.in ./squashfs-root/PCSX2.desktop
sed -i -e 's|Categories=@PCSX2_MENU_CATEGORIES@|Categories=Game;Emulator;|g' ./squashfs-root/PCSX2.desktop
sed -i -e 's|__GL_THREADED_OPTIMIZATIONS=1|__GL_THREADED_OPTIMIZATIONS=0|g' ./squashfs-root/PCSX2.desktop
curl -sSfL "https://github.com/AppImage/AppImageKit/releases/download/continuous/runtime-$APPARCH" -o ./squashfs-root/runtime
mkdir -p squashfs-root/usr/share/applications && cp ./squashfs-root/PCSX2.desktop ./squashfs-root/usr/share/applications
mkdir -p squashfs-root/usr/share/icons && cp ./squashfs-root/PCSX2.png ./squashfs-root/usr/share/icons
mkdir -p squashfs-root/usr/share/icons/hicolor/scalable/apps && cp ./squashfs-root/PCSX2.png ./squashfs-root/usr/share/icons/hicolor/scalable/apps
mkdir -p squashfs-root/usr/share/pixmaps && cp ./squashfs-root/PCSX2.png ./squashfs-root/usr/share/pixmaps
mkdir -p squashfs-root/usr/lib/
mkdir -p squashfs-root/usr/optional/libstdc++
mkdir -p squashfs-root/usr/optional/libgcc_s
cp ./.github/workflows/scripts/linux/AppRun "$GITHUB_WORKSPACE"/squashfs-root/AppRun
curl -sSfL "https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/AppRun-patched-$APPARCH" -o "$GITHUB_WORKSPACE"/squashfs-root/AppRun-patched
curl -sSfL "https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/exec-$APPARCH.so" -o "$GITHUB_WORKSPACE"/squashfs-root/usr/optional/exec.so
chmod a+x ./squashfs-root/AppRun
chmod a+x ./squashfs-root/runtime
chmod a+x ./squashfs-root/AppRun-patched
chmod a+x ./squashfs-root/usr/optional/exec.so
echo "$name" > "$GITHUB_WORKSPACE"/squashfs-root/version.txt
mkdir -p "$GITHUB_WORKSPACE"/squashfs-root/apprun-hooks
cp /usr/lib/$LIBARCH/libthai.so.0 "$GITHUB_WORKSPACE"/squashfs-root/usr/lib/
cp --dereference /usr/lib/"$LIBARCH"/libstdc++.so.6 "$GITHUB_WORKSPACE"/squashfs-root/usr/optional/libstdc++/libstdc++.so.6
cp --dereference /lib/"$LIBARCH"/libgcc_s.so.1 "$GITHUB_WORKSPACE"/squashfs-root/usr/optional/libgcc_s/libgcc_s.so.1
chmod +x .github/workflows/scripts/linux/app-variables.sh
cp .github/workflows/scripts/linux/app-variables.sh "$GITHUB_WORKSPACE"/squashfs-root/apprun-hooks
export UPD_INFO="gh-releases-zsync|PCSX2|pcsx2|latest|$name.AppImage.zsync"
export OUTPUT="$name.AppImage"
/tmp/squashfs-root/AppRun --appdir="$GITHUB_WORKSPACE"/squashfs-root/ --plugin gtk -d "$GITHUB_WORKSPACE"/squashfs-root/PCSX2.desktop -i "$GITHUB_WORKSPACE"/squashfs-root/PCSX2.png --output appimage
mkdir -p "$GITHUB_WORKSPACE"/ci-artifacts/
ls -al .
mv "$name.AppImage" "$GITHUB_WORKSPACE"/ci-artifacts # && mv "$name.AppImage.zsync" "$GITHUB_WORKSPACE"/ci-artifacts
chmod -R 777 ./ci-artifacts
cd ./ci-artifacts
ls -al .

15
.github/workflows/scripts/linux/compile.sh vendored Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
set -e
if [ -n "${GITHUB_ACTIONS}" ]; then
echo "Warning: Running this script outside of GitHub Actions isn't recommended."
fi
# Prepare the Cache
ccache -p
ccache -z
# Build
ninja
# Save the Cache
ccache -s

View File

@@ -0,0 +1,32 @@
#!/bin/bash
set -e
if [ "${COMPILER}" = "gcc" ]; then
export CC=gcc-10
export CXX=g++-10
else
export CC=clang
export CXX=clang++
fi
if [ "${PLATFORM}" = x86 ]; then
ADDITIONAL_CMAKE_ARGS="$ADDITIONAL_CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=cmake/linux-compiler-i386-multilib.cmake"
fi
echo "Additional CMake Args - ${ADDITIONAL_CMAKE_ARGS}"
# Generate CMake into ./build
cmake \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_BUILD_TYPE=Release \
-DPACKAGE_MODE=TRUE \
-DWAYLAND_API=TRUE \
-DDISABLE_ADVANCE_SIMD=TRUE \
-DDISABLE_PCSX2_WRAPPER=TRUE \
-DCMAKE_INSTALL_PREFIX="squashfs-root/usr/" \
-DOpenGL_GL_PREFERENCE="LEGACY" \
-DOPENGL_opengl_LIBRARY="" \
-DXDG_STD=TRUE \
$ADDITIONAL_CMAKE_ARGS \
-GNinja \
-B build

View File

@@ -0,0 +1,62 @@
#!/bin/bash
set -e
# Packages - Build Environment
declare -a BUILD_PACKAGES=(
"ccache"
"cmake"
"ninja-build"
)
# Packages - PCSX2
declare -a PCSX2_PACKAGES=(
"libaio-dev"
"libbz2-dev"
"libegl1-mesa-dev"
"libgdk-pixbuf2.0-dev"
"libgl1-mesa-dev"
"libgtk-3-dev"
"libharfbuzz-dev"
"libjpeg-dev"
"liblzma-dev"
"libpcap0.8-dev"
"libpng-dev"
"libpulse-dev"
"librsvg2-dev"
"libsamplerate0-dev"
"libsoundtouch-dev"
"libudev-dev"
"libwxgtk3.0-gtk3-dev"
"libx11-xcb-dev"
"pkg-config"
"portaudio19-dev"
"zlib1g-dev"
)
if [ "${COMPILER}" = "gcc" ]; then
BUILD_PACKAGES+=("g++-10-multilib")
else
BUILD_PACKAGES+=("clang-9")
PCSX2_PACKAGES+=("libstdc++-10-dev")
fi
# - https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md
ARCH=""
echo "${PLATFORM}"
if [ "${PLATFORM}" == "x86" ]; then
ARCH=":i386"
sudo dpkg --add-architecture i386
fi
sudo apt-get -qq update
# Install packages needed for building
echo "Will install the following packages for building - ${BUILD_PACKAGES[*]}"
#sudo apt remove gcc-9 g++-9
sudo apt-get -y install "${BUILD_PACKAGES[@]}"
# Install packages needed by pcsx2
PCSX2_PACKAGES=("${PCSX2_PACKAGES[@]/%/"${ARCH}"}")
echo "Will install the following packages for pcsx2 - ${PCSX2_PACKAGES[*]}"
sudo apt-get -y install "${PCSX2_PACKAGES[@]}"

View File

@@ -0,0 +1,2 @@
node_modules/
*.md

View File

@@ -0,0 +1,61 @@
import { MessageEmbed, WebhookClient } from "discord.js";
import * as github from '@actions/github';
const releaseInfo = github.context.payload.release;
if (!releaseInfo.prerelease) {
console.log("Not announcing - release was not a pre-release (aka a Nightly)");
process.exit(0);
}
const assets = releaseInfo.assets;
let windowsAssetLinks = "";
let linuxAssetLinks = "";
for (var i = 0; i < assets.length; i++) {
let asset = assets[i];
if (asset.name.includes("symbols")) {
continue;
}
if (asset.name.includes("windows")) {
let friendlyName = asset.name;
try {
friendlyName = asset.name.split("windows-")[1].split(".7z")[0].replace("-", " ");
} catch (e) {
console.log(e);
}
windowsAssetLinks += `- [${friendlyName}](${asset.browser_download_url})\n`
} else if (asset.name.includes("linux")) {
let friendlyName = asset.name;
try {
friendlyName = asset.name.split("linux-")[1].split(".AppImage")[0].replace("-", " ");
} catch (e) {
console.log(e);
}
linuxAssetLinks += `- [${friendlyName}](${asset.browser_download_url})\n`
}
}
// Publish Webhook
const embed = new MessageEmbed()
.setColor('#FF8000')
.setTitle('New PCSX2 Nightly Build Available!')
.addFields(
{ name: 'Version', value: releaseInfo.tag_name, inline: true },
{ name: 'Release Link', value: `[Github Release](${releaseInfo.html_url})`, inline: true },
{ name: 'Installation Steps', value: '[See Here](https://github.com/PCSX2/pcsx2/wiki/Nightly-Build-Usage-Guide)', inline: true },
{ name: 'Included Changes', value: releaseInfo.body, inline: false },
{ name: 'Previous Builds', value: "[See Here](https://pcsx2.github.io/downloads.html#nightly-anchor)", inline: false }
);
if (windowsAssetLinks != "") {
embed.addField('Windows Downloads', windowsAssetLinks, false);
}
if (linuxAssetLinks != "") {
embed.addField('Linux Downloads', linuxAssetLinks, false);
}
const webhookClient = new WebhookClient({ url: process.env.DISCORD_BUILD_WEBHOOK });
await webhookClient.send({
embeds: [embed],
});

View File

@@ -0,0 +1,814 @@
{
"name": "announce-release",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@actions/github": "^5.0.0",
"discord.js": "^13.2.0"
}
},
"node_modules/@actions/github": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz",
"integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==",
"dependencies": {
"@actions/http-client": "^1.0.11",
"@octokit/core": "^3.4.0",
"@octokit/plugin-paginate-rest": "^2.13.3",
"@octokit/plugin-rest-endpoint-methods": "^5.1.1"
}
},
"node_modules/@actions/http-client": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz",
"integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==",
"dependencies": {
"tunnel": "0.0.6"
}
},
"node_modules/@discordjs/builders": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.6.0.tgz",
"integrity": "sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==",
"dependencies": {
"@sindresorhus/is": "^4.0.1",
"discord-api-types": "^0.22.0",
"ow": "^0.27.0",
"ts-mixer": "^6.0.0",
"tslib": "^2.3.1"
},
"engines": {
"node": ">=14.0.0",
"npm": ">=7.0.0"
}
},
"node_modules/@discordjs/builders/node_modules/discord-api-types": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz",
"integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==",
"engines": {
"node": ">=12"
}
},
"node_modules/@discordjs/collection": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz",
"integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==",
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@discordjs/form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"dependencies": {
"@octokit/types": "^6.0.3"
}
},
"node_modules/@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"dependencies": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"dependencies": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"dependencies": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"dependencies": {
"@octokit/types": "^6.33.0"
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"dependencies": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"node_modules/@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"dependencies": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"dependencies": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"node_modules/@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"dependencies": {
"@octokit/openapi-types": "^11.1.0"
}
},
"node_modules/@sapphire/async-queue": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.6.tgz",
"integrity": "sha512-M5CbgMgesemMUCQo5G/InGHvp+GZx6uuJNV1iwvSWD8EFNVrfxaTcqhcAXM3MPYkjlxvNnoDNk0R1lfzvca6LA==",
"engines": {
"node": ">=v14.18.0",
"npm": ">=7.24.2"
}
},
"node_modules/@sindresorhus/is": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
"node_modules/@types/node": {
"version": "16.10.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz",
"integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="
},
"node_modules/@types/ws": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
"integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"node_modules/before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"engines": {
"node": ">=6"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"node_modules/discord-api-types": {
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.23.1.tgz",
"integrity": "sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ==",
"engines": {
"node": ">=12"
}
},
"node_modules/discord.js": {
"version": "13.2.0",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.2.0.tgz",
"integrity": "sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==",
"dependencies": {
"@discordjs/builders": "^0.6.0",
"@discordjs/collection": "^0.2.1",
"@discordjs/form-data": "^3.0.1",
"@sapphire/async-queue": "^1.1.5",
"@types/ws": "^8.2.0",
"discord-api-types": "^0.23.1",
"node-fetch": "^2.6.1",
"ws": "^8.2.3"
},
"engines": {
"node": ">=16.6.0",
"npm": ">=7.0.0"
}
},
"node_modules/dot-prop": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
"integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
"dependencies": {
"is-obj": "^2.0.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-obj": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
"engines": {
"node": ">=8"
}
},
"node_modules/is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
},
"node_modules/mime-db": {
"version": "1.50.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
"integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.33",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
"integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
"dependencies": {
"mime-db": "1.50.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
},
"peerDependencies": {
"encoding": "^0.1.0"
},
"peerDependenciesMeta": {
"encoding": {
"optional": true
}
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/ow": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz",
"integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==",
"dependencies": {
"@sindresorhus/is": "^4.0.1",
"callsites": "^3.1.0",
"dot-prop": "^6.0.1",
"lodash.isequal": "^4.5.0",
"type-fest": "^1.2.1",
"vali-date": "^1.0.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"node_modules/ts-mixer": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
"integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
},
"node_modules/tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
"node_modules/tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
"engines": {
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
}
},
"node_modules/type-fest": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"node_modules/vali-date": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
"integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"node_modules/ws": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": "^5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
}
},
"dependencies": {
"@actions/github": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz",
"integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==",
"requires": {
"@actions/http-client": "^1.0.11",
"@octokit/core": "^3.4.0",
"@octokit/plugin-paginate-rest": "^2.13.3",
"@octokit/plugin-rest-endpoint-methods": "^5.1.1"
}
},
"@actions/http-client": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz",
"integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==",
"requires": {
"tunnel": "0.0.6"
}
},
"@discordjs/builders": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.6.0.tgz",
"integrity": "sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==",
"requires": {
"@sindresorhus/is": "^4.0.1",
"discord-api-types": "^0.22.0",
"ow": "^0.27.0",
"ts-mixer": "^6.0.0",
"tslib": "^2.3.1"
},
"dependencies": {
"discord-api-types": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz",
"integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg=="
}
}
},
"@discordjs/collection": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz",
"integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog=="
},
"@discordjs/form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
},
"@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"requires": {
"@octokit/types": "^6.0.3"
}
},
"@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"requires": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"requires": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"requires": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"requires": {
"@octokit/types": "^6.33.0"
}
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"requires": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"requires": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"requires": {
"@octokit/openapi-types": "^11.1.0"
}
},
"@sapphire/async-queue": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.6.tgz",
"integrity": "sha512-M5CbgMgesemMUCQo5G/InGHvp+GZx6uuJNV1iwvSWD8EFNVrfxaTcqhcAXM3MPYkjlxvNnoDNk0R1lfzvca6LA=="
},
"@sindresorhus/is": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw=="
},
"@types/node": {
"version": "16.10.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz",
"integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="
},
"@types/ws": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
"integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
"requires": {
"@types/node": "*"
}
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"discord-api-types": {
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.23.1.tgz",
"integrity": "sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ=="
},
"discord.js": {
"version": "13.2.0",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.2.0.tgz",
"integrity": "sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==",
"requires": {
"@discordjs/builders": "^0.6.0",
"@discordjs/collection": "^0.2.1",
"@discordjs/form-data": "^3.0.1",
"@sapphire/async-queue": "^1.1.5",
"@types/ws": "^8.2.0",
"discord-api-types": "^0.23.1",
"node-fetch": "^2.6.1",
"ws": "^8.2.3"
}
},
"dot-prop": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
"integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
"requires": {
"is-obj": "^2.0.0"
}
},
"is-obj": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
},
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
},
"lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
},
"mime-db": {
"version": "1.50.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
"integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A=="
},
"mime-types": {
"version": "2.1.33",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
"integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
"requires": {
"mime-db": "1.50.0"
}
},
"node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"ow": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz",
"integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==",
"requires": {
"@sindresorhus/is": "^4.0.1",
"callsites": "^3.1.0",
"dot-prop": "^6.0.1",
"lodash.isequal": "^4.5.0",
"type-fest": "^1.2.1",
"vali-date": "^1.0.0"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"ts-mixer": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
"integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
},
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
"tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
},
"type-fest": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA=="
},
"universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"vali-date": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
"integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"requires": {}
}
}
}

View File

@@ -0,0 +1,16 @@
{
"name": "announce-release",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@actions/github": "^5.0.0",
"discord.js": "^13.2.0"
}
}

View File

@@ -0,0 +1,2 @@
node_modules/
*.md

View File

@@ -0,0 +1,64 @@
import { Octokit } from "@octokit/rest";
import { throttling } from "@octokit/plugin-throttling";
import { retry } from "@octokit/plugin-retry";
Octokit.plugin(throttling);
Octokit.plugin(retry);
const octokit = new Octokit({
auth: process.env.GITHUB_TOKEN,
userAgent: 'PCSX2/pcsx2',
log: {
debug: () => { },
info: () => { },
warn: console.warn,
error: console.error
},
throttle: {
onRateLimit: (retryAfter, options) => {
octokit.log.warn(
`Request quota exhausted for request ${options.method} ${options.url}`
);
// Retry twice after hitting a rate limit error, then give up
if (options.request.retryCount <= 2) {
console.log(`Retrying after ${retryAfter} seconds!`);
return true;
}
},
onAbuseLimit: (retryAfter, options) => {
// does not retry, only logs a warning
octokit.log.warn(
`Abuse detected for request ${options.method} ${options.url}`
);
},
}
});
var args = process.argv.slice(2);
let commitSha = process.env.COMMIT_SHA;
console.log(`Searching for Commit - ${commitSha}`);
const { data: commit } = await octokit.rest.repos.getCommit({
owner: "PCSX2",
repo: "pcsx2",
ref: commitSha,
});
const { data: associatedPulls } = await octokit.rest.repos.listPullRequestsAssociatedWithCommit({
owner: "PCSX2",
repo: "pcsx2",
commit_sha: commit.sha,
});
let releaseNotes = ``;
if (associatedPulls.length === 0) {
releaseNotes += `- ${commit.commit.message}\n`;
} else {
for (var j = 0; j < associatedPulls.length; j++) {
releaseNotes += `- [${associatedPulls[j].title}](${associatedPulls[j].html_url})\n`;
}
}
import * as fs from 'fs';
fs.writeFileSync('./release-notes.md', releaseNotes);

View File

@@ -0,0 +1,202 @@
{
"name": "generate-release-notes",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"requires": {
"@octokit/types": "^6.0.3"
}
},
"@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"requires": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"requires": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"requires": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"requires": {
"@octokit/types": "^6.33.0"
}
},
"@octokit/plugin-request-log": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
"integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA=="
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"requires": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"@octokit/plugin-retry": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz",
"integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==",
"requires": {
"@octokit/types": "^6.0.3",
"bottleneck": "^2.15.3"
}
},
"@octokit/plugin-throttling": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.5.2.tgz",
"integrity": "sha512-Eu7kfJxU8vmHqWGNszWpg+GVp2tnAfax3XQV5CkYPEE69C+KvInJXW9WajgSeW+cxYe0UVdouzCtcreGNuJo7A==",
"requires": {
"@octokit/types": "^6.0.1",
"bottleneck": "^2.15.3"
}
},
"@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"requires": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/rest": {
"version": "18.12.0",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
"integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
"requires": {
"@octokit/core": "^3.5.1",
"@octokit/plugin-paginate-rest": "^2.16.8",
"@octokit/plugin-request-log": "^1.0.4",
"@octokit/plugin-rest-endpoint-methods": "^5.12.0"
}
},
"@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"requires": {
"@octokit/openapi-types": "^11.1.0"
}
},
"before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"bottleneck": {
"version": "2.19.5",
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
},
"deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
},
"node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
}
}

View File

@@ -0,0 +1,17 @@
{
"name": "generate-release-notes",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@octokit/plugin-retry": "^3.0.9",
"@octokit/plugin-throttling": "^3.5.2",
"@octokit/rest": "^18.12.0"
}
}

View File

@@ -0,0 +1,2 @@
node_modules/
*.md

View File

@@ -0,0 +1,142 @@
import { Octokit } from "@octokit/rest";
import { throttling } from "@octokit/plugin-throttling";
import { retry } from "@octokit/plugin-retry";
Octokit.plugin(throttling);
Octokit.plugin(retry);
const octokit = new Octokit({
auth: process.env.GITHUB_TOKEN,
userAgent: 'PCSX2/pcsx2',
log: {
debug: () => { },
info: () => { },
warn: console.warn,
error: console.error
},
throttle: {
onRateLimit: (retryAfter, options) => {
octokit.log.warn(
`Request quota exhausted for request ${options.method} ${options.url}`
);
// Retry twice after hitting a rate limit error, then give up
if (options.request.retryCount <= 2) {
console.log(`Retrying after ${retryAfter} seconds!`);
return true;
}
},
onAbuseLimit: (retryAfter, options) => {
// does not retry, only logs a warning
octokit.log.warn(
`Abuse detected for request ${options.method} ${options.url}`
);
},
}
});
let assetDir = process.env.ASSET_DIR;
let tagToSearchFor = process.env.TAG_TO_SEARCH_FOR.split("refs/tags/")[1];
console.log(`Searching in - ${assetDir}`);
console.log(`Searching for tag - ${tagToSearchFor}`);
const { data: recentReleases } = await octokit.rest.repos.listReleases({
owner: "PCSX2",
repo: "pcsx2",
per_page: 100
});
let release = undefined;
for (var i = 0; i < recentReleases.length; i++) {
if (recentReleases[i].tag_name == tagToSearchFor) {
release = recentReleases[i];
break;
}
}
if (release == undefined) {
console.log(`Unable to find release with tag - ${tagToSearchFor}`);
process.exit(1);
}
// Upload any assets we need to, don't upload assets that are already there!
const { data: releaseAssetsPre } = await octokit.rest.repos.listReleaseAssets({
owner: "PCSX2",
repo: "pcsx2",
release_id: release.id,
per_page: 100
});
import glob from 'glob';
import * as fs from 'fs';
import * as path from 'path';
glob(assetDir + `/**/*${process.env.ASSET_EXTENSION}`, {}, async (err, files) => {
for (var i = 0; i < files.length; i++) {
let foundDuplicate = false;
for (var j = 0; j < releaseAssetsPre.length; j++) {
let existingAsset = releaseAssetsPre[j];
if (existingAsset.name == `pcsx2-${release.tag_name}-${path.basename(files[i])}`) {
foundDuplicate = true;
break;
}
}
if (foundDuplicate) {
continue;
}
var assetBytes = fs.readFileSync(files[i], null);
const { data: uploadAsset } = await octokit.rest.repos.uploadReleaseAsset({
owner: "PCSX2",
repo: "pcsx2",
release_id: release.id,
name: `pcsx2-${release.tag_name}-${path.basename(files[i])}`,
data: assetBytes,
});
}
});
// Ideally there would be a webhook event for when an artifact is added to a draft release
// unfortunately, such a thing does not exist yet. Therefore, we have to wait a bit
// for the API to become consistent
// TODO - future work - we could check previous draft releases to become eventually consistent as well
// - draft releases should only be a temporary state, so anything that remains a draft had a problem
await new Promise(resolve => setTimeout(resolve, 10 * 1000));
// Poll the release, and check to see if it's ready to be published
const { data: releaseAssetsPost } = await octokit.rest.repos.listReleaseAssets({
owner: "PCSX2",
repo: "pcsx2",
release_id: release.id,
per_page: 100
});
// Expected Assets, if we have all of them, we will publish it
let expectedAssets = {
"windows-64bit-sse4": false,
"windows-64bit-avx2": false,
"linux-appimage-64bit": false
}
for (var i = 0; i < releaseAssetsPost.length; i++) {
let asset = releaseAssetsPost[i];
if (asset.name.includes("symbols")) {
continue;
}
for (var j = 0; j < Object.keys(expectedAssets).length; j++) {
let expectedNamePrefix = Object.keys(expectedAssets)[j];
if (asset.name.toLowerCase().includes(expectedNamePrefix)) {
expectedAssets[expectedNamePrefix] = true;
break;
}
}
}
console.log(expectedAssets);
if (Object.values(expectedAssets).every(Boolean)) {
await octokit.rest.repos.updateRelease({
owner: "PCSX2",
repo: "pcsx2",
release_id: release.id,
draft: false
});
}

View File

@@ -0,0 +1,559 @@
{
"name": "upload-release-artifacts",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@octokit/plugin-retry": "^3.0.9",
"@octokit/plugin-throttling": "^3.5.2",
"@octokit/rest": "^18.12.0",
"glob": "^7.2.0"
}
},
"node_modules/@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"dependencies": {
"@octokit/types": "^6.0.3"
}
},
"node_modules/@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"dependencies": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"dependencies": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"dependencies": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"dependencies": {
"@octokit/types": "^6.33.0"
}
},
"node_modules/@octokit/plugin-request-log": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
"integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA=="
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"dependencies": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"node_modules/@octokit/plugin-retry": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz",
"integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==",
"dependencies": {
"@octokit/types": "^6.0.3",
"bottleneck": "^2.15.3"
}
},
"node_modules/@octokit/plugin-throttling": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.5.2.tgz",
"integrity": "sha512-Eu7kfJxU8vmHqWGNszWpg+GVp2tnAfax3XQV5CkYPEE69C+KvInJXW9WajgSeW+cxYe0UVdouzCtcreGNuJo7A==",
"dependencies": {
"@octokit/types": "^6.0.1",
"bottleneck": "^2.15.3"
}
},
"node_modules/@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"dependencies": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"dependencies": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"node_modules/@octokit/rest": {
"version": "18.12.0",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
"integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
"dependencies": {
"@octokit/core": "^3.5.1",
"@octokit/plugin-paginate-rest": "^2.16.8",
"@octokit/plugin-request-log": "^1.0.4",
"@octokit/plugin-rest-endpoint-methods": "^5.12.0"
}
},
"node_modules/@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"dependencies": {
"@octokit/openapi-types": "^11.1.0"
}
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"node_modules/before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"node_modules/bottleneck": {
"version": "2.19.5",
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"node_modules/deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"node_modules/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
"engines": {
"node": "*"
}
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
}
},
"node_modules/node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
},
"peerDependencies": {
"encoding": "^0.1.0"
},
"peerDependenciesMeta": {
"encoding": {
"optional": true
}
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"node_modules/universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
},
"dependencies": {
"@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"requires": {
"@octokit/types": "^6.0.3"
}
},
"@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"requires": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"requires": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"requires": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"requires": {
"@octokit/types": "^6.33.0"
}
},
"@octokit/plugin-request-log": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
"integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA=="
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"requires": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"@octokit/plugin-retry": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz",
"integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==",
"requires": {
"@octokit/types": "^6.0.3",
"bottleneck": "^2.15.3"
}
},
"@octokit/plugin-throttling": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.5.2.tgz",
"integrity": "sha512-Eu7kfJxU8vmHqWGNszWpg+GVp2tnAfax3XQV5CkYPEE69C+KvInJXW9WajgSeW+cxYe0UVdouzCtcreGNuJo7A==",
"requires": {
"@octokit/types": "^6.0.1",
"bottleneck": "^2.15.3"
}
},
"@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"requires": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/rest": {
"version": "18.12.0",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
"integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
"requires": {
"@octokit/core": "^3.5.1",
"@octokit/plugin-paginate-rest": "^2.16.8",
"@octokit/plugin-request-log": "^1.0.4",
"@octokit/plugin-rest-endpoint-methods": "^5.12.0"
}
},
"@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"requires": {
"@octokit/openapi-types": "^11.1.0"
}
},
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"bottleneck": {
"version": "2.19.5",
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
}
}

View File

@@ -0,0 +1,18 @@
{
"name": "upload-release-artifacts",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@octokit/plugin-retry": "^3.0.9",
"@octokit/plugin-throttling": "^3.5.2",
"@octokit/rest": "^18.12.0",
"glob": "^7.2.0"
}
}

View File

@@ -0,0 +1,254 @@
import yaml
# Assumes this is ran from the root of the repository
file_path = "./bin/resources/GameIndex.yaml"
# These settings have to be manually kept in sync with the emulator code unfortunately.
# up to date validation should ALWAYS be provided via the application!
allowed_game_options = [
"name",
"region",
"compat",
"roundModes",
"clampModes",
"gameFixes",
"gsHWFixes",
"speedHacks",
"memcardFilters",
"patches",
]
allowed_round_modes = ["eeRoundMode", "vuRoundMode"]
allowed_clamp_modes = ["eeClampMode", "vuClampMode"]
allowed_game_fixes = [
"FpuMulHack",
"FpuNegDivHack",
"GoemonTlbHack",
"SoftwareRendererFMVHack",
"SkipMPEGHack",
"OPHFlagHack",
"EETimingHack",
"DMABusyHack",
"GIFFIFOHack",
"VIFFIFOHack",
"VIF1StallHack",
"VuAddSubHack",
"IbitHack",
"VUSyncHack",
"VUOverflowHack",
"XGKickHack",
]
allowed_gs_hw_fixes = [
"autoFlush",
"conservativeFramebuffer",
"cpuFramebufferConversion",
"disableDepthSupport",
"wrapGSMem",
"preloadFrameData",
"disablePartialInvalidation",
"textureInsideRT",
"alignSprite",
"mergeSprite",
"wildArmsHack",
"pointListPalette",
"mipmap",
"trilinearFiltering",
"skipDrawStart",
"skipDrawEnd",
"halfBottomOverride",
"halfPixelOffset",
"roundSprite",
"texturePreloading",
]
gs_hw_fix_ranges = {
"mipmap": (0, 2),
"trilinearFiltering": (0, 2),
"skipDrawStart": (0, 100000),
"skipDrawEnd": (0, 100000),
"halfPixelOffset": (0, 3),
"roundSprite": (0, 2),
}
allowed_speed_hacks = ["mvuFlagSpeedHack", "InstantVU1SpeedHack", "MTVUSpeedHack"]
# Patches are allowed to have a 'default' key or a crc-32 key, followed by
allowed_patch_options = ["author", "content"]
issue_list = []
def is_hex_number(string):
try:
int(string, 16)
return True
except Exception:
return False
def validate_string_option(serial, key, value):
if not isinstance(value, str):
issue_list.append("[{}]: '{}' must be a string".format(serial, key))
def validate_int_option(serial, key, value, low, high):
if not isinstance(value, int) or (value < low or value > high):
issue_list.append(
"[{}]: '{}' must be an int and between {}-{} (inclusive)".format(
serial, key, low, high
)
)
def validate_list_of_strings(serial, key, value):
if not isinstance(value, list) or not all(isinstance(item, str) for item in value):
issue_list.append("[{}]: '{}' must be a list of strings".format(serial, key))
def validate_valid_options(serial, key, value, allowed_values):
if value not in allowed_values:
issue_list.append("[{}]: Invalid '{}' option [{}]".format(serial, key, value))
def validate_clamp_round_modes(serial, key, value, allowed_values):
if not isinstance(value, dict):
issue_list.append("[{}]: '{}' must be a valid object".format(serial, key))
return
for mode_key, mode_value in value.items():
validate_valid_options(serial, key, mode_key, allowed_values)
validate_int_option(serial, key, mode_value, 0, 3)
def validate_game_fixes(serial, key, value):
if not isinstance(value, list):
issue_list.append(
"[{}]: 'gameFixes' must be a list of valid gameFixes".format(serial)
)
return
for gamefix in value:
validate_valid_options(serial, key, gamefix, allowed_game_fixes)
def validate_gs_hw_fix_value(serial, key, value):
low, high = 0, 1
if key in gs_hw_fix_ranges:
low, high = gs_hw_fix_ranges[key]
validate_int_option(serial, key, value, low, high)
def validate_gs_hw_fixes(serial, key, value):
if not isinstance(value, dict):
issue_list.append("[{}]: 'gsHWFixes' must be a valid object".format(serial))
return
for fix, fix_value in value.items():
validate_valid_options(serial, key, fix, allowed_gs_hw_fixes)
validate_gs_hw_fix_value(serial, fix, fix_value)
# skipdraw range must have end >= start
skip_draw_start = value["skipDrawStart"] if "skipDrawStart" in value else 0
skip_draw_end = value["skipDrawEnd"] if "skipDrawEnd" in value else 0
if isinstance(skip_draw_start, int) and isinstance(skip_draw_end, int) and skip_draw_end < skip_draw_start:
issue_list.append("[{}]: skipDrawStart({}) must be greater or equal to skipDrawEnd({})".format(
serial, skip_draw_start, skip_draw_end))
def validate_speed_hacks(serial, key, value):
if not isinstance(value, dict):
issue_list.append("[{}]: 'speedHacks' must be a valid object".format(serial))
return
for speedhack, speedhack_value in value.items():
validate_valid_options(serial, key, speedhack, allowed_speed_hacks)
validate_int_option(serial, speedhack, speedhack_value, 0, 1)
def validate_patches(serial, key, value):
if not isinstance(value, dict):
issue_list.append(
"[{}]: 'patches' must be valid mapping of CRC32 -> Patch Objects".format(
serial
)
)
return
for crc, patch in value.items():
if crc != "default" and not is_hex_number(str(crc)):
issue_list.append(
"[{}]: Patches must either be key'd with 'default' or a valid CRC-32 Hex String".format(
serial
)
)
continue
for patch_option, option_value in patch.items():
validate_valid_options(serial, key, patch_option, allowed_patch_options)
if patch_option == "author":
validate_string_option(serial, patch_option, option_value)
if patch_option == "content":
validate_string_option(serial, patch_option, option_value)
# pylint:disable=unnecessary-lambda
option_validation_handlers = {
"name": (lambda serial, key, value: validate_string_option(serial, key, value)),
"region": (lambda serial, key, value: validate_string_option(serial, key, value)),
"compat": (
lambda serial, key, value: validate_int_option(serial, key, value, 0, 6)
),
"roundModes": (
lambda serial, key, value: validate_clamp_round_modes(
serial, key, value, allowed_round_modes
)
),
"clampModes": (
lambda serial, key, value: validate_clamp_round_modes(
serial, key, value, allowed_clamp_modes
)
),
"gameFixes": (lambda serial, key, value: validate_game_fixes(serial, key, value)),
"gsHWFixes": (lambda serial, key, value: validate_gs_hw_fixes(serial, key, value)),
"speedHacks": (lambda serial, key, value: validate_speed_hacks(serial, key, value)),
"memcardFilters": (
lambda serial, key, value: validate_list_of_strings(serial, key, value)
),
"patches": (lambda serial, key, value: validate_patches(serial, key, value)),
}
print("Opening {}...".format(file_path))
with open(file_path) as f:
try:
print("Attempting to parse GameDB file...")
gamedb = yaml.load(f, Loader=yaml.FullLoader)
except Exception as err:
print(err)
print(
"Unable to parse GameDB. Exiting, verify that the file indeed is valid YAML."
)
exit(1)
print("File loaded successfully, validating schema...")
progress_counter = 0
for serial, game_options in gamedb.items():
progress_counter = progress_counter + 1
if progress_counter % 500 == 0 or progress_counter >= len(gamedb.items()):
print(
"[{}/{}] Processing GameDB Entries...".format(
progress_counter, len(gamedb.items())
)
)
# Check for required values
if not "name" in game_options.keys():
issue_list.append("[{}]: 'name' is a required value".format(serial))
if not "region" in game_options.keys():
issue_list.append("[{}]: 'region' is a required value".format(serial))
# Check the options
for key, value in game_options.items():
if key not in allowed_game_options:
issue_list.append("[{}]: Invalid option [{}]".format(serial, key))
continue
if key in option_validation_handlers:
option_validation_handlers[key](serial, key, value)
if len(issue_list) > 0:
print("Issues found during validation:")
print(*issue_list, sep="\n")
exit(1)
else:
print("GameDB Validated Successfully!")
exit(0)

View File

@@ -0,0 +1 @@
PyYAML==5.4.1

View File

@@ -0,0 +1,19 @@
$filterFiles = Get-ChildItem $PWD -name -recurse *.vcxproj.filters
$failed = $FALSE
foreach ($file in $filterFiles) {
# Skip 3rdparty files
if ($file -NotMatch "^3rdparty") {
$expression = "python -c `"import sys, xml.dom.minidom as d; d.parse(sys.argv[1])`" $($file)"
$expression += ';$LastExitCode'
$exitCode = Invoke-Expression $expression
if($exitCode -ne 0){
Write-Host -foregroundColor red "$($file) - Invalid VS filters file. Likely missing tags"
$failed = $TRUE
}
}
}
if ($failed) {
exit 1
}

View File

@@ -0,0 +1,29 @@
name: 🏭 Update Controller Database
on:
schedule:
- cron: "0 16 * * 1" # every monday @ 12pm EST - https://crontab.guru/#0_16_*_*_1
jobs:
update-controller-db:
if: github.repository == 'PCSX2/pcsx2'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get Latest DB and Prepare DB File
run: |
cd .github/workflows/scripts/controller-db/
wget -O game_controller_db.txt https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt
python ./update-db.py
mv ./game_controller_db.txt ${{github.workspace}}/bin/resources/game_controller_db.txt
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
title: "PAD: Update to latest controller database"
commit-message: "PAD: Update to latest controller database."
committer: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
author: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
body: "Weekly automatic update of SDL Controller DB"
reviewers: lightningterror

206
.github/workflows/windows-workflow.yml vendored Normal file
View File

@@ -0,0 +1,206 @@
name: 🖥️ Windows Builds
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- master
tags:
- v*
pull_request:
branches:
- master
paths-ignore:
- '**/*.md'
- '.clang-format'
- '.codacy.yaml'
- '.github/*'
- '.github/workflows/lint-gamedb.yml'
- '.github/workflows/linux-workflow.yml'
- '.github/workflows/macos-workflow.yml'
- '.github/workflows/scripts/linux/**'
- '.github/workflows/scripts/validation/**'
- '.gitignore'
- 'bin/PCSX2_keys.ini.default'
- 'build.sh'
- 'buildbot.xml'
- 'linux_various/**'
- 'mscompile.cmd'
- 'pcsx2/CDVD/Linux/**'
- 'pcsx2/DEV9/Linux/**'
- 'pcsx2/Linux/**'
- 'pcsx2/PAD/Linux/**'
- 'pcsx2/SPU2/Linux/**'
- 'pcsx2/USB/linux/**'
jobs:
build:
strategy:
# Prevent one build from failing everything (although maybe those should be included as experimental builds instead)
fail-fast: false
matrix:
os: [windows-2019]
platform: [x64]
configuration: [Release, Release AVX2, CMake, Qt]
experimental: [false]
name: ${{ matrix.configuration }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
timeout-minutes: 60
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
BUILDCACHE_COMPRESS_FORMAT: ZSTD
BUILDCACHE_COMPRESS_LEVEL: 9
BUILDCACHE_MAX_CACHE_SIZE: 536870912 # 512MB
BUILDCACHE_DIRECT_MODE: true
BUILDCACHE_LOG_FILE: ${{ github.workspace }}\buildcache.log
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Checkout Submodules
run: git submodule update --init --recursive -j $env:NUMBER_OF_PROCESSORS
- name: Setup Buildcache
if: matrix.configuration == 'CMake' # TODO: buildcache on VS
uses: mikehardy/buildcache-action@v1.2.2
with:
cache_key: ${{ matrix.os }} ${{ matrix.platform }} ${{ matrix.configuration }}
- name: Verify VS Project Files
if: matrix.configuration != 'CMake'
run: .github\workflows\scripts\windows\validate-vs-filters.ps1
- name: Setup msbuild
if: matrix.configuration != 'CMake'
uses: microsoft/setup-msbuild@v1
- name: Download Qt build files
if: matrix.configuration == 'Qt'
shell: cmd
run: |
cd 3rdparty\qt
aria2c https://github.com/PCSX2/pcsx2-windows-dependencies/releases/download/2022-01-20/qt-6.2.2-x64.7z
7z x qt-6.2.2-x64.7z
del qt-6.2.2-x64.7z
- name: Generate CMake
if: matrix.configuration == 'CMake'
id: cmake
shell: cmd
run: |
if "${{ github.event.inputs.retainDebugArtifacts }}"=="true" (SET type=RelWithDebInfo) else (SET type=Release)
if "${{ matrix.platform }}"=="Win32" (SET vcvars=vcvarsamd64_x86.bat) else (SET vcvars=vcvars64.bat)
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\%vcvars%"
echo ::set-output name=buildtype::%type%
echo ::set-output name=vcvars::%vcvars%
cmake . -B build -DCMAKE_BUILD_TYPE=%type% -DLTO_PCSX2_CORE=ON -G Ninja -DCMAKE_C_COMPILER_LAUNCHER=..\buildcache\bin\buildcache.exe -DCMAKE_CXX_COMPILER_LAUNCHER=..\buildcache\bin\buildcache.exe -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
- name: Build PCSX2
shell: cmd
env:
# Set to 'true' to retain the .pdb / .exp / .lib, etc files which can be useful for repro'ing issues that only occur in the compiled .exe
RetainDebuggingArtifacts: ${{ github.event.inputs.retainDebugArtifacts == 'true' }}
run: |
if "${{ matrix.configuration }}"=="CMake" (
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\${{ steps.cmake.outputs.vcvars }}"
cmake --build build --config ${{ steps.cmake.outputs.buildtype }}
) else (
if "${{ matrix.configuration }}"=="Qt" (
rem This is hardcoded to Release AVX2 for now, because of the artifact naming below.
msbuild "PCSX2_qt.sln" /m /v:m /p:Configuration="Release AVX2" /p:Platform="${{ matrix.platform }}"
) else (
msbuild "PCSX2_suite.sln" /m /v:m /p:Configuration="${{ matrix.configuration }}" /p:Platform="${{ matrix.platform }}"
)
)
- name: Run Tests
if: matrix.configuration == 'CMake'
shell: cmd
run: |
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\${{ steps.cmake.outputs.vcvars }}"
cmake --build build --config ${{ steps.cmake.outputs.buildtype }} --target unittests
- name: Prepare Artifact Metadata
id: artifact-metadata
shell: bash
run: |
ARCH=$([ "${{ matrix.platform }}" == Win32 ] && echo "32bit" || echo "64bit")
case "${{ matrix.configuration }}" in
Release) SIMD="SSE4";;
*AVX2) SIMD="AVX2";;
Qt) SIMD="QT";;
CMake) SIMD="CMake"
cp build/pcsx2/pcsx2* bin/ ;;
*) SIMD="UNKNOWN";;
esac
if [ ${{ github.event_name }} == "pull_request" ]; then
PR_SHA=$(git rev-parse --short "${{ github.event.pull_request.head.sha }}")
ARTIFACT_NAME="PCSX2-${ARCH}-${SIMD}"
if [ ! -z "${{ github.event.pull_request.number }}" ]; then
PR_NUM=${{ github.event.pull_request.number }}
ARTIFACT_NAME="${ARTIFACT_NAME}-pr[${PR_NUM}]"
fi
ARTIFACT_NAME="${ARTIFACT_NAME}-sha[${PR_SHA}]"
if [ ! -z "${{ github.event.pull_request.title }}" ]; then
PR_TITLE=$(echo "${{ github.event.pull_request.title }}" | tr -cd '[a-zA-Z0-9[:space:]]_-')
ARTIFACT_NAME="${ARTIFACT_NAME}-title["${PR_TITLE}""
fi
else
SHA=$(git rev-parse --short "$GITHUB_SHA")
ARTIFACT_NAME="PCSX2-${ARCH}-${SIMD}-sha[${SHA}"
fi
TRIMMED_ARTIFACT_NAME=$(printf "%.199s]" "$ARTIFACT_NAME")
echo "name=$TRIMMED_ARTIFACT_NAME"
echo "##[set-output name=name;]${TRIMMED_ARTIFACT_NAME}"
echo "##[set-output name=arch;]${ARCH}"
echo "##[set-output name=simd;]${SIMD}"
- name: Upload artifact
uses: actions/upload-artifact@v2
continue-on-error: true
with:
name: ${{ steps.artifact-metadata.outputs.name }}
path: |
./bin
!./bin/**/*.bsc
!./bin/**/*.exp
!./bin/**/*.ilk
!./bin/**/*.iobj
!./bin/**/*.ipdb
!./bin/**/*.pdb
!./bin/**/*.lib
- name: Upload artifact - with symbols
if: matrix.configuration != 'CMake'
uses: actions/upload-artifact@v2
continue-on-error: true
with:
name: ${{ steps.artifact-metadata.outputs.name }}-symbols
path: ./bin/**/*.pdb
# ---- Release / Tagging related steps ----
- name: Prepare Build Artifacts
if: github.repository == 'PCSX2/pcsx2' && startsWith(github.ref, 'refs/tags/') && matrix.configuration != 'CMake' && matrix.configuration != 'Qt'
run: |
mkdir -p ./ci-artifacts/
7z a ./ci-artifacts/windows-${{ steps.artifact-metadata.outputs.arch }}-${{ steps.artifact-metadata.outputs.simd }}.7z ./bin/* '-xr!*bsc' '-xr!*.exp' '-xr!*.ilk' '-xr!*.iobj' '-xr!*.ipdb' '-xr!*.pdb' '-xr!*.lib'
7z a ./ci-artifacts/windows-${{ steps.artifact-metadata.outputs.arch }}-${{ steps.artifact-metadata.outputs.simd }}-symbols.7z ./bin/*.pdb
ls ./ci-artifacts/
- name: Upload Assets and Potential Publish Release
if: github.repository == 'PCSX2/pcsx2' && startsWith(github.ref, 'refs/tags/') && matrix.configuration != 'CMake' && matrix.configuration != 'Qt'
env:
GITHUB_TOKEN: ${{ secrets.BOT_PAT }}
ASSET_DIR: ${{ github.WORKSPACE }}/ci-artifacts
ASSET_EXTENSION: 7z
TAG_TO_SEARCH_FOR: ${{ github.REF }}
run: |
cd ./.github/workflows/scripts/releases/upload-release-artifacts
npm ci
node index.js

56
.gitignore vendored
View File

@@ -13,18 +13,15 @@
*.bsc
*.aps
*.exe
*.wav
*.trace
*.dump
*.asm
!/pcsx2/IPU/yuv2rgb.asm
!/pcsx2/x86/ix86-32/aVif_proc-32.asm
!/plugins/CDVDpeops/i386.asm
!/plugins/zerogs/dx/x86-32.asm
!/plugins/zerogs/dx/x86-64.asm
!/plugins/zerogs/opengl/x86-32.asm
!/plugins/zzogl-pg/opengl/x86-32.asm
*.VC.db
*.VC.VC.opendb
**/Win32/Release*
**/Win32/Debug*
@@ -33,18 +30,25 @@
**/x64/Debug*
**/x64/Devel*
**/bin/PCSX2-linux.sh
_ReSharper.*
pcsx2.snapshot_*
svnrev.h
/build
/build_dev
/build_dbg
/obj-*
*.obj
.DS_Store
Thumbs.db
Debug.txt
install_log.txt
padLog.txt
GS_opengl_debug.txt
Debug
Release
@@ -52,19 +56,33 @@ Devel
oprofile_data/
# Recording Specific Ignores (pcsx2-rr)
*.p2s
*.p2m2
*.p2m2_backup
*.p2m2_SaveState.p2s
# Visual Studio upgrades
/Backup*
/UpgradeLog*.htm
/.vscode*
/bin/**/*.dll
/bin/**/*.exp
/bin/**/*.ilk
/bin/**/*.lib
/bin/**/*.pdb
/bin/PCSX2
/bin/pcsx2
/bin/PCSX2-linux.sh
/bin/*ReplayLoader
/bin/GS*.txt
/bin/qt.conf
/bin/bios
/bin/cache
/bin/cheats
/bin/covers
/bin/dumps
/bin/gamesettings
/bin/help
/bin/inis
/bin/logs
@@ -72,9 +90,9 @@ oprofile_data/
/bin/plugins
/bin/snaps
/bin/sstates
/bin/translations
/deps
/ipch
/nsis/output/
!/3rdparty/libjpeg/change.log
/3rdparty/portaudio/portaudio-2.0.pc
@@ -93,20 +111,12 @@ oprofile_data/
/3rdparty/portaudio/src/hostapi/wasapi/mingw-include
/3rdparty/**/include/wx/setup.h
/3rdparty/**/wx/msw/rcdefs.h
/nsis/svnrev_cdvdiso.nsh
/nsis/svnrev_gsdx.nsh
/nsis/svnrev_lilypad.nsh
/nsis/svnrev_pcsx2.nsh
/nsis/svnrev_spu2x.nsh
/nsis/svnrev_zerogs.nsh
/nsis/svnrev_zerospu2.nsh
/pcsx2/gui/Resources/*.h
!/pcsx2/gui/Resources/EmbeddedImage.h
/plugins/CDVDolio/Template
/plugins/GSdx/Template
/plugins/USBqemu/Win32/bin
/plugins/xpad/Template
/plugins/zerospu2/Windows/dsound51.cpp
/tools/bin
/tools/GSDumpGUI/bin
/tools/GSDumpGUI/obj
.vs
/out/build/x64-Debug (default)
CMakeSettings.json
/ci-artifacts/
/out/

35
.gitmodules vendored Normal file
View File

@@ -0,0 +1,35 @@
[submodule "3rdparty/xz/xz"]
path = 3rdparty/xz/xz
url = https://github.com/PCSX2/xz.git
[submodule "3rdparty/gtest"]
path = 3rdparty/gtest
url = https://github.com/google/googletest.git
[submodule "3rdparty/fmt/fmt"]
path = 3rdparty/fmt/fmt
url = https://github.com/fmtlib/fmt.git
[submodule "3rdparty/libchdr/libchdr"]
path = 3rdparty/libchdr/libchdr
url = https://github.com/rtissera/libchdr.git
[submodule "3rdparty/wil"]
path = 3rdparty/wil
url = https://github.com/microsoft/wil.git
branch = master
[submodule "3rdparty/cubeb/cubeb"]
path = 3rdparty/cubeb/cubeb
url = https://github.com/mozilla/cubeb.git
[submodule "3rdparty/rapidyaml/rapidyaml"]
path = 3rdparty/rapidyaml/rapidyaml
url = https://github.com/biojppm/rapidyaml.git
branch = master
[submodule "3rdparty/imgui/imgui"]
path = 3rdparty/imgui/imgui
url = https://github.com/ocornut/imgui.git
[submodule "3rdparty/glslang/glslang"]
path = 3rdparty/glslang/glslang
url = https://github.com/KhronosGroup/glslang.git
[submodule "3rdparty/vulkan-headers"]
path = 3rdparty/vulkan-headers
url = https://github.com/KhronosGroup/Vulkan-Headers.git
[submodule "3rdparty/sdl2/SDL"]
path = 3rdparty/sdl2/SDL
url = https://github.com/libsdl-org/SDL.git

View File

@@ -1,23 +0,0 @@
language: cpp
sudo: required
dist: trusty
matrix:
include:
# Version 5 seems to be whatever is latest - for now it's 5.2
- env: VERSION=5
compiler: gcc
os: linux
- env: VERSION=4.9
compiler: gcc
os: linux
- env: VERSION=3.7
compiler: clang
os: linux
before_install:
- ./travis.sh before_install
script:
- ./travis.sh script

View File

@@ -2,7 +2,7 @@
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
<OutDir>$(SvnRootDir)\deps\$(PlatformName)\$(Configuration)\</OutDir>
<OutDir>$(SolutionDir)deps\$(PlatformName)\$(Configuration)\</OutDir>
<IntDir>$(PlatformName)\$(Configuration)\</IntDir>
<ExtensionsToDeleteOnClean>*.bsc;*.idb;*.sbr;*.res;*.pch;*.pdb;*.obj;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;$(TargetPath);$(ExtensionsToDeleteOnClean)</ExtensionsToDeleteOnClean>
</PropertyGroup>
@@ -13,9 +13,9 @@
<StructMemberAlignment>16Bytes</StructMemberAlignment>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
</ItemDefinitionGroup>
</Project>
</Project>

View File

@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
<OutDir>$(SvnRootDir)\deps\$(PlatformName)\$(Configuration)\</OutDir>
<IntDir>$(PlatformName)\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>__WIN32__;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StructMemberAlignment>16Bytes</StructMemberAlignment>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>$(SvnRootDir)/common/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
</Project>

12046
3rdparty/GL/glext.h vendored

File diff suppressed because it is too large Load Diff

282
3rdparty/GL/khrplatform.h vendored Normal file
View File

@@ -0,0 +1,282 @@
#ifndef __khrplatform_h_
#define __khrplatform_h_
/*
** Copyright (c) 2008-2018 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
** "Materials"), to deal in the Materials without restriction, including
** without limitation the rights to use, copy, modify, merge, publish,
** distribute, sublicense, and/or sell copies of the Materials, and to
** permit persons to whom the Materials are furnished to do so, subject to
** the following conditions:
**
** The above copyright notice and this permission notice shall be included
** in all copies or substantial portions of the Materials.
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/
/* Khronos platform-specific types and definitions.
*
* The master copy of khrplatform.h is maintained in the Khronos EGL
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
* The last semantic modification to khrplatform.h was at commit ID:
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
*
* Adopters may modify this file to suit their platform. Adopters are
* encouraged to submit platform specific modifications to the Khronos
* group so that they can be included in future versions of this file.
* Please submit changes by filing pull requests or issues on
* the EGL Registry repository linked above.
*
*
* See the Implementer's Guidelines for information about where this file
* should be located on your system and for more details of its use:
* http://www.khronos.org/registry/implementers_guide.pdf
*
* This file should be included as
* #include <KHR/khrplatform.h>
* by Khronos client API header files that use its types and defines.
*
* The types in khrplatform.h should only be used to define API-specific types.
*
* Types defined in khrplatform.h:
* khronos_int8_t signed 8 bit
* khronos_uint8_t unsigned 8 bit
* khronos_int16_t signed 16 bit
* khronos_uint16_t unsigned 16 bit
* khronos_int32_t signed 32 bit
* khronos_uint32_t unsigned 32 bit
* khronos_int64_t signed 64 bit
* khronos_uint64_t unsigned 64 bit
* khronos_intptr_t signed same number of bits as a pointer
* khronos_uintptr_t unsigned same number of bits as a pointer
* khronos_ssize_t signed size
* khronos_usize_t unsigned size
* khronos_float_t signed 32 bit floating point
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
* nanoseconds
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
* khronos_boolean_enum_t enumerated boolean type. This should
* only be used as a base type when a client API's boolean type is
* an enum. Client APIs which use an integer or other type for
* booleans cannot use this as the base type for their boolean.
*
* Tokens defined in khrplatform.h:
*
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
*
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
*
* Calling convention macros defined in this file:
* KHRONOS_APICALL
* KHRONOS_APIENTRY
* KHRONOS_APIATTRIBUTES
*
* These may be used in function prototypes as:
*
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
* int arg1,
* int arg2) KHRONOS_APIATTRIBUTES;
*/
/*-------------------------------------------------------------------------
* Definition of KHRONOS_APICALL
*-------------------------------------------------------------------------
* This precedes the return type of the function in the function prototype.
*/
#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
# define KHRONOS_APICALL __declspec(dllimport)
#elif defined (__SYMBIAN32__)
# define KHRONOS_APICALL IMPORT_C
#elif defined(__ANDROID__)
# define KHRONOS_APICALL __attribute__((visibility("default")))
#else
# define KHRONOS_APICALL
#endif
/*-------------------------------------------------------------------------
* Definition of KHRONOS_APIENTRY
*-------------------------------------------------------------------------
* This follows the return type of the function and precedes the function
* name in the function prototype.
*/
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
/* Win32 but not WinCE */
# define KHRONOS_APIENTRY __stdcall
#else
# define KHRONOS_APIENTRY
#endif
/*-------------------------------------------------------------------------
* Definition of KHRONOS_APIATTRIBUTES
*-------------------------------------------------------------------------
* This follows the closing parenthesis of the function prototype arguments.
*/
#if defined (__ARMCC_2__)
#define KHRONOS_APIATTRIBUTES __softfp
#else
#define KHRONOS_APIATTRIBUTES
#endif
/*-------------------------------------------------------------------------
* basic type definitions
*-----------------------------------------------------------------------*/
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
/*
* Using <stdint.h>
*/
#include <stdint.h>
typedef int32_t khronos_int32_t;
typedef uint32_t khronos_uint32_t;
typedef int64_t khronos_int64_t;
typedef uint64_t khronos_uint64_t;
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#elif defined(__VMS ) || defined(__sgi)
/*
* Using <inttypes.h>
*/
#include <inttypes.h>
typedef int32_t khronos_int32_t;
typedef uint32_t khronos_uint32_t;
typedef int64_t khronos_int64_t;
typedef uint64_t khronos_uint64_t;
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
/*
* Win32
*/
typedef __int32 khronos_int32_t;
typedef unsigned __int32 khronos_uint32_t;
typedef __int64 khronos_int64_t;
typedef unsigned __int64 khronos_uint64_t;
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#elif defined(__sun__) || defined(__digital__)
/*
* Sun or Digital
*/
typedef int khronos_int32_t;
typedef unsigned int khronos_uint32_t;
#if defined(__arch64__) || defined(_LP64)
typedef long int khronos_int64_t;
typedef unsigned long int khronos_uint64_t;
#else
typedef long long int khronos_int64_t;
typedef unsigned long long int khronos_uint64_t;
#endif /* __arch64__ */
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#elif 0
/*
* Hypothetical platform with no float or int64 support
*/
typedef int khronos_int32_t;
typedef unsigned int khronos_uint32_t;
#define KHRONOS_SUPPORT_INT64 0
#define KHRONOS_SUPPORT_FLOAT 0
#else
/*
* Generic fallback
*/
#include <stdint.h>
typedef int32_t khronos_int32_t;
typedef uint32_t khronos_uint32_t;
typedef int64_t khronos_int64_t;
typedef uint64_t khronos_uint64_t;
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#endif
/*
* Types that are (so far) the same on all platforms
*/
typedef signed char khronos_int8_t;
typedef unsigned char khronos_uint8_t;
typedef signed short int khronos_int16_t;
typedef unsigned short int khronos_uint16_t;
/*
* Types that differ between LLP64 and LP64 architectures - in LLP64,
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
* to be the only LLP64 architecture in current use.
*/
#ifdef _WIN64
typedef signed long long int khronos_intptr_t;
typedef unsigned long long int khronos_uintptr_t;
typedef signed long long int khronos_ssize_t;
typedef unsigned long long int khronos_usize_t;
#else
typedef signed long int khronos_intptr_t;
typedef unsigned long int khronos_uintptr_t;
typedef signed long int khronos_ssize_t;
typedef unsigned long int khronos_usize_t;
#endif
#if KHRONOS_SUPPORT_FLOAT
/*
* Float type
*/
typedef float khronos_float_t;
#endif
#if KHRONOS_SUPPORT_INT64
/* Time types
*
* These types can be used to represent a time interval in nanoseconds or
* an absolute Unadjusted System Time. Unadjusted System Time is the number
* of nanoseconds since some arbitrary system event (e.g. since the last
* time the system booted). The Unadjusted System Time is an unsigned
* 64 bit value that wraps back to 0 every 584 years. Time intervals
* may be either signed or unsigned.
*/
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
typedef khronos_int64_t khronos_stime_nanoseconds_t;
#endif
/*
* Dummy value used to pad enum types to 32 bits.
*/
#ifndef KHRONOS_MAX_ENUM
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
#endif
/*
* Enumerated boolean type
*
* Values other than zero should be considered to be true. Therefore
* comparisons should not be made against KHRONOS_TRUE.
*/
typedef enum {
KHRONOS_FALSE = 0,
KHRONOS_TRUE = 1,
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
} khronos_boolean_enum_t;
#endif /* __khrplatform_h_ */

840
3rdparty/GL/wglext.h vendored
View File

@@ -1,840 +0,0 @@
#ifndef __wglext_h_
#define __wglext_h_ 1
#ifdef __cplusplus
extern "C" {
#endif
/*
** Copyright (c) 2013-2015 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
** "Materials"), to deal in the Materials without restriction, including
** without limitation the rights to use, copy, modify, merge, publish,
** distribute, sublicense, and/or sell copies of the Materials, and to
** permit persons to whom the Materials are furnished to do so, subject to
** the following conditions:
**
** The above copyright notice and this permission notice shall be included
** in all copies or substantial portions of the Materials.
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/
/*
** This header is generated from the Khronos OpenGL / OpenGL ES XML
** API Registry. The current version of the Registry, generator scripts
** used to make the header, and the header can be found at
** http://www.opengl.org/registry/
**
** Khronos $Revision: 31597 $ on $Date: 2015-06-25 16:32:35 -0400 (Thu, 25 Jun 2015) $
*/
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
#define WIN32_LEAN_AND_MEAN 1
#include <windows.h>
#endif
#define WGL_WGLEXT_VERSION 20150623
/* Generated C header for:
* API: wgl
* Versions considered: .*
* Versions emitted: _nomatch_^
* Default extensions included: wgl
* Additional extensions included: _nomatch_^
* Extensions removed: _nomatch_^
*/
#ifndef WGL_ARB_buffer_region
#define WGL_ARB_buffer_region 1
#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
#ifdef WGL_WGLEXT_PROTOTYPES
HANDLE WINAPI wglCreateBufferRegionARB (HDC hDC, int iLayerPlane, UINT uType);
VOID WINAPI wglDeleteBufferRegionARB (HANDLE hRegion);
BOOL WINAPI wglSaveBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height);
BOOL WINAPI wglRestoreBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
#endif
#endif /* WGL_ARB_buffer_region */
#ifndef WGL_ARB_context_flush_control
#define WGL_ARB_context_flush_control 1
#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
#endif /* WGL_ARB_context_flush_control */
#ifndef WGL_ARB_create_context
#define WGL_ARB_create_context 1
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
#define WGL_CONTEXT_FLAGS_ARB 0x2094
#define ERROR_INVALID_VERSION_ARB 0x2095
typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList);
#ifdef WGL_WGLEXT_PROTOTYPES
HGLRC WINAPI wglCreateContextAttribsARB (HDC hDC, HGLRC hShareContext, const int *attribList);
#endif
#endif /* WGL_ARB_create_context */
#ifndef WGL_ARB_create_context_profile
#define WGL_ARB_create_context_profile 1
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
#define ERROR_INVALID_PROFILE_ARB 0x2096
#endif /* WGL_ARB_create_context_profile */
#ifndef WGL_ARB_create_context_robustness
#define WGL_ARB_create_context_robustness 1
#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261
#endif /* WGL_ARB_create_context_robustness */
#ifndef WGL_ARB_extensions_string
#define WGL_ARB_extensions_string 1
typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
#ifdef WGL_WGLEXT_PROTOTYPES
const char *WINAPI wglGetExtensionsStringARB (HDC hdc);
#endif
#endif /* WGL_ARB_extensions_string */
#ifndef WGL_ARB_framebuffer_sRGB
#define WGL_ARB_framebuffer_sRGB 1
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
#endif /* WGL_ARB_framebuffer_sRGB */
#ifndef WGL_ARB_make_current_read
#define WGL_ARB_make_current_read 1
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglMakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
HDC WINAPI wglGetCurrentReadDCARB (void);
#endif
#endif /* WGL_ARB_make_current_read */
#ifndef WGL_ARB_multisample
#define WGL_ARB_multisample 1
#define WGL_SAMPLE_BUFFERS_ARB 0x2041
#define WGL_SAMPLES_ARB 0x2042
#endif /* WGL_ARB_multisample */
#ifndef WGL_ARB_pbuffer
#define WGL_ARB_pbuffer 1
DECLARE_HANDLE(HPBUFFERARB);
#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
#define WGL_PBUFFER_LARGEST_ARB 0x2033
#define WGL_PBUFFER_WIDTH_ARB 0x2034
#define WGL_PBUFFER_HEIGHT_ARB 0x2035
#define WGL_PBUFFER_LOST_ARB 0x2036
typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
#ifdef WGL_WGLEXT_PROTOTYPES
HPBUFFERARB WINAPI wglCreatePbufferARB (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB hPbuffer);
int WINAPI wglReleasePbufferDCARB (HPBUFFERARB hPbuffer, HDC hDC);
BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB hPbuffer);
BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
#endif
#endif /* WGL_ARB_pbuffer */
#ifndef WGL_ARB_pixel_format
#define WGL_ARB_pixel_format 1
#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
#define WGL_DRAW_TO_WINDOW_ARB 0x2001
#define WGL_DRAW_TO_BITMAP_ARB 0x2002
#define WGL_ACCELERATION_ARB 0x2003
#define WGL_NEED_PALETTE_ARB 0x2004
#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
#define WGL_SWAP_METHOD_ARB 0x2007
#define WGL_NUMBER_OVERLAYS_ARB 0x2008
#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
#define WGL_TRANSPARENT_ARB 0x200A
#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
#define WGL_SHARE_DEPTH_ARB 0x200C
#define WGL_SHARE_STENCIL_ARB 0x200D
#define WGL_SHARE_ACCUM_ARB 0x200E
#define WGL_SUPPORT_GDI_ARB 0x200F
#define WGL_SUPPORT_OPENGL_ARB 0x2010
#define WGL_DOUBLE_BUFFER_ARB 0x2011
#define WGL_STEREO_ARB 0x2012
#define WGL_PIXEL_TYPE_ARB 0x2013
#define WGL_COLOR_BITS_ARB 0x2014
#define WGL_RED_BITS_ARB 0x2015
#define WGL_RED_SHIFT_ARB 0x2016
#define WGL_GREEN_BITS_ARB 0x2017
#define WGL_GREEN_SHIFT_ARB 0x2018
#define WGL_BLUE_BITS_ARB 0x2019
#define WGL_BLUE_SHIFT_ARB 0x201A
#define WGL_ALPHA_BITS_ARB 0x201B
#define WGL_ALPHA_SHIFT_ARB 0x201C
#define WGL_ACCUM_BITS_ARB 0x201D
#define WGL_ACCUM_RED_BITS_ARB 0x201E
#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
#define WGL_DEPTH_BITS_ARB 0x2022
#define WGL_STENCIL_BITS_ARB 0x2023
#define WGL_AUX_BUFFERS_ARB 0x2024
#define WGL_NO_ACCELERATION_ARB 0x2025
#define WGL_GENERIC_ACCELERATION_ARB 0x2026
#define WGL_FULL_ACCELERATION_ARB 0x2027
#define WGL_SWAP_EXCHANGE_ARB 0x2028
#define WGL_SWAP_COPY_ARB 0x2029
#define WGL_SWAP_UNDEFINED_ARB 0x202A
#define WGL_TYPE_RGBA_ARB 0x202B
#define WGL_TYPE_COLORINDEX_ARB 0x202C
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
BOOL WINAPI wglChoosePixelFormatARB (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
#endif
#endif /* WGL_ARB_pixel_format */
#ifndef WGL_ARB_pixel_format_float
#define WGL_ARB_pixel_format_float 1
#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
#endif /* WGL_ARB_pixel_format_float */
#ifndef WGL_ARB_render_texture
#define WGL_ARB_render_texture 1
#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
#define WGL_TEXTURE_FORMAT_ARB 0x2072
#define WGL_TEXTURE_TARGET_ARB 0x2073
#define WGL_MIPMAP_TEXTURE_ARB 0x2074
#define WGL_TEXTURE_RGB_ARB 0x2075
#define WGL_TEXTURE_RGBA_ARB 0x2076
#define WGL_NO_TEXTURE_ARB 0x2077
#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
#define WGL_TEXTURE_1D_ARB 0x2079
#define WGL_TEXTURE_2D_ARB 0x207A
#define WGL_MIPMAP_LEVEL_ARB 0x207B
#define WGL_CUBE_MAP_FACE_ARB 0x207C
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
#define WGL_FRONT_LEFT_ARB 0x2083
#define WGL_FRONT_RIGHT_ARB 0x2084
#define WGL_BACK_LEFT_ARB 0x2085
#define WGL_BACK_RIGHT_ARB 0x2086
#define WGL_AUX0_ARB 0x2087
#define WGL_AUX1_ARB 0x2088
#define WGL_AUX2_ARB 0x2089
#define WGL_AUX3_ARB 0x208A
#define WGL_AUX4_ARB 0x208B
#define WGL_AUX5_ARB 0x208C
#define WGL_AUX6_ARB 0x208D
#define WGL_AUX7_ARB 0x208E
#define WGL_AUX8_ARB 0x208F
#define WGL_AUX9_ARB 0x2090
typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglBindTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB hPbuffer, const int *piAttribList);
#endif
#endif /* WGL_ARB_render_texture */
#ifndef WGL_ARB_robustness_application_isolation
#define WGL_ARB_robustness_application_isolation 1
#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
#endif /* WGL_ARB_robustness_application_isolation */
#ifndef WGL_ARB_robustness_share_group_isolation
#define WGL_ARB_robustness_share_group_isolation 1
#endif /* WGL_ARB_robustness_share_group_isolation */
#ifndef WGL_3DFX_multisample
#define WGL_3DFX_multisample 1
#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
#define WGL_SAMPLES_3DFX 0x2061
#endif /* WGL_3DFX_multisample */
#ifndef WGL_3DL_stereo_control
#define WGL_3DL_stereo_control 1
#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglSetStereoEmitterState3DL (HDC hDC, UINT uState);
#endif
#endif /* WGL_3DL_stereo_control */
#ifndef WGL_AMD_gpu_association
#define WGL_AMD_gpu_association 1
#define WGL_GPU_VENDOR_AMD 0x1F00
#define WGL_GPU_RENDERER_STRING_AMD 0x1F01
#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
#define WGL_GPU_RAM_AMD 0x21A3
#define WGL_GPU_CLOCK_AMD 0x21A4
#define WGL_GPU_NUM_PIPES_AMD 0x21A5
#define WGL_GPU_NUM_SIMD_AMD 0x21A6
#define WGL_GPU_NUM_RB_AMD 0x21A7
#define WGL_GPU_NUM_SPI_AMD 0x21A8
typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT *ids);
typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, int property, GLenum dataType, UINT size, void *data);
typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc);
typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id);
typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int *attribList);
typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc);
typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc);
typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
typedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
#ifdef WGL_WGLEXT_PROTOTYPES
UINT WINAPI wglGetGPUIDsAMD (UINT maxCount, UINT *ids);
INT WINAPI wglGetGPUInfoAMD (UINT id, int property, GLenum dataType, UINT size, void *data);
UINT WINAPI wglGetContextGPUIDAMD (HGLRC hglrc);
HGLRC WINAPI wglCreateAssociatedContextAMD (UINT id);
HGLRC WINAPI wglCreateAssociatedContextAttribsAMD (UINT id, HGLRC hShareContext, const int *attribList);
BOOL WINAPI wglDeleteAssociatedContextAMD (HGLRC hglrc);
BOOL WINAPI wglMakeAssociatedContextCurrentAMD (HGLRC hglrc);
HGLRC WINAPI wglGetCurrentAssociatedContextAMD (void);
VOID WINAPI wglBlitContextFramebufferAMD (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
#endif
#endif /* WGL_AMD_gpu_association */
#ifndef WGL_ATI_pixel_format_float
#define WGL_ATI_pixel_format_float 1
#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
#endif /* WGL_ATI_pixel_format_float */
#ifndef WGL_EXT_create_context_es2_profile
#define WGL_EXT_create_context_es2_profile 1
#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
#endif /* WGL_EXT_create_context_es2_profile */
#ifndef WGL_EXT_create_context_es_profile
#define WGL_EXT_create_context_es_profile 1
#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
#endif /* WGL_EXT_create_context_es_profile */
#ifndef WGL_EXT_depth_float
#define WGL_EXT_depth_float 1
#define WGL_DEPTH_FLOAT_EXT 0x2040
#endif /* WGL_EXT_depth_float */
#ifndef WGL_EXT_display_color_table
#define WGL_EXT_display_color_table 1
typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
#ifdef WGL_WGLEXT_PROTOTYPES
GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort id);
GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *table, GLuint length);
GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort id);
VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort id);
#endif
#endif /* WGL_EXT_display_color_table */
#ifndef WGL_EXT_extensions_string
#define WGL_EXT_extensions_string 1
typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
#ifdef WGL_WGLEXT_PROTOTYPES
const char *WINAPI wglGetExtensionsStringEXT (void);
#endif
#endif /* WGL_EXT_extensions_string */
#ifndef WGL_EXT_framebuffer_sRGB
#define WGL_EXT_framebuffer_sRGB 1
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
#endif /* WGL_EXT_framebuffer_sRGB */
#ifndef WGL_EXT_make_current_read
#define WGL_EXT_make_current_read 1
#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglMakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
HDC WINAPI wglGetCurrentReadDCEXT (void);
#endif
#endif /* WGL_EXT_make_current_read */
#ifndef WGL_EXT_multisample
#define WGL_EXT_multisample 1
#define WGL_SAMPLE_BUFFERS_EXT 0x2041
#define WGL_SAMPLES_EXT 0x2042
#endif /* WGL_EXT_multisample */
#ifndef WGL_EXT_pbuffer
#define WGL_EXT_pbuffer 1
DECLARE_HANDLE(HPBUFFEREXT);
#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
#define WGL_PBUFFER_LARGEST_EXT 0x2033
#define WGL_PBUFFER_WIDTH_EXT 0x2034
#define WGL_PBUFFER_HEIGHT_EXT 0x2035
typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
#ifdef WGL_WGLEXT_PROTOTYPES
HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT hPbuffer);
int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT hPbuffer, HDC hDC);
BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT hPbuffer);
BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
#endif
#endif /* WGL_EXT_pbuffer */
#ifndef WGL_EXT_pixel_format
#define WGL_EXT_pixel_format 1
#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
#define WGL_DRAW_TO_WINDOW_EXT 0x2001
#define WGL_DRAW_TO_BITMAP_EXT 0x2002
#define WGL_ACCELERATION_EXT 0x2003
#define WGL_NEED_PALETTE_EXT 0x2004
#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
#define WGL_SWAP_METHOD_EXT 0x2007
#define WGL_NUMBER_OVERLAYS_EXT 0x2008
#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
#define WGL_TRANSPARENT_EXT 0x200A
#define WGL_TRANSPARENT_VALUE_EXT 0x200B
#define WGL_SHARE_DEPTH_EXT 0x200C
#define WGL_SHARE_STENCIL_EXT 0x200D
#define WGL_SHARE_ACCUM_EXT 0x200E
#define WGL_SUPPORT_GDI_EXT 0x200F
#define WGL_SUPPORT_OPENGL_EXT 0x2010
#define WGL_DOUBLE_BUFFER_EXT 0x2011
#define WGL_STEREO_EXT 0x2012
#define WGL_PIXEL_TYPE_EXT 0x2013
#define WGL_COLOR_BITS_EXT 0x2014
#define WGL_RED_BITS_EXT 0x2015
#define WGL_RED_SHIFT_EXT 0x2016
#define WGL_GREEN_BITS_EXT 0x2017
#define WGL_GREEN_SHIFT_EXT 0x2018
#define WGL_BLUE_BITS_EXT 0x2019
#define WGL_BLUE_SHIFT_EXT 0x201A
#define WGL_ALPHA_BITS_EXT 0x201B
#define WGL_ALPHA_SHIFT_EXT 0x201C
#define WGL_ACCUM_BITS_EXT 0x201D
#define WGL_ACCUM_RED_BITS_EXT 0x201E
#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
#define WGL_DEPTH_BITS_EXT 0x2022
#define WGL_STENCIL_BITS_EXT 0x2023
#define WGL_AUX_BUFFERS_EXT 0x2024
#define WGL_NO_ACCELERATION_EXT 0x2025
#define WGL_GENERIC_ACCELERATION_EXT 0x2026
#define WGL_FULL_ACCELERATION_EXT 0x2027
#define WGL_SWAP_EXCHANGE_EXT 0x2028
#define WGL_SWAP_COPY_EXT 0x2029
#define WGL_SWAP_UNDEFINED_EXT 0x202A
#define WGL_TYPE_RGBA_EXT 0x202B
#define WGL_TYPE_COLORINDEX_EXT 0x202C
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
BOOL WINAPI wglChoosePixelFormatEXT (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
#endif
#endif /* WGL_EXT_pixel_format */
#ifndef WGL_EXT_pixel_format_packed_float
#define WGL_EXT_pixel_format_packed_float 1
#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
#endif /* WGL_EXT_pixel_format_packed_float */
#ifndef WGL_EXT_swap_control
#define WGL_EXT_swap_control 1
typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglSwapIntervalEXT (int interval);
int WINAPI wglGetSwapIntervalEXT (void);
#endif
#endif /* WGL_EXT_swap_control */
#ifndef WGL_EXT_swap_control_tear
#define WGL_EXT_swap_control_tear 1
#endif /* WGL_EXT_swap_control_tear */
#ifndef WGL_I3D_digital_video_control
#define WGL_I3D_digital_video_control 1
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC hDC, int iAttribute, int *piValue);
BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC hDC, int iAttribute, const int *piValue);
#endif
#endif /* WGL_I3D_digital_video_control */
#ifndef WGL_I3D_gamma
#define WGL_I3D_gamma 1
#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetGammaTableParametersI3D (HDC hDC, int iAttribute, int *piValue);
BOOL WINAPI wglSetGammaTableParametersI3D (HDC hDC, int iAttribute, const int *piValue);
BOOL WINAPI wglGetGammaTableI3D (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
BOOL WINAPI wglSetGammaTableI3D (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
#endif
#endif /* WGL_I3D_gamma */
#ifndef WGL_I3D_genlock
#define WGL_I3D_genlock 1
#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglEnableGenlockI3D (HDC hDC);
BOOL WINAPI wglDisableGenlockI3D (HDC hDC);
BOOL WINAPI wglIsEnabledGenlockI3D (HDC hDC, BOOL *pFlag);
BOOL WINAPI wglGenlockSourceI3D (HDC hDC, UINT uSource);
BOOL WINAPI wglGetGenlockSourceI3D (HDC hDC, UINT *uSource);
BOOL WINAPI wglGenlockSourceEdgeI3D (HDC hDC, UINT uEdge);
BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC hDC, UINT *uEdge);
BOOL WINAPI wglGenlockSampleRateI3D (HDC hDC, UINT uRate);
BOOL WINAPI wglGetGenlockSampleRateI3D (HDC hDC, UINT *uRate);
BOOL WINAPI wglGenlockSourceDelayI3D (HDC hDC, UINT uDelay);
BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC hDC, UINT *uDelay);
BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
#endif
#endif /* WGL_I3D_genlock */
#ifndef WGL_I3D_image_buffer
#define WGL_I3D_image_buffer 1
#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
#ifdef WGL_WGLEXT_PROTOTYPES
LPVOID WINAPI wglCreateImageBufferI3D (HDC hDC, DWORD dwSize, UINT uFlags);
BOOL WINAPI wglDestroyImageBufferI3D (HDC hDC, LPVOID pAddress);
BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC hDC, const LPVOID *pAddress, UINT count);
#endif
#endif /* WGL_I3D_image_buffer */
#ifndef WGL_I3D_swap_frame_lock
#define WGL_I3D_swap_frame_lock 1
typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglEnableFrameLockI3D (void);
BOOL WINAPI wglDisableFrameLockI3D (void);
BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *pFlag);
BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *pFlag);
#endif
#endif /* WGL_I3D_swap_frame_lock */
#ifndef WGL_I3D_swap_frame_usage
#define WGL_I3D_swap_frame_usage 1
typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetFrameUsageI3D (float *pUsage);
BOOL WINAPI wglBeginFrameTrackingI3D (void);
BOOL WINAPI wglEndFrameTrackingI3D (void);
BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
#endif
#endif /* WGL_I3D_swap_frame_usage */
#ifndef WGL_NV_DX_interop
#define WGL_NV_DX_interop 1
#define WGL_ACCESS_READ_ONLY_NV 0x00000000
#define WGL_ACCESS_READ_WRITE_NV 0x00000001
#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002
typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void *dxObject, HANDLE shareHandle);
typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void *dxDevice);
typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject);
typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access);
typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglDXSetResourceShareHandleNV (void *dxObject, HANDLE shareHandle);
HANDLE WINAPI wglDXOpenDeviceNV (void *dxDevice);
BOOL WINAPI wglDXCloseDeviceNV (HANDLE hDevice);
HANDLE WINAPI wglDXRegisterObjectNV (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
BOOL WINAPI wglDXUnregisterObjectNV (HANDLE hDevice, HANDLE hObject);
BOOL WINAPI wglDXObjectAccessNV (HANDLE hObject, GLenum access);
BOOL WINAPI wglDXLockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
BOOL WINAPI wglDXUnlockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
#endif
#endif /* WGL_NV_DX_interop */
#ifndef WGL_NV_DX_interop2
#define WGL_NV_DX_interop2 1
#endif /* WGL_NV_DX_interop2 */
#ifndef WGL_NV_copy_image
#define WGL_NV_copy_image 1
typedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
#endif
#endif /* WGL_NV_copy_image */
#ifndef WGL_NV_delay_before_swap
#define WGL_NV_delay_before_swap 1
typedef BOOL (WINAPI * PFNWGLDELAYBEFORESWAPNVPROC) (HDC hDC, GLfloat seconds);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglDelayBeforeSwapNV (HDC hDC, GLfloat seconds);
#endif
#endif /* WGL_NV_delay_before_swap */
#ifndef WGL_NV_float_buffer
#define WGL_NV_float_buffer 1
#define WGL_FLOAT_COMPONENTS_NV 0x20B0
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
#endif /* WGL_NV_float_buffer */
#ifndef WGL_NV_gpu_affinity
#define WGL_NV_gpu_affinity 1
DECLARE_HANDLE(HGPUNV);
struct _GPU_DEVICE {
DWORD cb;
CHAR DeviceName[32];
CHAR DeviceString[128];
DWORD Flags;
RECT rcVirtualScreen;
};
typedef struct _GPU_DEVICE *PGPU_DEVICE;
#define ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
#define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglEnumGpusNV (UINT iGpuIndex, HGPUNV *phGpu);
BOOL WINAPI wglEnumGpuDevicesNV (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
HDC WINAPI wglCreateAffinityDCNV (const HGPUNV *phGpuList);
BOOL WINAPI wglEnumGpusFromAffinityDCNV (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
BOOL WINAPI wglDeleteDCNV (HDC hdc);
#endif
#endif /* WGL_NV_gpu_affinity */
#ifndef WGL_NV_multisample_coverage
#define WGL_NV_multisample_coverage 1
#define WGL_COVERAGE_SAMPLES_NV 0x2042
#define WGL_COLOR_SAMPLES_NV 0x20B9
#endif /* WGL_NV_multisample_coverage */
#ifndef WGL_NV_present_video
#define WGL_NV_present_video 1
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int *piValue);
#ifdef WGL_WGLEXT_PROTOTYPES
int WINAPI wglEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
BOOL WINAPI wglBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
BOOL WINAPI wglQueryCurrentContextNV (int iAttribute, int *piValue);
#endif
#endif /* WGL_NV_present_video */
#ifndef WGL_NV_render_depth_texture
#define WGL_NV_render_depth_texture 1
#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
#define WGL_DEPTH_COMPONENT_NV 0x20A7
#endif /* WGL_NV_render_depth_texture */
#ifndef WGL_NV_render_texture_rectangle
#define WGL_NV_render_texture_rectangle 1
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
#endif /* WGL_NV_render_texture_rectangle */
#ifndef WGL_NV_swap_group
#define WGL_NV_swap_group 1
typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint *group, GLuint *barrier);
typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint *count);
typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglJoinSwapGroupNV (HDC hDC, GLuint group);
BOOL WINAPI wglBindSwapBarrierNV (GLuint group, GLuint barrier);
BOOL WINAPI wglQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier);
BOOL WINAPI wglQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
BOOL WINAPI wglQueryFrameCountNV (HDC hDC, GLuint *count);
BOOL WINAPI wglResetFrameCountNV (HDC hDC);
#endif
#endif /* WGL_NV_swap_group */
#ifndef WGL_NV_vertex_array_range
#define WGL_NV_vertex_array_range 1
typedef void *(WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
#ifdef WGL_WGLEXT_PROTOTYPES
void *WINAPI wglAllocateMemoryNV (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
void WINAPI wglFreeMemoryNV (void *pointer);
#endif
#endif /* WGL_NV_vertex_array_range */
#ifndef WGL_NV_video_capture
#define WGL_NV_video_capture 1
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
#define WGL_UNIQUE_ID_NV 0x20CE
#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
UINT WINAPI wglEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
BOOL WINAPI wglLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
BOOL WINAPI wglQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
BOOL WINAPI wglReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
#endif
#endif /* WGL_NV_video_capture */
#ifndef WGL_NV_video_output
#define WGL_NV_video_output 1
DECLARE_HANDLE(HPVIDEODEV);
#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
#define WGL_VIDEO_OUT_FRAME 0x20C8
#define WGL_VIDEO_OUT_FIELD_1 0x20C9
#define WGL_VIDEO_OUT_FIELD_2 0x20CA
#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetVideoDeviceNV (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
BOOL WINAPI wglReleaseVideoDeviceNV (HPVIDEODEV hVideoDevice);
BOOL WINAPI wglBindVideoImageNV (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
BOOL WINAPI wglReleaseVideoImageNV (HPBUFFERARB hPbuffer, int iVideoBuffer);
BOOL WINAPI wglSendPbufferToVideoNV (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
BOOL WINAPI wglGetVideoInfoNV (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
#endif
#endif /* WGL_NV_video_output */
#ifndef WGL_OML_sync_control
#define WGL_OML_sync_control 1
typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetSyncValuesOML (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
BOOL WINAPI wglGetMscRateOML (HDC hdc, INT32 *numerator, INT32 *denominator);
INT64 WINAPI wglSwapBuffersMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
INT64 WINAPI wglSwapLayerBuffersMscOML (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
BOOL WINAPI wglWaitForMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
BOOL WINAPI wglWaitForSbcOML (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
#endif
#endif /* WGL_OML_sync_control */
#ifdef __cplusplus
}
#endif
#endif

55
3rdparty/baseclasses/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,55 @@
add_library(baseclasses
amextra.cpp
amfilter.cpp
amvideo.cpp
combase.cpp
ctlutil.cpp
ddmm.cpp
mtype.cpp
outputq.cpp
pstream.cpp
pullpin.cpp
refclock.cpp
renbase.cpp
schedule.cpp
seekpt.cpp
source.cpp
strmctl.cpp
sysclock.cpp
transfrm.cpp
transip.cpp
vtrans.cpp
wxdebug.cpp
wxlist.cpp
wxutil.cpp
amextra.h
amfilter.h
cache.h
combase.h
ctlutil.h
ddmm.h
fourcc.h
measure.h
msgthrd.h
mtype.h
outputq.h
pstream.h
pullpin.h
refclock.h
reftime.h
renbase.h
schedule.h
seekpt.h
source.h
streams.h
strmctl.h
sysclock.h
transfrm.h
transip.h
vtrans.h
wxdebug.h
wxlist.h
wxutil.h
)
target_include_directories(baseclasses PUBLIC .)
target_precompile_headers(baseclasses PRIVATE streams.h)

21
3rdparty/baseclasses/LICENSE vendored Normal file
View File

@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) Microsoft Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

111
3rdparty/baseclasses/amextra.cpp vendored Normal file
View File

@@ -0,0 +1,111 @@
//------------------------------------------------------------------------------
// File: AMExtra.cpp
//
// Desc: DirectShow base classes - implements CRenderedInputPin class.
//
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include <streams.h> // DirectShow base class definitions
#include <mmsystem.h> // Needed for definition of timeGetTime
#include <limits.h> // Standard data type limit definitions
#include <measure.h> // Used for time critical log functions
#include "amextra.h"
#pragma warning(disable:4355)
// Implements CRenderedInputPin class
CRenderedInputPin::CRenderedInputPin(__in_opt LPCTSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName) :
CBaseInputPin(pObjectName, pFilter, pLock, phr, pName),
m_bAtEndOfStream(FALSE),
m_bCompleteNotified(FALSE)
{
}
#ifdef UNICODE
CRenderedInputPin::CRenderedInputPin(__in_opt LPCSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName) :
CBaseInputPin(pObjectName, pFilter, pLock, phr, pName),
m_bAtEndOfStream(FALSE),
m_bCompleteNotified(FALSE)
{
}
#endif
// Flush end of stream condition - caller should do any
// necessary stream level locking before calling this
STDMETHODIMP CRenderedInputPin::EndOfStream()
{
HRESULT hr = CheckStreaming();
// Do EC_COMPLETE handling for rendered pins
if (S_OK == hr && !m_bAtEndOfStream) {
m_bAtEndOfStream = TRUE;
FILTER_STATE fs;
EXECUTE_ASSERT(SUCCEEDED(m_pFilter->GetState(0, &fs)));
if (fs == State_Running) {
DoCompleteHandling();
}
}
return hr;
}
// Called to complete the flush
STDMETHODIMP CRenderedInputPin::EndFlush()
{
CAutoLock lck(m_pLock);
// Clean up renderer state
m_bAtEndOfStream = FALSE;
m_bCompleteNotified = FALSE;
return CBaseInputPin::EndFlush();
}
// Notify of Run() from filter
HRESULT CRenderedInputPin::Run(REFERENCE_TIME tStart)
{
UNREFERENCED_PARAMETER(tStart);
m_bCompleteNotified = FALSE;
if (m_bAtEndOfStream) {
DoCompleteHandling();
}
return S_OK;
}
// Clear status on going into paused state
HRESULT CRenderedInputPin::Active()
{
m_bAtEndOfStream = FALSE;
m_bCompleteNotified = FALSE;
return CBaseInputPin::Active();
}
// Do stuff to deliver end of stream
void CRenderedInputPin::DoCompleteHandling()
{
ASSERT(m_bAtEndOfStream);
if (!m_bCompleteNotified) {
m_bCompleteNotified = TRUE;
m_pFilter->NotifyEvent(EC_COMPLETE, S_OK, (LONG_PTR)(IBaseFilter *)m_pFilter);
}
}

56
3rdparty/baseclasses/amextra.h vendored Normal file
View File

@@ -0,0 +1,56 @@
//------------------------------------------------------------------------------
// File: AMExtra.h
//
// Desc: DirectShow base classes.
//
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#ifndef __AMEXTRA__
#define __AMEXTRA__
// Simple rendered input pin
//
// NOTE if your filter queues stuff before rendering then it may not be
// appropriate to use this class
//
// In that case queue the end of stream condition until the last sample
// is actually rendered and flush the condition appropriately
class CRenderedInputPin : public CBaseInputPin
{
public:
CRenderedInputPin(__in_opt LPCTSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
#ifdef UNICODE
CRenderedInputPin(__in_opt LPCSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
#endif
// Override methods to track end of stream state
STDMETHODIMP EndOfStream();
STDMETHODIMP EndFlush();
HRESULT Active();
HRESULT Run(REFERENCE_TIME tStart);
protected:
// Member variables to track state
BOOL m_bAtEndOfStream; // Set by EndOfStream
BOOL m_bCompleteNotified; // Set when we notify for EC_COMPLETE
private:
void DoCompleteHandling();
};
#endif // __AMEXTRA__

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - efines class hierarchy for streams
// architecture.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -73,9 +73,9 @@ protected:
public:
CBaseMediaFilter(
const TCHAR *pName,
LPUNKNOWN pUnk,
CCritSec *pLock,
__in_opt LPCTSTR pName,
__inout_opt LPUNKNOWN pUnk,
__in CCritSec *pLock,
REFCLSID clsid);
virtual ~CBaseMediaFilter();
@@ -83,21 +83,21 @@ public:
DECLARE_IUNKNOWN
// override this to say what interfaces we support where
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv);
//
// --- IPersist method ---
//
STDMETHODIMP GetClassID(CLSID *pClsID);
STDMETHODIMP GetClassID(__out CLSID *pClsID);
// --- IMediaFilter methods ---
STDMETHODIMP GetState(DWORD dwMSecs, FILTER_STATE *State);
STDMETHODIMP GetState(DWORD dwMSecs, __out FILTER_STATE *State);
STDMETHODIMP SetSyncSource(IReferenceClock *pClock);
STDMETHODIMP SetSyncSource(__inout_opt IReferenceClock *pClock);
STDMETHODIMP GetSyncSource(IReferenceClock **pClock);
STDMETHODIMP GetSyncSource(__deref_out_opt IReferenceClock **pClock);
// default implementation of Stop and Pause just record the
// state. Override to activate or de-activate your filter.
@@ -168,37 +168,37 @@ protected:
public:
CBaseFilter(
const TCHAR *pName, // Object description
LPUNKNOWN pUnk, // IUnknown of delegating object
CCritSec *pLock, // Object who maintains lock
REFCLSID clsid); // The clsid to be used to serialize this filter
__in_opt LPCTSTR pName, // Object description
__inout_opt LPUNKNOWN pUnk, // IUnknown of delegating object
__in CCritSec *pLock, // Object who maintains lock
REFCLSID clsid); // The clsid to be used to serialize this filter
CBaseFilter(
TCHAR *pName, // Object description
LPUNKNOWN pUnk, // IUnknown of delegating object
CCritSec *pLock, // Object who maintains lock
REFCLSID clsid, // The clsid to be used to serialize this filter
HRESULT *phr); // General OLE return code
__in_opt LPCTSTR pName, // Object description
__in_opt LPUNKNOWN pUnk, // IUnknown of delegating object
__in CCritSec *pLock, // Object who maintains lock
REFCLSID clsid, // The clsid to be used to serialize this filter
__inout HRESULT *phr); // General OLE return code
#ifdef UNICODE
CBaseFilter(
const CHAR *pName, // Object description
LPUNKNOWN pUnk, // IUnknown of delegating object
CCritSec *pLock, // Object who maintains lock
REFCLSID clsid); // The clsid to be used to serialize this filter
__in_opt LPCSTR pName, // Object description
__in_opt LPUNKNOWN pUnk, // IUnknown of delegating object
__in CCritSec *pLock, // Object who maintains lock
REFCLSID clsid); // The clsid to be used to serialize this filter
CBaseFilter(
CHAR *pName, // Object description
LPUNKNOWN pUnk, // IUnknown of delegating object
CCritSec *pLock, // Object who maintains lock
REFCLSID clsid, // The clsid to be used to serialize this filter
HRESULT *phr); // General OLE return code
__in_opt LPCSTR pName, // Object description
__in_opt LPUNKNOWN pUnk, // IUnknown of delegating object
__in CCritSec *pLock, // Object who maintains lock
REFCLSID clsid, // The clsid to be used to serialize this filter
__inout HRESULT *phr); // General OLE return code
#endif
~CBaseFilter();
DECLARE_IUNKNOWN
// override this to say what interfaces we support where
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv);
#ifdef DEBUG
STDMETHODIMP_(ULONG) NonDelegatingRelease();
#endif
@@ -207,15 +207,15 @@ public:
// --- IPersist method ---
//
STDMETHODIMP GetClassID(CLSID *pClsID);
STDMETHODIMP GetClassID(__out CLSID *pClsID);
// --- IMediaFilter methods ---
STDMETHODIMP GetState(DWORD dwMSecs, FILTER_STATE *State);
STDMETHODIMP GetState(DWORD dwMSecs, __out FILTER_STATE *State);
STDMETHODIMP SetSyncSource(IReferenceClock *pClock);
STDMETHODIMP SetSyncSource(__in_opt IReferenceClock *pClock);
STDMETHODIMP GetSyncSource(IReferenceClock **pClock);
STDMETHODIMP GetSyncSource(__deref_out_opt IReferenceClock **pClock);
// override Stop and Pause so we can activate the pins.
@@ -253,27 +253,27 @@ public:
// pin enumerator
STDMETHODIMP EnumPins(
IEnumPins ** ppEnum);
__deref_out IEnumPins ** ppEnum);
// default behaviour of FindPin assumes pin ids are their names
STDMETHODIMP FindPin(
LPCWSTR Id,
IPin ** ppPin
__deref_out IPin ** ppPin
);
STDMETHODIMP QueryFilterInfo(
FILTER_INFO * pInfo);
__out FILTER_INFO * pInfo);
STDMETHODIMP JoinFilterGraph(
IFilterGraph * pGraph,
LPCWSTR pName);
__inout_opt IFilterGraph * pGraph,
__in_opt LPCWSTR pName);
// return a Vendor information string. Optional - may return E_NOTIMPL.
// memory returned should be freed using CoTaskMemFree
// default implementation returns E_NOTIMPL
STDMETHODIMP QueryVendorInfo(
LPWSTR* pVendorInfo
__deref_out LPWSTR* pVendorInfo
);
// --- helper methods ---
@@ -287,7 +287,7 @@ public:
LONG_PTR EventParam2);
// return the filter graph we belong to
IFilterGraph *GetFilterGraph() {
__out_opt IFilterGraph *GetFilterGraph() {
return m_pGraph;
}
@@ -295,7 +295,7 @@ public:
// pPin is the pin to reconnect
// pmt is the type to reconnect with - can be NULL
// Calls ReconnectEx on the filter graph
HRESULT ReconnectPin(IPin *pPin, AM_MEDIA_TYPE const *pmt);
HRESULT ReconnectPin(IPin *pPin, __in_opt AM_MEDIA_TYPE const *pmt);
// find out the current pin version (used by enumerators)
virtual LONG GetPinVersion();
@@ -314,7 +314,7 @@ public:
// --- setup helper methods ---
// (override to return filters setup data)
virtual LPAMOVIESETUP_FILTER GetSetupData(){ return NULL; }
virtual __out_opt LPAMOVIESETUP_FILTER GetSetupData(){ return NULL; }
};
@@ -376,8 +376,8 @@ protected:
// try all the media types in this enumerator - for each that
// we accept, try to connect using ReceiveConnection.
HRESULT TryMediaTypes(
IPin *pReceivePin, // connect to this pin
const CMediaType *pmt, // proposed type from Connect
IPin *pReceivePin, // connect to this pin
__in_opt const CMediaType *pmt, // proposed type from Connect
IEnumMediaTypes *pEnum); // try this enumerator
// establish a connection with a suitable mediatype. Needs to
@@ -386,31 +386,31 @@ protected:
// enumerator until we find one that works.
HRESULT AgreeMediaType(
IPin *pReceivePin, // connect to this pin
const CMediaType *pmt); // proposed type from Connect
const CMediaType *pmt); // proposed type from Connect
public:
CBasePin(
TCHAR *pObjectName, // Object description
CBaseFilter *pFilter, // Owning filter who knows about pins
CCritSec *pLock, // Object who implements the lock
HRESULT *phr, // General OLE return code
LPCWSTR pName, // Pin name for us
__in_opt LPCTSTR pObjectName, // Object description
__in CBaseFilter *pFilter, // Owning filter who knows about pins
__in CCritSec *pLock, // Object who implements the lock
__inout HRESULT *phr, // General OLE return code
__in_opt LPCWSTR pName, // Pin name for us
PIN_DIRECTION dir); // Either PINDIR_INPUT or PINDIR_OUTPUT
#ifdef UNICODE
CBasePin(
CHAR *pObjectName, // Object description
CBaseFilter *pFilter, // Owning filter who knows about pins
CCritSec *pLock, // Object who implements the lock
HRESULT *phr, // General OLE return code
LPCWSTR pName, // Pin name for us
__in_opt LPCSTR pObjectName, // Object description
__in CBaseFilter *pFilter, // Owning filter who knows about pins
__in CCritSec *pLock, // Object who implements the lock
__inout HRESULT *phr, // General OLE return code
__in_opt LPCWSTR pName, // Pin name for us
PIN_DIRECTION dir); // Either PINDIR_INPUT or PINDIR_OUTPUT
#endif
virtual ~CBasePin();
DECLARE_IUNKNOWN
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv);
STDMETHODIMP_(ULONG) NonDelegatingRelease();
STDMETHODIMP_(ULONG) NonDelegatingAddRef();
@@ -421,7 +421,7 @@ public:
// (subtype or format type may be GUID_NULL).
STDMETHODIMP Connect(
IPin * pReceivePin,
const AM_MEDIA_TYPE *pmt // optional media type
__in_opt const AM_MEDIA_TYPE *pmt // optional media type
);
// (passive) accept a connection from another pin
@@ -432,20 +432,20 @@ public:
STDMETHODIMP Disconnect();
STDMETHODIMP ConnectedTo(IPin **pPin);
STDMETHODIMP ConnectedTo(__deref_out IPin **pPin);
STDMETHODIMP ConnectionMediaType(AM_MEDIA_TYPE *pmt);
STDMETHODIMP ConnectionMediaType(__out AM_MEDIA_TYPE *pmt);
STDMETHODIMP QueryPinInfo(
PIN_INFO * pInfo
__out PIN_INFO * pInfo
);
STDMETHODIMP QueryDirection(
PIN_DIRECTION * pPinDir
__out PIN_DIRECTION * pPinDir
);
STDMETHODIMP QueryId(
LPWSTR * Id
__deref_out LPWSTR * Id
);
// does the pin support this media type
@@ -455,7 +455,7 @@ public:
// return an enumerator for this pins preferred media types
STDMETHODIMP EnumMediaTypes(
IEnumMediaTypes **ppEnum
__deref_out IEnumMediaTypes **ppEnum
);
// return an array of IPin* - the pins that this pin internally connects to
@@ -466,9 +466,9 @@ public:
// all visible output pins and vice versa.
// apPin can be NULL if nPin==0 (not otherwise).
STDMETHODIMP QueryInternalConnections(
IPin* *apPin, // array of IPin*
ULONG *nPin // on input, the number of slots
// on output the number of pins
__out_ecount_part(*nPin,*nPin) IPin* *apPin, // array of IPin*
__inout ULONG *nPin // on input, the number of slots
// on output the number of pins
) { return E_NOTIMPL; }
// Called when no more data will be sent
@@ -534,7 +534,7 @@ public:
virtual HRESULT CompleteConnect(IPin *pReceivePin);
// returns the preferred formats for a pin
virtual HRESULT GetMediaType(int iPosition,CMediaType *pMediaType);
virtual HRESULT GetMediaType(int iPosition, __inout CMediaType *pMediaType);
// access to NewSegment values
REFERENCE_TIME CurrentStopTime() {
@@ -616,26 +616,26 @@ class CEnumPins : public IEnumPins // The interface we support
public:
CEnumPins(
CBaseFilter *pFilter,
CEnumPins *pEnumPins);
__in CBaseFilter *pFilter,
__in_opt CEnumPins *pEnumPins);
virtual ~CEnumPins();
// IUnknown
STDMETHODIMP QueryInterface(REFIID riid, void **ppv);
STDMETHODIMP QueryInterface(REFIID riid, __deref_out void **ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// IEnumPins
STDMETHODIMP Next(
ULONG cPins, // place this many pins...
IPin ** ppPins, // ...in this array of IPin*
ULONG * pcFetched // actual count passed returned here
__out_ecount(cPins) IPin ** ppPins, // ...in this array of IPin*
__out_opt ULONG * pcFetched // actual count passed returned here
);
STDMETHODIMP Skip(ULONG cPins);
STDMETHODIMP Reset();
STDMETHODIMP Clone(IEnumPins **ppEnum);
STDMETHODIMP Clone(__deref_out IEnumPins **ppEnum);
};
@@ -672,26 +672,26 @@ class CEnumMediaTypes : public IEnumMediaTypes // The interface we support
public:
CEnumMediaTypes(
CBasePin *pPin,
CEnumMediaTypes *pEnumMediaTypes);
__in CBasePin *pPin,
__in_opt CEnumMediaTypes *pEnumMediaTypes);
virtual ~CEnumMediaTypes();
// IUnknown
STDMETHODIMP QueryInterface(REFIID riid, void **ppv);
STDMETHODIMP QueryInterface(REFIID riid, __deref_out void **ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// IEnumMediaTypes
STDMETHODIMP Next(
ULONG cMediaTypes, // place this many pins...
AM_MEDIA_TYPE ** ppMediaTypes, // ...in this array
ULONG * pcFetched // actual count passed
__out_ecount(cMediaTypes) AM_MEDIA_TYPE ** ppMediaTypes, // ...in this array
__out_opt ULONG * pcFetched // actual count passed
);
STDMETHODIMP Skip(ULONG cMediaTypes);
STDMETHODIMP Reset();
STDMETHODIMP Clone(IEnumMediaTypes **ppEnum);
STDMETHODIMP Clone(__deref_out IEnumMediaTypes **ppEnum);
};
@@ -721,25 +721,25 @@ protected:
public:
CBaseOutputPin(
TCHAR *pObjectName,
CBaseFilter *pFilter,
CCritSec *pLock,
HRESULT *phr,
LPCWSTR pName);
__in_opt LPCTSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
#ifdef UNICODE
CBaseOutputPin(
CHAR *pObjectName,
CBaseFilter *pFilter,
CCritSec *pLock,
HRESULT *phr,
LPCWSTR pName);
__in_opt LPCSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
#endif
// override CompleteConnect() so we can negotiate an allocator
virtual HRESULT CompleteConnect(IPin *pReceivePin);
// negotiate the allocator and its buffer size/count and other properties
// Calls DecideBufferSize to set properties
virtual HRESULT DecideAllocator(IMemInputPin * pPin, IMemAllocator ** pAlloc);
virtual HRESULT DecideAllocator(IMemInputPin * pPin, __deref_out IMemAllocator ** pAlloc);
// override this to set the buffer size and count. Return an error
// if the size/count is not to your liking.
@@ -748,13 +748,13 @@ public:
// no preference on these.
virtual HRESULT DecideBufferSize(
IMemAllocator * pAlloc,
ALLOCATOR_PROPERTIES * ppropInputRequest
__inout ALLOCATOR_PROPERTIES * ppropInputRequest
) PURE;
// returns an empty sample buffer from the allocator
virtual HRESULT GetDeliveryBuffer(IMediaSample ** ppSample,
REFERENCE_TIME * pStartTime,
REFERENCE_TIME * pEndTime,
virtual HRESULT GetDeliveryBuffer(__deref_out IMediaSample ** ppSample,
__in_opt REFERENCE_TIME * pStartTime,
__in_opt REFERENCE_TIME * pEndTime,
DWORD dwFlags);
// deliver a filled-in sample to the connected input pin
@@ -764,7 +764,7 @@ public:
virtual HRESULT Deliver(IMediaSample *);
// override this to control the connection
virtual HRESULT InitAllocator(IMemAllocator **ppAlloc);
virtual HRESULT InitAllocator(__deref_out IMemAllocator **ppAlloc);
HRESULT CheckConnect(IPin *pPin);
HRESULT BreakConnect();
@@ -839,29 +839,29 @@ protected:
public:
CBaseInputPin(
TCHAR *pObjectName,
CBaseFilter *pFilter,
CCritSec *pLock,
HRESULT *phr,
LPCWSTR pName);
__in_opt LPCTSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
#ifdef UNICODE
CBaseInputPin(
CHAR *pObjectName,
CBaseFilter *pFilter,
CCritSec *pLock,
HRESULT *phr,
LPCWSTR pName);
__in_opt LPCSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
#endif
virtual ~CBaseInputPin();
DECLARE_IUNKNOWN
// override this to publicise our interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
// return the allocator interface that this input pin
// would like the output pin to use
STDMETHODIMP GetAllocator(IMemAllocator ** ppAllocator);
STDMETHODIMP GetAllocator(__deref_out IMemAllocator ** ppAllocator);
// tell the input pin which allocator the output pin is actually
// going to use.
@@ -874,9 +874,9 @@ public:
// do something with these media samples
STDMETHODIMP ReceiveMultiple (
IMediaSample **pSamples,
__in_ecount(nSamples) IMediaSample **pSamples,
long nSamples,
long *nSamplesProcessed);
__out long *nSamplesProcessed);
// See if Receive() blocks
STDMETHODIMP ReceiveCanBlock();
@@ -898,7 +898,7 @@ public:
// default implementation returns E_NOTIMPL. Override if you have
// specific alignment or prefix needs, but could use an upstream
// allocator
STDMETHODIMP GetAllocatorRequirements(ALLOCATOR_PROPERTIES*pProps);
STDMETHODIMP GetAllocatorRequirements(__out ALLOCATOR_PROPERTIES*pProps);
// Release the pin's allocator.
HRESULT BreakConnect();
@@ -952,25 +952,25 @@ class CDynamicOutputPin : public CBaseOutputPin,
public:
#ifdef UNICODE
CDynamicOutputPin(
CHAR *pObjectName,
CBaseFilter *pFilter,
CCritSec *pLock,
HRESULT *phr,
LPCWSTR pName);
__in_opt LPCSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
#endif
CDynamicOutputPin(
TCHAR *pObjectName,
CBaseFilter *pFilter,
CCritSec *pLock,
HRESULT *phr,
LPCWSTR pName);
__in_opt LPCTSTR pObjectName,
__in CBaseFilter *pFilter,
__in CCritSec *pLock,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
~CDynamicOutputPin();
// IUnknown Methods
DECLARE_IUNKNOWN
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
// IPin Methods
STDMETHODIMP Disconnect(void);
@@ -1083,14 +1083,14 @@ private:
class CAutoUsingOutputPin
{
public:
CAutoUsingOutputPin( CDynamicOutputPin* pOutputPin, HRESULT* phr );
CAutoUsingOutputPin( __in CDynamicOutputPin* pOutputPin, __inout HRESULT* phr );
~CAutoUsingOutputPin();
private:
CDynamicOutputPin* m_pOutputPin;
};
inline CAutoUsingOutputPin::CAutoUsingOutputPin( CDynamicOutputPin* pOutputPin, HRESULT* phr ) :
inline CAutoUsingOutputPin::CAutoUsingOutputPin( __in CDynamicOutputPin* pOutputPin, __inout HRESULT* phr ) :
m_pOutputPin(NULL)
{
// The caller should always pass in valid pointers.
@@ -1213,7 +1213,7 @@ protected:
into the top word
*/
DWORD m_dwTypeSpecificFlags; /* Media type specific flags */
LPBYTE m_pBuffer; /* Pointer to the complete buffer */
__field_ecount_opt(m_cbBuffer) LPBYTE m_pBuffer; /* Pointer to the complete buffer */
LONG m_lActual; /* Length of data in this sample */
LONG m_cbBuffer; /* Size of the buffer */
CBaseAllocator *m_pAllocator; /* The allocator who owns us */
@@ -1231,17 +1231,17 @@ public:
public:
CMediaSample(
TCHAR *pName,
CBaseAllocator *pAllocator,
HRESULT *phr,
LPBYTE pBuffer = NULL,
__in_opt LPCTSTR pName,
__in_opt CBaseAllocator *pAllocator,
__inout_opt HRESULT *phr,
__in_bcount_opt(length) LPBYTE pBuffer = NULL,
LONG length = 0);
#ifdef UNICODE
CMediaSample(
CHAR *pName,
CBaseAllocator *pAllocator,
HRESULT *phr,
LPBYTE pBuffer = NULL,
__in_opt LPCSTR pName,
__in_opt CBaseAllocator *pAllocator,
__inout_opt HRESULT *phr,
__in_bcount_opt(length) LPBYTE pBuffer = NULL,
LONG length = 0);
#endif
@@ -1249,7 +1249,7 @@ public:
/* Note the media sample does not delegate to its owner */
STDMETHODIMP QueryInterface(REFIID riid, void **ppv);
STDMETHODIMP QueryInterface(REFIID riid, __deref_out void **ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
@@ -1257,23 +1257,23 @@ public:
// want variable sized pointers or pointers into already-read data.
// This is only available through a CMediaSample* not an IMediaSample*
// and so cannot be changed by clients.
HRESULT SetPointer(BYTE * ptr, LONG cBytes);
HRESULT SetPointer(__in_bcount(cBytes) BYTE * ptr, LONG cBytes);
// Get me a read/write pointer to this buffer's memory.
STDMETHODIMP GetPointer(BYTE ** ppBuffer);
STDMETHODIMP GetPointer(__deref_out BYTE ** ppBuffer);
STDMETHODIMP_(LONG) GetSize(void);
// get the stream time at which this sample should start and finish.
STDMETHODIMP GetTime(
REFERENCE_TIME * pTimeStart, // put time here
REFERENCE_TIME * pTimeEnd
__out REFERENCE_TIME * pTimeStart, // put time here
__out REFERENCE_TIME * pTimeEnd
);
// Set the stream time at which this sample should start and finish.
STDMETHODIMP SetTime(
REFERENCE_TIME * pTimeStart, // put time here
REFERENCE_TIME * pTimeEnd
__in_opt REFERENCE_TIME * pTimeStart, // put time here
__in_opt REFERENCE_TIME * pTimeEnd
);
STDMETHODIMP IsSyncPoint(void);
STDMETHODIMP SetSyncPoint(BOOL bIsSyncPoint);
@@ -1285,8 +1285,8 @@ public:
// these allow for limited format changes in band
STDMETHODIMP GetMediaType(AM_MEDIA_TYPE **ppMediaType);
STDMETHODIMP SetMediaType(AM_MEDIA_TYPE *pMediaType);
STDMETHODIMP GetMediaType(__deref_out AM_MEDIA_TYPE **ppMediaType);
STDMETHODIMP SetMediaType(__in_opt AM_MEDIA_TYPE *pMediaType);
// returns S_OK if there is a discontinuity in the data (this same is
// not a continuation of the previous stream of data
@@ -1298,25 +1298,25 @@ public:
// get the media times for this sample
STDMETHODIMP GetMediaTime(
LONGLONG * pTimeStart,
LONGLONG * pTimeEnd
__out LONGLONG * pTimeStart,
__out LONGLONG * pTimeEnd
);
// Set the media times for this sample
STDMETHODIMP SetMediaTime(
LONGLONG * pTimeStart,
LONGLONG * pTimeEnd
__in_opt LONGLONG * pTimeStart,
__in_opt LONGLONG * pTimeEnd
);
// Set and get properties (IMediaSample2)
STDMETHODIMP GetProperties(
DWORD cbProperties,
BYTE * pbProperties
__out_bcount(cbProperties) BYTE * pbProperties
);
STDMETHODIMP SetProperties(
DWORD cbProperties,
const BYTE * pbProperties
__in_bcount(cbProperties) const BYTE * pbProperties
);
};
@@ -1344,7 +1344,7 @@ class AM_NOVTABLE CBaseAllocator : public CUnknown,// A non delegating IUnknown
friend class CSampleList;
/* Trick to get at protected member in CMediaSample */
static CMediaSample * &NextSample(CMediaSample *pSample)
static CMediaSample * &NextSample(__in CMediaSample *pSample)
{
return pSample->m_pNext;
};
@@ -1361,9 +1361,9 @@ class AM_NOVTABLE CBaseAllocator : public CUnknown,// A non delegating IUnknown
};
#endif
CMediaSample *Head() const { return m_List; };
CMediaSample *Next(CMediaSample *pSample) const { return CBaseAllocator::NextSample(pSample); };
CMediaSample *Next(__in CMediaSample *pSample) const { return CBaseAllocator::NextSample(pSample); };
int GetCount() const { return m_nOnList; };
void Add(CMediaSample *pSample)
void Add(__inout CMediaSample *pSample)
{
ASSERT(pSample != NULL);
CBaseAllocator::NextSample(pSample) = m_List;
@@ -1379,7 +1379,7 @@ class AM_NOVTABLE CBaseAllocator : public CUnknown,// A non delegating IUnknown
}
return pSample;
};
void Remove(CMediaSample *pSample);
void Remove(__inout CMediaSample *pSample);
public:
CMediaSample *m_List;
@@ -1455,11 +1455,11 @@ protected:
public:
CBaseAllocator(
TCHAR *, LPUNKNOWN, HRESULT *,
__in_opt LPCTSTR , __inout_opt LPUNKNOWN, __inout HRESULT *,
BOOL bEvent = TRUE, BOOL fEnableReleaseCallback = FALSE);
#ifdef UNICODE
CBaseAllocator(
CHAR *, LPUNKNOWN, HRESULT *,
__in_opt LPCSTR , __inout_opt LPUNKNOWN, __inout HRESULT *,
BOOL bEvent = TRUE, BOOL fEnableReleaseCallback = FALSE);
#endif
virtual ~CBaseAllocator();
@@ -1467,15 +1467,15 @@ public:
DECLARE_IUNKNOWN
// override this to publicise our interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
STDMETHODIMP SetProperties(
ALLOCATOR_PROPERTIES* pRequest,
ALLOCATOR_PROPERTIES* pActual);
__in ALLOCATOR_PROPERTIES* pRequest,
__out ALLOCATOR_PROPERTIES* pActual);
// return the properties actually being used on this allocator
STDMETHODIMP GetProperties(
ALLOCATOR_PROPERTIES* pProps);
__out ALLOCATOR_PROPERTIES* pProps);
// override Commit to allocate memory. We handle the GetBuffer
//state changes
@@ -1494,9 +1494,9 @@ public:
// bPrevFramesSkipped is not used (used only by the video renderer's
// allocator where it affects quality management in direct draw).
STDMETHODIMP GetBuffer(IMediaSample **ppBuffer,
REFERENCE_TIME * pStartTime,
REFERENCE_TIME * pEndTime,
STDMETHODIMP GetBuffer(__deref_out IMediaSample **ppBuffer,
__in_opt REFERENCE_TIME * pStartTime,
__in_opt REFERENCE_TIME * pEndTime,
DWORD dwFlags);
// final release of a CMediaSample will call this
@@ -1505,7 +1505,7 @@ public:
STDMETHODIMP SetNotify(IMemAllocatorNotifyCallbackTemp *pNotify);
STDMETHODIMP GetFreeCount(LONG *plBuffersFree);
STDMETHODIMP GetFreeCount(__out LONG *plBuffersFree);
// Notify that a sample is available
void NotifySample();
@@ -1532,7 +1532,7 @@ public:
//=====================================================================
// Make me one from quartz.dll
STDAPI CreateMemoryAllocator(IMemAllocator **ppAllocator);
STDAPI CreateMemoryAllocator(__deref_out IMemAllocator **ppAllocator);
class CMemAllocator : public CBaseAllocator
{
@@ -1554,15 +1554,15 @@ protected:
public:
/* This goes in the factory template table to create new instances */
static CUnknown *CreateInstance(LPUNKNOWN, HRESULT *);
static CUnknown *CreateInstance(__inout_opt LPUNKNOWN, __inout HRESULT *);
STDMETHODIMP SetProperties(
ALLOCATOR_PROPERTIES* pRequest,
ALLOCATOR_PROPERTIES* pActual);
__in ALLOCATOR_PROPERTIES* pRequest,
__out ALLOCATOR_PROPERTIES* pActual);
CMemAllocator(TCHAR *, LPUNKNOWN, HRESULT *);
CMemAllocator(__in_opt LPCTSTR , __inout_opt LPUNKNOWN, __inout HRESULT *);
#ifdef UNICODE
CMemAllocator(CHAR *, LPUNKNOWN, HRESULT *);
CMemAllocator(__in_opt LPCSTR , __inout_opt LPUNKNOWN, __inout HRESULT *);
#endif
~CMemAllocator();
};

View File

@@ -4,11 +4,11 @@
// Desc: DirectShow base classes - implements helper functions for
// bitmap formats.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include <streams.h>
#include <limits.h>
// These are bit field masks for true colour devices

View File

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(SolutionDir)common\vsprops\BaseProjectConfig.props" />
<Import Project="$(SolutionDir)common\vsprops\WinSDK.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{27F17499-A372-4408-8AFA-4F9F4584FBD3}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization Condition="$(Configuration.Contains(Release))">true</WholeProgramOptimization>
<UseDebugLibraries Condition="$(Configuration.Contains(Debug))">true</UseDebugLibraries>
<UseDebugLibraries Condition="!$(Configuration.Contains(Debug))">false</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="..\..\3rdparty\DefaultProjectRootDir.props" />
<Import Project="..\..\3rdparty\3rdparty.props" />
<Import Condition="$(Configuration.Contains(Debug))" Project="..\..\common\vsprops\CodeGen_Debug.props" />
<Import Condition="$(Configuration.Contains(Release))" Project="..\..\common\vsprops\CodeGen_Release.props" />
<Import Condition="!$(Configuration.Contains(Release))" Project="..\..\common\vsprops\IncrementalLinking.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>streams.h</PrecompiledHeaderFile>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="amextra.h" />
<ClInclude Include="amfilter.h" />
<ClInclude Include="cache.h" />
<ClInclude Include="combase.h" />
<ClInclude Include="ctlutil.h" />
<ClInclude Include="ddmm.h" />
<ClInclude Include="fourcc.h" />
<ClInclude Include="measure.h" />
<ClInclude Include="msgthrd.h" />
<ClInclude Include="mtype.h" />
<ClInclude Include="outputq.h" />
<ClInclude Include="pstream.h" />
<ClInclude Include="pullpin.h" />
<ClInclude Include="refclock.h" />
<ClInclude Include="reftime.h" />
<ClInclude Include="renbase.h" />
<ClInclude Include="schedule.h" />
<ClInclude Include="seekpt.h" />
<ClInclude Include="source.h" />
<ClInclude Include="streams.h" />
<ClInclude Include="strmctl.h" />
<ClInclude Include="sysclock.h" />
<ClInclude Include="transfrm.h" />
<ClInclude Include="transip.h" />
<ClInclude Include="vtrans.h" />
<ClInclude Include="wxdebug.h" />
<ClInclude Include="wxlist.h" />
<ClInclude Include="wxutil.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="amextra.cpp" />
<ClCompile Include="amfilter.cpp" />
<ClCompile Include="amvideo.cpp" />
<ClCompile Include="combase.cpp" />
<ClCompile Include="ctlutil.cpp" />
<ClCompile Include="ddmm.cpp">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="mtype.cpp" />
<ClCompile Include="outputq.cpp" />
<ClCompile Include="pstream.cpp" />
<ClCompile Include="pullpin.cpp" />
<ClCompile Include="refclock.cpp" />
<ClCompile Include="renbase.cpp" />
<ClCompile Include="schedule.cpp" />
<ClCompile Include="seekpt.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source.cpp" />
<ClCompile Include="strmctl.cpp" />
<ClCompile Include="sysclock.cpp" />
<ClCompile Include="transfrm.cpp" />
<ClCompile Include="transip.cpp" />
<ClCompile Include="vtrans.cpp" />
<ClCompile Include="wxdebug.cpp" />
<ClCompile Include="wxlist.cpp" />
<ClCompile Include="wxutil.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="amextra.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="amfilter.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="cache.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="combase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ctlutil.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ddmm.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="fourcc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="msgthrd.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="reftime.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="refclock.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="pullpin.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="pstream.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="outputq.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="mtype.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="measure.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="renbase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="schedule.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="seekpt.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="streams.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="source.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="strmctl.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="sysclock.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="transfrm.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="transip.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="vtrans.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wxdebug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wxlist.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wxutil.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="amextra.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="amfilter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="amvideo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="combase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ctlutil.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ddmm.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="mtype.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="outputq.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="pstream.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="pullpin.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="refclock.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="renbase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="schedule.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="seekpt.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="strmctl.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="sysclock.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="transfrm.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="transip.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="vtrans.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wxdebug.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wxlist.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wxutil.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -3,7 +3,7 @@
//
// Desc: DirectShow base classes - efines a non-MFC generic cache class.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -54,11 +54,11 @@ private:
public:
CCache(TCHAR *pName,INT iItems);
CCache(__in_opt LPCTSTR pName,INT iItems);
virtual ~CCache();
/* Add an item to the cache */
CBaseObject *AddToCache(CBaseObject *pObject);
CBaseObject *AddToCache(__in CBaseObject *pObject);
/* Remove an item from the cache */
CBaseObject *RemoveFromCache();

View File

@@ -4,11 +4,11 @@
// Desc: DirectShow base classes - implements class hierarchy for creating
// COM objects.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include <streams.h>
#pragma warning( disable : 4514 ) // Disable warnings re unused inline functions
@@ -19,7 +19,7 @@ LONG CBaseObject::m_cObjects = 0;
/* Constructor */
CBaseObject::CBaseObject(const TCHAR *pName)
CBaseObject::CBaseObject(__in_opt LPCTSTR pName)
{
/* Increment the number of active objects */
InterlockedIncrement(&m_cObjects);
@@ -85,7 +85,7 @@ HINSTANCE LoadOLEAut32()
// We know we use "this" in the initialization list, we also know we don't modify *phr.
#pragma warning( disable : 4355 4100 )
CUnknown::CUnknown(const TCHAR *pName, LPUNKNOWN pUnk)
CUnknown::CUnknown(__in_opt LPCTSTR pName, __in_opt LPUNKNOWN pUnk)
: CBaseObject(pName)
/* Start the object with a reference count of zero - when the */
/* object is queried for it's first interface this may be */
@@ -107,7 +107,7 @@ CUnknown::CUnknown(const TCHAR *pName, LPUNKNOWN pUnk)
// This does the same as above except it has a useless HRESULT argument
// use the previous constructor, this is just left for compatibility...
CUnknown::CUnknown(TCHAR *pName, LPUNKNOWN pUnk,HRESULT *phr) :
CUnknown::CUnknown(__in_opt LPCTSTR pName, __in_opt LPUNKNOWN pUnk, __inout_opt HRESULT *phr) :
CBaseObject(pName),
m_cRef(0),
m_pUnknown( pUnk != 0 ? pUnk : reinterpret_cast<LPUNKNOWN>( static_cast<PNDUNKNOWN>(this) ) )
@@ -115,12 +115,12 @@ CUnknown::CUnknown(TCHAR *pName, LPUNKNOWN pUnk,HRESULT *phr) :
}
#ifdef UNICODE
CUnknown::CUnknown(const CHAR *pName, LPUNKNOWN pUnk)
CUnknown::CUnknown(__in_opt LPCSTR pName, __in_opt LPUNKNOWN pUnk)
: CBaseObject(pName), m_cRef(0),
m_pUnknown( pUnk != 0 ? pUnk : reinterpret_cast<LPUNKNOWN>( static_cast<PNDUNKNOWN>(this) ) )
{ }
CUnknown::CUnknown(CHAR *pName, LPUNKNOWN pUnk,HRESULT *phr) :
CUnknown::CUnknown(__in_opt LPCSTR pName, __in_opt LPUNKNOWN pUnk, __inout_opt HRESULT *phr) :
CBaseObject(pName), m_cRef(0),
m_pUnknown( pUnk != 0 ? pUnk : reinterpret_cast<LPUNKNOWN>( static_cast<PNDUNKNOWN>(this) ) )
{ }
@@ -132,7 +132,7 @@ CUnknown::CUnknown(CHAR *pName, LPUNKNOWN pUnk,HRESULT *phr) :
/* QueryInterface */
STDMETHODIMP CUnknown::NonDelegatingQueryInterface(REFIID riid, void ** ppv)
STDMETHODIMP CUnknown::NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv)
{
CheckPointer(ppv,E_POINTER);
ValidateReadWritePtr(ppv,sizeof(PVOID));
@@ -200,7 +200,9 @@ STDMETHODIMP_(ULONG) CUnknown::NonDelegatingRelease()
delete this;
return ULONG(0);
} else {
return ourmax(ULONG(m_cRef), 1ul);
// Don't touch m_cRef again even in this leg as the object
// may have just been released on another thread too
return ourmax(ULONG(lRef), 1ul);
}
}
@@ -208,7 +210,7 @@ STDMETHODIMP_(ULONG) CUnknown::NonDelegatingRelease()
/* Return an interface pointer to a requesting client
performing a thread safe AddRef as necessary */
STDAPI GetInterface(LPUNKNOWN pUnk, void **ppv)
STDAPI GetInterface(LPUNKNOWN pUnk, __out void **ppv)
{
CheckPointer(ppv, E_POINTER);
*ppv = pUnk;
@@ -240,16 +242,23 @@ BOOL WINAPI IsEqualObject(IUnknown *pFirst, IUnknown *pSecond)
/* See if the IUnknown pointers match */
hr = pFirst->QueryInterface(IID_IUnknown,(void **) &pUnknown1);
ASSERT(SUCCEEDED(hr));
if (FAILED(hr)) {
return FALSE;
}
ASSERT(pUnknown1);
hr = pSecond->QueryInterface(IID_IUnknown,(void **) &pUnknown2);
ASSERT(SUCCEEDED(hr));
ASSERT(pUnknown2);
/* Release the extra interfaces we hold */
/* Release the extra interface we hold */
pUnknown1->Release();
hr = pSecond->QueryInterface(IID_IUnknown,(void **) &pUnknown2);
if (FAILED(hr)) {
return FALSE;
}
ASSERT(pUnknown2);
/* Release the extra interface we hold */
pUnknown2->Release();
return (pUnknown1 == pUnknown2);
}

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - defines a class hierarchy for creating
// COM objects.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -179,9 +179,9 @@ public:
/* These increment and decrement the number of active objects */
CBaseObject(const TCHAR *pName);
CBaseObject(__in_opt LPCTSTR pName);
#ifdef UNICODE
CBaseObject(const char *pName);
CBaseObject(__in_opt LPCSTR pName);
#endif
~CBaseObject();
@@ -208,15 +208,15 @@ protected: /* So we can override NonDelegatingRelease() */
public:
CUnknown(const TCHAR *pName, LPUNKNOWN pUnk);
CUnknown(__in_opt LPCTSTR pName, __in_opt LPUNKNOWN pUnk);
virtual ~CUnknown() {};
// This is redundant, just use the other constructor
// as we never touch the HRESULT in this anyway
CUnknown(TCHAR *pName, LPUNKNOWN pUnk,HRESULT *phr);
CUnknown(__in_opt LPCTSTR Name, __in_opt LPUNKNOWN pUnk, __inout_opt HRESULT *phr);
#ifdef UNICODE
CUnknown(const char *pName, LPUNKNOWN pUnk);
CUnknown(char *pName, LPUNKNOWN pUnk,HRESULT *phr);
CUnknown(__in_opt LPCSTR pName, __in_opt LPUNKNOWN pUnk);
CUnknown(__in_opt LPCSTR pName, __in_opt LPUNKNOWN pUnk,__inout_opt HRESULT *phr);
#endif
/* Return the owner of this object */
@@ -232,33 +232,19 @@ public:
/* Non delegating unknown implementation */
STDMETHODIMP NonDelegatingQueryInterface(REFIID, void **);
STDMETHODIMP NonDelegatingQueryInterface(REFIID, __deref_out void **);
STDMETHODIMP_(ULONG) NonDelegatingAddRef();
STDMETHODIMP_(ULONG) NonDelegatingRelease();
};
#if (_MSC_VER <= 1200)
#pragma warning(disable:4211)
/* The standard InterlockedXXX functions won't take volatiles */
static inline LONG WINAPI InterlockedIncrement( volatile LONG * plong )
{ return InterlockedIncrement( const_cast<LONG*>( plong ) ); }
static inline LONG WINAPI InterlockedDecrement( volatile LONG * plong )
{ return InterlockedDecrement( const_cast<LONG*>( plong ) ); }
#pragma warning(default:4211)
#endif
/* Return an interface pointer to a requesting client
performing a thread safe AddRef as necessary */
STDAPI GetInterface(LPUNKNOWN pUnk, void **ppv);
STDAPI GetInterface(LPUNKNOWN pUnk, __out void **ppv);
/* A function that can create a new COM object */
typedef CUnknown *(CALLBACK *LPFNNewCOMObject)(LPUNKNOWN pUnkOuter, HRESULT *phr);
typedef CUnknown *(CALLBACK *LPFNNewCOMObject)(__in_opt LPUNKNOWN pUnkOuter, __inout_opt HRESULT *phr);
/* A function (can be NULL) which is called from the DLL entrypoint
routine for each factory template:
@@ -285,7 +271,7 @@ public:
return (IsEqualCLSID(*m_ClsID,rclsid));
};
CUnknown *CreateInstance(LPUNKNOWN pUnk, HRESULT *phr) const {
CUnknown *CreateInstance(__inout_opt LPUNKNOWN pUnk, __inout_opt HRESULT *phr) const {
CheckPointer(phr,NULL);
return m_lpfnNew(pUnk, phr);
};
@@ -297,7 +283,7 @@ public:
class supports (the default implementation only supports IUnknown) */
#define DECLARE_IUNKNOWN \
STDMETHODIMP QueryInterface(REFIID riid, void **ppv) { \
STDMETHODIMP QueryInterface(REFIID riid, __deref_out void **ppv) { \
return GetOwner()->QueryInterface(riid,ppv); \
}; \
STDMETHODIMP_(ULONG) AddRef() { \

File diff suppressed because it is too large Load Diff

923
3rdparty/baseclasses/ctlutil.h vendored Normal file
View File

@@ -0,0 +1,923 @@
//------------------------------------------------------------------------------
// File: CtlUtil.h
//
// Desc: DirectShow base classes.
//
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
// Base classes implementing IDispatch parsing for the basic control dual
// interfaces. Derive from these and implement just the custom method and
// property methods. We also implement CPosPassThru that can be used by
// renderers and transforms to pass by IMediaPosition and IMediaSeeking
#ifndef __CTLUTIL__
#define __CTLUTIL__
// OLE Automation has different ideas of TRUE and FALSE
#define OATRUE (-1)
#define OAFALSE (0)
// It's possible that we could replace this class with CreateStdDispatch
class CBaseDispatch
{
ITypeInfo * m_pti;
public:
CBaseDispatch() : m_pti(NULL) {}
~CBaseDispatch();
/* IDispatch methods */
STDMETHODIMP GetTypeInfoCount(__out UINT * pctinfo);
STDMETHODIMP GetTypeInfo(
REFIID riid,
UINT itinfo,
LCID lcid,
__deref_out ITypeInfo ** pptinfo);
STDMETHODIMP GetIDsOfNames(
REFIID riid,
__in_ecount(cNames) LPOLESTR * rgszNames,
UINT cNames,
LCID lcid,
__out_ecount(cNames) DISPID * rgdispid);
};
class AM_NOVTABLE CMediaControl :
public IMediaControl,
public CUnknown
{
CBaseDispatch m_basedisp;
public:
CMediaControl(const TCHAR *, LPUNKNOWN);
DECLARE_IUNKNOWN
// override this to publicise our interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
/* IDispatch methods */
STDMETHODIMP GetTypeInfoCount(__out UINT * pctinfo);
STDMETHODIMP GetTypeInfo(
UINT itinfo,
LCID lcid,
__deref_out ITypeInfo ** pptinfo);
STDMETHODIMP GetIDsOfNames(
REFIID riid,
__in_ecount(cNames) LPOLESTR * rgszNames,
UINT cNames,
LCID lcid,
__out_ecount(cNames) DISPID * rgdispid);
STDMETHODIMP Invoke(
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
__in DISPPARAMS * pdispparams,
__out_opt VARIANT * pvarResult,
__out_opt EXCEPINFO * pexcepinfo,
__out_opt UINT * puArgErr);
};
class AM_NOVTABLE CMediaEvent :
public IMediaEventEx,
public CUnknown
{
CBaseDispatch m_basedisp;
public:
CMediaEvent(__in_opt LPCTSTR, __in_opt LPUNKNOWN);
DECLARE_IUNKNOWN
// override this to publicise our interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
/* IDispatch methods */
STDMETHODIMP GetTypeInfoCount(__out UINT * pctinfo);
STDMETHODIMP GetTypeInfo(
UINT itinfo,
LCID lcid,
__deref_out ITypeInfo ** pptinfo);
STDMETHODIMP GetIDsOfNames(
REFIID riid,
__in_ecount(cNames) LPOLESTR * rgszNames,
UINT cNames,
LCID lcid,
__out_ecount(cNames) DISPID * rgdispid);
STDMETHODIMP Invoke(
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
__in DISPPARAMS * pdispparams,
__out_opt VARIANT * pvarResult,
__out_opt EXCEPINFO * pexcepinfo,
__out_opt UINT * puArgErr);
};
class AM_NOVTABLE CMediaPosition :
public IMediaPosition,
public CUnknown
{
CBaseDispatch m_basedisp;
public:
CMediaPosition(__in_opt LPCTSTR, __in_opt LPUNKNOWN);
CMediaPosition(__in_opt LPCTSTR, __in_opt LPUNKNOWN, __inout HRESULT *phr);
DECLARE_IUNKNOWN
// override this to publicise our interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
/* IDispatch methods */
STDMETHODIMP GetTypeInfoCount(__out UINT * pctinfo);
STDMETHODIMP GetTypeInfo(
UINT itinfo,
LCID lcid,
__deref_out ITypeInfo ** pptinfo);
STDMETHODIMP GetIDsOfNames(
REFIID riid,
__in_ecount(cNames) LPOLESTR * rgszNames,
UINT cNames,
LCID lcid,
__out_ecount(cNames) DISPID * rgdispid);
STDMETHODIMP Invoke(
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
__in DISPPARAMS * pdispparams,
__out_opt VARIANT * pvarResult,
__out_opt EXCEPINFO * pexcepinfo,
__out_opt UINT * puArgErr);
};
// OA-compatibility means that we must use double as the RefTime value,
// and REFERENCE_TIME (essentially a LONGLONG) within filters.
// this class converts between the two
class COARefTime : public CRefTime {
public:
COARefTime() {
};
COARefTime(CRefTime t)
: CRefTime(t)
{
};
COARefTime(REFERENCE_TIME t)
: CRefTime(t)
{
};
COARefTime(double d) {
m_time = (LONGLONG) (d * 10000000);
};
operator double() {
return double(m_time) / 10000000;
};
operator REFERENCE_TIME() {
return m_time;
};
COARefTime& operator=(const double& rd) {
m_time = (LONGLONG) (rd * 10000000);
return *this;
}
COARefTime& operator=(const REFERENCE_TIME& rt) {
m_time = rt;
return *this;
}
inline BOOL operator==(const COARefTime& rt)
{
return m_time == rt.m_time;
};
inline BOOL operator!=(const COARefTime& rt)
{
return m_time != rt.m_time;
};
inline BOOL operator < (const COARefTime& rt)
{
return m_time < rt.m_time;
};
inline BOOL operator > (const COARefTime& rt)
{
return m_time > rt.m_time;
};
inline BOOL operator >= (const COARefTime& rt)
{
return m_time >= rt.m_time;
};
inline BOOL operator <= (const COARefTime& rt)
{
return m_time <= rt.m_time;
};
inline COARefTime operator+(const COARefTime& rt)
{
return COARefTime(m_time + rt.m_time);
};
inline COARefTime operator-(const COARefTime& rt)
{
return COARefTime(m_time - rt.m_time);
};
inline COARefTime operator*(LONG l)
{
return COARefTime(m_time * l);
};
inline COARefTime operator/(LONG l)
{
return COARefTime(m_time / l);
};
private:
// Prevent bugs from constructing from LONG (which gets
// converted to double and then multiplied by 10000000
COARefTime(LONG);
LONG operator=(LONG);
};
// A utility class that handles IMediaPosition and IMediaSeeking on behalf
// of single-input pin renderers, or transform filters.
//
// Renderers will expose this from the filter; transform filters will
// expose it from the output pin and not the renderer.
//
// Create one of these, giving it your IPin* for your input pin, and delegate
// all IMediaPosition methods to it. It will query the input pin for
// IMediaPosition and respond appropriately.
//
// Call ForceRefresh if the pin connection changes.
//
// This class no longer caches the upstream IMediaPosition or IMediaSeeking
// it acquires it on each method call. This means ForceRefresh is not needed.
// The method is kept for source compatibility and to minimise the changes
// if we need to put it back later for performance reasons.
class CPosPassThru : public IMediaSeeking, public CMediaPosition
{
IPin *m_pPin;
HRESULT GetPeer(__deref_out IMediaPosition **ppMP);
HRESULT GetPeerSeeking(__deref_out IMediaSeeking **ppMS);
public:
CPosPassThru(__in_opt LPCTSTR, __in_opt LPUNKNOWN, __inout HRESULT*, IPin *);
DECLARE_IUNKNOWN
HRESULT ForceRefresh() {
return S_OK;
};
// override to return an accurate current position
virtual HRESULT GetMediaTime(__out LONGLONG *pStartTime, __out_opt LONGLONG *pEndTime) {
return E_FAIL;
}
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid,__deref_out void **ppv);
// IMediaSeeking methods
STDMETHODIMP GetCapabilities( __out DWORD * pCapabilities );
STDMETHODIMP CheckCapabilities( __inout DWORD * pCapabilities );
STDMETHODIMP SetTimeFormat(const GUID * pFormat);
STDMETHODIMP GetTimeFormat(__out GUID *pFormat);
STDMETHODIMP IsUsingTimeFormat(const GUID * pFormat);
STDMETHODIMP IsFormatSupported( const GUID * pFormat);
STDMETHODIMP QueryPreferredFormat( __out GUID *pFormat);
STDMETHODIMP ConvertTimeFormat(__out LONGLONG * pTarget,
__in_opt const GUID * pTargetFormat,
LONGLONG Source,
__in_opt const GUID * pSourceFormat );
STDMETHODIMP SetPositions( __inout_opt LONGLONG * pCurrent, DWORD CurrentFlags
, __inout_opt LONGLONG * pStop, DWORD StopFlags );
STDMETHODIMP GetPositions( __out_opt LONGLONG * pCurrent, __out_opt LONGLONG * pStop );
STDMETHODIMP GetCurrentPosition( __out LONGLONG * pCurrent );
STDMETHODIMP GetStopPosition( __out LONGLONG * pStop );
STDMETHODIMP SetRate( double dRate);
STDMETHODIMP GetRate( __out double * pdRate);
STDMETHODIMP GetDuration( __out LONGLONG *pDuration);
STDMETHODIMP GetAvailable( __out_opt LONGLONG *pEarliest, __out_opt LONGLONG *pLatest );
STDMETHODIMP GetPreroll( __out LONGLONG *pllPreroll );
// IMediaPosition properties
STDMETHODIMP get_Duration(__out REFTIME * plength);
STDMETHODIMP put_CurrentPosition(REFTIME llTime);
STDMETHODIMP get_StopTime(__out REFTIME * pllTime);
STDMETHODIMP put_StopTime(REFTIME llTime);
STDMETHODIMP get_PrerollTime(__out REFTIME * pllTime);
STDMETHODIMP put_PrerollTime(REFTIME llTime);
STDMETHODIMP get_Rate(__out double * pdRate);
STDMETHODIMP put_Rate(double dRate);
STDMETHODIMP get_CurrentPosition(__out REFTIME * pllTime);
STDMETHODIMP CanSeekForward(__out LONG *pCanSeekForward);
STDMETHODIMP CanSeekBackward(__out LONG *pCanSeekBackward);
private:
HRESULT GetSeekingLongLong( HRESULT (__stdcall IMediaSeeking::*pMethod)( LONGLONG * ),
__out LONGLONG * pll );
};
// Adds the ability to return a current position
class CRendererPosPassThru : public CPosPassThru
{
CCritSec m_PositionLock; // Locks access to our position
LONGLONG m_StartMedia; // Start media time last seen
LONGLONG m_EndMedia; // And likewise the end media
BOOL m_bReset; // Have media times been set
public:
// Used to help with passing media times through graph
CRendererPosPassThru(__in_opt LPCTSTR, __in_opt LPUNKNOWN, __inout HRESULT*, IPin *);
HRESULT RegisterMediaTime(IMediaSample *pMediaSample);
HRESULT RegisterMediaTime(LONGLONG StartTime,LONGLONG EndTime);
HRESULT GetMediaTime(__out LONGLONG *pStartTime,__out_opt LONGLONG *pEndTime);
HRESULT ResetMediaTime();
HRESULT EOS();
};
STDAPI CreatePosPassThru(
__in_opt LPUNKNOWN pAgg,
BOOL bRenderer,
IPin *pPin,
__deref_out IUnknown **ppPassThru
);
// A class that handles the IDispatch part of IBasicAudio and leaves the
// properties and methods themselves pure virtual.
class AM_NOVTABLE CBasicAudio : public IBasicAudio, public CUnknown
{
CBaseDispatch m_basedisp;
public:
CBasicAudio(__in_opt LPCTSTR, __in_opt LPUNKNOWN);
DECLARE_IUNKNOWN
// override this to publicise our interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
/* IDispatch methods */
STDMETHODIMP GetTypeInfoCount(__out UINT * pctinfo);
STDMETHODIMP GetTypeInfo(
UINT itinfo,
LCID lcid,
__deref_out ITypeInfo ** pptinfo);
STDMETHODIMP GetIDsOfNames(
REFIID riid,
__in_ecount(cNames) LPOLESTR * rgszNames,
UINT cNames,
LCID lcid,
__out_ecount(cNames) DISPID * rgdispid);
STDMETHODIMP Invoke(
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
__in DISPPARAMS * pdispparams,
__out_opt VARIANT * pvarResult,
__out_opt EXCEPINFO * pexcepinfo,
__out_opt UINT * puArgErr);
};
// A class that handles the IDispatch part of IBasicVideo and leaves the
// properties and methods themselves pure virtual.
class AM_NOVTABLE CBaseBasicVideo : public IBasicVideo2, public CUnknown
{
CBaseDispatch m_basedisp;
public:
CBaseBasicVideo(__in_opt LPCTSTR, __in_opt LPUNKNOWN);
DECLARE_IUNKNOWN
// override this to publicise our interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
/* IDispatch methods */
STDMETHODIMP GetTypeInfoCount(__out UINT * pctinfo);
STDMETHODIMP GetTypeInfo(
UINT itinfo,
LCID lcid,
__deref_out ITypeInfo ** pptinfo);
STDMETHODIMP GetIDsOfNames(
REFIID riid,
__in_ecount(cNames) LPOLESTR * rgszNames,
UINT cNames,
LCID lcid,
__out_ecount(cNames) DISPID * rgdispid);
STDMETHODIMP Invoke(
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
__in DISPPARAMS * pdispparams,
__out_opt VARIANT * pvarResult,
__out_opt EXCEPINFO * pexcepinfo,
__out_opt UINT * puArgErr);
STDMETHODIMP GetPreferredAspectRatio(
__out long *plAspectX,
__out long *plAspectY)
{
return E_NOTIMPL;
}
};
// A class that handles the IDispatch part of IVideoWindow and leaves the
// properties and methods themselves pure virtual.
class AM_NOVTABLE CBaseVideoWindow : public IVideoWindow, public CUnknown
{
CBaseDispatch m_basedisp;
public:
CBaseVideoWindow(__in_opt LPCTSTR, __in_opt LPUNKNOWN);
DECLARE_IUNKNOWN
// override this to publicise our interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
/* IDispatch methods */
STDMETHODIMP GetTypeInfoCount(__out UINT * pctinfo);
STDMETHODIMP GetTypeInfo(
UINT itinfo,
LCID lcid,
__deref_out ITypeInfo ** pptinfo);
STDMETHODIMP GetIDsOfNames(
REFIID riid,
__in_ecount(cNames) LPOLESTR * rgszNames,
UINT cNames,
LCID lcid,
__out_ecount(cNames) DISPID * rgdispid);
STDMETHODIMP Invoke(
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
__in DISPPARAMS * pdispparams,
__out_opt VARIANT * pvarResult,
__out_opt EXCEPINFO * pexcepinfo,
__out_opt UINT * puArgErr);
};
// abstract class to help source filters with their implementation
// of IMediaPosition. Derive from this and set the duration (and stop
// position). Also override NotifyChange to do something when the properties
// change.
class AM_NOVTABLE CSourcePosition : public CMediaPosition
{
public:
CSourcePosition(__in_opt LPCTSTR, __in_opt LPUNKNOWN, __inout HRESULT*, __in CCritSec *);
// IMediaPosition methods
STDMETHODIMP get_Duration(__out REFTIME * plength);
STDMETHODIMP put_CurrentPosition(REFTIME llTime);
STDMETHODIMP get_StopTime(__out REFTIME * pllTime);
STDMETHODIMP put_StopTime(REFTIME llTime);
STDMETHODIMP get_PrerollTime(__out REFTIME * pllTime);
STDMETHODIMP put_PrerollTime(REFTIME llTime);
STDMETHODIMP get_Rate(__out double * pdRate);
STDMETHODIMP put_Rate(double dRate);
STDMETHODIMP CanSeekForward(__out LONG *pCanSeekForward);
STDMETHODIMP CanSeekBackward(__out LONG *pCanSeekBackward);
// override if you can return the data you are actually working on
STDMETHODIMP get_CurrentPosition(__out REFTIME * pllTime) {
return E_NOTIMPL;
};
protected:
// we call this to notify changes. Override to handle them
virtual HRESULT ChangeStart() PURE;
virtual HRESULT ChangeStop() PURE;
virtual HRESULT ChangeRate() PURE;
COARefTime m_Duration;
COARefTime m_Start;
COARefTime m_Stop;
double m_Rate;
CCritSec * m_pLock;
};
class AM_NOVTABLE CSourceSeeking :
public IMediaSeeking,
public CUnknown
{
public:
DECLARE_IUNKNOWN;
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
// IMediaSeeking methods
STDMETHODIMP IsFormatSupported(const GUID * pFormat);
STDMETHODIMP QueryPreferredFormat(__out GUID *pFormat);
STDMETHODIMP SetTimeFormat(const GUID * pFormat);
STDMETHODIMP IsUsingTimeFormat(const GUID * pFormat);
STDMETHODIMP GetTimeFormat(__out GUID *pFormat);
STDMETHODIMP GetDuration(__out LONGLONG *pDuration);
STDMETHODIMP GetStopPosition(__out LONGLONG *pStop);
STDMETHODIMP GetCurrentPosition(__out LONGLONG *pCurrent);
STDMETHODIMP GetCapabilities( __out DWORD * pCapabilities );
STDMETHODIMP CheckCapabilities( __inout DWORD * pCapabilities );
STDMETHODIMP ConvertTimeFormat( __out LONGLONG * pTarget,
__in_opt const GUID * pTargetFormat,
LONGLONG Source,
__in_opt const GUID * pSourceFormat );
STDMETHODIMP SetPositions( __inout_opt LONGLONG * pCurrent, DWORD CurrentFlags
, __inout_opt LONGLONG * pStop, DWORD StopFlags );
STDMETHODIMP GetPositions( __out_opt LONGLONG * pCurrent, __out_opt LONGLONG * pStop );
STDMETHODIMP GetAvailable( __out_opt LONGLONG * pEarliest, __out_opt LONGLONG * pLatest );
STDMETHODIMP SetRate( double dRate);
STDMETHODIMP GetRate( __out double * pdRate);
STDMETHODIMP GetPreroll(__out LONGLONG *pPreroll);
protected:
// ctor
CSourceSeeking(__in_opt LPCTSTR, __in_opt LPUNKNOWN, __inout HRESULT*, __in CCritSec *);
// we call this to notify changes. Override to handle them
virtual HRESULT ChangeStart() PURE;
virtual HRESULT ChangeStop() PURE;
virtual HRESULT ChangeRate() PURE;
CRefTime m_rtDuration; // length of stream
CRefTime m_rtStart; // source will start here
CRefTime m_rtStop; // source will stop here
double m_dRateSeeking;
// seeking capabilities
DWORD m_dwSeekingCaps;
CCritSec * m_pLock;
};
// Base classes supporting Deferred commands.
// Deferred commands are queued by calls to methods on the IQueueCommand
// interface, exposed by the filtergraph and by some filters. A successful
// call to one of these methods will return an IDeferredCommand interface
// representing the queued command.
//
// A CDeferredCommand object represents a single deferred command, and exposes
// the IDeferredCommand interface as well as other methods permitting time
// checks and actual execution. It contains a reference to the CCommandQueue
// object on which it is queued.
//
// CCommandQueue is a base class providing a queue of CDeferredCommand
// objects, and methods to add, remove, check status and invoke the queued
// commands. A CCommandQueue object would be part of an object that
// implemented IQueueCommand.
class CCmdQueue;
// take a copy of the params and store them. Release any allocated
// memory in destructor
class CDispParams : public DISPPARAMS
{
public:
CDispParams(UINT nArgs, __in_ecount(nArgs) VARIANT* pArgs, __inout_opt HRESULT *phr = NULL);
~CDispParams();
};
// CDeferredCommand lifetime is controlled by refcounts. Caller of
// InvokeAt.. gets a refcounted interface pointer, and the CCmdQueue
// object also holds a refcount on us. Calling Cancel or Invoke takes
// us off the CCmdQueue and thus reduces the refcount by 1. Once taken
// off the queue we cannot be put back on the queue.
class CDeferredCommand
: public CUnknown,
public IDeferredCommand
{
public:
CDeferredCommand(
__inout CCmdQueue * pQ,
__in_opt LPUNKNOWN pUnk, // aggregation outer unk
__inout HRESULT * phr,
__in LPUNKNOWN pUnkExecutor, // object that will execute this cmd
REFTIME time,
__in GUID* iid,
long dispidMethod,
short wFlags,
long cArgs,
__in_ecount(cArgs) VARIANT* pDispParams,
__out VARIANT* pvarResult,
__out short* puArgErr,
BOOL bStream
);
DECLARE_IUNKNOWN
// override this to publicise our interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __out void **ppv);
// IDeferredCommand methods
STDMETHODIMP Cancel();
STDMETHODIMP Confidence(
__out LONG* pConfidence);
STDMETHODIMP Postpone(
REFTIME newtime);
STDMETHODIMP GetHResult(
__out HRESULT* phrResult);
// other public methods
HRESULT Invoke();
// access methods
// returns TRUE if streamtime, FALSE if presentation time
BOOL IsStreamTime() {
return m_bStream;
};
CRefTime GetTime() {
return m_time;
};
REFIID GetIID() {
return *m_iid;
};
long GetMethod() {
return m_dispidMethod;
};
short GetFlags() {
return m_wFlags;
};
DISPPARAMS* GetParams() {
return &m_DispParams;
};
VARIANT* GetResult() {
return m_pvarResult;
};
protected:
CCmdQueue* m_pQueue;
// pUnk for the interface that we will execute the command on
LPUNKNOWN m_pUnk;
// stored command data
REFERENCE_TIME m_time;
GUID* m_iid;
long m_dispidMethod;
short m_wFlags;
VARIANT* m_pvarResult;
BOOL m_bStream;
CDispParams m_DispParams;
DISPID m_DispId; // For get and put
// we use this for ITypeInfo access
CBaseDispatch m_Dispatch;
// save retval here
HRESULT m_hrResult;
};
// a list of CDeferredCommand objects. this is a base class providing
// the basics of access to the list. If you want to use CDeferredCommand
// objects then your queue needs to be derived from this class.
class AM_NOVTABLE CCmdQueue
{
public:
CCmdQueue(__inout_opt HRESULT *phr = NULL);
virtual ~CCmdQueue();
// returns a new CDeferredCommand object that will be initialised with
// the parameters and will be added to the queue during construction.
// returns S_OK if successfully created otherwise an error and
// no object has been queued.
virtual HRESULT New(
__out CDeferredCommand **ppCmd,
__in LPUNKNOWN pUnk,
REFTIME time,
__in GUID* iid,
long dispidMethod,
short wFlags,
long cArgs,
__in_ecount(cArgs) VARIANT* pDispParams,
__out VARIANT* pvarResult,
__out short* puArgErr,
BOOL bStream
);
// called by the CDeferredCommand object to add and remove itself
// from the queue
virtual HRESULT Insert(__in CDeferredCommand* pCmd);
virtual HRESULT Remove(__in CDeferredCommand* pCmd);
// Command-Due Checking
//
// There are two schemes of synchronisation: coarse and accurate. In
// coarse mode, you wait till the time arrives and then execute the cmd.
// In accurate mode, you wait until you are processing the sample that
// will appear at the time, and then execute the command. It's up to the
// filter which one it will implement. The filtergraph will always
// implement coarse mode for commands queued at the filtergraph.
//
// If you want coarse sync, you probably want to wait until there is a
// command due, and then execute it. You can do this by calling
// GetDueCommand. If you have several things to wait for, get the
// event handle from GetDueHandle() and when this is signalled then call
// GetDueCommand. Stream time will only advance between calls to Run and
// EndRun. Note that to avoid an extra thread there is no guarantee that
// if the handle is set there will be a command ready. Each time the
// event is signalled, call GetDueCommand (probably with a 0 timeout);
// This may return E_ABORT.
//
// If you want accurate sync, you must call GetCommandDueFor, passing
// as a parameter the stream time of the samples you are about to process.
// This will return:
// -- a stream-time command due at or before that stream time
// -- a presentation-time command due at or before the
// time that stream time will be presented (only between Run
// and EndRun calls, since outside of this, the mapping from
// stream time to presentation time is not known.
// -- any presentation-time command due now.
// This means that if you want accurate synchronisation on samples that
// might be processed during Paused mode, you need to use
// stream-time commands.
//
// In all cases, commands remain queued until Invoked or Cancelled. The
// setting and resetting of the event handle is managed entirely by this
// queue object.
// set the clock used for timing
virtual HRESULT SetSyncSource(__in_opt IReferenceClock*);
// switch to run mode. Streamtime to Presentation time mapping known.
virtual HRESULT Run(REFERENCE_TIME tStreamTimeOffset);
// switch to Stopped or Paused mode. Time mapping not known.
virtual HRESULT EndRun();
// return a pointer to the next due command. Blocks for msTimeout
// milliseconds until there is a due command.
// Stream-time commands will only become due between Run and Endrun calls.
// The command remains queued until invoked or cancelled.
// Returns E_ABORT if timeout occurs, otherwise S_OK (or other error).
// Returns an AddRef-ed object
virtual HRESULT GetDueCommand(__out CDeferredCommand ** ppCmd, long msTimeout);
// return the event handle that will be signalled whenever
// there are deferred commands due for execution (when GetDueCommand
// will not block).
HANDLE GetDueHandle() {
return HANDLE(m_evDue);
};
// return a pointer to a command that will be due for a given time.
// Pass in a stream time here. The stream time offset will be passed
// in via the Run method.
// Commands remain queued until invoked or cancelled.
// This method will not block. It will report VFW_E_NOT_FOUND if there
// are no commands due yet.
// Returns an AddRef-ed object
virtual HRESULT GetCommandDueFor(REFERENCE_TIME tStream, __out CDeferredCommand**ppCmd);
// check if a given time is due (TRUE if it is due yet)
BOOL CheckTime(CRefTime time, BOOL bStream) {
// if no clock, nothing is due!
if (!m_pClock) {
return FALSE;
}
// stream time
if (bStream) {
// not valid if not running
if (!m_bRunning) {
return FALSE;
}
// add on known stream time offset to get presentation time
time += m_StreamTimeOffset;
}
CRefTime Now;
m_pClock->GetTime((REFERENCE_TIME*)&Now);
return (time <= Now);
};
protected:
// protect access to lists etc
CCritSec m_Lock;
// commands queued in presentation time are stored here
CGenericList<CDeferredCommand> m_listPresentation;
// commands queued in stream time are stored here
CGenericList<CDeferredCommand> m_listStream;
// set when any commands are due
CAMEvent m_evDue;
// creates an advise for the earliest time required, if any
void SetTimeAdvise(void);
// advise id from reference clock (0 if no outstanding advise)
DWORD_PTR m_dwAdvise;
// advise time is for this presentation time
CRefTime m_tCurrentAdvise;
// the reference clock we are using (addrefed)
IReferenceClock* m_pClock;
// true when running
BOOL m_bRunning;
// contains stream time offset when m_bRunning is true
CRefTime m_StreamTimeOffset;
};
#endif // __CTLUTIL__

View File

@@ -4,13 +4,12 @@
// Desc: DirectShow base classes - implements routines for using DirectDraw
// on a multimonitor system.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1995-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//#include <strsafe.h>
#include <strmif.h>
#include <mmsystem.h>
#include <streams.h>
#include <ddraw.h>
#include "ddmm.h"
/*
@@ -23,7 +22,7 @@ typedef struct {
BOOL fFound;
} FindDeviceData;
BOOL CALLBACK FindDeviceCallback(GUID* lpGUID, LPSTR szName, LPSTR szDevice, LPVOID lParam)
BOOL CALLBACK FindDeviceCallback(__in_opt GUID* lpGUID, __in LPSTR szName, __in LPSTR szDevice, __in LPVOID lParam)
{
FindDeviceData *p = (FindDeviceData*)lParam;
@@ -41,7 +40,7 @@ BOOL CALLBACK FindDeviceCallback(GUID* lpGUID, LPSTR szName, LPSTR szDevice, LPV
}
BOOL CALLBACK FindDeviceCallbackEx(GUID* lpGUID, LPSTR szName, LPSTR szDevice, LPVOID lParam, HMONITOR hMonitor)
BOOL CALLBACK FindDeviceCallbackEx(__in_opt GUID* lpGUID, __in LPSTR szName, __in LPSTR szDevice, __in LPVOID lParam, HMONITOR hMonitor)
{
FindDeviceData *p = (FindDeviceData*)lParam;
@@ -64,7 +63,7 @@ BOOL CALLBACK FindDeviceCallbackEx(GUID* lpGUID, LPSTR szName, LPSTR szDevice, L
*
* create a DirectDraw object for a particular device
*/
IDirectDraw * DirectDrawCreateFromDevice(LPSTR szDevice, PDRAWCREATE DirectDrawCreateP, PDRAWENUM DirectDrawEnumerateP)
IDirectDraw * DirectDrawCreateFromDevice(__in_opt LPSTR szDevice, PDRAWCREATE DirectDrawCreateP, PDRAWENUM DirectDrawEnumerateP)
{
IDirectDraw* pdd = NULL;
FindDeviceData find;
@@ -99,7 +98,7 @@ IDirectDraw * DirectDrawCreateFromDevice(LPSTR szDevice, PDRAWCREATE DirectDrawC
*
* create a DirectDraw object for a particular device
*/
IDirectDraw * DirectDrawCreateFromDeviceEx(LPSTR szDevice, PDRAWCREATE DirectDrawCreateP, LPDIRECTDRAWENUMERATEEXA DirectDrawEnumerateExP)
IDirectDraw * DirectDrawCreateFromDeviceEx(__in_opt LPSTR szDevice, PDRAWCREATE DirectDrawCreateP, LPDIRECTDRAWENUMERATEEXA DirectDrawEnumerateExP)
{
IDirectDraw* pdd = NULL;
FindDeviceData find;

28
3rdparty/baseclasses/ddmm.h vendored Normal file
View File

@@ -0,0 +1,28 @@
//------------------------------------------------------------------------------
// File: DDMM.h
//
// Desc: DirectShow base classes - efines routines for using DirectDraw
// on a multimonitor system.
//
// Copyright (c) 1995-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */
// DDRAW.H might not include these
#ifndef DDENUM_ATTACHEDSECONDARYDEVICES
#define DDENUM_ATTACHEDSECONDARYDEVICES 0x00000001L
#endif
typedef HRESULT (*PDRAWCREATE)(IID *,LPDIRECTDRAW *,LPUNKNOWN);
typedef HRESULT (*PDRAWENUM)(LPDDENUMCALLBACKA, LPVOID);
IDirectDraw * DirectDrawCreateFromDevice(__in_opt LPSTR, PDRAWCREATE, PDRAWENUM);
IDirectDraw * DirectDrawCreateFromDeviceEx(__in_opt LPSTR, PDRAWCREATE, LPDIRECTDRAWENUMERATEEXA);
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@@ -3,7 +3,7 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------

View File

@@ -3,7 +3,7 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -159,7 +159,7 @@ void WINAPI Msr_Terminate(void);
// Call this to get an Id for an "incident" that you can pass to Start, Stop or Note
// everything that's logged is called an "incident".
int WINAPI Msr_Register(LPTSTR Incident);
int WINAPI Msr_Register(__in LPTSTR Incident);
// Reset the statistical counts for an incident

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - provides support for a worker thread
// class to which one can asynchronously post messages.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -17,7 +17,7 @@ public:
LPVOID lpParam;
CAMEvent *pEvent;
CMsg(UINT u, DWORD dw, LPVOID lp, CAMEvent *pEvnt)
CMsg(UINT u, DWORD dw, __inout_opt LPVOID lp, __in_opt CAMEvent *pEvnt)
: uMsg(u), dwFlags(dw), lpParam(lp), pEvent(pEvnt) {}
CMsg()
@@ -31,7 +31,7 @@ public:
//
class AM_NOVTABLE CMsgThread {
private:
static DWORD WINAPI DefaultThreadProc(LPVOID lpParam);
static DWORD WINAPI DefaultThreadProc(__inout LPVOID lpParam);
DWORD m_ThreadId;
HANDLE m_hThread;
@@ -58,7 +58,7 @@ public:
~CMsgThread();
// override this if you want to block on other things as well
// as the message loop
void virtual GetThreadMsg(CMsg *msg);
void virtual GetThreadMsg(__out CMsg *msg);
// override this if you want to do something on thread startup
virtual void OnThreadInit() {
@@ -66,7 +66,7 @@ public:
BOOL CreateThread();
BOOL WaitForThreadExit(LPDWORD lpdwExitCode) {
BOOL WaitForThreadExit(__out LPDWORD lpdwExitCode) {
if (m_hThread != NULL) {
WaitForSingleObject(m_hThread, INFINITE);
return GetExitCodeThread(m_hThread, lpdwExitCode);
@@ -100,7 +100,7 @@ public:
void PutThreadMsg(UINT uMsg, DWORD dwMsgFlags,
LPVOID lpMsgParam, CAMEvent *pEvent = NULL) {
__in_opt LPVOID lpMsgParam, __in_opt CAMEvent *pEvent = NULL) {
CAutoLock lck(&m_Lock);
CMsg* pMsg = new CMsg(uMsg, dwMsgFlags, lpMsgParam, pEvent);
m_ThreadQueue.AddTail(pMsg);
@@ -115,6 +115,6 @@ public:
// the creator thread.
//
virtual LRESULT ThreadMessageProc(
UINT uMsg, DWORD dwFlags, LPVOID lpParam, CAMEvent *pEvent) = 0;
UINT uMsg, DWORD dwFlags, __inout_opt LPVOID lpParam, __in_opt CAMEvent *pEvent) = 0;
};

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - implements a class that holds and
// manages media type information.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -12,7 +12,7 @@
// types etc. Has same data members as the struct AM_MEDIA_TYPE defined
// in the streams IDL file, but also has (non-virtual) functions
#include "streams.h"
#include <streams.h>
#include <mmreg.h>
CMediaType::~CMediaType(){
@@ -35,7 +35,7 @@ CMediaType::CMediaType(const GUID * type)
// copy constructor does a deep copy of the format block
CMediaType::CMediaType(const AM_MEDIA_TYPE& rt, HRESULT* phr)
CMediaType::CMediaType(const AM_MEDIA_TYPE& rt, __out_opt HRESULT* phr)
{
HRESULT hr = CopyMediaType(this, &rt);
if (FAILED(hr) && (NULL != phr)) {
@@ -44,7 +44,7 @@ CMediaType::CMediaType(const AM_MEDIA_TYPE& rt, HRESULT* phr)
}
CMediaType::CMediaType(const CMediaType& rt, HRESULT* phr)
CMediaType::CMediaType(const CMediaType& rt, __out_opt HRESULT* phr)
{
HRESULT hr = CopyMediaType(this, &rt);
if (FAILED(hr) && (NULL != phr)) {
@@ -87,6 +87,7 @@ CMediaType::operator == (const CMediaType& rt) const
(IsEqualGUID(formattype,rt.formattype) == TRUE) &&
(cbFormat == rt.cbFormat) &&
( (cbFormat == 0) ||
pbFormat != NULL && rt.pbFormat != NULL &&
(memcmp(pbFormat, rt.pbFormat, cbFormat) == 0)));
}
@@ -179,7 +180,7 @@ CMediaType::SetTemporalCompression(BOOL bCompressed) {
}
BOOL
CMediaType::SetFormat(BYTE * pformat, ULONG cb)
CMediaType::SetFormat(__in_bcount(cb) BYTE * pformat, ULONG cb)
{
if (NULL == AllocFormatBuffer(cb))
return(FALSE);
@@ -349,7 +350,7 @@ CMediaType::MatchesPartial(const CMediaType* ppartial) const
// implementation allocates the structures which you must later delete
// the format block may also be a pointer to an interface to release
void WINAPI DeleteMediaType(AM_MEDIA_TYPE *pmt)
void WINAPI DeleteMediaType(__inout_opt AM_MEDIA_TYPE *pmt)
{
// allow NULL pointers for coding simplicity
@@ -393,7 +394,7 @@ AM_MEDIA_TYPE * WINAPI CreateMediaType(AM_MEDIA_TYPE const *pSrc)
// Copy 1 media type to another
HRESULT WINAPI CopyMediaType(AM_MEDIA_TYPE *pmtTarget, const AM_MEDIA_TYPE *pmtSource)
HRESULT WINAPI CopyMediaType(__out AM_MEDIA_TYPE *pmtTarget, const AM_MEDIA_TYPE *pmtSource)
{
// We'll leak if we copy onto one that already exists - there's one
// case we can check like that - copying to itself.
@@ -419,7 +420,7 @@ HRESULT WINAPI CopyMediaType(AM_MEDIA_TYPE *pmtTarget, const AM_MEDIA_TYPE *pmtS
// Free an existing media type (ie free resources it holds)
void WINAPI FreeMediaType(AM_MEDIA_TYPE& mt)
void WINAPI FreeMediaType(__inout AM_MEDIA_TYPE& mt)
{
if (mt.cbFormat != 0) {
CoTaskMemFree((PVOID)mt.pbFormat);
@@ -438,7 +439,7 @@ void WINAPI FreeMediaType(AM_MEDIA_TYPE& mt)
STDAPI CreateAudioMediaType(
const WAVEFORMATEX *pwfx,
AM_MEDIA_TYPE *pmt,
__out AM_MEDIA_TYPE *pmt,
BOOL bSetFormat
)
{

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - defines a class that holds and manages
// media type information.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -22,8 +22,8 @@ public:
~CMediaType();
CMediaType();
CMediaType(const GUID * majortype);
CMediaType(const AM_MEDIA_TYPE&, HRESULT* phr = NULL);
CMediaType(const CMediaType&, HRESULT* phr = NULL);
CMediaType(const AM_MEDIA_TYPE&, __out_opt HRESULT* phr = NULL);
CMediaType(const CMediaType&, __out_opt HRESULT* phr = NULL);
CMediaType& operator=(const CMediaType&);
CMediaType& operator=(const AM_MEDIA_TYPE&);
@@ -57,7 +57,7 @@ public:
void SetFormatType(const GUID *);
const GUID *FormatType() const {return &formattype; };
BOOL SetFormat(BYTE *pFormat, ULONG length);
BOOL SetFormat(__in_bcount(length) BYTE *pFormat, ULONG length);
void ResetFormatBuffer();
BYTE* AllocFormatBuffer(ULONG length);
BYTE* ReallocFormatBuffer(ULONG length);
@@ -73,16 +73,16 @@ public:
structure which is useful when using the IEnumMediaFormats interface as
the implementation allocates the structures which you must later delete */
void WINAPI DeleteMediaType(AM_MEDIA_TYPE *pmt);
void WINAPI DeleteMediaType(__inout_opt AM_MEDIA_TYPE *pmt);
AM_MEDIA_TYPE * WINAPI CreateMediaType(AM_MEDIA_TYPE const *pSrc);
HRESULT WINAPI CopyMediaType(AM_MEDIA_TYPE *pmtTarget, const AM_MEDIA_TYPE *pmtSource);
void WINAPI FreeMediaType(AM_MEDIA_TYPE& mt);
HRESULT WINAPI CopyMediaType(__out AM_MEDIA_TYPE *pmtTarget, const AM_MEDIA_TYPE *pmtSource);
void WINAPI FreeMediaType(__inout AM_MEDIA_TYPE& mt);
// Initialize a media type from a WAVEFORMATEX
STDAPI CreateAudioMediaType(
const WAVEFORMATEX *pwfx,
AM_MEDIA_TYPE *pmt,
__out AM_MEDIA_TYPE *pmt,
BOOL bSetFormat);
#endif /* __MTYPE__ */

View File

@@ -6,11 +6,11 @@
// separate thread and sometimes call Receive() directly on the input
// pin.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include <streams.h>
//
@@ -42,7 +42,7 @@
//
COutputQueue::COutputQueue(
IPin *pInputPin, // Pin to send stuff to
HRESULT *phr, // 'Return code'
__inout HRESULT *phr, // 'Return code'
BOOL bAuto, // Ask pin if queue or not
BOOL bQueue, // Send through queue
LONG lBatchSize, // Batch
@@ -58,6 +58,7 @@ COutputQueue::COutputQueue(
m_pPin(pInputPin),
m_ppSamples(NULL),
m_lWaiting(0),
m_evFlushComplete(FALSE, phr),
m_pInputPin(NULL),
m_bSendAnyway(FALSE),
m_nBatched(0),
@@ -178,7 +179,7 @@ COutputQueue::~COutputQueue()
//
// Call the real thread proc as a member function
//
DWORD WINAPI COutputQueue::InitialThreadProc(LPVOID pv)
DWORD WINAPI COutputQueue::InitialThreadProc(__in LPVOID pv)
{
HRESULT hrCoInit = CAMThread::CoInitializeHelper();
@@ -591,10 +592,14 @@ HRESULT COutputQueue::Receive(IMediaSample *pSample)
//
HRESULT COutputQueue::ReceiveMultiple (
IMediaSample **ppSamples,
__in_ecount(nSamples) IMediaSample **ppSamples,
long nSamples,
long *nSamplesProcessed)
__out long *nSamplesProcessed)
{
if (nSamples < 0) {
return E_INVALIDARG;
}
CAutoLock lck(this);
// Either call directly or queue up the samples
@@ -632,7 +637,7 @@ HRESULT COutputQueue::ReceiveMultiple (
// Loop processing the samples in batches
LONG iLost = 0;
long iDone;
long iDone = 0;
for (iDone = 0;
iDone < nSamples || (m_nBatched != 0 && m_bSendAnyway);
) {
@@ -698,9 +703,11 @@ void COutputQueue::Reset()
if (!IsQueued()) {
m_hr = S_OK;
} else {
CAutoLock lck(this);
QueueSample(RESET_PACKET);
NotifyThread();
{
CAutoLock lck(this);
QueueSample(RESET_PACKET);
NotifyThread();
}
m_evFlushComplete.Wait();
}
}

View File

@@ -5,7 +5,7 @@
// makes a queue of samples and sends them to an output pin. The
// class will optionally send the samples to the pin directly.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -16,7 +16,7 @@ class COutputQueue : public CCritSec
public:
// Constructor
COutputQueue(IPin *pInputPin, // Pin to send stuff to
HRESULT *phr, // 'Return code'
__inout HRESULT *phr, // 'Return code'
BOOL bAuto = TRUE, // Ask pin if blocks
BOOL bQueue = TRUE, // Send through queue (ignored if
// bAuto set)
@@ -50,9 +50,9 @@ public:
// do something with these media samples
HRESULT ReceiveMultiple (
IMediaSample **pSamples,
__in_ecount(nSamples) IMediaSample **pSamples,
long nSamples,
long *nSamplesProcessed);
__out long *nSamplesProcessed);
void Reset(); // Reset m_hr ready for more data
@@ -63,12 +63,12 @@ public:
void SetPopEvent(HANDLE hEvent);
protected:
static DWORD WINAPI InitialThreadProc(LPVOID pv);
static DWORD WINAPI InitialThreadProc(__in LPVOID pv);
DWORD ThreadProc();
BOOL IsQueued()
{
return m_List != NULL;
}
};
// The critical section MUST be held when this is called
void QueueSample(IMediaSample *pSample);
@@ -76,7 +76,7 @@ protected:
BOOL IsSpecialSample(IMediaSample *pSample)
{
return (DWORD_PTR)pSample > (DWORD_PTR)(LONG_PTR)(-16);
}
};
// Remove and Release() batched and queued samples
void FreeSamples();
@@ -109,8 +109,8 @@ protected:
HANDLE m_hSem;
CAMEvent m_evFlushComplete;
HANDLE m_hThread;
IMediaSample ** m_ppSamples;
LONG m_nBatched;
__field_ecount_opt(m_lBatchSize) IMediaSample ** m_ppSamples;
__range(0, m_lBatchSize) LONG m_nBatched;
// Wait optimization
LONG m_lWaiting;
@@ -129,7 +129,7 @@ protected:
BOOL m_bSendAnyway;
// Deferred 'return code'
BOOL volatile m_hr;
HRESULT volatile m_hr;
// an event that can be fired after every deliver
HANDLE m_hEventPop;

View File

@@ -3,21 +3,22 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include <streams.h>
#include <strsafe.h>
#ifdef PERF
#include <measure.h>
#endif
// #include "pstream.h" in streams.h
//
// Constructor
//
CPersistStream::CPersistStream(IUnknown *punk, HRESULT *phr)
CPersistStream::CPersistStream(IUnknown *punk, __inout HRESULT *phr)
: mPS_fDirty(FALSE)
{
mPS_dwFileVersion = GetSoftwareVersion();
@@ -38,10 +39,10 @@ SAMPLE CODE TO COPY - not active at the moment
// NonDelegatingQueryInterface
//
// This object supports IPersist & IPersistStream
STDMETHODIMP CPersistStream::NonDelegatingQueryInterface(REFIID riid, void **ppv)
STDMETHODIMP CPersistStream::NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv)
{
if (riid == IID_IPersist) {
return GetInterface((IPersist *) this, ppv);
return GetInterface((IPersist *) this, ppv); // ???
}
else if (riid == IID_IPersistStream) {
return GetInterface((IPersistStream *) this, ppv);
@@ -128,7 +129,7 @@ STDMETHODIMP CPersistStream::Save(LPSTREAM pStm, BOOL fClearDirty)
STDAPI WriteInt(IStream *pIStream, int n)
{
WCHAR Buff[13]; // Allows for trailing null that we don't write
(void)StringCchPrintfW(Buff, NUMELMS(Buff), L"%011d ",n);
(void)StringCchPrintfW(Buff, NUMELMS(Buff),L"%011d ",n);
return pIStream->Write(&(Buff[0]), 12*sizeof(WCHAR), NULL);
} // WriteInt
@@ -140,7 +141,7 @@ STDAPI WriteInt(IStream *pIStream, int n)
// where the value isn't actually truncated by squeezing it into 32 bits
// Striped down subset of what sscanf can do (without dragging in the C runtime)
STDAPI_(int) ReadInt(IStream *pIStream, HRESULT &hr)
STDAPI_(int) ReadInt(IStream *pIStream, __out HRESULT &hr)
{
int Sign = 1;

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - defines a class for persistent properties
// of filters.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -61,13 +61,13 @@ class CPersistStream : public IPersistStream {
{return (mPS_fDirty ? S_OK : S_FALSE);} // note FALSE means clean
STDMETHODIMP Load(LPSTREAM pStm);
STDMETHODIMP Save(LPSTREAM pStm, BOOL fClearDirty);
STDMETHODIMP GetSizeMax(ULARGE_INTEGER * pcbSize)
STDMETHODIMP GetSizeMax(__out ULARGE_INTEGER * pcbSize)
// Allow 24 bytes for version.
{ pcbSize->QuadPart = 12*sizeof(WCHAR)+SizeMax(); return NOERROR; }
// implementation
CPersistStream(IUnknown *punk, HRESULT *phr);
CPersistStream(IUnknown *punk, __inout HRESULT *phr);
~CPersistStream();
HRESULT SetDirty(BOOL fDirty)
@@ -80,7 +80,7 @@ class CPersistStream : public IPersistStream {
// --- IPersist ---
// You must override this to provide your own class id
STDMETHODIMP GetClassID(CLSID *pClsid) PURE;
STDMETHODIMP GetClassID(__out CLSID *pClsid) PURE;
// overrideable if you want
// file version number. Override it if you ever change format
@@ -109,6 +109,6 @@ class CPersistStream : public IPersistStream {
STDAPI WriteInt(IStream *pIStream, int n);
// inverse of WriteInt
STDAPI_(int) ReadInt(IStream *pIStream, HRESULT &hr);
STDAPI_(int) ReadInt(IStream *pIStream, __out HRESULT &hr);
#endif // __PSTREAM__

View File

@@ -4,13 +4,16 @@
// Desc: DirectShow base classes - implements CPullPin class that pulls data
// from IAsyncReader.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include <streams.h>
#include "pullpin.h"
#ifdef DXMPERF
#include "dxmperf.h"
#endif // DXMPERF
CPullPin::CPullPin()
@@ -18,11 +21,20 @@ CPullPin::CPullPin()
m_pAlloc(NULL),
m_State(TM_Exit)
{
#ifdef DXMPERF
PERFLOG_CTOR( L"CPullPin", this );
#endif // DXMPERF
}
CPullPin::~CPullPin()
{
Disconnect();
#ifdef DXMPERF
PERFLOG_DTOR( L"CPullPin", this );
#endif // DXMPERF
}
// returns S_OK if successfully connected to an IAsyncReader interface
@@ -40,12 +52,28 @@ CPullPin::Connect(IUnknown* pUnk, IMemAllocator* pAlloc, BOOL bSync)
HRESULT hr = pUnk->QueryInterface(IID_IAsyncReader, (void**)&m_pReader);
if (FAILED(hr)) {
#ifdef DXMPERF
{
AM_MEDIA_TYPE * pmt = NULL;
PERFLOG_CONNECT( this, pUnk, hr, pmt );
}
#endif // DXMPERF
return(hr);
}
hr = DecideAllocator(pAlloc, NULL);
if (FAILED(hr)) {
Disconnect();
#ifdef DXMPERF
{
AM_MEDIA_TYPE * pmt = NULL;
PERFLOG_CONNECT( this, pUnk, hr, pmt );
}
#endif // DXMPERF
return hr;
}
@@ -53,6 +81,14 @@ CPullPin::Connect(IUnknown* pUnk, IMemAllocator* pAlloc, BOOL bSync)
hr = m_pReader->Length(&llTotal, &llAvail);
if (FAILED(hr)) {
Disconnect();
#ifdef DXMPERF
{
AM_MEDIA_TYPE * pmt = NULL;
PERFLOG_CONNECT( this, pUnk, hr, pmt );
}
#endif
return hr;
}
@@ -63,6 +99,14 @@ CPullPin::Connect(IUnknown* pUnk, IMemAllocator* pAlloc, BOOL bSync)
m_bSync = bSync;
#ifdef DXMPERF
{
AM_MEDIA_TYPE * pmt = NULL;
PERFLOG_CONNECT( this, pUnk, S_OK, pmt );
}
#endif // DXMPERF
return S_OK;
}
@@ -74,6 +118,12 @@ CPullPin::Disconnect()
StopThread();
#ifdef DXMPERF
PERFLOG_DISCONNECT( this, m_pReader, S_OK );
#endif // DXMPERF
if (m_pReader) {
m_pReader->Release();
m_pReader = NULL;
@@ -95,7 +145,7 @@ CPullPin::Disconnect()
HRESULT
CPullPin::DecideAllocator(
IMemAllocator * pAlloc,
ALLOCATOR_PROPERTIES * pProps)
__inout_opt ALLOCATOR_PROPERTIES * pProps)
{
ALLOCATOR_PROPERTIES *pRequest;
ALLOCATOR_PROPERTIES Request;
@@ -157,7 +207,7 @@ CPullPin::Seek(REFERENCE_TIME tStart, REFERENCE_TIME tStop)
}
HRESULT
CPullPin::Duration(REFERENCE_TIME* ptDuration)
CPullPin::Duration(__out REFERENCE_TIME* ptDuration)
{
*ptDuration = m_tDuration;
return S_OK;
@@ -284,7 +334,7 @@ CPullPin::ThreadProc(void)
HRESULT
CPullPin::QueueSample(
REFERENCE_TIME& tCurrent,
__inout REFERENCE_TIME& tCurrent,
REFERENCE_TIME tAlignStop,
BOOL bDiscontinuity
)
@@ -352,16 +402,27 @@ CPullPin::DeliverSample(
{
// fix up sample if past actual stop (for sector alignment)
REFERENCE_TIME t1, t2;
pSample->GetTime(&t1, &t2);
if (t2 > tStop) {
t2 = tStop;
if (S_OK == pSample->GetTime(&t1, &t2)) {
if (t2 > tStop) {
t2 = tStop;
}
// adjust times to be relative to (aligned) start time
t1 -= tStart;
t2 -= tStart;
HRESULT hr = pSample->SetTime(&t1, &t2);
if (FAILED(hr)) {
return hr;
}
}
// adjust times to be relative to (aligned) start time
t1 -= tStart;
t2 -= tStart;
pSample->SetTime(&t1, &t2);
#ifdef DXMPERF
{
AM_MEDIA_TYPE * pmt = NULL;
pSample->GetMediaType( &pmt );
PERFLOG_RECEIVE( L"CPullPin", m_pReader, this, pSample, pmt );
}
#endif
HRESULT hr = Receive(pSample);
pSample->Release();

View File

@@ -3,7 +3,7 @@
//
// Desc: DirectShow base classes - defines CPullPin class.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -57,7 +57,7 @@ class CPullPin : public CAMThread
// called from ProcessAsync to queue and collect requests
HRESULT QueueSample(
REFERENCE_TIME& tCurrent,
__inout REFERENCE_TIME& tCurrent,
REFERENCE_TIME tAlignStop,
BOOL bDiscontinuity);
@@ -95,14 +95,14 @@ public:
// but no error occurs if it can't be met.
virtual HRESULT DecideAllocator(
IMemAllocator* pAlloc,
ALLOCATOR_PROPERTIES * pProps);
__inout_opt ALLOCATOR_PROPERTIES * pProps);
// set start and stop position. if active, will start immediately at
// the new position. Default is 0 to duration
HRESULT Seek(REFERENCE_TIME tStart, REFERENCE_TIME tStop);
// return the total duration
HRESULT Duration(REFERENCE_TIME* ptDuration);
HRESULT Duration(__out REFERENCE_TIME* ptDuration);
// start pulling data
HRESULT Active(void);

402
3rdparty/baseclasses/refclock.cpp vendored Normal file
View File

@@ -0,0 +1,402 @@
//------------------------------------------------------------------------------
// File: RefClock.cpp
//
// Desc: DirectShow base classes - implements the IReferenceClock interface.
//
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include <streams.h>
#include <limits.h>
#ifdef DXMPERF
#include "dxmperf.h"
#endif // DXMPERF
// 'this' used in constructor list
#pragma warning(disable:4355)
STDMETHODIMP CBaseReferenceClock::NonDelegatingQueryInterface(
REFIID riid,
__deref_out void ** ppv)
{
HRESULT hr;
if (riid == IID_IReferenceClock)
{
hr = GetInterface((IReferenceClock *) this, ppv);
}
else if (riid == IID_IReferenceClockTimerControl)
{
hr = GetInterface((IReferenceClockTimerControl *) this, ppv);
}
else
{
hr = CUnknown::NonDelegatingQueryInterface(riid, ppv);
}
return hr;
}
CBaseReferenceClock::~CBaseReferenceClock()
{
#ifdef DXMPERF
PERFLOG_DTOR( L"CBaseReferenceClock", (IReferenceClock *) this );
#endif // DXMPERF
if (m_TimerResolution) timeEndPeriod(m_TimerResolution);
if (m_pSchedule)
{
m_pSchedule->DumpLinkedList();
}
if (m_hThread)
{
m_bAbort = TRUE;
TriggerThread();
WaitForSingleObject( m_hThread, INFINITE );
EXECUTE_ASSERT( CloseHandle(m_hThread) );
m_hThread = 0;
EXECUTE_ASSERT( CloseHandle(m_pSchedule->GetEvent()) );
delete m_pSchedule;
}
}
// A derived class may supply a hThreadEvent if it has its own thread that will take care
// of calling the schedulers Advise method. (Refere to CBaseReferenceClock::AdviseThread()
// to see what such a thread has to do.)
CBaseReferenceClock::CBaseReferenceClock( __in_opt LPCTSTR pName,
__inout_opt LPUNKNOWN pUnk,
__inout HRESULT *phr,
__inout_opt CAMSchedule * pShed )
: CUnknown( pName, pUnk )
, m_rtLastGotTime(0)
, m_TimerResolution(0)
, m_bAbort( FALSE )
, m_pSchedule( pShed ? pShed : new CAMSchedule(CreateEvent(NULL, FALSE, FALSE, NULL)) )
, m_hThread(0)
{
#ifdef DXMPERF
PERFLOG_CTOR( pName ? pName : L"CBaseReferenceClock", (IReferenceClock *) this );
#endif // DXMPERF
ASSERT(m_pSchedule);
if (!m_pSchedule)
{
*phr = E_OUTOFMEMORY;
}
else
{
// Set up the highest resolution timer we can manage
TIMECAPS tc;
m_TimerResolution = (TIMERR_NOERROR == timeGetDevCaps(&tc, sizeof(tc)))
? tc.wPeriodMin
: 1;
timeBeginPeriod(m_TimerResolution);
/* Initialise our system times - the derived clock should set the right values */
m_dwPrevSystemTime = timeGetTime();
m_rtPrivateTime = (UNITS / MILLISECONDS) * m_dwPrevSystemTime;
#ifdef PERF
m_idGetSystemTime = MSR_REGISTER(TEXT("CBaseReferenceClock::GetTime"));
#endif
if ( !pShed )
{
DWORD ThreadID;
m_hThread = ::CreateThread(NULL, // Security attributes
(DWORD) 0, // Initial stack size
AdviseThreadFunction, // Thread start address
(LPVOID) this, // Thread parameter
(DWORD) 0, // Creation flags
&ThreadID); // Thread identifier
if (m_hThread)
{
SetThreadPriority( m_hThread, THREAD_PRIORITY_TIME_CRITICAL );
}
else
{
*phr = E_FAIL;
EXECUTE_ASSERT( CloseHandle(m_pSchedule->GetEvent()) );
delete m_pSchedule;
m_pSchedule = NULL;
}
}
}
}
void CBaseReferenceClock::Restart (IN REFERENCE_TIME rtMinTime)
{
Lock();
m_rtLastGotTime = rtMinTime ;
Unlock();
}
STDMETHODIMP CBaseReferenceClock::GetTime(__out REFERENCE_TIME *pTime)
{
HRESULT hr;
if (pTime)
{
REFERENCE_TIME rtNow;
Lock();
rtNow = GetPrivateTime();
if (rtNow > m_rtLastGotTime)
{
m_rtLastGotTime = rtNow;
hr = S_OK;
}
else
{
hr = S_FALSE;
}
*pTime = m_rtLastGotTime;
Unlock();
MSR_INTEGER(m_idGetSystemTime, LONG((*pTime) / (UNITS/MILLISECONDS)) );
#ifdef DXMPERF
PERFLOG_GETTIME( (IReferenceClock *) this, *pTime );
#endif // DXMPERF
}
else hr = E_POINTER;
return hr;
}
/* Ask for an async notification that a time has elapsed */
STDMETHODIMP CBaseReferenceClock::AdviseTime(
REFERENCE_TIME baseTime, // base reference time
REFERENCE_TIME streamTime, // stream offset time
HEVENT hEvent, // advise via this event
__out DWORD_PTR *pdwAdviseCookie)// where your cookie goes
{
CheckPointer(pdwAdviseCookie, E_POINTER);
*pdwAdviseCookie = 0;
// Check that the event is not already set
ASSERT(WAIT_TIMEOUT == WaitForSingleObject(HANDLE(hEvent),0));
HRESULT hr;
const REFERENCE_TIME lRefTime = baseTime + streamTime;
if ( lRefTime <= 0 || lRefTime == MAX_TIME )
{
hr = E_INVALIDARG;
}
else
{
*pdwAdviseCookie = m_pSchedule->AddAdvisePacket( lRefTime, 0, HANDLE(hEvent), FALSE );
hr = *pdwAdviseCookie ? NOERROR : E_OUTOFMEMORY;
}
return hr;
}
/* Ask for an asynchronous periodic notification that a time has elapsed */
STDMETHODIMP CBaseReferenceClock::AdvisePeriodic(
REFERENCE_TIME StartTime, // starting at this time
REFERENCE_TIME PeriodTime, // time between notifications
HSEMAPHORE hSemaphore, // advise via a semaphore
__out DWORD_PTR *pdwAdviseCookie) // where your cookie goes
{
CheckPointer(pdwAdviseCookie, E_POINTER);
*pdwAdviseCookie = 0;
HRESULT hr;
if (StartTime > 0 && PeriodTime > 0 && StartTime != MAX_TIME )
{
*pdwAdviseCookie = m_pSchedule->AddAdvisePacket( StartTime, PeriodTime, HANDLE(hSemaphore), TRUE );
hr = *pdwAdviseCookie ? NOERROR : E_OUTOFMEMORY;
}
else hr = E_INVALIDARG;
return hr;
}
STDMETHODIMP CBaseReferenceClock::Unadvise(DWORD_PTR dwAdviseCookie)
{
return m_pSchedule->Unadvise(dwAdviseCookie);
}
REFERENCE_TIME CBaseReferenceClock::GetPrivateTime()
{
CAutoLock cObjectLock(this);
/* If the clock has wrapped then the current time will be less than
* the last time we were notified so add on the extra milliseconds
*
* The time period is long enough so that the likelihood of
* successive calls spanning the clock cycle is not considered.
*/
DWORD dwTime = timeGetTime();
{
m_rtPrivateTime += Int32x32To64(UNITS / MILLISECONDS, (DWORD)(dwTime - m_dwPrevSystemTime));
m_dwPrevSystemTime = dwTime;
}
return m_rtPrivateTime;
}
/* Adjust the current time by the input value. This allows an
external time source to work out some of the latency of the clock
system and adjust the "current" time accordingly. The intent is
that the time returned to the user is synchronised to a clock
source and allows drift to be catered for.
For example: if the clock source detects a drift it can pass a delta
to the current time rather than having to set an explicit time.
*/
STDMETHODIMP CBaseReferenceClock::SetTimeDelta(const REFERENCE_TIME & TimeDelta)
{
#ifdef DEBUG
// Just break if passed an improper time delta value
LONGLONG llDelta = TimeDelta > 0 ? TimeDelta : -TimeDelta;
if (llDelta > UNITS * 1000) {
DbgLog((LOG_TRACE, 0, TEXT("Bad Time Delta")));
//DebugBreak();
}
// We're going to calculate a "severity" for the time change. Max -1
// min 8. We'll then use this as the debug logging level for a
// debug log message.
const LONG usDelta = LONG(TimeDelta/10); // Delta in micro-secs
DWORD delta = abs(usDelta); // varying delta
// Severity == 8 - ceil(log<base 8>(abs( micro-secs delta)))
int Severity = 8;
while ( delta > 0 )
{
delta >>= 3; // div 8
Severity--;
}
// Sev == 0 => > 2 second delta!
DbgLog((LOG_TIMING, Severity < 0 ? 0 : Severity,
TEXT("Sev %2i: CSystemClock::SetTimeDelta(%8ld us) %lu -> %lu ms."),
Severity, usDelta, DWORD(ConvertToMilliseconds(m_rtPrivateTime)),
DWORD(ConvertToMilliseconds(TimeDelta+m_rtPrivateTime)) ));
// Don't want the DbgBreak to fire when running stress on debug-builds.
#ifdef BREAK_ON_SEVERE_TIME_DELTA
if (Severity < 0)
DbgBreakPoint(TEXT("SetTimeDelta > 16 seconds!"),
TEXT(__FILE__),__LINE__);
#endif
#endif
CAutoLock cObjectLock(this);
m_rtPrivateTime += TimeDelta;
// If time goes forwards, and we have advises, then we need to
// trigger the thread so that it can re-evaluate its wait time.
// Since we don't want the cost of the thread switches if the change
// is really small, only do it if clock goes forward by more than
// 0.5 millisecond. If the time goes backwards, the thread will
// wake up "early" (relativly speaking) and will re-evaluate at
// that time.
if ( TimeDelta > 5000 && m_pSchedule->GetAdviseCount() > 0 ) TriggerThread();
return NOERROR;
}
// Thread stuff
DWORD __stdcall CBaseReferenceClock::AdviseThreadFunction(__in LPVOID p)
{
return DWORD(reinterpret_cast<CBaseReferenceClock*>(p)->AdviseThread());
}
HRESULT CBaseReferenceClock::AdviseThread()
{
DWORD dwWait = INFINITE;
// The first thing we do is wait until something interesting happens
// (meaning a first advise or shutdown). This prevents us calling
// GetPrivateTime immediately which is goodness as that is a virtual
// routine and the derived class may not yet be constructed. (This
// thread is created in the base class constructor.)
while ( !m_bAbort )
{
// Wait for an interesting event to happen
DbgLog((LOG_TIMING, 3, TEXT("CBaseRefClock::AdviseThread() Delay: %lu ms"), dwWait ));
WaitForSingleObject(m_pSchedule->GetEvent(), dwWait);
if (m_bAbort) break;
// There are several reasons why we need to work from the internal
// time, mainly to do with what happens when time goes backwards.
// Mainly, it stop us looping madly if an event is just about to
// expire when the clock goes backward (i.e. GetTime stop for a
// while).
const REFERENCE_TIME rtNow = GetPrivateTime();
DbgLog((LOG_TIMING, 3,
TEXT("CBaseRefClock::AdviseThread() Woke at = %lu ms"),
ConvertToMilliseconds(rtNow) ));
// We must add in a millisecond, since this is the resolution of our
// WaitForSingleObject timer. Failure to do so will cause us to loop
// franticly for (approx) 1 a millisecond.
m_rtNextAdvise = m_pSchedule->Advise( 10000 + rtNow );
LONGLONG llWait = m_rtNextAdvise - rtNow;
ASSERT( llWait > 0 );
llWait = ConvertToMilliseconds(llWait);
// DON'T replace this with a max!! (The type's of these things is VERY important)
dwWait = (llWait > REFERENCE_TIME(UINT_MAX)) ? UINT_MAX : DWORD(llWait);
};
return NOERROR;
}
HRESULT CBaseReferenceClock::SetDefaultTimerResolution(
REFERENCE_TIME timerResolution // in 100ns
)
{
CAutoLock cObjectLock(this);
if( 0 == timerResolution ) {
if( m_TimerResolution ) {
timeEndPeriod( m_TimerResolution );
m_TimerResolution = 0;
}
} else {
TIMECAPS tc;
DWORD dwMinResolution = (TIMERR_NOERROR == timeGetDevCaps(&tc, sizeof(tc)))
? tc.wPeriodMin
: 1;
DWORD dwResolution = max( dwMinResolution, DWORD(timerResolution / 10000) );
if( dwResolution != m_TimerResolution ) {
timeEndPeriod(m_TimerResolution);
m_TimerResolution = dwResolution;
timeBeginPeriod( m_TimerResolution );
}
}
return S_OK;
}
HRESULT CBaseReferenceClock::GetDefaultTimerResolution(
__out REFERENCE_TIME* pTimerResolution // in 100ns
)
{
if( !pTimerResolution ) {
return E_POINTER;
}
CAutoLock cObjectLock(this);
*pTimerResolution = m_TimerResolution * 10000;
return S_OK;
}

View File

@@ -3,14 +3,14 @@
//
// Desc: DirectShow base classes - defines the IReferenceClock interface.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#ifndef __BASEREFCLOCK__
#define __BASEREFCLOCK__
#include "dsschedule.h"
#include <Schedule.h>
const UINT RESOLUTION = 1; /* High resolution timer */
const INT ADVISE_CACHE = 4; /* Default cache size */
@@ -37,9 +37,9 @@ inline LONGLONG WINAPI ConvertToMilliseconds(const REFERENCE_TIME& RT)
* whatever source) have to be derived from this class.
*
* The abstract class provides implementations for:
* CUnknown support
* CUnknown support
* locking support (CCritSec)
* client advise code (creates a thread)
* client advise code (creates a thread)
*
* Question: what can we do about quality? Change the timer
* resolution to lower the system load? Up the priority of the
@@ -72,14 +72,17 @@ inline LONGLONG WINAPI ConvertToMilliseconds(const REFERENCE_TIME& RT)
*/
class CBaseReferenceClock
: public CUnknown, public IReferenceClock, public CCritSec
: public CUnknown, public IReferenceClock, public CCritSec, public IReferenceClockTimerControl
{
protected:
virtual ~CBaseReferenceClock(); // Don't let me be created on the stack!
public:
CBaseReferenceClock(TCHAR *pName, LPUNKNOWN pUnk, HRESULT *phr, CAMSchedule * pSched = 0 );
CBaseReferenceClock(__in_opt LPCTSTR pName,
__inout_opt LPUNKNOWN pUnk,
__inout HRESULT *phr,
__inout_opt CAMSchedule * pSched = 0 );
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid,void ** ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv);
DECLARE_IUNKNOWN
@@ -90,7 +93,7 @@ public:
// clock has gone backwards and GetTime time has halted until internal
// time has caught up. (Don't know if this will be much use to folk,
// but it seems odd not to use the return code for something useful.)
STDMETHODIMP GetTime(REFERENCE_TIME *pTime);
STDMETHODIMP GetTime(__out REFERENCE_TIME *pTime);
// When this is called, it sets m_rtLastGotTime to the time it returns.
/* Provide standard mechanisms for scheduling events */
@@ -100,7 +103,7 @@ public:
REFERENCE_TIME baseTime, // base reference time
REFERENCE_TIME streamTime, // stream offset time
HEVENT hEvent, // advise via this event
DWORD_PTR *pdwAdviseCookie // where your cookie goes
__out DWORD_PTR *pdwAdviseCookie// where your cookie goes
);
/* Ask for an asynchronous periodic notification that a time has elapsed */
@@ -108,7 +111,7 @@ public:
REFERENCE_TIME StartTime, // starting at this time
REFERENCE_TIME PeriodTime, // time between notifications
HSEMAPHORE hSemaphore, // advise via a semaphore
DWORD_PTR *pdwAdviseCookie // where your cookie goes
__out DWORD_PTR *pdwAdviseCookie// where your cookie goes
);
/* Cancel a request for notification(s) - if the notification was
@@ -135,6 +138,16 @@ public:
CAMSchedule * GetSchedule() const { return m_pSchedule; }
// IReferenceClockTimerControl methods
//
// Setting a default of 0 disables the default of 1ms
STDMETHODIMP SetDefaultTimerResolution(
REFERENCE_TIME timerResolution // in 100ns
);
STDMETHODIMP GetDefaultTimerResolution(
__out REFERENCE_TIME* pTimerResolution // in 100ns
);
private:
REFERENCE_TIME m_rtPrivateTime; // Current best estimate of time
DWORD m_dwPrevSystemTime; // Last vaule we got from timeGetTime
@@ -148,9 +161,9 @@ private:
// Thread stuff
public:
void TriggerThread() // Wakes thread up. Need to do this if
{ // time to next advise needs reevaluating.
EXECUTE_ASSERT(SetEvent(m_pSchedule->GetEvent()));
void TriggerThread() // Wakes thread up. Need to do this if
{ // time to next advise needs reevaluating.
EXECUTE_ASSERT(SetEvent(m_pSchedule->GetEvent()));
}
@@ -159,10 +172,10 @@ private:
HANDLE m_hThread; // Thread handle
HRESULT AdviseThread(); // Method in which the advise thread runs
static DWORD __stdcall AdviseThreadFunction(LPVOID); // Function used to get there
static DWORD __stdcall AdviseThreadFunction(__in LPVOID); // Function used to get there
protected:
CAMSchedule * const m_pSchedule;
CAMSchedule * m_pSchedule;
void Restart (IN REFERENCE_TIME rtMinTime = 0I64) ;
};

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - defines CRefTime, a class that manages
// reference times.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------

View File

@@ -3,14 +3,14 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h" // DirectShow base class definitions
#include <streams.h> // DirectShow base class definitions
#include <mmsystem.h> // Needed for definition of timeGetTime
#include <limits.h> // Standard data type limit definitions
#include "measure.h" // Used for time critical log functions
#include <measure.h> // Used for time critical log functions
#pragma warning(disable:4355)
@@ -28,15 +28,16 @@ int inline TimeDiff(REFERENCE_TIME rt)
// Implements the CBaseRenderer class
CBaseRenderer::CBaseRenderer(REFCLSID RenderClass, // CLSID for this renderer
TCHAR *pName, // Debug ONLY description
LPUNKNOWN pUnk, // Aggregated owner object
HRESULT *phr) : // General OLE return code
__in_opt LPCTSTR pName, // Debug ONLY description
__inout_opt LPUNKNOWN pUnk, // Aggregated owner object
__inout HRESULT *phr) : // General OLE return code
CBaseFilter(pName,pUnk,&m_InterfaceLock,RenderClass),
m_evComplete(TRUE),
m_evComplete(TRUE, phr),
m_RenderEvent(FALSE, phr),
m_bAbort(FALSE),
m_pPosition(NULL),
m_ThreadSignal(TRUE),
m_ThreadSignal(TRUE, phr),
m_bStreaming(FALSE),
m_bEOS(FALSE),
m_bEOSDelivered(FALSE),
@@ -49,12 +50,14 @@ CBaseRenderer::CBaseRenderer(REFCLSID RenderClass, // CLSID for this renderer
m_bInReceive(FALSE),
m_EndOfStreamTimer(0)
{
Ready();
if (SUCCEEDED(*phr)) {
Ready();
#ifdef PERF
m_idBaseStamp = MSR_REGISTER(TEXT("BaseRenderer: sample time stamp"));
m_idBaseRenderTime = MSR_REGISTER(TEXT("BaseRenderer: draw time (msec)"));
m_idBaseAccuracy = MSR_REGISTER(TEXT("BaseRenderer: Accuracy (msec)"));
m_idBaseStamp = MSR_REGISTER(TEXT("BaseRenderer: sample time stamp"));
m_idBaseRenderTime = MSR_REGISTER(TEXT("BaseRenderer: draw time (msec)"));
m_idBaseAccuracy = MSR_REGISTER(TEXT("BaseRenderer: Accuracy (msec)"));
#endif
}
}
@@ -93,13 +96,18 @@ CBaseRenderer::~CBaseRenderer()
// This returns the IMediaPosition and IMediaSeeking interfaces
HRESULT CBaseRenderer::GetMediaPositionInterface(REFIID riid,void **ppv)
HRESULT CBaseRenderer::GetMediaPositionInterface(REFIID riid, __deref_out void **ppv)
{
CAutoLock cObjectCreationLock(&m_ObjectCreationLock);
if (m_pPosition) {
return m_pPosition->NonDelegatingQueryInterface(riid,ppv);
}
CBasePin *pPin = GetPin(0);
if (NULL == pPin) {
return E_OUTOFMEMORY;
}
HRESULT hr = NOERROR;
// Create implementation of this dynamically since sometimes we may
@@ -110,7 +118,7 @@ HRESULT CBaseRenderer::GetMediaPositionInterface(REFIID riid,void **ppv)
m_pPosition = new CRendererPosPassThru(NAME("Renderer CPosPassThru"),
CBaseFilter::GetOwner(),
(HRESULT *) &hr,
GetPin(0));
pPin);
if (m_pPosition == NULL) {
return E_OUTOFMEMORY;
}
@@ -126,7 +134,7 @@ HRESULT CBaseRenderer::GetMediaPositionInterface(REFIID riid,void **ppv)
// Overriden to say what interfaces we support and where
STDMETHODIMP CBaseRenderer::NonDelegatingQueryInterface(REFIID riid,void **ppv)
STDMETHODIMP CBaseRenderer::NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv)
{
// Do we have this interface
@@ -287,7 +295,7 @@ void CBaseRenderer::WaitForReceiveToComplete()
}
MSG msg;
// Receive all interthread sendmessages
// Receive all interthread snedmessages
PeekMessage(&msg, NULL, WM_NULL, WM_NULL, PM_NOREMOVE);
Sleep(1);
@@ -582,7 +590,11 @@ STDMETHODIMP CBaseRenderer::Run(REFERENCE_TIME StartTime)
int CBaseRenderer::GetPinCount()
{
return 1;
if (m_pInputPin == NULL) {
// Try to create it
(void)GetPin(0);
}
return m_pInputPin != NULL ? 1 : 0;
}
@@ -625,14 +637,17 @@ CBasePin *CBaseRenderer::GetPin(int n)
// If "In" then return the IPin for our input pin, otherwise NULL and error
STDMETHODIMP CBaseRenderer::FindPin(LPCWSTR Id, IPin **ppPin)
STDMETHODIMP CBaseRenderer::FindPin(LPCWSTR Id, __deref_out IPin **ppPin)
{
CheckPointer(ppPin,E_POINTER);
if (0==lstrcmpW(Id,L"In")) {
*ppPin = GetPin(0);
ASSERT(*ppPin);
(*ppPin)->AddRef();
if (*ppPin) {
(*ppPin)->AddRef();
} else {
return E_OUTOFMEMORY;
}
} else {
*ppPin = NULL;
return VFW_E_NOT_FOUND;
@@ -814,8 +829,8 @@ HRESULT CBaseRenderer::BreakConnect()
// which case the object should simply render the sample data immediately
HRESULT CBaseRenderer::GetSampleTimes(IMediaSample *pMediaSample,
REFERENCE_TIME *pStartTime,
REFERENCE_TIME *pEndTime)
__out REFERENCE_TIME *pStartTime,
__out REFERENCE_TIME *pEndTime)
{
ASSERT(m_dwAdvise == 0);
ASSERT(pMediaSample);
@@ -849,8 +864,8 @@ HRESULT CBaseRenderer::GetSampleTimes(IMediaSample *pMediaSample,
// by the derived video renderer class in its quality management.
HRESULT CBaseRenderer::ShouldDrawSampleNow(IMediaSample *pMediaSample,
REFERENCE_TIME *ptrStart,
REFERENCE_TIME *ptrEnd)
__out REFERENCE_TIME *ptrStart,
__out REFERENCE_TIME *ptrEnd)
{
return S_FALSE;
}
@@ -1544,9 +1559,9 @@ void CBaseRenderer::OnRenderEnd(IMediaSample *pMediaSample)
// Constructor must be passed the base renderer object
CRendererInputPin::CRendererInputPin(CBaseRenderer *pRenderer,
HRESULT *phr,
LPCWSTR pPinName) :
CRendererInputPin::CRendererInputPin(__inout CBaseRenderer *pRenderer,
__inout HRESULT *phr,
__in_opt LPCWSTR pPinName) :
CBaseInputPin(NAME("Renderer pin"),
pRenderer,
&pRenderer->m_InterfaceLock,
@@ -1685,16 +1700,17 @@ HRESULT CRendererInputPin::CompleteConnect(IPin *pReceivePin)
// Give the pin id of our one and only pin
STDMETHODIMP CRendererInputPin::QueryId(LPWSTR *Id)
STDMETHODIMP CRendererInputPin::QueryId(__deref_out LPWSTR *Id)
{
CheckPointer(Id,E_POINTER);
const size_t len = 4;
*Id = (LPWSTR)CoTaskMemAlloc(len * sizeof(WCHAR));
const WCHAR szIn[] = L"In";
*Id = (LPWSTR)CoTaskMemAlloc(sizeof(szIn));
if (*Id == NULL) {
return E_OUTOFMEMORY;
}
(void)StringCchCopyW(*Id, len, L"In");
CopyMemory(*Id, szIn, sizeof(szIn));
return NOERROR;
}
@@ -1753,9 +1769,9 @@ const TCHAR DRAWLATEFRAMES[] = TEXT("DrawLateFrames");
CBaseVideoRenderer::CBaseVideoRenderer(
REFCLSID RenderClass, // CLSID for this renderer
TCHAR *pName, // Debug ONLY description
LPUNKNOWN pUnk, // Aggregated owner object
HRESULT *phr) : // General OLE return code
__in_opt LPCTSTR pName, // Debug ONLY description
__inout_opt LPUNKNOWN pUnk, // Aggregated owner object
__inout HRESULT *phr) : // General OLE return code
CBaseRenderer(RenderClass,pName,pUnk,phr),
m_cFramesDropped(0),
@@ -1834,8 +1850,8 @@ HRESULT CBaseVideoRenderer::ResetStreamingTimes()
m_iTotAcc = 0;
m_iSumSqAcc = 0;
m_iSumSqFrameTime = 0;
m_trFrame = 0; // hygiene - not really needed
m_trLate = 0; // hygiene - not really needed
m_trFrame = 0; // hygeine - not really needed
m_trLate = 0; // hygeine - not really needed
m_iSumFrameTime = 0;
m_nNormal = 0;
m_trEarliness = 0;
@@ -2282,8 +2298,8 @@ HRESULT CBaseVideoRenderer::SendQuality(REFERENCE_TIME trLate,
// to make the decision
HRESULT CBaseVideoRenderer::ShouldDrawSampleNow(IMediaSample *pMediaSample,
REFERENCE_TIME *ptrStart,
REFERENCE_TIME *ptrEnd)
__inout REFERENCE_TIME *ptrStart,
__inout REFERENCE_TIME *ptrEnd)
{
// Don't call us unless there's a clock interface to synchronise with
@@ -2618,7 +2634,7 @@ BOOL CBaseVideoRenderer::ScheduleSample(IMediaSample *pMediaSample)
// our IQualProp interface. The AddRef and Release are handled automatically
// by the base class and will be passed on to the appropriate outer object
STDMETHODIMP CBaseVideoRenderer::get_FramesDroppedInRenderer(int *pcFramesDropped)
STDMETHODIMP CBaseVideoRenderer::get_FramesDroppedInRenderer(__out int *pcFramesDropped)
{
CheckPointer(pcFramesDropped,E_POINTER);
CAutoLock cVideoLock(&m_InterfaceLock);
@@ -2669,7 +2685,7 @@ STDMETHODIMP CBaseVideoRenderer::get_AvgFrameRate( int *piAvgFrameRate)
// in mSec. The sync offset is the time in mSec between when the frame
// should have been drawn and when the frame was actually drawn.
STDMETHODIMP CBaseVideoRenderer::get_AvgSyncOffset( int *piAvg)
STDMETHODIMP CBaseVideoRenderer::get_AvgSyncOffset(__out int *piAvg)
{
CheckPointer(piAvg,E_POINTER);
CAutoLock cVideoLock(&m_InterfaceLock);
@@ -2737,7 +2753,7 @@ int isqrt(int x)
//
HRESULT CBaseVideoRenderer::GetStdDev(
int nSamples,
int *piResult,
__out int *piResult,
LONGLONG llSumSq,
LONGLONG iTot
)
@@ -2774,7 +2790,7 @@ HRESULT CBaseVideoRenderer::GetStdDev(
// Set *piDev to the standard deviation in mSec of the sync offset
// of each frame since streaming started.
STDMETHODIMP CBaseVideoRenderer::get_DevSyncOffset( int *piDev)
STDMETHODIMP CBaseVideoRenderer::get_DevSyncOffset(__out int *piDev)
{
// First frames have invalid stamps, so we get no stats for them
// So we need 2 frames to get 1 datum, so N is cFramesDrawn-1
@@ -2788,7 +2804,7 @@ STDMETHODIMP CBaseVideoRenderer::get_DevSyncOffset( int *piDev)
// Set *piJitter to the standard deviation in mSec of the inter-frame time
// of frames since streaming started.
STDMETHODIMP CBaseVideoRenderer::get_Jitter( int *piJitter)
STDMETHODIMP CBaseVideoRenderer::get_Jitter(__out int *piJitter)
{
// First frames have invalid stamps, so we get no stats for them
// So second frame gives invalid inter-frame time
@@ -2803,7 +2819,7 @@ STDMETHODIMP CBaseVideoRenderer::get_Jitter( int *piJitter)
// Overidden to return our IQualProp interface
STDMETHODIMP
CBaseVideoRenderer::NonDelegatingQueryInterface(REFIID riid,VOID **ppv)
CBaseVideoRenderer::NonDelegatingQueryInterface(REFIID riid,__deref_out VOID **ppv)
{
// We return IQualProp and delegate everything else
@@ -2820,7 +2836,7 @@ CBaseVideoRenderer::NonDelegatingQueryInterface(REFIID riid,VOID **ppv)
// the graph we can send an EC_WINDOW_DESTROYED event
STDMETHODIMP
CBaseVideoRenderer::JoinFilterGraph(IFilterGraph *pGraph,LPCWSTR pName)
CBaseVideoRenderer::JoinFilterGraph(__inout_opt IFilterGraph *pGraph, __in_opt LPCWSTR pName)
{
// Since we send EC_ACTIVATE, we also need to ensure
// we send EC_WINDOW_DESTROYED or the resource manager may be
@@ -2829,10 +2845,8 @@ CBaseVideoRenderer::JoinFilterGraph(IFilterGraph *pGraph,LPCWSTR pName)
// We were in a graph and now we're not
// Do this properly in case we are aggregated
IBaseFilter* pFilter;
QueryInterface(IID_IBaseFilter,(void **) &pFilter);
IBaseFilter* pFilter = this;
NotifyEvent(EC_WINDOW_DESTROYED, (LPARAM) pFilter, 0);
pFilter->Release();
}
return CBaseFilter::JoinFilterGraph(pGraph, pName);
}

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - defines a generic ActiveX base renderer
// class.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -27,9 +27,9 @@ protected:
public:
CRendererInputPin(CBaseRenderer *pRenderer,
HRESULT *phr,
LPCWSTR Name);
CRendererInputPin(__inout CBaseRenderer *pRenderer,
__inout HRESULT *phr,
__in_opt LPCWSTR Name);
// Overriden from the base pin classes
@@ -42,7 +42,7 @@ public:
// Add rendering behaviour to interface functions
STDMETHODIMP QueryId(LPWSTR *Id);
STDMETHODIMP QueryId(__deref_out LPWSTR *Id);
STDMETHODIMP EndOfStream();
STDMETHODIMP BeginFlush();
STDMETHODIMP EndFlush();
@@ -97,16 +97,16 @@ protected:
public:
CBaseRenderer(REFCLSID RenderClass, // CLSID for this renderer
TCHAR *pName, // Debug ONLY description
LPUNKNOWN pUnk, // Aggregated owner object
HRESULT *phr); // General OLE return code
__in_opt LPCTSTR pName, // Debug ONLY description
__inout_opt LPUNKNOWN pUnk, // Aggregated owner object
__inout HRESULT *phr); // General OLE return code
~CBaseRenderer();
// Overriden to say what interfaces we support and where
virtual HRESULT GetMediaPositionInterface(REFIID riid,void **ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID, void **);
virtual HRESULT GetMediaPositionInterface(REFIID riid, __deref_out void **ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID, __deref_out void **);
virtual HRESULT SourceThreadCanWait(BOOL bCanWait);
@@ -145,8 +145,8 @@ public:
STDMETHODIMP Stop();
STDMETHODIMP Pause();
STDMETHODIMP Run(REFERENCE_TIME StartTime);
STDMETHODIMP GetState(DWORD dwMSecs,FILTER_STATE *State);
STDMETHODIMP FindPin(LPCWSTR Id, IPin **ppPin);
STDMETHODIMP GetState(DWORD dwMSecs, __out FILTER_STATE *State);
STDMETHODIMP FindPin(LPCWSTR Id, __deref_out IPin **ppPin);
// These are available for a quality management implementation
@@ -170,12 +170,12 @@ public:
virtual BOOL ScheduleSample(IMediaSample *pMediaSample);
virtual HRESULT GetSampleTimes(IMediaSample *pMediaSample,
REFERENCE_TIME *pStartTime,
REFERENCE_TIME *pEndTime);
__out REFERENCE_TIME *pStartTime,
__out REFERENCE_TIME *pEndTime);
virtual HRESULT ShouldDrawSampleNow(IMediaSample *pMediaSample,
REFERENCE_TIME *ptrStart,
REFERENCE_TIME *ptrEnd);
__out REFERENCE_TIME *ptrStart,
__out REFERENCE_TIME *ptrEnd);
// Lots of end of stream complexities
@@ -408,9 +408,9 @@ public:
CBaseVideoRenderer(REFCLSID RenderClass, // CLSID for this renderer
TCHAR *pName, // Debug ONLY description
LPUNKNOWN pUnk, // Aggregated owner object
HRESULT *phr); // General OLE return code
__in_opt LPCTSTR pName, // Debug ONLY description
__inout_opt LPUNKNOWN pUnk, // Aggregated owner object
__inout HRESULT *phr); // General OLE return code
~CBaseVideoRenderer();
@@ -437,11 +437,11 @@ public:
virtual HRESULT ResetStreamingTimes();
BOOL ScheduleSample(IMediaSample *pMediaSample);
HRESULT ShouldDrawSampleNow(IMediaSample *pMediaSample,
REFERENCE_TIME *ptrStart,
REFERENCE_TIME *ptrEnd);
__inout REFERENCE_TIME *ptrStart,
__inout REFERENCE_TIME *ptrEnd);
virtual HRESULT SendQuality(REFERENCE_TIME trLate, REFERENCE_TIME trRealStream);
STDMETHODIMP JoinFilterGraph(IFilterGraph * pGraph, LPCWSTR pName);
STDMETHODIMP JoinFilterGraph(__inout_opt IFilterGraph * pGraph, __in_opt LPCWSTR pName);
//
// Do estimates for standard deviations for per-frame
@@ -453,7 +453,7 @@ public:
//
HRESULT GetStdDev(
int nSamples,
int *piResult,
__out int *piResult,
LONGLONG llSumSq,
LONGLONG iTot
);
@@ -461,17 +461,17 @@ public:
// IQualProp property page support
STDMETHODIMP get_FramesDroppedInRenderer(int *cFramesDropped);
STDMETHODIMP get_FramesDrawn(int *pcFramesDrawn);
STDMETHODIMP get_AvgFrameRate(int *piAvgFrameRate);
STDMETHODIMP get_Jitter(int *piJitter);
STDMETHODIMP get_AvgSyncOffset(int *piAvg);
STDMETHODIMP get_DevSyncOffset(int *piDev);
STDMETHODIMP get_FramesDroppedInRenderer(__out int *cFramesDropped);
STDMETHODIMP get_FramesDrawn(__out int *pcFramesDrawn);
STDMETHODIMP get_AvgFrameRate(__out int *piAvgFrameRate);
STDMETHODIMP get_Jitter(__out int *piJitter);
STDMETHODIMP get_AvgSyncOffset(__out int *piAvg);
STDMETHODIMP get_DevSyncOffset(__out int *piDev);
// Implement an IUnknown interface and expose IQualProp
DECLARE_IUNKNOWN
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid,VOID **ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid,__deref_out VOID **ppv);
};
#endif // __RENBASE__

View File

@@ -3,11 +3,11 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1996-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include <streams.h>
// DbgLog values (all on LOG_TIMING):
//
@@ -117,11 +117,8 @@ HRESULT CAMSchedule::Unadvise(DWORD_PTR dwAdviseCookie)
CAdvisePacket * p_prev = &head;
CAdvisePacket * p_n;
m_Serialize.Lock();
while (1) // The Next() method returns NULL when it hits z
while ( p_n = p_prev->Next() ) // The Next() method returns NULL when it hits z
{
p_n = p_prev->Next();
if (!p_n) break;
if ( p_n->m_dwAdviseCookie == dwAdviseCookie )
{
Delete( p_prev->RemoveNext() );
@@ -190,7 +187,7 @@ REFERENCE_TIME CAMSchedule::Advise( const REFERENCE_TIME & rtTime )
/* Private methods */
DWORD_PTR CAMSchedule::AddAdvisePacket( CAdvisePacket * pPacket )
DWORD_PTR CAMSchedule::AddAdvisePacket( __inout CAdvisePacket * pPacket )
{
ASSERT(pPacket->m_rtEventTime >= 0 && pPacket->m_rtEventTime < MAX_TIME);
ASSERT(CritCheckIn(&m_Serialize));
@@ -217,7 +214,7 @@ DWORD_PTR CAMSchedule::AddAdvisePacket( CAdvisePacket * pPacket )
return Result;
}
void CAMSchedule::Delete( CAdvisePacket * pPacket )
void CAMSchedule::Delete( __inout CAdvisePacket * pPacket )
{
if ( m_dwCacheCount >= dwCacheMax ) delete pPacket;
else

View File

@@ -3,7 +3,7 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1996-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -50,10 +50,10 @@ private:
HANDLE m_hNotify; // Handle to event or semephore
BOOL m_bPeriodic; // TRUE => Periodic event
CAdvisePacket( CAdvisePacket * next, LONGLONG time ) : m_next(next), m_rtEventTime(time)
CAdvisePacket( __inout_opt CAdvisePacket * next, LONGLONG time ) : m_next(next), m_rtEventTime(time)
{}
void InsertAfter( CAdvisePacket * p )
void InsertAfter( __inout CAdvisePacket * p )
{
p->m_next = m_next;
m_next = p;
@@ -99,7 +99,7 @@ private:
CCritSec m_Serialize;
// AddAdvisePacket: adds the packet, returns the cookie (0 if failed)
DWORD_PTR AddAdvisePacket( CAdvisePacket * pPacket );
DWORD_PTR AddAdvisePacket( __inout CAdvisePacket * pPacket );
// Event that we should set if the packed added above will be the next to fire.
const HANDLE m_ev;
@@ -113,7 +113,7 @@ private:
DWORD m_dwCacheCount;
enum { dwCacheMax = 5 }; // Don't bother caching more than five
void Delete( CAdvisePacket * pLink );// This "Delete" will cache the Link
void Delete( __inout CAdvisePacket * pLink );// This "Delete" will cache the Link
// Attributes and methods for debugging
public:

View File

@@ -3,11 +3,11 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include <streams.h>
#include "seekpt.h"
//==================================================================
@@ -17,13 +17,13 @@
// and save it in a static variable so that forever after we can return that.
//==================================================================
CUnknown * CSeekingPassThru::CreateInstance(LPUNKNOWN pUnk, HRESULT *phr)
CUnknown * CSeekingPassThru::CreateInstance(__inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr)
{
return new CSeekingPassThru(NAME("Seeking PassThru"),pUnk, phr);
}
STDMETHODIMP CSeekingPassThru::NonDelegatingQueryInterface(REFIID riid, void ** ppv)
STDMETHODIMP CSeekingPassThru::NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv)
{
if (riid == IID_ISeekingPassThru) {
return GetInterface((ISeekingPassThru *) this, ppv);
@@ -39,7 +39,7 @@ STDMETHODIMP CSeekingPassThru::NonDelegatingQueryInterface(REFIID riid, void **
}
CSeekingPassThru::CSeekingPassThru( TCHAR *pName, LPUNKNOWN pUnk, HRESULT *phr )
CSeekingPassThru::CSeekingPassThru( __in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr )
: CUnknown(pName, pUnk, phr),
m_pPosPassThru(NULL)
{

30
3rdparty/baseclasses/seekpt.h vendored Normal file
View File

@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// File: SeekPT.h
//
// Desc: DirectShow base classes.
//
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#ifndef __seekpt_h__
#define __seekpt_h__
class CSeekingPassThru : public ISeekingPassThru, public CUnknown
{
public:
static CUnknown *CreateInstance(__inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr);
CSeekingPassThru(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr);
~CSeekingPassThru();
DECLARE_IUNKNOWN;
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv);
STDMETHODIMP Init(BOOL bSupportRendering, IPin *pPin);
private:
CPosPassThru *m_pPosPassThru;
};
#endif

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - implements CSource, which is a Quartz
// source filter 'template.'
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
// the threads processing loop, when it is safe to get the filter critical
// section from within FillBuffer().
#include "streams.h"
#include <streams.h>
//
@@ -26,14 +26,14 @@
//
// Initialise the pin count for the filter. The user will create the pins in
// the derived class.
CSource::CSource(TCHAR *pName, LPUNKNOWN lpunk, CLSID clsid)
CSource::CSource(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN lpunk, CLSID clsid)
: CBaseFilter(pName, lpunk, &m_cStateLock, clsid),
m_iPins(0),
m_paStreams(NULL)
{
}
CSource::CSource(TCHAR *pName, LPUNKNOWN lpunk, CLSID clsid, HRESULT *phr)
CSource::CSource(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN lpunk, CLSID clsid, __inout HRESULT *phr)
: CBaseFilter(pName, lpunk, &m_cStateLock, clsid),
m_iPins(0),
m_paStreams(NULL)
@@ -42,14 +42,14 @@ CSource::CSource(TCHAR *pName, LPUNKNOWN lpunk, CLSID clsid, HRESULT *phr)
}
#ifdef UNICODE
CSource::CSource(CHAR *pName, LPUNKNOWN lpunk, CLSID clsid)
CSource::CSource(__in_opt LPCSTR pName, __inout_opt LPUNKNOWN lpunk, CLSID clsid)
: CBaseFilter(pName, lpunk, &m_cStateLock, clsid),
m_iPins(0),
m_paStreams(NULL)
{
}
CSource::CSource(CHAR *pName, LPUNKNOWN lpunk, CLSID clsid, HRESULT *phr)
CSource::CSource(__in_opt LPCSTR pName, __inout_opt LPUNKNOWN lpunk, CLSID clsid, __inout HRESULT *phr)
: CBaseFilter(pName, lpunk, &m_cStateLock, clsid),
m_iPins(0),
m_paStreams(NULL)
@@ -76,7 +76,7 @@ CSource::~CSource()
//
// Add a new pin
//
HRESULT CSource::AddPin(CSourceStream *pStream)
HRESULT CSource::AddPin(__in CSourceStream *pStream)
{
CAutoLock lock(&m_cStateLock);
@@ -100,7 +100,7 @@ HRESULT CSource::AddPin(CSourceStream *pStream)
//
// Remove a pin - pStream is NOT deleted
//
HRESULT CSource::RemovePin(CSourceStream *pStream)
HRESULT CSource::RemovePin(__in CSourceStream *pStream)
{
int i;
for (i = 0; i < m_iPins; i++) {
@@ -125,7 +125,7 @@ HRESULT CSource::RemovePin(CSourceStream *pStream)
//
// Set *ppPin to the IPin* that has the id Id.
// or to NULL if the Id cannot be matched.
STDMETHODIMP CSource::FindPin(LPCWSTR Id, IPin **ppPin)
STDMETHODIMP CSource::FindPin(LPCWSTR Id, __deref_out IPin **ppPin)
{
CheckPointer(ppPin,E_POINTER);
ValidateReadWritePtr(ppPin,sizeof(IPin *));
@@ -145,7 +145,7 @@ STDMETHODIMP CSource::FindPin(LPCWSTR Id, IPin **ppPin)
// FindPinNumber
//
// return the number of the pin with this IPin* or -1 if none
int CSource::FindPinNumber(IPin *iPin) {
int CSource::FindPinNumber(__in IPin *iPin) {
int i;
for (i=0; i<m_iPins; ++i) {
if ((IPin *)(m_paStreams[i])==iPin) {
@@ -196,7 +196,7 @@ CBasePin *CSource::GetPin(int n) {
//
// Set Id to point to a CoTaskMemAlloc'd
STDMETHODIMP CSourceStream::QueryId(LPWSTR *Id) {
STDMETHODIMP CSourceStream::QueryId(__deref_out LPWSTR *Id) {
CheckPointer(Id,E_POINTER);
ValidateReadWritePtr(Id,sizeof(LPWSTR));
@@ -204,11 +204,11 @@ STDMETHODIMP CSourceStream::QueryId(LPWSTR *Id) {
// FindPinNumber returns -1 for an invalid pin
int i = 1+ m_pFilter->FindPinNumber(this);
if (i<1) return VFW_E_NOT_FOUND;
*Id = (LPWSTR)CoTaskMemAlloc(4*sizeof(WCHAR));
*Id = (LPWSTR)CoTaskMemAlloc(sizeof(WCHAR) * 12);
if (*Id==NULL) {
return E_OUTOFMEMORY;
}
IntToWstr(i, *Id, 4);
IntToWstr(i, *Id);
return NOERROR;
}
@@ -219,10 +219,10 @@ STDMETHODIMP CSourceStream::QueryId(LPWSTR *Id) {
//
// increments the number of pins present on the filter
CSourceStream::CSourceStream(
TCHAR *pObjectName,
HRESULT *phr,
CSource *ps,
LPCWSTR pPinName)
__in_opt LPCTSTR pObjectName,
__inout HRESULT *phr,
__inout CSource *ps,
__in_opt LPCWSTR pPinName)
: CBaseOutputPin(pObjectName, ps, ps->pStateLock(), phr, pPinName),
m_pFilter(ps) {
@@ -231,10 +231,10 @@ CSourceStream::CSourceStream(
#ifdef UNICODE
CSourceStream::CSourceStream(
char *pObjectName,
HRESULT *phr,
CSource *ps,
LPCWSTR pPinName)
__in_opt LPCSTR pObjectName,
__inout HRESULT *phr,
__inout CSource *ps,
__in_opt LPCWSTR pPinName)
: CBaseOutputPin(pObjectName, ps, ps->pStateLock(), phr, pPinName),
m_pFilter(ps) {
@@ -275,7 +275,7 @@ HRESULT CSourceStream::CheckMediaType(const CMediaType *pMediaType) {
//
// By default we support only one type
// iPosition indexes are 0-n
HRESULT CSourceStream::GetMediaType(int iPosition, CMediaType *pMediaType) {
HRESULT CSourceStream::GetMediaType(int iPosition, __inout CMediaType *pMediaType) {
CAutoLock lock(m_pFilter->pStateLock());

View File

@@ -5,7 +5,7 @@
// ActiveX source filters that support continuous generation of data.
// No support is provided for IMediaControl or IMediaPosition.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -43,11 +43,11 @@ class CSourceStream; // The class that will handle each pin
class CSource : public CBaseFilter {
public:
CSource(TCHAR *pName, LPUNKNOWN lpunk, CLSID clsid, HRESULT *phr);
CSource(TCHAR *pName, LPUNKNOWN lpunk, CLSID clsid);
CSource(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN lpunk, CLSID clsid, __inout HRESULT *phr);
CSource(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN lpunk, CLSID clsid);
#ifdef UNICODE
CSource(CHAR *pName, LPUNKNOWN lpunk, CLSID clsid, HRESULT *phr);
CSource(CHAR *pName, LPUNKNOWN lpunk, CLSID clsid);
CSource(__in_opt LPCSTR pName, __inout_opt LPUNKNOWN lpunk, CLSID clsid, __inout HRESULT *phr);
CSource(__in_opt LPCSTR pName, __inout_opt LPUNKNOWN lpunk, CLSID clsid);
#endif
~CSource();
@@ -58,15 +58,15 @@ public:
CCritSec* pStateLock(void) { return &m_cStateLock; } // provide our critical section
HRESULT AddPin(CSourceStream *);
HRESULT RemovePin(CSourceStream *);
HRESULT AddPin(__in CSourceStream *);
HRESULT RemovePin(__in CSourceStream *);
STDMETHODIMP FindPin(
LPCWSTR Id,
IPin ** ppPin
__deref_out IPin ** ppPin
);
int FindPinNumber(IPin *iPin);
int FindPinNumber(__in IPin *iPin);
protected:
@@ -88,15 +88,15 @@ protected:
class CSourceStream : public CAMThread, public CBaseOutputPin {
public:
CSourceStream(TCHAR *pObjectName,
HRESULT *phr,
CSource *pms,
LPCWSTR pName);
CSourceStream(__in_opt LPCTSTR pObjectName,
__inout HRESULT *phr,
__inout CSource *pms,
__in_opt LPCWSTR pName);
#ifdef UNICODE
CSourceStream(CHAR *pObjectName,
HRESULT *phr,
CSource *pms,
LPCWSTR pName);
CSourceStream(__in_opt LPCSTR pObjectName,
__inout HRESULT *phr,
__inout CSource *pms,
__in_opt LPCWSTR pName);
#endif
virtual ~CSourceStream(void); // virtual destructor ensures derived class destructors are called too.
@@ -155,16 +155,16 @@ protected:
// If you support more than one media type then override these 2 functions
virtual HRESULT CheckMediaType(const CMediaType *pMediaType);
virtual HRESULT GetMediaType(int iPosition, CMediaType *pMediaType); // List pos. 0-n
virtual HRESULT GetMediaType(int iPosition, __inout CMediaType *pMediaType); // List pos. 0-n
// If you support only one type then override this fn.
// This will only be called by the default implementations
// of CheckMediaType and GetMediaType(int, CMediaType*)
// You must override this fn. or the above 2!
virtual HRESULT GetMediaType(CMediaType *pMediaType) {return E_UNEXPECTED;}
virtual HRESULT GetMediaType(__inout CMediaType *pMediaType) {return E_UNEXPECTED;}
STDMETHODIMP QueryId(
LPWSTR * Id
__deref_out LPWSTR * Id
);
};

197
3rdparty/baseclasses/streams.h vendored Normal file
View File

@@ -0,0 +1,197 @@
//------------------------------------------------------------------------------
// File: Streams.h
//
// Desc: DirectShow base classes - defines overall streams architecture.
//
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#ifndef __STREAMS__
#define __STREAMS__
#ifdef _MSC_VER
// disable some level-4 warnings, use #pragma warning(enable:###) to re-enable
#pragma warning(disable:4100) // warning C4100: unreferenced formal parameter
#pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
#pragma warning(disable:4511) // warning C4511: copy constructor could not be generated
#pragma warning(disable:4512) // warning C4512: assignment operator could not be generated
#pragma warning(disable:4514) // warning C4514: "unreferenced inline function has been removed"
#if _MSC_VER>=1100
#define AM_NOVTABLE __declspec(novtable)
#else
#define AM_NOVTABLE
#endif
#endif // MSC_VER
// Because of differences between Visual C++ and older Microsoft SDKs,
// you may have defined _DEBUG without defining DEBUG. This logic
// ensures that both will be set if Visual C++ sets _DEBUG.
#ifdef _DEBUG
#ifndef DEBUG
#define DEBUG
#endif
#endif
#include <windows.h>
#include <windowsx.h>
#include <olectl.h>
#include <ddraw.h>
#include <mmsystem.h>
#ifndef NUMELMS
#if _WIN32_WINNT < 0x0600
#define NUMELMS(aa) (sizeof(aa)/sizeof((aa)[0]))
#else
#define NUMELMS(aa) ARRAYSIZE(aa)
#endif
#endif
///////////////////////////////////////////////////////////////////////////
// The following definitions come from the Platform SDK and are required if
// the applicaiton is being compiled with the headers from Visual C++ 6.0.
///////////////////////////////////////////////////////////////////////////
#ifndef InterlockedExchangePointer
#define InterlockedExchangePointer(Target, Value) \
(PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))
#endif
#ifndef _WAVEFORMATEXTENSIBLE_
#define _WAVEFORMATEXTENSIBLE_
typedef struct {
WAVEFORMATEX Format;
union {
WORD wValidBitsPerSample; /* bits of precision */
WORD wSamplesPerBlock; /* valid if wBitsPerSample==0 */
WORD wReserved; /* If neither applies, set to zero. */
} Samples;
DWORD dwChannelMask; /* which channels are */
/* present in stream */
GUID SubFormat;
} WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
#endif // !_WAVEFORMATEXTENSIBLE_
#if !defined(WAVE_FORMAT_EXTENSIBLE)
#define WAVE_FORMAT_EXTENSIBLE 0xFFFE
#endif // !defined(WAVE_FORMAT_EXTENSIBLE)
#ifndef GetWindowLongPtr
#define GetWindowLongPtrA GetWindowLongA
#define GetWindowLongPtrW GetWindowLongW
#ifdef UNICODE
#define GetWindowLongPtr GetWindowLongPtrW
#else
#define GetWindowLongPtr GetWindowLongPtrA
#endif // !UNICODE
#endif // !GetWindowLongPtr
#ifndef SetWindowLongPtr
#define SetWindowLongPtrA SetWindowLongA
#define SetWindowLongPtrW SetWindowLongW
#ifdef UNICODE
#define SetWindowLongPtr SetWindowLongPtrW
#else
#define SetWindowLongPtr SetWindowLongPtrA
#endif // !UNICODE
#endif // !SetWindowLongPtr
#ifndef GWLP_WNDPROC
#define GWLP_WNDPROC (-4)
#endif
#ifndef GWLP_HINSTANCE
#define GWLP_HINSTANCE (-6)
#endif
#ifndef GWLP_HWNDPARENT
#define GWLP_HWNDPARENT (-8)
#endif
#ifndef GWLP_USERDATA
#define GWLP_USERDATA (-21)
#endif
#ifndef GWLP_ID
#define GWLP_ID (-12)
#endif
#ifndef DWLP_MSGRESULT
#define DWLP_MSGRESULT 0
#endif
#ifndef DWLP_DLGPROC
#define DWLP_DLGPROC DWLP_MSGRESULT + sizeof(LRESULT)
#endif
#ifndef DWLP_USER
#define DWLP_USER DWLP_DLGPROC + sizeof(DLGPROC)
#endif
#pragma warning(push)
#pragma warning(disable: 4312 4244)
// _GetWindowLongPtr
// Templated version of GetWindowLongPtr, to suppress spurious compiler warning.
template <class T>
T _GetWindowLongPtr(HWND hwnd, int nIndex)
{
return (T)GetWindowLongPtr(hwnd, nIndex);
}
// _SetWindowLongPtr
// Templated version of SetWindowLongPtr, to suppress spurious compiler warning.
template <class T>
LONG_PTR _SetWindowLongPtr(HWND hwnd, int nIndex, T p)
{
return SetWindowLongPtr(hwnd, nIndex, (LONG_PTR)p);
}
#pragma warning(pop)
///////////////////////////////////////////////////////////////////////////
// End Platform SDK definitions
///////////////////////////////////////////////////////////////////////////
#include <strmif.h> // Generated IDL header file for streams interfaces
#include <intsafe.h> // required by amvideo.h
#include <reftime.h> // Helper class for REFERENCE_TIME management
#include <wxdebug.h> // Debug support for logging and ASSERTs
#include <amvideo.h> // ActiveMovie video interfaces and definitions
//include amaudio.h explicitly if you need it. it requires the DX SDK.
//#include <amaudio.h> // ActiveMovie audio interfaces and definitions
#include <wxutil.h> // General helper classes for threads etc
#include <combase.h> // Base COM classes to support IUnknown
#include <measure.h> // Performance measurement
#include <comlite.h> // Light weight com function prototypes
#include <cache.h> // Simple cache container class
#include <wxlist.h> // Non MFC generic list class
#include <msgthrd.h> // CMsgThread
#include <mtype.h> // Helper class for managing media types
#include <fourcc.h> // conversions between FOURCCs and GUIDs
#include <control.h> // generated from control.odl
#include <ctlutil.h> // control interface utility classes
#include <evcode.h> // event code definitions
#include <amfilter.h> // Main streams architecture class hierachy
#include <transfrm.h> // Generic transform filter
#include <transip.h> // Generic transform-in-place filter
#include <uuids.h> // declaration of type GUIDs and well-known clsids
#include <source.h> // Generic source filter
#include <outputq.h> // Output pin queueing
#include <errors.h> // HRESULT status and error definitions
#include <renbase.h> // Base class for writing ActiveX renderers
#include <refclock.h> // Base clock class
#include <sysclock.h> // System clock
#include <pstream.h> // IPersistStream helper class
#include <vtrans.h> // Video Transform Filter base class
#include <amextra.h>
#include <strmctl.h> // IAMStreamControl support
#include <edevdefs.h> // External device control interface defines
#include <audevcod.h> // audio filter device error event codes
#else
#ifdef DEBUG
#pragma message("STREAMS.H included TWICE")
#endif
#endif // __STREAMS__

View File

@@ -3,18 +3,19 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1996-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include "strmctl.h"
#include <streams.h>
#include <strmctl.h>
CBaseStreamControl::CBaseStreamControl()
CBaseStreamControl::CBaseStreamControl(__inout HRESULT *phr)
: m_StreamState(STREAM_FLOWING)
, m_StreamStateOnStop(STREAM_FLOWING) // means no pending stop
, m_tStartTime(MAX_TIME)
, m_tStopTime(MAX_TIME)
, m_StreamEvent(FALSE, phr)
, m_dwStartCookie(0)
, m_dwStopCookie(0)
, m_pRefClock(NULL)
@@ -120,7 +121,7 @@ STDMETHODIMP CBaseStreamControl::StartAt
}
// Retrieve information about current settings
STDMETHODIMP CBaseStreamControl::GetInfo(AM_STREAM_INFO *pInfo)
STDMETHODIMP CBaseStreamControl::GetInfo(__out AM_STREAM_INFO *pInfo)
{
if (pInfo == NULL)
return E_POINTER;
@@ -231,7 +232,7 @@ void CBaseStreamControl::CancelStart()
enum CBaseStreamControl::StreamControlState CBaseStreamControl::CheckSampleTimes
( const REFERENCE_TIME * pSampleStart, const REFERENCE_TIME * pSampleStop )
( __in const REFERENCE_TIME * pSampleStart, __in const REFERENCE_TIME * pSampleStop )
{
CAutoLock lck(&m_CritSec);

View File

@@ -3,7 +3,7 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1996-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -71,15 +71,15 @@ private:
// expires, throw the sample away. If the event
// fires, call me back - I've changed my mind.
//
enum StreamControlState CheckSampleTimes( const REFERENCE_TIME * pSampleStart,
const REFERENCE_TIME * pSampleStop );
enum StreamControlState CheckSampleTimes( __in const REFERENCE_TIME * pSampleStart,
__in const REFERENCE_TIME * pSampleStop );
public:
// You don't have to tell us much when we're created, but there are other
// obligations that must be met. See SetSyncSource & NotifyFilterState
// below.
//
CBaseStreamControl();
CBaseStreamControl(__inout_opt HRESULT *phr = NULL);
~CBaseStreamControl();
// If you want this class to work properly, there are thing you need to
@@ -134,7 +134,7 @@ public:
DWORD dwCookie = 0 );
STDMETHODIMP StartAt( const REFERENCE_TIME * ptStart = NULL,
DWORD dwCookie = 0 );
STDMETHODIMP GetInfo( AM_STREAM_INFO *pInfo);
STDMETHODIMP GetInfo( __out AM_STREAM_INFO *pInfo);
// Helper function for pin's receive method. Call this with
// the sample and we'll tell you what to do with it. We'll do a

View File

@@ -4,11 +4,11 @@
// Desc: DirectShow base classes - implements a system clock based on
// IReferenceClock.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include <streams.h>
#include <limits.h>
@@ -27,20 +27,20 @@ int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
#endif
/* This goes in the factory template table to create new instances */
CUnknown * WINAPI CSystemClock::CreateInstance(LPUNKNOWN pUnk,HRESULT *phr)
CUnknown * WINAPI CSystemClock::CreateInstance(__inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr)
{
return new CSystemClock(NAME("System reference clock"),pUnk, phr);
}
CSystemClock::CSystemClock(TCHAR *pName,LPUNKNOWN pUnk,HRESULT *phr) :
CSystemClock::CSystemClock(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr) :
CBaseReferenceClock(pName, pUnk, phr)
{
}
STDMETHODIMP CSystemClock::NonDelegatingQueryInterface(
REFIID riid,
void ** ppv)
__deref_out void ** ppv)
{
if (riid == IID_IPersist)
{
@@ -58,7 +58,7 @@ STDMETHODIMP CSystemClock::NonDelegatingQueryInterface(
/* Return the clock's clsid */
STDMETHODIMP
CSystemClock::GetClassID(CLSID *pClsID)
CSystemClock::GetClassID(__out CLSID *pClsID)
{
CheckPointer(pClsID,E_POINTER);
ValidateReadWritePtr(pClsID,sizeof(CLSID));

39
3rdparty/baseclasses/sysclock.h vendored Normal file
View File

@@ -0,0 +1,39 @@
//------------------------------------------------------------------------------
// File: SysClock.h
//
// Desc: DirectShow base classes - defines a system clock implementation of
// IReferenceClock.
//
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#ifndef __SYSTEMCLOCK__
#define __SYSTEMCLOCK__
//
// Base clock. Uses timeGetTime ONLY
// Uses most of the code in the base reference clock.
// Provides GetTime
//
class CSystemClock : public CBaseReferenceClock, public IAMClockAdjust, public IPersist
{
public:
// We must be able to create an instance of ourselves
static CUnknown * WINAPI CreateInstance(__inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr);
CSystemClock(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr);
DECLARE_IUNKNOWN
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv);
// Yield up our class id so that we can be persisted
// Implement required Ipersist method
STDMETHODIMP GetClassID(__out CLSID *pClsID);
// IAMClockAdjust methods
STDMETHODIMP SetClockDelta(REFERENCE_TIME rtDelta);
}; //CSystemClock
#endif /* __SYSTEMCLOCK__ */

View File

@@ -4,20 +4,20 @@
// Desc: DirectShow base classes - implements class for simple transform
// filters such as video decompressors.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include "measure.h"
#include <streams.h>
#include <measure.h>
// =================================================================
// Implements the CTransformFilter class
// =================================================================
CTransformFilter::CTransformFilter(TCHAR *pName,
LPUNKNOWN pUnk,
CTransformFilter::CTransformFilter(__in_opt LPCTSTR pName,
__inout_opt LPUNKNOWN pUnk,
REFCLSID clsid) :
CBaseFilter(pName,pUnk,&m_csFilter, clsid),
m_pInput(NULL),
@@ -32,8 +32,8 @@ CTransformFilter::CTransformFilter(TCHAR *pName,
}
#ifdef UNICODE
CTransformFilter::CTransformFilter(char *pName,
LPUNKNOWN pUnk,
CTransformFilter::CTransformFilter(__in_opt LPCSTR pName,
__inout_opt LPUNKNOWN pUnk,
REFCLSID clsid) :
CBaseFilter(pName,pUnk,&m_csFilter, clsid),
m_pInput(NULL),
@@ -140,7 +140,7 @@ CTransformFilter::GetPin(int n)
// If Id is In or Out then return the IPin* for that pin
// creating the pin if need be. Otherwise return NULL with an error.
STDMETHODIMP CTransformFilter::FindPin(LPCWSTR Id, IPin **ppPin)
STDMETHODIMP CTransformFilter::FindPin(LPCWSTR Id, __deref_out IPin **ppPin)
{
CheckPointer(ppPin,E_POINTER);
ValidateReadWritePtr(ppPin,sizeof(IPin *));
@@ -185,7 +185,7 @@ CTransformFilter::StopStreaming()
// override this to grab extra interfaces on connection
HRESULT
CTransformFilter::CheckConnect(PIN_DIRECTION dir,IPin *pPin)
CTransformFilter::CheckConnect(PIN_DIRECTION dir, IPin *pPin)
{
UNREFERENCED_PARAMETER(dir);
UNREFERENCED_PARAMETER(pPin);
@@ -227,7 +227,7 @@ CTransformFilter::SetMediaType(PIN_DIRECTION direction,const CMediaType *pmt)
// Set up our output sample
HRESULT
CTransformFilter::InitializeOutputSample(IMediaSample *pSample, IMediaSample **ppOutSample)
CTransformFilter::InitializeOutputSample(IMediaSample *pSample, __deref_out IMediaSample **ppOutSample)
{
IMediaSample *pOutSample;
@@ -578,10 +578,10 @@ CTransformInputPin::CheckStreaming()
// constructor
CTransformInputPin::CTransformInputPin(
TCHAR *pObjectName,
CTransformFilter *pTransformFilter,
HRESULT * phr,
LPCWSTR pName)
__in_opt LPCTSTR pObjectName,
__inout CTransformFilter *pTransformFilter,
__inout HRESULT * phr,
__in_opt LPCWSTR pName)
: CBaseInputPin(pObjectName, pTransformFilter, &pTransformFilter->m_csFilter, phr, pName)
{
DbgLog((LOG_TRACE,2,TEXT("CTransformInputPin::CTransformInputPin")));
@@ -590,10 +590,10 @@ CTransformInputPin::CTransformInputPin(
#ifdef UNICODE
CTransformInputPin::CTransformInputPin(
CHAR *pObjectName,
CTransformFilter *pTransformFilter,
HRESULT * phr,
LPCWSTR pName)
__in_opt LPCSTR pObjectName,
__inout CTransformFilter *pTransformFilter,
__inout HRESULT * phr,
__in_opt LPCWSTR pName)
: CBaseInputPin(pObjectName, pTransformFilter, &pTransformFilter->m_csFilter, phr, pName)
{
DbgLog((LOG_TRACE,2,TEXT("CTransformInputPin::CTransformInputPin")));
@@ -791,10 +791,10 @@ CTransformInputPin::NewSegment(
// constructor
CTransformOutputPin::CTransformOutputPin(
TCHAR *pObjectName,
CTransformFilter *pTransformFilter,
HRESULT * phr,
LPCWSTR pPinName)
__in_opt LPCTSTR pObjectName,
__inout CTransformFilter *pTransformFilter,
__inout HRESULT * phr,
__in_opt LPCWSTR pPinName)
: CBaseOutputPin(pObjectName, pTransformFilter, &pTransformFilter->m_csFilter, phr, pPinName),
m_pPosition(NULL)
{
@@ -805,10 +805,10 @@ CTransformOutputPin::CTransformOutputPin(
#ifdef UNICODE
CTransformOutputPin::CTransformOutputPin(
CHAR *pObjectName,
CTransformFilter *pTransformFilter,
HRESULT * phr,
LPCWSTR pPinName)
__in_opt LPCSTR pObjectName,
__inout CTransformFilter *pTransformFilter,
__inout HRESULT * phr,
__in_opt LPCWSTR pPinName)
: CBaseOutputPin(pObjectName, pTransformFilter, &pTransformFilter->m_csFilter, phr, pPinName),
m_pPosition(NULL)
{
@@ -831,7 +831,7 @@ CTransformOutputPin::~CTransformOutputPin()
// overriden to expose IMediaPosition and IMediaSeeking control interfaces
STDMETHODIMP
CTransformOutputPin::NonDelegatingQueryInterface(REFIID riid, void **ppv)
CTransformOutputPin::NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv)
{
CheckPointer(ppv,E_POINTER);
ValidateReadWritePtr(ppv,sizeof(PVOID));
@@ -958,7 +958,7 @@ CTransformOutputPin::SetMediaType(const CMediaType* pmtOut)
HRESULT
CTransformOutputPin::DecideBufferSize(
IMemAllocator * pAllocator,
ALLOCATOR_PROPERTIES* pProp)
__inout ALLOCATOR_PROPERTIES* pProp)
{
return m_pTransformFilter->DecideBufferSize(pAllocator, pProp);
}
@@ -970,7 +970,7 @@ CTransformOutputPin::DecideBufferSize(
HRESULT
CTransformOutputPin::GetMediaType(
int iPosition,
CMediaType *pMediaType)
__inout CMediaType *pMediaType)
{
ASSERT(m_pTransformFilter->m_pInput != NULL);

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - defines classes from which simple
// transform codecs may be derived.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -41,19 +41,19 @@ protected:
public:
CTransformInputPin(
TCHAR *pObjectName,
CTransformFilter *pTransformFilter,
HRESULT * phr,
LPCWSTR pName);
__in_opt LPCTSTR pObjectName,
__inout CTransformFilter *pTransformFilter,
__inout HRESULT * phr,
__in_opt LPCWSTR pName);
#ifdef UNICODE
CTransformInputPin(
char *pObjectName,
CTransformFilter *pTransformFilter,
HRESULT * phr,
LPCWSTR pName);
__in_opt LPCSTR pObjectName,
__inout CTransformFilter *pTransformFilter,
__inout HRESULT * phr,
__in_opt LPCWSTR pName);
#endif
STDMETHODIMP QueryId(LPWSTR * Id)
STDMETHODIMP QueryId(__deref_out LPWSTR * Id)
{
return AMGetWideString(L"In", Id);
}
@@ -118,25 +118,25 @@ public:
IUnknown * m_pPosition;
CTransformOutputPin(
TCHAR *pObjectName,
CTransformFilter *pTransformFilter,
HRESULT * phr,
LPCWSTR pName);
__in_opt LPCTSTR pObjectName,
__inout CTransformFilter *pTransformFilter,
__inout HRESULT * phr,
__in_opt LPCWSTR pName);
#ifdef UNICODE
CTransformOutputPin(
CHAR *pObjectName,
CTransformFilter *pTransformFilter,
HRESULT * phr,
LPCWSTR pName);
__in_opt LPCSTR pObjectName,
__inout CTransformFilter *pTransformFilter,
__inout HRESULT * phr,
__in_opt LPCWSTR pName);
#endif
~CTransformOutputPin();
// override to expose IMediaPosition
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv);
// --- CBaseOutputPin ------------
STDMETHODIMP QueryId(LPWSTR * Id)
STDMETHODIMP QueryId(__deref_out LPWSTR * Id)
{
return AMGetWideString(L"Out", Id);
}
@@ -157,10 +157,10 @@ public:
// the count and size of buffers we need.
HRESULT DecideBufferSize(
IMemAllocator * pAlloc,
ALLOCATOR_PROPERTIES *pProp);
__inout ALLOCATOR_PROPERTIES *pProp);
// returns the preferred formats for a pin
HRESULT GetMediaType(int iPosition,CMediaType *pMediaType);
HRESULT GetMediaType(int iPosition, __inout CMediaType *pMediaType);
// inherited from IQualityControl via CBasePin
STDMETHODIMP Notify(IBaseFilter * pSender, Quality q);
@@ -181,7 +181,7 @@ public:
virtual int GetPinCount();
virtual CBasePin * GetPin(int n);
STDMETHODIMP FindPin(LPCWSTR Id, IPin **ppPin);
STDMETHODIMP FindPin(LPCWSTR Id, __deref_out IPin **ppPin);
// override state changes to allow derived transform filter
// to control streaming start/stop
@@ -190,9 +190,9 @@ public:
public:
CTransformFilter(TCHAR *, LPUNKNOWN, REFCLSID clsid);
CTransformFilter(__in_opt LPCTSTR , __inout_opt LPUNKNOWN, REFCLSID clsid);
#ifdef UNICODE
CTransformFilter(CHAR *, LPUNKNOWN, REFCLSID clsid);
CTransformFilter(__in_opt LPCSTR , __inout_opt LPUNKNOWN, REFCLSID clsid);
#endif
~CTransformFilter();
@@ -211,15 +211,15 @@ public:
virtual HRESULT CheckTransform(const CMediaType* mtIn, const CMediaType* mtOut) PURE;
// this goes in the factory template table to create new instances
// static CCOMObject * CreateInstance(LPUNKNOWN, HRESULT *);
// static CCOMObject * CreateInstance(__inout_opt LPUNKNOWN, HRESULT *);
// call the SetProperties function with appropriate arguments
virtual HRESULT DecideBufferSize(
IMemAllocator * pAllocator,
ALLOCATOR_PROPERTIES *pprop) PURE;
__inout ALLOCATOR_PROPERTIES *pprop) PURE;
// override to suggest OUTPUT pin media types
virtual HRESULT GetMediaType(int iPosition, CMediaType *pMediaType) PURE;
virtual HRESULT GetMediaType(int iPosition, __inout CMediaType *pMediaType) PURE;
@@ -246,7 +246,7 @@ public:
virtual HRESULT Receive(IMediaSample *pSample);
// Standard setup for output sample
HRESULT InitializeOutputSample(IMediaSample *pSample, IMediaSample **ppOutSample);
HRESULT InitializeOutputSample(IMediaSample *pSample, __deref_out IMediaSample **ppOutSample);
// if you override Receive, you may need to override these three too
virtual HRESULT EndOfStream(void);

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - implements class for simple Transform-
// In-Place filters such as audio.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -251,9 +251,9 @@
// And that's IT!! Any further (essentially spurious) reconnects peter out
// with no change in the chain.
#include "streams.h"
#include "measure.h"
#include "transip.h"
#include <streams.h>
#include <measure.h>
#include <transip.h>
// =================================================================
@@ -261,10 +261,10 @@
// =================================================================
CTransInPlaceFilter::CTransInPlaceFilter
( TCHAR *pName,
LPUNKNOWN pUnk,
( __in_opt LPCTSTR pName,
__inout_opt LPUNKNOWN pUnk,
REFCLSID clsid,
HRESULT *phr,
__inout HRESULT *phr,
bool bModifiesData
)
: CTransformFilter(pName, pUnk, clsid),
@@ -278,10 +278,10 @@ CTransInPlaceFilter::CTransInPlaceFilter
#ifdef UNICODE
CTransInPlaceFilter::CTransInPlaceFilter
( CHAR *pName,
LPUNKNOWN pUnk,
( __in_opt LPCSTR pName,
__inout_opt LPUNKNOWN pUnk,
REFCLSID clsid,
HRESULT *phr,
__inout HRESULT *phr,
bool bModifiesData
)
: CTransformFilter(pName, pUnk, clsid),
@@ -359,7 +359,7 @@ CTransInPlaceFilter::GetPin(int n)
// dir is the direction of our pin.
// pReceivePin is the pin we are connecting to.
HRESULT CTransInPlaceFilter::CompleteConnect(PIN_DIRECTION dir,IPin *pReceivePin)
HRESULT CTransInPlaceFilter::CompleteConnect(PIN_DIRECTION dir, IPin *pReceivePin)
{
UNREFERENCED_PARAMETER(pReceivePin);
ASSERT(m_pInput);
@@ -414,7 +414,7 @@ HRESULT CTransInPlaceFilter::CompleteConnect(PIN_DIRECTION dir,IPin *pReceivePin
HRESULT CTransInPlaceFilter::DecideBufferSize
( IMemAllocator *pAlloc
, ALLOCATOR_PROPERTIES *pProperties
, __inout ALLOCATOR_PROPERTIES *pProperties
)
{
ALLOCATOR_PROPERTIES Request, Actual;
@@ -431,8 +431,8 @@ HRESULT CTransInPlaceFilter::DecideBufferSize
return hr;
}
} else {
// We're reduced to blind guessing. Let's guess one byte and if
// this isn't enough then when the other pin does get connected
// Propose one byte
// If this isn't enough then when the other pin does get connected
// we can revise it.
ZeroMemory(&Request, sizeof(Request));
Request.cBuffers = 1;
@@ -479,7 +479,7 @@ HRESULT CTransInPlaceFilter::DecideBufferSize
// Copy
//
// return a pointer to an identical copy of pSample
IMediaSample * CTransInPlaceFilter::Copy(IMediaSample *pSource)
__out_opt IMediaSample * CTransInPlaceFilter::Copy(IMediaSample *pSource)
{
IMediaSample * pDest;
@@ -502,11 +502,11 @@ IMediaSample * CTransInPlaceFilter::Copy(IMediaSample *pSource)
ASSERT(pDest);
IMediaSample2 *pSample2;
if (SUCCEEDED(pDest->QueryInterface(IID_IMediaSample2, (void **)&pSample2))) {
HRESULT hr = pSample2->SetProperties(
HRESULT hrProps = pSample2->SetProperties(
FIELD_OFFSET(AM_SAMPLE2_PROPERTIES, pbBuffer),
(PBYTE)m_pInput->SampleProps());
pSample2->Release();
if (FAILED(hr)) {
if (FAILED(hrProps)) {
pDest->Release();
return NULL;
}
@@ -545,7 +545,10 @@ IMediaSample * CTransInPlaceFilter::Copy(IMediaSample *pSource)
// Copy the actual data length and the actual data.
{
const long lDataLength = pSource->GetActualDataLength();
pDest->SetActualDataLength(lDataLength);
if (FAILED(pDest->SetActualDataLength(lDataLength))) {
pDest->Release();
return NULL;
}
// Copy the sample data
{
@@ -555,8 +558,13 @@ IMediaSample * CTransInPlaceFilter::Copy(IMediaSample *pSource)
ASSERT(lDestSize >= lSourceSize && lDestSize >= lDataLength);
pSource->GetPointer(&pSourceBuffer);
pDest->GetPointer(&pDestBuffer);
if (FAILED(pSource->GetPointer(&pSourceBuffer)) ||
FAILED(pDest->GetPointer(&pDestBuffer)) ||
lDestSize < lDataLength ||
lDataLength < 0) {
pDest->Release();
return NULL;
}
ASSERT(lDestSize == 0 || pSourceBuffer != NULL && pDestBuffer != NULL);
CopyMemory( (PVOID) pDestBuffer, (PVOID) pSourceBuffer, lDataLength );
@@ -651,10 +659,10 @@ CTransInPlaceFilter::Receive(IMediaSample *pSample)
// constructor
CTransInPlaceInputPin::CTransInPlaceInputPin
( TCHAR *pObjectName
, CTransInPlaceFilter *pFilter
, HRESULT *phr
, LPCWSTR pName
( __in_opt LPCTSTR pObjectName
, __inout CTransInPlaceFilter *pFilter
, __inout HRESULT *phr
, __in_opt LPCWSTR pName
)
: CTransformInputPin(pObjectName,
pFilter,
@@ -683,7 +691,7 @@ CTransInPlaceInputPin::CTransInPlaceInputPin
// ) or it could mean offering the one from downstream
// Else fail to offer any allocator at all.
STDMETHODIMP CTransInPlaceInputPin::GetAllocator(IMemAllocator ** ppAllocator)
STDMETHODIMP CTransInPlaceInputPin::GetAllocator(__deref_out IMemAllocator ** ppAllocator)
{
CheckPointer(ppAllocator,E_POINTER);
ValidateReadWritePtr(ppAllocator,sizeof(IMemAllocator *));
@@ -807,7 +815,7 @@ CTransInPlaceInputPin::NotifyAllocator(
// EnumMediaTypes
// - pass through to our downstream filter
STDMETHODIMP CTransInPlaceInputPin::EnumMediaTypes( IEnumMediaTypes **ppEnum )
STDMETHODIMP CTransInPlaceInputPin::EnumMediaTypes( __deref_out IEnumMediaTypes **ppEnum )
{
// Can only pass through if connected
if( !m_pTIPFilter->m_pOutput->IsConnected() )
@@ -839,7 +847,7 @@ HRESULT CTransInPlaceInputPin::CheckMediaType(const CMediaType *pmt )
// If upstream asks us what our requirements are, we will try to ask downstream
// if that doesn't work, we'll just take the defaults.
STDMETHODIMP
CTransInPlaceInputPin::GetAllocatorRequirements(ALLOCATOR_PROPERTIES *pProps)
CTransInPlaceInputPin::GetAllocatorRequirements(__out ALLOCATOR_PROPERTIES *pProps)
{
if( m_pTIPFilter->m_pOutput->IsConnected() )
@@ -875,10 +883,10 @@ CTransInPlaceInputPin::CompleteConnect(IPin *pReceivePin)
// constructor
CTransInPlaceOutputPin::CTransInPlaceOutputPin(
TCHAR *pObjectName,
CTransInPlaceFilter *pFilter,
HRESULT * phr,
LPCWSTR pPinName)
__in_opt LPCTSTR pObjectName,
__inout CTransInPlaceFilter *pFilter,
__inout HRESULT * phr,
__in_opt LPCWSTR pPinName)
: CTransformOutputPin( pObjectName
, pFilter
, phr
@@ -893,7 +901,7 @@ CTransInPlaceOutputPin::CTransInPlaceOutputPin(
// EnumMediaTypes
// - pass through to our upstream filter
STDMETHODIMP CTransInPlaceOutputPin::EnumMediaTypes( IEnumMediaTypes **ppEnum )
STDMETHODIMP CTransInPlaceOutputPin::EnumMediaTypes( __deref_out IEnumMediaTypes **ppEnum )
{
// Can only pass through if connected.
if( ! m_pTIPFilter->m_pInput->IsConnected() )

View File

@@ -4,7 +4,7 @@
// Desc: DirectShow base classes - defines classes from which simple
// Transform-In-Place filters may be derived.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -49,21 +49,21 @@ protected:
public:
CTransInPlaceInputPin(
TCHAR *pObjectName,
CTransInPlaceFilter *pFilter,
HRESULT *phr,
LPCWSTR pName);
__in_opt LPCTSTR pObjectName,
__inout CTransInPlaceFilter *pFilter,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
// --- IMemInputPin -----
// Provide an enumerator for media types by getting one from downstream
STDMETHODIMP EnumMediaTypes( IEnumMediaTypes **ppEnum );
STDMETHODIMP EnumMediaTypes( __deref_out IEnumMediaTypes **ppEnum );
// Say whether media type is acceptable.
HRESULT CheckMediaType(const CMediaType* pmt);
// Return our upstream allocator
STDMETHODIMP GetAllocator(IMemAllocator ** ppAllocator);
STDMETHODIMP GetAllocator(__deref_out IMemAllocator ** ppAllocator);
// get told which allocator the upstream output pin is actually
// going to use.
@@ -72,11 +72,11 @@ public:
// Allow the filter to see what allocator we have
// N.B. This does NOT AddRef
IMemAllocator * PeekAllocator() const
__out IMemAllocator * PeekAllocator() const
{ return m_pAllocator; }
// Pass this on downstream if it ever gets called.
STDMETHODIMP GetAllocatorRequirements(ALLOCATOR_PROPERTIES *pProps);
STDMETHODIMP GetAllocatorRequirements(__out ALLOCATOR_PROPERTIES *pProps);
HRESULT CompleteConnect(IPin *pReceivePin);
@@ -98,10 +98,10 @@ protected:
public:
CTransInPlaceOutputPin(
TCHAR *pObjectName,
CTransInPlaceFilter *pFilter,
HRESULT *phr,
LPCWSTR pName);
__in_opt LPCTSTR pObjectName,
__inout CTransInPlaceFilter *pFilter,
__inout HRESULT *phr,
__in_opt LPCWSTR pName);
// --- CBaseOutputPin ------------
@@ -113,7 +113,7 @@ public:
// virtual HRESULT DecideAllocator(IMemInputPin * pPin, IMemAllocator ** pAlloc);
// Provide a media type enumerator. Get it from upstream.
STDMETHODIMP EnumMediaTypes( IEnumMediaTypes **ppEnum );
STDMETHODIMP EnumMediaTypes( __deref_out IEnumMediaTypes **ppEnum );
// Say whether media type is acceptable.
HRESULT CheckMediaType(const CMediaType* pmt);
@@ -122,12 +122,12 @@ public:
// Also called by input pin's GetAllocator()
void SetAllocator(IMemAllocator * pAllocator);
IMemInputPin * ConnectedIMemInputPin()
__out_opt IMemInputPin * ConnectedIMemInputPin()
{ return m_pInputPin; }
// Allow the filter to see what allocator we have
// N.B. This does NOT AddRef
IMemAllocator * PeekAllocator() const
__out IMemAllocator * PeekAllocator() const
{ return m_pAllocator; }
HRESULT CompleteConnect(IPin *pReceivePin);
@@ -151,10 +151,10 @@ public:
// not modify the data samples (for instance it's just copying
// them somewhere else or looking at the timestamps).
CTransInPlaceFilter(TCHAR *, LPUNKNOWN, REFCLSID clsid, HRESULT *,
CTransInPlaceFilter(__in_opt LPCTSTR, __inout_opt LPUNKNOWN, REFCLSID clsid, __inout HRESULT *,
bool bModifiesData = true);
#ifdef UNICODE
CTransInPlaceFilter(CHAR *, LPUNKNOWN, REFCLSID clsid, HRESULT *,
CTransInPlaceFilter(__in_opt LPCSTR, __inout_opt LPUNKNOWN, REFCLSID clsid, __inout HRESULT *,
bool bModifiesData = true);
#endif
// The following are defined to avoid undefined pure virtuals.
@@ -162,13 +162,13 @@ public:
// We override EnumMediaTypes to bypass the transform class enumerator
// which would otherwise call this.
HRESULT GetMediaType(int iPosition, CMediaType *pMediaType)
HRESULT GetMediaType(int iPosition, __inout CMediaType *pMediaType)
{ DbgBreak("CTransInPlaceFilter::GetMediaType should never be called");
return E_UNEXPECTED;
}
// This is called when we actually have to provide out own allocator.
HRESULT DecideBufferSize(IMemAllocator*, ALLOCATOR_PROPERTIES *);
// This is called when we actually have to provide our own allocator.
HRESULT DecideBufferSize(IMemAllocator*, __inout ALLOCATOR_PROPERTIES *);
// The functions which call this in CTransform are overridden in this
// class to call CheckInputType with the assumption that the type
@@ -211,7 +211,7 @@ public:
protected:
IMediaSample * CTransInPlaceFilter::Copy(IMediaSample *pSource);
__out_opt IMediaSample * CTransInPlaceFilter::Copy(IMediaSample *pSource);
#ifdef PERF
int m_idTransInPlace; // performance measuring id
@@ -223,11 +223,11 @@ protected:
friend class CTransInPlaceInputPin;
friend class CTransInPlaceOutputPin;
CTransInPlaceInputPin *InputPin() const
__out CTransInPlaceInputPin *InputPin() const
{
return (CTransInPlaceInputPin *)m_pInput;
};
CTransInPlaceOutputPin *OutputPin() const
__out CTransInPlaceOutputPin *OutputPin() const
{
return (CTransInPlaceOutputPin *)m_pOutput;
};

View File

@@ -3,16 +3,16 @@
//
// Desc: DirectShow base classes.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include "streams.h"
#include "measure.h"
#include <streams.h>
#include <measure.h>
// #include <vtransfr.h> // now in precomp file streams.h
CVideoTransformFilter::CVideoTransformFilter
( TCHAR *pName, LPUNKNOWN pUnk, REFCLSID clsid)
( __in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, REFCLSID clsid)
: CTransformFilter(pName, pUnk, clsid)
, m_itrLate(0)
, m_nKeyFramePeriod(0) // No QM until we see at least 2 key frames

View File

@@ -3,7 +3,7 @@
//
// Desc: DirectShow base classes - defines a video transform class.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
@@ -15,7 +15,7 @@ class CVideoTransformFilter : public CTransformFilter
{
public:
CVideoTransformFilter(TCHAR *, LPUNKNOWN, REFCLSID clsid);
CVideoTransformFilter(__in_opt LPCTSTR, __inout_opt LPUNKNOWN, REFCLSID clsid);
~CVideoTransformFilter();
HRESULT EndFlush();

Some files were not shown because too many files have changed in this diff Show More