Commit Graph

1949 Commits

Author SHA1 Message Date
Henrik Rydgard
0d2ec01e83 Switch CanReplaceAlphaWithStencil response to an enum 2013-12-16 23:24:32 +01:00
Henrik Rydgard
a8a48013f6 Don't use gl_FragColor when deprecated 2013-12-16 23:18:13 +01:00
Henrik Rydgard
40a0705b50 Typo fix checking the alpha func for src factors 2013-12-16 23:13:33 +01:00
Henrik Rydgård
34f2f5db98 When drawing the displayed FBO to the screen, always use bilinear.
Might want to make this an option in the future.
2013-12-16 16:04:08 +01:00
raven02
71d2ce3731 Replace -ve fogcoef[1] with -10000.0f 2013-12-16 22:45:21 +08:00
Henrik Rydgård
2871633e36 Merge pull request #4750 from unknownbrackets/ui-tweaks
Support pinning paths in the game browser
2013-12-16 06:08:05 -08:00
raven02
8306243b97 Check gstate.isSkinningEnabled() only 2013-12-16 20:44:13 +08:00
raven02
04f31c5e8e Add gstate.isSkinningEnabled() 2013-12-16 20:42:45 +08:00
Henrik Rydgård
b6f8038a51 Fragment shader: Remove superfluous precision specifiers.
Also make sure to strip lowp/mediump/highp on desktop even for GL3.0-3.3.
2013-12-16 11:46:59 +01:00
Unknown W. Brackets
3f674f7ef6 Always update framebuffer tex sampling params.
Otherwise they are not always correct and cause glitches.
2013-12-15 18:23:47 -08:00
Unknown W. Brackets
b1d78020c4 softgpu: Keep track of frame dirty for frameskip.
But only when frameskip is enabled.  Let's always draw in case of pixel
poking when it's off.
2013-12-15 14:32:04 -08:00
Henrik Rydgård
f8282d1dd3 Merge pull request #4847 from unknownbrackets/gpu-minor
Use #version 130 for OpenGL 3.0+ to support out
2013-12-15 14:17:28 -08:00
Unknown W. Brackets
9aa1b15569 softgpu: Fix black objects with bilinear filtering.
Dividing by 256 gives us a range of 0-253, and incorrectly gets zero for
some components (guessing alpha, primarily?) in some games.

Dividing by 255 has a speed hit, so a slight bias to the top left seems
like a decent performance compromise (and it's a very slight bias.)
2013-12-15 11:59:25 -08:00
Unknown W. Brackets
96d6f52a13 softgpu: Retain accuracy in depth for tests.
Fixes intro/menu issues in Phantasy Star Portable 1/2, and text in the
first, both of which now look correct.
2013-12-15 11:59:25 -08:00
Unknown W. Brackets
6ca5662b03 softgpu: Properly swizzle 16 bit textures.
Fixes for example the graphics in Fieldrunners.
2013-12-15 11:59:24 -08:00
Unknown W. Brackets
a2d91ee26d softgpu: Don't mask out so much of fb stride.
Seems like anything from 4 is supported in 8888, most likely it just needs
to align to 16 bytes.  Values above 1024 work, but e.g. 2044 seems buggy.

Fixes the map on Hexyz Force (rendered at 80 stride.)
2013-12-15 11:59:24 -08:00
Unknown W. Brackets
da1224bb57 softgpu: Use the display, not current, framebuffer.
Fixes blinking in save dialogs and probably other bugs.
2013-12-15 11:59:23 -08:00
Unknown W. Brackets
2f0c8c2877 softgpu: Attempt to implement GE_PROJMAP_UV.
Looks okay, not sure if it's fully correct.
2013-12-15 11:59:22 -08:00
Unknown W. Brackets
0043950770 Use #version 130 for OpenGL 3.0+ to support out.
Otherwise it just gives errors on cards that support dual source blending.
2013-12-15 08:32:22 -08:00
raven02
7f828a6b66 Set float for gstate.getStencilTestRef() * (1.0f / 255.0f); 2013-12-15 21:40:14 +08:00
Henrik Rydgard
214cc01976 Fix bugs in stencil2alpha, fix bugs in glsl 3 support, enable dual source blending where available
The stencil2alpha bug fixes fix some glows in Wipeout, dual source fixes the rest.
2013-12-15 12:49:13 +01:00
Henrik Rydgard
3cde4921ae Have the shader generators generate modern GLSL if available.
This opens up to use other modern features like dual source alpha later.
2013-12-15 11:23:27 +01:00
Unknown W. Brackets
4bc86afd5e Adjust some project filters. 2013-12-14 22:36:41 -08:00
Unknown W. Brackets
11ed3a46d9 Workaround Tactics Ogre block transfer weirdness.
This works around #4833, while keeping videos in Valkyrie Profile (and any
other games programmed the same way) working.
2013-12-14 16:45:29 -08:00
Unknown W. Brackets
13bf4d83fa Add memchecks for common HLE copy operations.
Better to catch some than miss everything.
2013-12-14 14:56:05 -08:00
Unknown W. Brackets
057cad228c Upload block transfers to FBOs when from ram. 2013-12-14 10:10:23 -08:00
raven02
078606a528 enum for GE_TEXFUNC_UNKNOWN1/2/3 = 5/6/7 2013-12-14 06:48:45 +08:00
raven02
affc7f44a6 Add extra GE_TEXFUNC_UNKNOWN1/2/3 which handle same as GE_TEXFUNC_ADD 2013-12-14 06:47:20 +08:00
raven02
5c6dbb8a31 Restore viewport when switching render targets 2013-12-14 04:14:59 +08:00
Henrik Rydgård
1cf3b16b4f Merge pull request #4796 from raven02/patch-3
Render correct fog in 3rd birthday and menu transparency in Kurohyou 2
2013-12-12 00:29:02 -08:00
Henrik Rydgård
6fed4e2683 Revert "Exact : should be applied to all rendering mode"
This reverts commit f170d5ef7b.
2013-12-11 16:59:20 +01:00
raven02
a1fd9eb149 Render correct fog in 3rd birthday and transparency in Kurohyou 2 2013-12-11 23:37:28 +08:00
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