Commit Graph

19020 Commits

Author SHA1 Message Date
Henrik Rydgard
639d56aa27 Remove a few minor differences between the state mapping code in the two backends 2015-11-12 18:11:32 +01:00
Henrik Rydgard
df94914a63 D3D: No need to convert blendcolor to float and back
Fix bug with constantAlpha

Remove misleading comment, thanks unknown
2015-11-12 18:11:23 +01:00
Henrik Rydgard
bcd452179f Switch D3D over to use ConvertBlendState 2015-11-12 18:11:21 +01:00
Henrik Rydgard
4a71d4cda2 The ConvertBlendState machinery is now pure, so move it out to GPU/Common 2015-11-12 18:11:20 +01:00
Henrik Rydgard
091fb28f55 Extract the glstate.blendcolor call from ConvertBlendState 2015-11-12 18:11:19 +01:00
Henrik Rydgard
71103cb0ca Make ConvertBlendState into a reasonably pure function with no side effects 2015-11-12 18:11:15 +01:00
Henrik Rydgard
e97d771e0f Extract blend state mapping into a function. 2015-11-12 15:57:33 +01:00
Henrik Rydgård
ce28ee28f1 Merge pull request #8198 from hrydgard/centralize-viewport-mapping
Centralize viewport mapping
2015-11-12 15:27:31 +01:00
Henrik Rydgard
e6b39d65d3 Apply unknown's workaround for dx viewport issues - additionally, we shouldn't even have to call the function in non-buffered.. 2015-11-12 15:26:06 +01:00
Henrik Rydgard
45da00d381 Fix viewport offset in gl non-buffered 2015-11-12 15:22:20 +01:00
Henrik Rydgard
7e3cd987cd Fixes to D3D viewport management. For some reason, still having strange driver-bug-ish problems in unbuffered... 2015-11-12 14:47:43 +01:00
Unknown W. Brackets
a821cd3f12 Disable UV range opt. for shader blending FBO.
Obviously this is unsafe, not sure what I was thinking...
2015-11-09 23:31:34 -08:00
Henrik Rydgard
5a8e86e8ba Don't mess with vpDepth in through mode. Fixes glitches in Wipeout Pulse. 2015-11-09 21:57:48 +01:00
Henrik Rydgard
5667f34805 Invert proj matrix offset properly in D3D. 2015-11-09 21:21:55 +01:00
Henrik Rydgard
a6ced1d0b4 Move viewport/stencil conversion out into GPUStateUtils.cpp, use it in D3D as well.
D3D bugfixes. Not perfect yet.
2015-11-09 21:21:54 +01:00
Henrik Rydgard
77f2b0c9e9 Extract the viewport/scissor conversion into a function. 2015-11-09 21:21:54 +01:00
Henrik Rydgård
99b7741b96 Merge pull request #8194 from unknownbrackets/atrac-remaining
Atrac: Correct outputs of sceAtracGetSoundSample()
2015-11-09 18:46:46 +01:00
Henrik Rydgård
9b6c66d88b Merge pull request #8197 from unknownbrackets/atrac-sas
Improve the SAS atrac functions a bit based on tests
2015-11-09 18:37:16 +01:00
Unknown W. Brackets
c22c181148 Sas: Automatically unpause voice on unset ATRAC3.
Thie fixes voices in Sol Trigger after skipping a cutscene, and matches
tests.
2015-11-09 08:25:35 -08:00
Unknown W. Brackets
5374e6a8fc Sas: Add validation for ATRAC3 voices. 2015-11-09 08:25:28 -08:00
Unknown W. Brackets
c1d59f263a Atrac: Ignore the loopNum value for SAS streams.
It seems like this is ignored, and games overwrite it with the voice
number and expect it not to change.
2015-11-09 08:23:45 -08:00
Unknown W. Brackets
21fd209f0e Atrac: Correct outputs of sceAtracGetSoundSample().
Without these being correct (especially without loopEnd vs. endSample
being correct), Toukiden Kiwami doesn't play background music.
2015-11-08 19:55:28 -08:00
Henrik Rydgård
9462bf3ba7 Merge pull request #8192 from unknownbrackets/atrac-sas
Fix issues in Sol Trigger with atrac/sas
2015-11-08 21:38:09 +01:00
Unknown W. Brackets
09f77509d9 Sas: Reduce ECHO effect repeat level.
Previously, it sounded horrible in Sol Trigger - can be observed in
tutorial boxes when going into battle, for example, and also several other
effects.  Halving this value sounds a lot more correct.

