Commit Graph

1905 Commits

Author SHA1 Message Date
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
Henrik Rydgård
7c7c4aaadc Add "u_time" uniform to postprocessing shaders. 2013-12-02 17:24:55 +01:00
Unknown W. Brackets
5f2d5d9c55 Fix an uninitialized value warning. 2013-12-01 11:21:17 -08:00
Unknown W. Brackets
eb3011fd18 Don't even define the sse tex hash on non-sse.
Avoids unused func warnings.
2013-12-01 11:21:16 -08:00
Henrik Rydgård
c1b43e1b2d Merge pull request #4692 from unknownbrackets/verysleepy
Add support for profiling jit via VerySleepy
2013-12-01 02:44:20 -08:00
raven02
b00495f1e5 Not using factor in texture coords mapping mode 2013-12-01 16:04:29 +08:00
Unknown W. Brackets
d35717f5a8 Also report the vertex decoder jit to verysleepy.
Can use the same methods to support other platforms.
2013-11-30 19:20:22 -08:00
Henrik Rydgard
c42ee6d12e oops 2013-11-30 19:09:27 +01:00
Henrik Rydgard
9c6e7e2958 Fix bug in vtxdec jit when hardware skinning 2013-11-30 16:26:50 +01:00
Henrik Rydgard
e3e9408b87 Resurrect the vtx decoder jit option for debugging 2013-11-30 16:11:54 +01:00
Henrik Rydgard
eea8413a82 Make the texcoord speedhack a bit less aggressive at eliminating uvscaleoffset uniform updates.
Should fix #4688 and the new problem in #2919 while keeping Frontier Gate Boost working.
2013-11-30 15:54:20 +01:00
Henrik Rydgård
562582320a In LINEARFMV mode, let the presence of a video override the alpha and color test checks. 2013-11-29 18:08:29 +01:00
Unknown W. Brackets
435115441d Reinitialize the GE on sceKernelLoadExec().
Mostly, reset the lists and draw completion, etc.

May be required for Capcom Classic Collection Reloaded to work.
2013-11-28 15:35:12 -08:00