Commit Graph
9567 Commits
Author SHA1 Message Date
raven02 f170d5ef7b Exact : should be applied to all rendering mode 2013-12-11 23:27:04 +08:00
Henrik Rydgard d4eee74b54 SoftGPU: Prepare for mipmapping. Getting the uv deltas seems tricky though... 2013-12-10 15:33:59 +01:00
Henrik Rydgard 791f434f88 Custom postshaders now load successfully 2013-12-10 15:33:58 +01:00
raven02 2e7609b084 Cleanup ClearmodeDepthMask 2013-12-10 20:48:20 +08:00
Henrik Rydgård 20873f2985 Remove unnecessary ifdef 2013-12-09 16:53:46 +01:00
Henrik Rydgård b784daf424 Check for INF in fog coef, replace with large value. See #2387 2013-12-09 14:56:29 +01:00
raven02 75492719e8 std::bind build fix for VS2012 2013-12-09 21:06:38 +08:00
Henrik Rydgård 9e42086e21 Logspam reduction 2013-12-09 13:45:17 +01:00
Henrik Rydgård e14f17b430 isClutSharedForMipmaps: This was presumably inverted by accident? 2013-12-09 12:46:13 +01:00
Henrik Rydgård 68b08ffb9f SoftGPU: Quick and dirty lines and points implementation
No line/point texturing support yet.
2013-12-09 12:43:49 +01:00
Unknown W. Brackets c6a441965e Move shared clut check to gstate. 2013-12-08 23:11:56 -08:00
Unknown W. Brackets cdccf06b62 softgpu: Avoid some ScreenToDrawing() overhead. 2013-12-08 22:38:09 -08:00
Unknown W. Brackets 30394df775 softgpu: Make texture lookups do less math. 2013-12-08 22:37:45 -08:00
Henrik Rydgard bd1d4e2d92 As if softgpu wasn't slow enough already, implement bilinear filtering. 2013-12-09 01:44:23 +01:00
Unknown W. Brackets 637a9de75d Optimize out some clear mode checks.
Since it's really common and the rasterizer is slow for large draws.
2013-12-08 14:24:17 -08:00
Unknown W. Brackets 598d509fb9 Use multiple threads if available for softgpu.
VIVA OVERHEAD.  But it's actually generally faster this way, even with
only 2 cores running (but not a huge improvement then.)

On an i7, this improves things ~2.5x with 8 cores.
2013-12-08 13:41:20 -08:00
Henrik Rydgard e2080f6c65 Revert "STENCIL_VALUE_UNKNOWN for DECR/INCR/INVERT"
This reverts commit 59d3b92e71.

Revert "zero alpha if stencil op consistently says to zero for format 5551 as well"