It's not clear what value exactly is correct.
2015-11-08 12:25:30 -08:00
Unknown W. Brackets
a3f7598020 Atrac: Use fileoffset for curOff context value.
This doesn't match my tests so far, but Sol Trigger works correctly this
way.  Since this value is primarily only used for SAS, changing it back
for now until more thoroughly testing SAS makes sense.
2015-11-08 12:24:30 -08:00
Unknown W. Brackets
6b413a808f Atrac: Handle SAS end the same way as other types.
It makes sense to match, and this sounds right in Sol Trigger.  Haven't
tested in detail yet, but it should prevent cutting off sounds.
2015-11-08 12:23:32 -08:00
Unknown W. Brackets
ac524eee1b Atrac: Also read loop count from context RAM.
Observed the Sol Trigger demo's library writing values here, although in
the cases I saw it wasn't changing it from 0.
2015-11-08 12:22:12 -08:00
Unknown W. Brackets
43238322ef Let's try a more limited heuristic. 2015-11-08 09:38:18 -08:00
Henrik Rydgård
3631b55851 Merge pull request #8191 from unknownbrackets/minor
Minor cleanup in Atrac, report depth equality tests
2015-11-08 18:05:22 +01:00
Unknown W. Brackets
2c0b662484 Report depth test equality checks. 2015-11-08 09:04:12 -08:00
Unknown W. Brackets
a0604c6de3 Atrac: DRY a tiny bit of the code down. 2015-11-08 09:04:11 -08:00
Henrik Rydgård
87cf8029f1 Merge pull request #8190 from unknownbrackets/atrac-remaining
Correct initial sample offset for certain files
2015-11-08 17:41:56 +01:00
Unknown W. Brackets
28a957694a Atrac: Apply second FACT as loop offset.
It seems like, when these values are different, the difference indicates
some kind of delta in other sample values?

Mostly trying to match values coming out of firmware structs here.

Fixes music looping in Kurohyo 2.
2015-11-08 08:26:41 -08:00
Unknown W. Brackets
27043b5fa5 Atrac: Do not output remain on ending decode.
It's not supposed to output 0, or -1, or anything.  It leaves the original
value in place.  This is probably why some games "liked" different values.
2015-11-08 08:20:09 -08:00
Unknown W. Brackets
ce23289c7e Remove some empty pointless files. 2015-11-08 08:18:41 -08:00
Henrik Rydgård
b9f703d112 Merge pull request #8189 from unknownbrackets/atrac-remaining
Improve the remaining frames value calculation
2015-11-08 11:53:18 +01:00
Unknown W. Brackets
9da62c1efc Atrac: Use end codes for remaining when streaming. 2015-11-07 23:30:09 -08:00
Unknown W. Brackets
959887d407 Atrac: Correct remaining frames return value.
Streaming buffers still not correct in some cases, primarily looping.
2015-11-07 23:30:09 -08:00
Unknown W. Brackets
e28fa3c426 Atrac: Correct transition to fully loaded.
Normally it won't go over of course, oops.
2015-11-07 23:30:05 -08:00
Unknown W. Brackets
61e530df91 Atrac: Check more buffer states in GetRemainFrame. 2015-11-07 23:30:04 -08:00
Unknown W. Brackets
a932b0858c Atrac: Make sure NO_DATA is always set.
This way we can move away from data_buf, which eventually we'll stop using
entirely, in preference for PSP RAM.
2015-11-07 23:29:59 -08:00
Unknown W. Brackets
3f3700cb45 Atrac: Allow games to update buffer state.
Because they can and do.  This primarily only happens with low level and
SAS streams, I think.
2015-11-07 23:29:59 -08:00
Unknown W. Brackets
91de8e46c1 Atrac: Fix an internal typo. 2015-11-07 23:29:58 -08:00
Unknown W. Brackets
26a81f5179 Atrac: Simplify USE_FFMPEG checks.
Maybe we should just remove the option, but this way the behavior is a lot
more similar.
2015-11-07 23:29:58 -08:00
Unknown W. Brackets
9ebc9f695e Atrac: Clean up logging in sceAtracGetRemainFrame. 2015-11-07 23:29:57 -08:00
Henrik Rydgård
302e63ae1e Merge pull request #8184 from daniel229/compat
Disable Depth Rounding for Summon Night 5 (JP)
2015-11-07 12:52:13 +01:00
Henrik Rydgård
255513c250 Merge pull request #8185 from unknownbrackets/atrac-resetting
Atrac: correct offsetting logic in resetting
2015-11-07 12:51:21 +01:00
daniel229
4234b3d90b Disable Depth Rounding for MotorStorm Arctic Edge and Saigo no Yakusoku no Monogatari. 2015-11-07 17:42:54 +08:00
Unknown W. Brackets
3afc86e9b8 Atrac: correct offsetting logic in resetting.
Probably not super important exactly, but got the numbers backwards when I
reduced the test data.  Oops.
2015-11-06 23:19:21 -08:00
daniel229
04735299cc typo 2015-11-07 13:12:05 +08:00