Compare commits

...

7 Commits

Author SHA1 Message Date
refractionpcsx2
7cdf5eefc9 GS/TC: On clear delete overlapping depth targets 2025-05-24 05:03:48 +02:00
refractionpcsx2
c7ee72647d GS/HW: Improve texture shuffle/copy detection 2025-05-23 20:33:30 +02:00
Imre Eilertsen
5434af348e GameDB: Add listings for PSX Update Disc. 2025-05-23 13:31:40 +02:00
GovanifY
169cea0f01 docs: update in order to redirect from the GH wiki to our website 2025-05-22 17:43:42 +02:00
lightningterror
a8f3ec8184 GSClut: Get rid of m_read.dirty assert in GetAlphaMinMax32.
Replace it with a log.
2025-05-21 03:40:22 +02:00
lightningterror
7796b2a12b GS/HW: Add sanity/hazard checks for DATE and Texture barriers.
When checking for full barrier, also check if texture barriers
are supported.

Get rid of preprocessSel in DX11, turn off full barrier and related
stuff when not supported in rendererhw instead.

Check if StencilDate types are actually enabled, don't want to turn
it on for any others.
2025-05-21 03:40:22 +02:00
RedDevilus
d9cffd58ba GameDB: Add missing variants + fixes
Some games are missing some gamefixes or other type of fixes. Also added comment for like Energy Airforce where a legacy code never had a comment and removed mtvu for some variant + need to check in future to amend properly. Also missing entry SLPS-25875:
  name: "xxxHolic - Shigatsu Tsuitachi no Izayoi Sowa [Best Collection]"
2025-05-21 00:56:32 +02:00
10 changed files with 220 additions and 135 deletions

View File

