Unknown W. Brackets
529abd7db4
Correct clamped depth range from [0, 65535].
...
This changes a few things:
* All backends clamp the depth range and keep it positive.
* The depth rounding uniform is now properly dirtied.
* Projection is updated to translate and scale appropriately.
* Depth rounding is halved on OpenGL to account for [-1, 1] range.
Fixes Phantasy Star Portable 2 without the need for a game-specific hack.
2016-01-03 12:29:43 -08:00
Unknown W. Brackets
18cdf9f352
Remove the depth range hack.
...
Ths removes the game-specific hack to workaround depth issues.
2016-01-03 12:05:59 -08:00
Unknown W. Brackets
2494176919
Remove incorrect CLUT4 optimization.
2016-01-02 13:20:30 -08:00
gmvbif
f8f7dadba4
Delete fields from FrameBufferDX9 with the same names as in the FrameBufferCommon
2016-01-02 09:40:47 +03:00
Henrik Rydgård
8be22f47cd
Merge pull request #8348 from unknownbrackets/texcache
...
Centralize code in the texture cache, minor cleanups
2016-01-01 17:55:41 +01:00
Henrik Rydgård
614eff1931
Merge pull request #8349 from unknownbrackets/d3d9-minor
...
Fix some Direct3D 9 validation errors
2016-01-01 11:14:23 +01:00
Unknown W. Brackets
c31a8f860b
Adjust stencil ops for 5551 and 565 buffers.
...
This attempts to better approximate the operations that actually happen,
where possible. Expected to help #5278 .
2015-12-31 17:01:03 -08:00
Unknown W. Brackets
69daa75228
Move more common code around in texcache.
2015-12-31 11:41:02 -08:00
Unknown W. Brackets
41b00a9cab
d3d9: Initialize viewport without errors.
2015-12-31 11:17:24 -08:00
Unknown W. Brackets
b556472303
d3d9: Fix blitting coordinates.
2015-12-31 11:17:19 -08:00
Unknown W. Brackets
235881af1f
d3d9: Avoid error when clearing temp FBOs.
2015-12-31 11:17:12 -08:00
Unknown W. Brackets
a45f05c598
Move NotifyFramebuffer and LoadClut to common code.
2015-12-31 11:13:39 -08:00
Henrik Rydgård
337f27d0d9
Merge pull request #8340 from unknownbrackets/texcache
...
Be forgiving when maxSeenV increases
2015-12-31 09:43:18 +01:00
Unknown W. Brackets
5806df07b4
Handle disabled display cleanly.
...
Otherwise we might accidentally match a vfb at 0.
Fixes #6317 .
2015-12-30 17:44:32 -08:00
Unknown W. Brackets
7a864f5aa1
Be forgiving when maxSeenV increases.
...
This still allows us to optimize < 512 heights, but at the same time,
doesn't hit spritesheets as hard and avoids the scaling penalty.
2015-12-30 17:15:50 -08:00
Unknown W. Brackets
d18164bd4d
d3d9: Clean up some scaling handling.
2015-12-30 16:54:25 -08:00
Unknown W. Brackets
941988cde4
Correct prescale issues with render-to-texture.
...
Still need to apply the scaling of the texture coordinates here (or
somewhere, maybe we prescale that as well? Except it's figured later on
in the process...)
2015-12-20 21:13:43 -08:00
Henrik Rydgard
01669cbd92
Hide the "Internal resolution" etc static display unless FPS counter is on.
...
Seems fairly related and I don't want to add more options.
2015-11-27 00:17:14 +01:00
Unknown W. Brackets
1339f6b1f3
Report formats on usage of rendered clut.
2015-11-26 14:31:46 -08:00
Unknown W. Brackets
3965cba187
Disable clut render for now as a "slow effect".
...
Also, add reporting.
2015-11-26 13:42:18 -08:00
Unknown W. Brackets
8e2557bafe
Support render-to-clut, at least in some cases.
...
This is pretty much only tested with Brave Story. See #6754 .
There may be other cases which are not handled yet.
2015-11-26 13:31:17 -08:00
Unknown W. Brackets
c22953a4b9
Treat invalid blend factors as fixed consistently.
2015-11-19 06:48:06 -08:00
Henrik Rydgard
e3d2c65ba0
D3D fixes
2015-11-18 12:25:54 +01:00
Henrik Rydgård
5b21c1aa39
Merge pull request #8174 from hrydgard/remove-option-depthrangehack
...
Remove the depth range hack option, turning it into an ugly game specific compatibility hack.
2015-11-15 23:05:20 +01:00
Henrik Rydgard
4b360a571c
Remove the depth range hack option, turning it into an ugly game specific compatibility hack.
...
I hate doing this, but it's not really better off as an option.
See #8171
2015-11-15 23:00:25 +01:00
Unknown W. Brackets
bf7f07f918
Optimize inverse blending modes, where possible.
...
Also, take advantage of cases where we can double src and src.a in the
shader, which can in some cases get us closer to accurate.
2015-11-14 12:37:32 -08:00
Henrik Rydgard
3acdd4e237
We had two global types called FBO, which is not ok. Fix that.
...
This caused some very strange behaviour in the MSVC debugger when looking at this stuff.
2015-11-14 13:24:51 +01:00
Henrik Rydgard
fadb19acc6
Remove a very minor difference between the backends in state mapping
2015-11-14 09:56:36 +01:00
Unknown W. Brackets
294f09a61f
Call ResetShaderBlending() from ApplyDrawState().
...
Cleaner this way.
2015-11-13 23:15:28 -08:00
Unknown W. Brackets
13a09647e2
d3d9: Disable shader blending, not implemented.
...
Fixes bad graphics in Ridge Racer, etc.
2015-11-13 23:11:06 -08:00
Unknown W. Brackets
3b98229c6f
Correct texture preview in D3D9, oops.
2015-11-13 23:10:30 -08:00
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 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
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
aac0cd3227
Minor consistency improvement between d3d and opengl code
2015-11-05 00:08:48 +01:00
Henrik Rydgard
8b3ff8a5b6
Correctly flip matrices in DX9 as well.
2015-11-04 22:37:42 +01:00
Henrik Rydgard
f3b0562bd8
Improve viewport terminology a bit. No functional change.
2015-11-04 22:03:29 +01:00
Henrik Rydgard
067431b35b
Region is not used in the viewport calculations - remove wrong commented out code
2015-11-04 11:04:47 +01:00
Henrik Rydgard
99e3ee1f71
Add some missing checks in D3D from the last commit.
2015-11-04 10:34:52 +01:00
Unknown W. Brackets
2b832e7f6c
Zero out dst blend factors in 565.
2015-11-04 00:35:55 -08:00
Unknown W. Brackets
5ff3e6a5e7
Avoid polluting glstate in GetTempFBO().
...
Since we do this "late", we might overwrite important settings, such as
stencil, color masks, etc.
This affects both depal and fbo shader blending.
Didn't do it for all ClearBuffer()s, since I'm worried some might be
intentionally resetting state.
2015-11-03 22:37:19 -08:00
Unknown W. Brackets
7af7b2bc6d
Add methods to "force" glstate to certain values.
...
This way we don't have to use totally different syntax when doing:
glstate.scissorTest.force(false);
// Do stuff that needs scissorTest temporarily off.
glstate.scissorTest.restore();
There's cleaner options maybe but this is a simple first step.
2015-11-03 22:37:05 -08:00
LunaMoo
71a0928d6b
Flip display layout editor coordinates to match #8130:)
2015-11-03 00:28:47 +01:00