This reverts commit ed07a7f411.
2013-12-08 17:48:22 +01:00
raven02 59d3b92e71 STENCIL_VALUE_UNKNOWN for DECR/INCR/INVERT 2013-12-08 22:19:13 +08:00
raven02 ed07a7f411 zero alpha if stencil op consistently says to zero for format 5551 as well 2013-12-08 22:05:31 +08:00
Henrik Rydgard 7b4759384f Only zero alpha if stencil op consistently says to zero.
Otherwise we may be better off keeping the alpha.
2013-12-08 13:04:54 +01:00
Henrik Rydgard 628bf497dd Hopefully fix UV scaling properly this time.
Check the faces in Hexyz Force please.
2013-12-08 11:52:20 +01:00
Henrik Rydgård 08a0709091 Merge pull request #4751 from unknownbrackets/reporting
Cut down on reporting of FBO misuse
2013-12-08 01:18:39 -08:00
Unknown W. Brackets 0e4ca7f9a8 Stop reporting logic ops.
We support them on desktop and they're not really often used.
2013-12-08 00:48:23 -08:00
Unknown W. Brackets 9de7b34d1c Cut down on reporting of FBO misuse.
These cases are likely to be okay.
2013-12-08 00:38:10 -08:00
Unknown W. Brackets 2df1db4c7e Avoid optimizing out both constant colors. 2013-12-07 23:24:25 -08:00
Unknown W. Brackets a4780f5199 Don't forget the alpha in non-fixed blending. 2013-12-07 23:21:45 -08:00
Unknown W. Brackets 808eeb3a25 Attempt to pick a better blend for stencil replace. 2013-12-07 10:02:46 -08:00
raven02 60def7baf9 Set src/dst alpha to non GL_ZERO in case STENCIL_VALUE_UNIFORM 2013-12-07 21:11:47 +08:00
Unknown W. Brackets 054501c100 Replace alpha when blend mode allows it.
Some games are using fixed/fixed blending modes which work in our favor.
2013-12-07 02:54:33 -08:00
Unknown W. Brackets 113f9795f3 Try to more correctly handle stencil when blending.
Although, not accurate, this will attempt to KEEP and etc.
2013-12-07 01:58:33 -08:00
Henrik Rydgard c738364f67 Make sure to disable scissor when doing the initial clear of a new FBO.
Minor cleanups.
2013-12-06 23:08:37 +01:00
Henrik Rydgård 3fb973af90 GL_NV_draw_texture requires more testing, turn off temporarily.
Fix the V coordinates sent in while at it.
2013-12-06 13:01:34 +01:00
Henrik Rydgård 13cdbd5284 Mask away alpha when the stencil operation is KEEP 2013-12-06 11:15:13 +01:00
Henrik Rydgard 41209eb936 Stencil-to-alpha fragment tweak: Set alpha to 0 if we can't deduce the stencil value.
This fixes the weird glowing shadows in Wipeout.
2013-12-04 19:55:09 +01:00
Henrik Rydgard 1a3e7a17fb Workaround for spline UV scale problem with texcoord speedhack 2013-12-04 14:33:45 +01:00
Henrik Rydgard 95d5c28720 Fix bug where we scaled UV coordinates twice when a tex matrix was used. 2013-12-04 14:20:42 +01:00
Henrik Rydgard 3983144c42 Make sure that blending is disabled when doing DrawPixels.
Add a comment about a potential texture scaling problem with splines.
2013-12-04 14:02:40 +01:00
Henrik Rydgard d1f054e033 Wait, we're not in clear mode there so no need to check. 2013-12-04 13:17:41 +01:00
Henrik Rydgard 10b9e83353 Dest alpha mask: Try some rules that seem to make sense from what we know now. 2013-12-04 13:16:22 +01:00
Henrik Rydgard 127864b679 Prevent post shaders from getting applied twice in some circumstances when playing video. 2013-12-04 11:46:42 +01:00
Henrik Rydgard ca1d4172ca Tiny optimization in block copies 2013-12-04 11:34:54 +01:00
Henrik Rydgard e1657fec96 Get rid of WipeFramebufferAlpha ini-only option. 2013-12-04 09:41:25 +01:00
Henrik Rydgard 33efffe759 When blending (and we thus can't use stencil-to-alpha in frag shader), always write zero to alpha.
It seems the PSP doesn't blend in the alpha channel.

Reduces glow problems in Gods Eater Burst and Wipeout - although Wipeout loses some glow
that should be there.
2013-12-03 11:27:31 +01:00
Henrik Rydgard a6150db8d5 Disable frag shader stenciltoalpha in clearmode. 2013-12-03 11:10:27 +01:00
Unknown W. Brackets 4418aacbaf When writing stencil to alpha, consider fb format. 2013-12-03 00:15:08 -08:00
Unknown W. Brackets 034de0e992 Do not wrap stencil values on INCR/DECR. 2013-12-03 00:02:07 -08:00
Henrik Rydgard 30028439b6 Must set the EXECUTEONCHANGE since we dirty. 2013-12-03 00:55:09 +01:00
Henrik Rydgard 44beebf6b0 Realized it's ok to combine the stencil-to-alpha with alpha testing as it's done within the shader, before we replace alpha. 2013-12-03 00:51:25 +01:00
Henrik Rydgard 39b632b279 Copy the stencil value in REPLACE mode to fragment alpha (but only when it's safe)
This is cheap but incomplete.
To do it more "right", we need multipass when blending or alpha test is enabled, ugh. That's for later.

Anyway, this improves the glow situation in Wipeout somewhat. Still lots of stuff that glows that shouldn't, but a little less overwhelmingly bright.
2013-12-03 00:13:21 +01:00
Henrik Rydgard 198e230cdc Re-add uniform location checks even though they aren't needed
Spec says that setting uniform -1 does nothing.
2013-12-02 23:35:49 +01:00