@@ -1,54 +0,0 @@
# 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/07-Git-survival-guide)
* [How to build PCSX2 for Windows](https://github.com/PCSX2/pcsx2/wiki/12-Building-on-Windows)
* [How to build PCSX2 for Linux](https://github.com/PCSX2/pcsx2/wiki/10-Building-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/06-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)
## Tasks
* [Issues](https://github.com/PCSX2/pcsx2/issues)

View File

@@ -66,6 +66,10 @@ body:
Performance issues as a result of not meeting our hardware requirements are not valid.
Please read our troubleshooting pages and our issue reporting guide.
- [Troubleshooting page](https://pcsx2.net/docs/category/troubleshooting).
- [Issue reporting guide](https://pcsx2.net/docs/troubleshooting/identify).
We are **not** accepting issues related to the **libretro** core. The libretro core is being maintained separately at this time
- type: input
id: rev

View File

@@ -66,7 +66,7 @@ const embed = new MessageEmbed()
.setDescription("To download the latest or previous builds, [visit the official downloads page](https://pcsx2.net/downloads/).")
.addFields(
{ name: 'Version', value: releaseInfo.tag_name, inline: true },
{ name: 'Installation Steps', value: '[See Here](https://github.com/PCSX2/pcsx2/wiki/Nightly-Build-Usage-Guide)', inline: true },
{ name: 'Installation Steps', value: '[See Here](https://pcsx2.net/docs/category/setup)', inline: true },
{ name: 'Included Changes', value: releaseInfo.body, inline: false }
);
console.log(embed);

View File

@@ -24,4 +24,4 @@ Please note that a BIOS dump from a legitimately-owned PS2 console is required t
PCSX2 supports translation into other languages using [Crowdin](https://crowdin.com/project/pcsx2-emulator).
See the [Contributing Guidelines](https://github.com/PCSX2/pcsx2/blob/master/.github/CONTRIBUTING.md) or visit the [GitHub Wiki](https://github.com/PCSX2/pcsx2/wiki) for more info on how to contribute.
See the [Contribution Guide](https://pcsx2.net/docs/contributing/) for more info on how to contribute.

View File

@@ -818,6 +818,10 @@ PCPX-96310:
name-sort: "えくすとりーむ れーしんぐ SSX [たいけんばん]"
name-en: "X-treme Racing SSX [Trial]"
region: "NTSC-J"
roundModes:
eeRoundMode: 0 # Fixes riders vanishing into the floor.
gsHWFixes:
recommendedBlendingLevel: 4 # Fixes missing lighting.
PCPX-96311:
name: "GRAN TURISMO 3 [店頭試遊ディスク Vol.1]"
name-sort: "ぐらんつーりすも 3 てんとうしゆうでぃすくVol.1"
@@ -1215,6 +1219,26 @@ PKP2-00702:
region: "NTSC-J"
gameFixes:
- SoftwareRendererFMVHack # Vertical and horizontal lines in FMV.
PSXC-00201:
name: "DESR-7000/DESR-5000 専用:PSXアップデートディスク Version 1.10"
name-sort: "でえする-7000/でえする-5000 せんよう:PSXあっぷでーとでぃす うえるしぉん 1.10"
name-en: "PSX Update Disc Version 1.10"
region: "NTSC-J"
PSXC-00202:
name: "DESR-7000/DESR-5000 専用:PSXアップデートディスク Version 1.20"
name-sort: "でえする-7000/でえする-5000 せんよう:PSXあっぷでーとでぃす うえるしぉん 1.20"
name-en: "PSX Update Disc Version 1.20"
region: "NTSC-J"
PSXC-00203:
name: "DESR-7000/DESR-5000 専用:PSXアップデートディスク Version 1.31"
name-sort: "でえする-7000/でえする-5000 せんよう:PSXあっぷでーとでぃす うえるしぉん 1.31"
name-en: "PSX Update Disc Version 1.31"
region: "NTSC-J"
PSXC-00204:
name: "DESR-7000/DESR-5000 専用:PSXアップデートディスク Version 2.11"
name-sort: "でえする-7000/でえする-5000 せんよう:PSXあっぷでーとでぃす うえるしぉん 2.11"
name-en: "PSX Update Disc Version 2.11"
region: "NTSC-J"
PUPX-93033:
name: "PlayStation Seizou Kensa-you Disc 3 CD-ROM US-ban Ver1.1"
region: "NTSC-U"
@@ -1291,6 +1315,8 @@ SCAJ-20001:
SCAJ-20002:
name: "Gallop Racer 6 - Revolution"
region: "NTSC-Unk"
gsHWFixes:
recommendedBlendingLevel: 2 # Improves lighting, maximum blending is needed for full accuracy.
SCAJ-20003:
name: "アルゴスの戦士"
name-sort: "あるごすのせんし"
@@ -1441,7 +1467,7 @@ SCAJ-20025:
name: "Grand Prix Challenge"
region: "NTSC-Unk"
gameFixes:
- VIFFIFOHack
- VIFFIFOHack # TODO check what this fixes.
SCAJ-20026:
name: "Generation of Chaos 3"
region: "NTSC-Unk"
@@ -1500,8 +1526,10 @@ SCAJ-20040:
SCAJ-20041:
name: "Energy Airforce - Aim Strike!"
region: "NTSC-Unk"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding.
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SCAJ-20043:
name: "Chain Dive"
@@ -10390,6 +10418,11 @@ SCPS-55044:
name-sort: "えなじーえあふぉーす [Asiaばん]"
name-en: "Energy Airforce [Asia Version]"
region: "NTSC-J"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SCPS-55045:
name: "ポイニーポイン"
name-sort: "ぽいにーぽいん"
@@ -17182,7 +17215,7 @@ SLES-51296:
region: "PAL-M5"
compat: 5
gameFixes:
- VIFFIFOHack
- VIFFIFOHack # TODO check what this fixes.
SLES-51298:
name: "Jimmy Neutron - Boy Genius"
region: "PAL-E"
@@ -17857,9 +17890,19 @@ SLES-51646:
name: "Energy Airforce"
region: "PAL-M4"
compat: 5
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLES-51647:
name: "Energy Airforce"
region: "PAL-I"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLES-51649:
name: "Judge Dredd - Dredd vs. Death"
region: "PAL-M4"
@@ -19363,20 +19406,26 @@ SLES-52259:
SLES-52265:
name: "Energy Airforce - Aim Strike!"
region: "PAL-E"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding.
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLES-52266:
name: "Energy Airforce - Aim Strike!"
region: "PAL-F"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding.
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLES-52267:
name: "Energy Airforce - Aim Strike!"
region: "PAL-I"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding.
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLES-52275:
name: "Way of the Samurai 2"
@@ -19521,6 +19570,11 @@ SLES-52309:
SLES-52310:
name: "Energy Airforce"
region: "PAL-E"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLES-52312:
name: "World Championship Rugby"
region: "PAL-E-F"
@@ -21873,7 +21927,7 @@ SLES-53079:
name: "Ys - The Ark of Napishtim"
region: "PAL-M5"
gameFixes:
- EETimingHack
- EETimingHack # TODO check what this fixes.
SLES-53080:
name: "Extreme Sprint 3010"
region: "PAL-E"
@@ -30318,6 +30372,11 @@ SLKA-25001:
SLKA-25002:
name: "Energy Airforce"
region: "NTSC-K"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLKA-25003:
name: "Herdy Gerdy"
region: "NTSC-K"
@@ -30500,6 +30559,8 @@ SLKA-25053:
SLKA-25054:
name: "Grand Prix Challenge"
region: "NTSC-K"
gameFixes:
- VIFFIFOHack # TODO check what this fixes.
SLKA-25055:
name: "Hitman 2 - Silent Assassin"
region: "NTSC-K"
@@ -30996,8 +31057,10 @@ SLKA-25180:
SLKA-25181:
name: "Energy Airforce Aim Strike!"
region: "NTSC-K"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding.
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLKA-25182:
name: "Hajime no Ippo2 Victorious Road"
@@ -31095,6 +31158,9 @@ SLKA-25204:
SLKA-25205:
name: "Dragon Ball Z 3"
region: "NTSC-K"
gsHWFixes:
halfPixelOffset: 4 # Aligns post effects.
nativeScaling: 2 # Fixes post processing and lighting smoothness and position.
SLKA-25206:
name: "Burnout 3 - Takedown"
region: "NTSC-K"
@@ -31308,7 +31374,7 @@ SLKA-25249:
name: "Ys - The Ark of Napishtim [with Guide Book]"
region: "NTSC-K"
gameFixes:
- EETimingHack
- EETimingHack # TODO check what this fixes.
SLKA-25250:
name: "GoldenEye - Rogue Agent"
region: "NTSC-K"
@@ -34290,6 +34356,11 @@ SLPM-60183:
name-sort: "えなじーえあふぉーす TRIAL VERSION [たいけんばん]"
name-en: "Energy Airforce TRIAL VERSION [Trial]"
region: "NTSC-J"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLPM-60184:
name: "GUNGRAVE [体験版]"
name-sort: "がんぐれいぶ [たいけんばん]"
@@ -35289,6 +35360,9 @@ SLPM-61111:
name-sort: "どらごんぼーるZ3 [たいけんばん]"
name-en: "Dragon Ball Z 3 [Trial]"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 4 # Aligns post effects.
nativeScaling: 2 # Fixes post processing and lighting smoothness and position.
SLPM-61112:
name: "天星 ソード オブ デスティニー [体験版]"
name-sort: "てんせい そーど おぶ ですてぃにー [たいけんばん]"
@@ -40690,6 +40764,11 @@ SLPM-65177:
name-en: "Energy Airforce"
region: "NTSC-J"
compat: 5
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLPM-65178:
name: "Ferrari F355 challenge"
name-sort: "ふぇらーり F355 ちゃれんじ"
@@ -41333,7 +41412,7 @@ SLPM-65276:
name-en: "Grand Prix Challenge"
region: "NTSC-J"
gameFixes:
- VIFFIFOHack
- VIFFIFOHack # TODO check what this fixes.
SLPM-65277:
name: "DDRMAX2 Dance Dance Revolution 7th Mix"
name-sort: "だんすだんすれぼりゅーしょん まっくす2 Dance Dance Revolution 7th Mix"
@@ -41869,10 +41948,9 @@ SLPM-65374:
name-en: "Energy Airforce - Aim Strike!"
region: "NTSC-J"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame.
mtvu: 0
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding.
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLPM-65375:
name: "真・三國無双3 & 真・三國無双3 猛将伝 [ディスク 1] [プレミアムパック]"
@@ -44462,14 +44540,14 @@ SLPM-65829:
name-en: "Ys - The Ark of Napishtim [Limited Edition]"
region: "NTSC-J"
gameFixes:
- EETimingHack
- EETimingHack # TODO check what this fixes.
SLPM-65830:
name: "イース ~ナピシュテムの匣~ [初回生産版]"
name-sort: "いーす6 なぴしゅてむのはこ [しょかいせいさんばん]"
name-en: "Ys - The Ark of Napishtim [Limited Edition]"
region: "NTSC-J"
gameFixes:
- EETimingHack
- EETimingHack # TODO check what this fixes.
SLPM-65831:
name: "ハローキティのピコピコ大作戦!"
name-sort: "はろーきてぃのぴこぴこだいさくせん!"
@@ -44501,7 +44579,7 @@ SLPM-65836:
name-en: "Ys - The Ark of Napishtim"
region: "NTSC-J"
gameFixes:
- EETimingHack
- EETimingHack # TODO check what this fixes.
SLPM-65837:
name: "ターミネーター3: ザ・レデンプション"
name-sort: "たーみねーたー 3: ざ れでんぷしょん"
@@ -47556,6 +47634,8 @@ SLPM-66326:
name-sort: "いーす なぴしゅてむのはこ [KONAMI The BEST]"
name-en: "Ys - The Ark of Napishtim [KONAMI The BEST]"
region: "NTSC-J"
gameFixes:
- EETimingHack # TODO check what this fixes.
SLPM-66327:
name: "ウォレスとグルミット野菜畑で大ピンチ!"
name-sort: "うぉれすとぐるみっとやさいはたけでだいぴんち!"
@@ -50342,6 +50422,11 @@ SLPM-66774:
name-sort: "えなじーえあーふぉーす [Eternal Hits]"
name-en: "Energy Airforce [Eternal Hits]"
region: "NTSC-J"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLPM-66775:
name: "タイトーメモリーズ 上巻 [Eternal Hits]"
name-sort: "たいとーめもりーず 01 じょうかん [Eternal Hits]"
@@ -52881,6 +52966,11 @@ SLPM-74414:
name-sort: "えなじーえあーふぉーす [PlayStation2 The Best]"
name-en: "Energy Airforce [PlayStation2 The Best]"
region: "NTSC-J"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
SLPM-74415:
name: "忍 -Shinobi- [PlayStation2 the Best]"
name-sort: "しのび [PlayStation2 the Best]"
@@ -58218,6 +58308,9 @@ SLPS-25460:
name-sort: "どらごんぼーるZ3"
name-en: "Dragon Ball Z 3"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 4 # Aligns post effects.
nativeScaling: 2 # Fixes post processing and lighting smoothness and position.
SLPS-25461:
name: "アーマード・コア フォーミュラフロント"
name-sort: "あーまーどこあ ふぉーみゅらふろんと"
@@ -59036,6 +59129,8 @@ SLPS-25602:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol. 2 ぼんばーぱわふる&ゆめゆめわーるどDX"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol. 2 - Bomber Powerfull & Yume Yume World DX"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25603:
name: "天星 SWORDS OF DESTINY Best Collection"
name-sort: "てんせい SWORDS OF DESTINY Best Collection"
@@ -59134,6 +59229,8 @@ SLPS-25620:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol. 3 CRまりりん・もんろー"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol. 3 - CR Marilyn Monroe"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25621:
name: "かしまし ~ガールミーツガール~「初めての夏物語。」限定版"
name-sort: "かしまし がーるみーつがーる「はじめてのなつものがたり」げんていばん"
@@ -59322,6 +59419,8 @@ SLPS-25648:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol. 5 CRしんせいきえゔぁんげりおん せかんどいんぱくと&ぱちすろしんせいきえゔぁんげりおん"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol. 5 - CR Shinseiki Evangelion Second Impact & Pachisuro Shinseiki Evangelion"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25649:
name: "宇宙刑事魂"
name-sort: "うちゅうけいじたましい"
@@ -59504,6 +59603,8 @@ SLPS-25672:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol. 6 7Cafe けいしきめいぼんばーぱわふる2"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol. 6 7Cafe - Katashiki Mei Bomber Powerfull 2"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25673:
name: "ラスト・エスコート~黒蝶スペシャルナイト~"
name-sort: "らすと・えすこーと くろちょうすぺしゃるないと"
@@ -59659,6 +59760,8 @@ SLPS-25699:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol. 8 CRまつうらあや"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol. 8 CR Matsuura Aya"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25700:
name: "蒼い海のトリスティア ~ナノカ・フランカ発明工房記~ The Best Price"
name-sort: "あおいうみのとりすてぃあ なのかふらんかはつめいこうぼうき The Best Price"
@@ -59931,11 +60034,15 @@ SLPS-25745:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol. 1 CRしんせいきえゔぁんげりおん [すぺしゃるぷらいすばん]"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol. 1 - CR Shinseiki Evangelion [Special Price Edition]"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25746:
name: "必勝パチンコ★パチスロ攻略シリーズ Vol.9 CRフィーバー キャプテンハーロック"
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol. 9 CRふぃーばー きゃぷてんはーろっく"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol. 9 CR Fever Captain Harlock"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25747:
name: "餓狼伝 Breakblow Fist or Twist"
name-sort: "がろうでん Breakblow Fist or Twist"
@@ -60276,6 +60383,8 @@ SLPS-25806:
name-en: "Katekyoo Hitman Reborn! Dream Hyper Battle - Shinuki no Honoo to Kuroki Kioku"
region: "NTSC-J"
compat: 5
gsHWFixes:
roundSprite: 2 # Reduces font artifacts but characters still have major artifacts.
SLPS-25807:
name: "セイント・ビースト ~螺旋の章~ [限定版]"
name-sort: "せいんと びーすと らせんのしょう [げんていばん]"
@@ -60311,6 +60420,8 @@ SLPS-25813:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol.11 しんせいきえゔぁんげりおん まごころをきみに"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol.11 - Shinseiki Evangelion - Magokoro o, Kimi ni"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25814:
name: "新世紀GPX サイバーフォーミュラ Road To The INFINITY 4"
name-sort: "しんせいきGPX さいばーふぉーみゅら Road To The INFINITY 4"
@@ -60618,11 +60729,15 @@ SLPS-25861:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol.10 CRしんせいきえゔぁんげりおん きせきのかちは [すぺしゃるぷらいすばん]"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol.10 CR Neon Genesis Evangelion Kiseki no Kachi wa [Special Price Edition]"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25862:
name: "必勝パチンコ★パチスロ攻略シリーズ Vol.5 CR新世紀エヴァンゲリオンセカンドインパクト [スペシャルプライス版]"
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol. 5 CRしんせいきえゔぁんげりおん せかんどいんぱくと [すぺしゃるぷらいすばん]"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol.5 - CR Neon Genesis Evangelion Sekandoinpakuto & Pachislot Neon Genesis Evangelion [Special Price Edition]"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25863:
name: "NEOGEOオンラインコレクション THE BEST 餓狼伝説 バトルアーカイブズ1"
name-sort: "ねおじおおんらいんこれくしょん THE BEST がろうでんせつ ばとるあーかいぶず1"
@@ -60658,6 +60773,8 @@ SLPS-25869:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol.12 CRしんせいきえゔぁんげりおん しと ふたたび"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol.12 CR Shinseiki Evangelion - Shito, Futatabi"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25871:
name: "ドラスティックキラー"
name-sort: "どらすてぃっくきらー"
@@ -60673,6 +60790,11 @@ SLPS-25874:
name-sort: "しんぷる2000しりーず Vol.123 THEおふぃすらぶじけんぼ れいじょうたんてい"
name-en: "Simple 2000 Series Vol. 123 - The Office Love Jikenbo - Reijou Tantei"
region: "NTSC-J"
SLPS-25875:
name: "xxxHolic - Shigatsu Tsuitachi no Izayoi Sowa [Best Collection]"
name-sort: "ほりっく わたぬきのいざよいそうわ [Best Collection]"
name-en: "xxxHolic - Shigatsu Tsuitachi no Izayoi Sowa [Best Collection]"
region: "NTSC-J"
SLPS-25876:
name: "新牧場物語 ピュア イノセントライフ [Best Collection]"
name-sort: "しんぼくじょうものがたり ぴゅあ いのせんとらいふ [Best Collection]"
@@ -60865,6 +60987,8 @@ SLPS-25904:
name-sort: "かてきょーひっとまんりぼーん! きんだんのやみのでるた"
name-en: "Katekyoo Hitman Reborn! Dream Hyper Battle - Kindan no Yami no Delta"
region: "NTSC-J"
gsHWFixes:
roundSprite: 2 # Reduces font artifacts but characters still have major artifacts.
SLPS-25905:
name: "ドラゴンボールZ インフィニットワールド"
name-sort: "どらごんぼーるZ いんふぃにっとわーるど"
@@ -60894,16 +61018,22 @@ SLPS-25909:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol.13 しんせいきえヴぁんげりおん~やくそくのとき~"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol.13 - Shin Seiki Evangelion - Yakusoku no Toki"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25910:
name: "家庭教師ヒットマンREBORNドリームハイパーバトル死ぬ気の炎と黒き記憶 [Best Collection]"
name-sort: "かてきょーひっとまんりぼーん! どりーむはいぱーばとる!しぬきのほのおとくろききおく [Best Collection]"
name-en: "Katekyoo Hitman Reborn! Dream Hyper Battle - Shinuki no Honoo to Kuroki Kioku [Best Collection]"
region: "NTSC-J"
gsHWFixes:
roundSprite: 2 # Reduces font artifacts but characters still have major artifacts.
SLPS-25911:
name: "必勝パチンコ★パチスロ攻略シリーズ Vol.11 新世紀エヴァンゲリオン~まごころを、君に~ [スペシャルプライス版]"
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol.11 しんせいきえゔぁんげりおん まごころを、きみに [すぺしゃるぷらいすばん]"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol.11 - Shinseiki Evangelion - Magokoro wo, Kimi ni [Special Price Edition]"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25912:
name: "ソウルイーター バトルレゾナンス"
name-sort: "そうるいーたー ばとるれぞなんす"
@@ -61076,11 +61206,15 @@ SLPS-25942:
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol.14 しんせいきえゔぁんげりおん さいごのししゃ"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol.14 - CR Shinseiki Evangelion - Saigo no Shisha"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25943:
name: "必勝パチンコ★パチスロ攻略シリーズ Vol.14 CR新世紀エヴァンゲリオン最後のシ者 [限定版]"
name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol.14 しんせいきえゔぁんげりおん さいごのししゃ [げんていばん]"
name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol.14 - CR Shinseiki Evangelion - Saigo no Shisha [Limited Edition]"
region: "NTSC-J"
gameFixes:
- EETimingHack # Fixes FMV hanging.
SLPS-25944:
name: "仮面ライダー クライマックスヒーローズ"
name-sort: "かめんらいだー くらいまっくすひーろーず"
@@ -62048,6 +62182,9 @@ SLPS-73259:
name-sort: "どっとはっく G.U. Vol.1 さいたん [PlayStation2 the Best]"
name-en: ".hack//G.U. Vol.1 - Rebirth [PlayStation2 the Best]"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 2 # Sharpens world in far distances.
roundSprite: 1 # Corrects proportions of some letters in HUD.
SLPS-73263:
name: "アルトネリコ2 世界に響く少女たちの創造詩 [PlayStation2 the Best]"
name-sort: "あるとねりこ2 せかいにひびくしょうじょたちのそうぞうし [PlayStation2 the Best]"
@@ -65288,7 +65425,7 @@ SLUS-20630:
region: "NTSC-U"
compat: 5
gameFixes:
- VIFFIFOHack
- VIFFIFOHack # TODO check what this fixes.
SLUS-20631:
name: "NFL Blitz Pro"
region: "NTSC-U"
@@ -67279,7 +67416,7 @@ SLUS-20980:
region: "NTSC-U"
compat: 5
gameFixes:
- EETimingHack
- EETimingHack # TODO check what this fixes.
SLUS-20981:
name: "Teenage Mutant Ninja Turtles 2 - Battle Nexus"
region: "NTSC-U"
@@ -70550,6 +70687,9 @@ SLUS-21480:
- "SLUS-21488"
- "SLUS-21489"
- "SLUS-21480"
gsHWFixes:
halfPixelOffset: 2 # Sharpens world in far distances.
roundSprite: 1 # Corrects proportions of some letters in HUD.
SLUS-21481:
name: "NCAA March Madness 07"
region: "NTSC-U"
@@ -74120,10 +74260,9 @@ TCPS-10073:
name-en: "Energy Airforce - Aim Strike! [TAITO 2002]"
region: "NTSC-J"
speedHacks:
instantVU1: 0 # Fixes hanging while going ingame.
mtvu: 0
instantVU1: 0 # Fixes hanging while going ingame easiest test is making a replay and load the replay once or more which gives you blackscreen and 100% EE with low performance.
gsHWFixes:
recommendedBlendingLevel: 5 # Alleviates color banding.
recommendedBlendingLevel: 5 # Alleviates color banding also the cockpit and missile shadows are darker if enabled.
autoFlush: 2 # Corrects post-processing effect on jet exhausts.
TCPS-10074:
name: "スペースインベーダー アニバーサリー [筐体型コントローラ同梱セット]"

View File

@@ -20,7 +20,11 @@ There are a number of ways to help the project, whether it be bug reporting, gam
* Want to make changes to emulator code? [Check out the issue tracker](https://github.com/PCSX2/pcsx2/issues), or [fork the PCSX2 repository and work on your own ideas](https://github.com/PCSX2/pcsx2).
* Want to patch games? [Check out the cheats and patches forum thread for inspiration](https://forums.pcsx2.net/Thread-Post-your-PCSX2-cheats-patches-here). There are other threads to find as well, [such as those dedicated to 60 FPS patches](https://forums.pcsx2.net/Thread-60-fps-codes) or [widescreen patches](https://forums.pcsx2.net/Thread-PCSX2-Widescreen-Game-Patches).
<<<<<<< HEAD
* Want to report bugs you have discovered in your games? Head over to [the Bug Reporting section of the PCSX2 forums](https://forums.pcsx2.net/Forum-Bug-reporting), to [the PCSX2 Discord](https://pcsx2.net/discord), or to [the GitHub issues section](https://github.com/PCSX2/pcsx2/issues).
=======
* Want to report bugs you have discovered in your games? [Head over to the Bug Reporting section of the PCSX2 forums](https://forums.pcsx2.net/Forum-Bug-reporting). Also check out our [Issue reporting guide](https://pcsx2.net/docs/troubleshooting/identify) for info on how to better report to us issues.
>>>>>>> 091a4ee5a (docs: update in order to redirect from the GH wiki to our website)
* Want to update us on the compatibility of your games? [Take a look at the Public Compatibility List on the PCSX2 forums](https://forums.pcsx2.net/Forum-Public-compatibility-list)
* Want to improve the PCSX2 wiki? [Here is how to contribute](https://wiki.pcsx2.net/How_to_contribute)
@@ -120,9 +124,7 @@ If you are using a disc:
Fast Boot, enabled by default, will directly mount and launch the game without first launching the PS2 BIOS. You may disable this in Settings > BIOS > Fast Boot if you wish to see the BIOS startup animation or if Fast Boot is causing an issue.
### Question 18: How do I build the PCSX2 source code?
* [Windows build guide](https://github.com/PCSX2/pcsx2/wiki/12-Building-on-Windows)
* [Linux build guide](https://github.com/PCSX2/pcsx2/wiki/10-Building-on-Linux)
* [macOS build guide](https://github.com/PCSX2/pcsx2/wiki/11-Building-on-MacOS)
Have a nice [building guide](https://pcsx2.net/docs/advanced/building) :) .
### Question 19: When will the next version be released?
It will be released when it is ready. Please don't waste your time and ours asking when.

View File

@@ -462,7 +462,8 @@ void GSClut::GetAlphaMinMax32(int& amin_out, int& amax_out)
{
// call only after Read32
pxAssert(!m_read.dirty);
if (m_read.dirty)
GL_INS("GSClut: GetAlphaMinMax32 m_read.dirty");
if (m_read.adirty)
{

View File

@@ -2477,20 +2477,9 @@ D3D_SHADER_MACRO* GSDevice11::ShaderMacro::GetPtr()
return (D3D_SHADER_MACRO*)mout.data();
}
/// Checks that we weren't sent things we declared we don't support
/// Clears things we don't support that can be quietly disabled
static void preprocessSel(GSDevice11::PSSelector& sel)
{
pxAssert(sel.write_rg == 0); // Not supported, shouldn't be sent
}
void GSDevice11::RenderHW(GSHWDrawConfig& config)
{
pxAssert(!config.require_full_barrier); // We always specify no support so it shouldn't request this
preprocessSel(config.ps);
GSVector2i rtsize = (config.rt ? config.rt : config.ds)->GetSize();
const GSVector2i rtsize = (config.rt ? config.rt : config.ds)->GetSize();
GSTexture* colclip_rt = g_gs_device->GetColorClipTexture();
if (colclip_rt)
@@ -2542,7 +2531,8 @@ void GSDevice11::RenderHW(GSHWDrawConfig& config)
StretchRect(colclip_rt ? colclip_rt : config.rt, GSVector4(config.drawarea) / GSVector4(rtsize).xyxy(),
primid_tex, GSVector4(config.drawarea), m_date.primid_init_ps[static_cast<u8>(config.datm)].get(), nullptr, false);
}
else if (config.destination_alpha != GSHWDrawConfig::DestinationAlphaMode::Off)
else if (config.destination_alpha == GSHWDrawConfig::DestinationAlphaMode::Stencil ||
config.destination_alpha == GSHWDrawConfig::DestinationAlphaMode::StencilOne)
{
const GSVector4 src = GSVector4(config.drawarea) / GSVector4(config.ds->GetSize()).xyxy();
const GSVector4 dst = src * 2.0f - 1.0f;
@@ -2676,7 +2666,6 @@ void GSDevice11::RenderHW(GSHWDrawConfig& config)
if (config.alpha_second_pass.enable)
{
preprocessSel(config.alpha_second_pass.ps);
if (config.cb_ps.FogColor_AREF.a != config.alpha_second_pass.ps_aref)
{
config.cb_ps.FogColor_AREF.a = config.alpha_second_pass.ps_aref;

View File

@@ -2886,17 +2886,20 @@ void GSRendererHW::Draw()
// It's possible it's writing to an old 32bit target, but is actually just a 16bit copy, so let's make sure it's actually using a mask.
if (!shuffle_target)
{
bool shuffle_channel_reads = true;
bool shuffle_channel_reads = !m_cached_ctx.FRAME.FBMSK;
const u32 increment = (m_vt.m_primclass == GS_TRIANGLE_CLASS) ? 3 : 2;
const GSVertex* v = &m_vertex.buff[0];
if (!m_cached_ctx.FRAME.FBMSK)
if (shuffle_channel_reads)
{
for (u32 i = 0; i < m_index.tail; i += increment)
{
const int first_u = (PRIM->FST ? v[i].U : static_cast<int>(v[i].ST.S / v[(increment == 2) ? i + 1 : i].RGBAQ.Q)) >> 4;
const int second_u = (PRIM->FST ? v[i + 1].U : static_cast<int>(v[i + 1].ST.S / v[i + 1].RGBAQ.Q)) >> 4;
if (std::abs((v[i + 1].XYZ.X - v[i].XYZ.X) / 16) != 8 || std::abs(second_u - first_u) != 8)
const int vector_width = std::abs(v[i + 1].XYZ.X - v[i].XYZ.X) / 16;
const int tex_width = std::abs(second_u - first_u);
// & 7 just a quicker way of doing % 8
if ((vector_width & 7) != 0 || (tex_width & 7) != 0 || tex_width != vector_width)
{
shuffle_channel_reads = false;
break;
@@ -2915,6 +2918,8 @@ void GSRendererHW::Draw()
if (tgt)
shuffle_target = tgt->m_32_bits_fmt;
else
shuffle_target = shuffle_channel_reads;
tgt = nullptr;
}
@@ -2961,12 +2966,12 @@ void GSRendererHW::Draw()
if (possible_shuffle && GSLocalMemory::m_psm[m_cached_ctx.TEX0.PSM].bpp != 16)
possible_shuffle &= draw_uses_target;
const bool shuffle_source = src && (src->m_from_target != nullptr || (m_skip && possible_shuffle));
const bool shuffle_source = possible_shuffle && src && ((src->m_from_target != nullptr && GSLocalMemory::m_psm[src->m_from_target->m_TEX0.PSM].bpp != 16) || m_skip);
if (!shuffle_source)
if (!shuffle_source && possible_shuffle)
{
if(draw_start > src->m_TEX0.TBP0 || draw_end < src->m_TEX0.TBP0)
possible_shuffle &= src && (src->m_from_target != nullptr || (m_skip && possible_shuffle));
const bool is_16bit_copy = m_cached_ctx.TEX0.TBP0 != m_cached_ctx.FRAME.Block() && shuffle_target && IsOpaque() && !(context->TEX1.MMIN & 1) && !src->m_32_bits_fmt && m_cached_ctx.FRAME.FBMSK;
possible_shuffle &= is_16bit_copy || (m_cached_ctx.TEX0.TBP0 == m_cached_ctx.FRAME.Block() && shuffle_target);
}
// We don't know the alpha range of direct sources when we first tried to optimize the alpha test.
// Moving the texture lookup before the ATST optimization complicates things a lot, so instead,
@@ -3417,38 +3422,32 @@ void GSRendererHW::Draw()
t_size.x = rt->m_unscaled_size.x - horizontal_offset;
t_size.y = rt->m_unscaled_size.y - vertical_offset;
}
// Don't resize if the BPP don't match.
if (frame_psm.bpp == GSLocalMemory::m_psm[rt->m_TEX0.PSM].bpp)
GSVector2i new_size = GetValidSize(src, possible_shuffle);
if (new_size.x > rt->m_unscaled_size.x || new_size.y > rt->m_unscaled_size.y)
{
if (m_r.w > rt->m_unscaled_size.y || m_r.z > rt->m_unscaled_size.x)
const u32 new_width = std::max(new_size.x, rt->m_unscaled_size.x);
const u32 new_height = std::max(new_size.y, rt->m_unscaled_size.y);
//DevCon.Warning("HW: Resizing texture %d x %d draw %d", rt->m_unscaled_size.x, new_height, s_n);
rt->ResizeTexture(new_width, new_height);
}
else if ((IsPageCopy() || is_possible_mem_clear) && m_r.width() <= frame_psm.pgs.x && m_r.height() <= frame_psm.pgs.y)
{
const int get_next_ctx = m_env.PRIM.CTXT;
const GSDrawingContext& next_ctx = m_env.CTXT[get_next_ctx];
GSVector4i update_valid = GSVector4i::loadh(GSVector2i(horizontal_offset + GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.x, GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.y + vertical_offset));
rt->UpdateValidity(update_valid, true);
if (is_possible_mem_clear)
{
const u32 new_height = std::max(m_r.w, rt->m_unscaled_size.y);
const u32 new_width = std::max(m_r.z, rt->m_unscaled_size.x);
//DevCon.Warning("HW: Resizing texture %d x %d draw %d", rt->m_unscaled_size.x, new_height, s_n);
rt->ResizeTexture(new_width, new_height);
const bool frame_masked = ((m_cached_ctx.FRAME.FBMSK & frame_psm.fmsk) == frame_psm.fmsk) || (m_cached_ctx.TEST.ATE && m_cached_ctx.TEST.ATST == ATST_NEVER && !(m_cached_ctx.TEST.AFAIL & AFAIL_FB_ONLY));
rt->UpdateValidity(m_r, !frame_masked);
rt->UpdateDrawn(m_r, !frame_masked);
}
else if ((IsPageCopy() || is_possible_mem_clear) && m_r.width() <= frame_psm.pgs.x && m_r.height() <= frame_psm.pgs.y)
{
const int get_next_ctx = m_env.PRIM.CTXT;
const GSDrawingContext& next_ctx = m_env.CTXT[get_next_ctx];
GSVector4i update_valid = GSVector4i::loadh(GSVector2i(horizontal_offset + GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.x, GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.y + vertical_offset));
rt->UpdateValidity(update_valid, true);
if (is_possible_mem_clear)
if ((horizontal_offset + GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.x) >= static_cast<int>(rt->m_TEX0.TBW * 64) && next_ctx.FRAME.Block() == (m_cached_ctx.FRAME.Block() + 0x20))
{
if ((horizontal_offset + GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.x) >= static_cast<int>(rt->m_TEX0.TBW * 64) && next_ctx.FRAME.Block() == (m_cached_ctx.FRAME.Block() + 0x20))
{
update_valid.x = 0;
update_valid.z = GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.x;
update_valid.y += GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.y;
update_valid.w += GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.y;
rt->UpdateValidity(update_valid, true);
}
update_valid.x = 0;
update_valid.z = GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.x;
update_valid.y += GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.y;
update_valid.w += GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.y;
rt->UpdateValidity(update_valid, true);
}
}
}
@@ -6054,10 +6053,9 @@ void GSRendererHW::EmulateBlending(int rt_alpha_min, int rt_alpha_max, const boo
// Switch DATE_PRIMID with DATE_BARRIER in such cases to ensure accuracy.
// No mix of COLCLIP + sw blend + DATE_PRIMID, neither sw fbmask + DATE_PRIMID.
// Note: Do the swap in the end, saves the expensive draw splitting/barriers when mixed software blending is used.
if (sw_blending && DATE_PRIMID && m_conf.require_full_barrier)
if (sw_blending && DATE_PRIMID && features.texture_barrier && m_conf.require_full_barrier)
{
GL_PERF("DATE: Swap DATE_PRIMID with DATE_BARRIER");
m_conf.require_full_barrier = true;
DATE_PRIMID = false;
DATE_BARRIER = true;
}
@@ -7472,7 +7470,7 @@ __ri void GSRendererHW::DrawPrims(GSTextureCache::Target* rt, GSTextureCache::Ta
if (m_conf.destination_alpha >= GSHWDrawConfig::DestinationAlphaMode::Stencil &&
m_conf.destination_alpha <= GSHWDrawConfig::DestinationAlphaMode::StencilOne && !m_conf.ds)
{
const bool is_one_barrier = (m_conf.require_full_barrier && (m_prim_overlap == PRIM_OVERLAP_NO || m_conf.ps.shuffle || m_channel_shuffle));
const bool is_one_barrier = (features.texture_barrier && m_conf.require_full_barrier && (m_prim_overlap == PRIM_OVERLAP_NO || m_conf.ps.shuffle || m_channel_shuffle));
if ((temp_ds.reset(g_gs_device->CreateDepthStencil(m_conf.rt->GetWidth(), m_conf.rt->GetHeight(), GSTexture::Format::DepthStencil, false)), temp_ds))
{
m_conf.ds = temp_ds.get();
@@ -7648,11 +7646,17 @@ __ri void GSRendererHW::DrawPrims(GSTextureCache::Target* rt, GSTextureCache::Ta
pxAssert(!m_conf.require_full_barrier || !m_conf.ps.colclip_hw);
// Swap full barrier for one barrier when there's no overlap, or a shuffle.
if (m_conf.require_full_barrier && (m_prim_overlap == PRIM_OVERLAP_NO || m_conf.ps.shuffle || m_channel_shuffle))
if (features.texture_barrier && m_conf.require_full_barrier && (m_prim_overlap == PRIM_OVERLAP_NO || m_conf.ps.shuffle || m_channel_shuffle))
{
m_conf.require_full_barrier = false;
m_conf.require_one_barrier = true;
}
else if (!features.texture_barrier)
{
// These shouldn't be enabled if texture barriers aren't supported, make sure they are off.
m_conf.ps.write_rg = 0;
m_conf.require_full_barrier = false;
}
// rs
const GSVector4i hacked_scissor = m_channel_shuffle ? GSVector4i::cxpr(0, 0, 1024, 1024) : m_context->scissor.in;

View File

@@ -3940,7 +3940,7 @@ void GSTextureCache::InvalidateContainedTargets(u32 start_bp, u32 end_bp, u32 wr
const u32 offset = (std::abs(static_cast<int>(start_bp - t->m_TEX0.TBP0)) >> 5) % std::max(1U, t->m_TEX0.TBW);
// If not fully contained but they are aligned and or clean, just dirty the area.
if (start_bp != t->m_TEX0.TBP0 && (t->m_TEX0.TBP0 < start_bp || t->UnwrappedEndBlock() > end_bp) && (offset == 0 || t->m_dirty.size() == 0))
if (type != DepthStencil && start_bp != t->m_TEX0.TBP0 && (t->m_TEX0.TBP0 < start_bp || t->UnwrappedEndBlock() > end_bp) && (offset == 0 || t->m_dirty.size() == 0))
{
if (write_bw == t->m_TEX0.TBW && GSLocalMemory::m_psm[t->m_TEX0.PSM].bpp == GSLocalMemory::m_psm[write_psm].bpp)
{