3544 Commits

Author SHA1 Message Date
Unknown W. Brackets
010a7ac1af Correct state leakage on shader blend/self render.
This makes #2917 look right on desktop with blit and logic ops disabled.
2015-11-15 13:12:29 -08: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
Unknown W. Brackets
1be77e3893 Fix crash in headless GPU tests/bad settings.
Really any situation in which sPostShaderName is not exactly "Off", but
said shader doesn't exist.  In headless, it was "".
2015-11-14 11:00:10 -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 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
Unknown W. Brackets
43238322ef Let's try a more limited heuristic. 2015-11-08 09:38:18 -08:00
Unknown W. Brackets
2c0b662484 Report depth test equality checks. 2015-11-08 09:04:12 -08:00
Unknown W. Brackets
ac31c66a60 Fix #8169, really dumb typos.
Sorry.
2015-11-04 19:40:53 -08:00
Henrik Rydgard
aac0cd3227 Minor consistency improvement between d3d and opengl code 2015-11-05 00:08:48 +01:00
Henrik Rydgard
5bfcd07b35 Viewport clipping/overage fix 2015-11-04 23:03:14 +01:00
Henrik Rydgard
ffe35f73af Fix viewport vertical positioning, fixing #8165. However, God Eater bloom breaks. Why?? 2015-11-04 23:03:13 +01:00
Henrik Rydgard
8b3ff8a5b6 Correctly flip matrices in DX9 as well. 2015-11-04 22:37:42 +01:00
Henrik Rydgard
a6d6a68a95 Oops 2015-11-04 22:28:54 +01:00
Henrik Rydgard
f3b0562bd8 Improve viewport terminology a bit. No functional change. 2015-11-04 22:03:29 +01:00
Henrik Rydgård
452ed71e68 Couple of LLVM compiler warnings 2015-11-04 12:46:38 +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
Henrik Rydgård
8145cc789a Merge pull request #8163 from unknownbrackets/gpu-minor
Zero out dst blend factors in 565
2015-11-04 10:07:00 +01:00
Unknown W. Brackets
2b832e7f6c Zero out dst blend factors in 565. 2015-11-04 00:35:55 -08:00
Henrik Rydgård
606c57d478 Merge pull request #8158 from unknownbrackets/gpu-minor
Avoid polluting glstate in GetTempFBO()
2015-11-04 09:14:18 +01:00
Unknown W. Brackets
95a5bd62d5 Switch a few other things to use force(). 2015-11-03 23:02:02 -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
Henrik Rydgard
44be9f2a50 Move Windows GPU init code into Windows/GPU 2015-11-03 23:22:09 +01:00
Unknown W. Brackets
bc0a694ec2 Unbreak depth range test reporting.
Was broken in 9e18fb7e908a61f3a9b3637ff0fd92ee10ac298b.
2015-11-03 00:14:53 -08:00
Unknown W. Brackets
869260087c Fix screenshots to be right side up, not crash. 2015-11-02 19:43:36 -08:00
LunaMoo
71a0928d6b Flip display layout editor coordinates to match #8130:) 2015-11-03 00:28:47 +01:00
Henrik Rydgard
b411fc0455 Postproc: Scale pixel deltas and round off screen position. Fixes #8016 2015-11-02 22:22:48 +01:00
Henrik Rydgard
a1ad278005 unknownbrackets' fixes for last commit 2015-11-02 20:51:40 +01:00
Unknown W. Brackets
3a7edd8cac Switch viewport overage to the new world of sanity. 2015-11-02 20:11:58 +01:00
Henrik Rydgard
099f62b503 Fix some typos in D3D9 blits (removed parameter).
Add some missing projection matrix flips (flipped viewport emulation)

Fix issue with DrawPixels in non-buffered in D3D9
2015-11-02 20:11:48 +01:00