Commit Graph

1730 Commits

Author SHA1 Message Date
Unknown W. Brackets
1ce6bf399a Buildfix for 32-bit x86, arg. 2014-03-17 21:52:45 -07:00
Unknown W. Brackets
6630e45eff Just add a packed version of Vec3f.
This way we can have it aligned to memory where needed.  I think it'd be
better to avoid this if possible so that we can actually vectorize
spline/etc. code.

Fixes #5673.
2014-03-17 06:59:40 -07:00
Unknown W. Brackets
38d0bac1df Optimize some 4444/8888 color conversions.
Small performance boost in softgpu.
2014-03-17 01:21:52 -07:00
Unknown W. Brackets
743854afc8 Fix off-by-one on fast matrix loads.
May matter mostly if there's a stall right at the end of the matrix.
2014-03-15 15:23:55 -07:00
Henrik Rydgård
78ce9b3f3c Spline patches: Ignore too-small patch_div_s/t. May help #5663 2014-03-15 21:29:48 +01:00
Unknown W. Brackets
a843cbd580 Shrink the very common sceKernelThread.h include. 2014-03-15 11:44:02 -07:00
Unknown W. Brackets
996fa39684 Reduce some unnecessary includes in Core/. 2014-03-15 10:41:07 -07:00
Henrik Rydgard
b4d99b1981 Revert "Avoid caching when HW T&L with morph enabled."
This reverts commit 557eae7ca9.
2014-03-15 10:46:04 +01:00
raven02
557eae7ca9 Avoid caching when HW T&L with morph enabled. 2014-03-14 21:04:32 +08:00
Henrik Rydgard
4df49a72ab Add yet another hack setting to work around the 3rd Birthday problem.
Hopefully temporary...
2014-03-13 19:00:35 +01:00
raven02
1b831ce022 SW T&L 2014-03-07 21:41:40 +08:00
Sacha
05571df8ec Use a VLDM in Vertex Decoder. 2014-03-07 14:25:05 +10:00
raven02
2c7c1f547d Shade mapping fix 2014-03-06 22:07:08 +08:00
Unknown W. Brackets
505b0c388f Fix a typo. 2014-03-04 07:37:32 -08:00
Unknown W. Brackets
b1acde2679 Oops, forgot the world matrix too.
VerySleepy is telling me that time is spent in WORLDMATRIXDATA in games,
but I didn't check the perf impact exactly.  It's probably small, but may
help some games.
2014-03-04 01:09:04 -08:00
Unknown W. Brackets
9e35822d16 Try to load view and model matrices a bit faster. 2014-03-04 00:37:28 -08:00
Unknown W. Brackets
a8f9635e28 Optimize loading of texgen matrices.
Pretty small impact, may help games that use them a lot.
2014-03-04 00:23:10 -08:00
Unknown W. Brackets
d60b0272fa Avoid flushing if the bone matrix is the same. 2014-03-04 00:17:16 -08:00
Unknown W. Brackets
eb04031975 Try to optimize inline matrix loads.
Improves performance by a few percent in Gods Eater Burst.
2014-03-04 00:11:03 -08:00
Unknown W. Brackets
f124e7dddc Fix a minor typo. 2014-03-03 00:21:04 -08:00
Unknown W. Brackets
c7437bbe8e Fix some minor warnings. 2014-03-03 00:08:32 -08:00
Henrik Rydgård
c2f76ac549 Merge pull request #5594 from unknownbrackets/gpu-minor
Fix some software skinning glitches
2014-03-03 13:32:03 +07:00
Unknown W. Brackets
fb63dad54e vertexjit: Implement Morph pos/nrm variants on x86. 2014-03-02 20:11:40 -08:00
Unknown W. Brackets
e08e9d8e89 Flush if morphing, even if only weight changed.
Fixes more graphical glitches that happen when software skinning is enabled.
2014-03-02 20:09:18 -08:00
Unknown W. Brackets
ecf9479d5a Always flush bone matrices when morph is enabled.
Fixes graphical glitches in Shadow of Destiny and LittleBigPlanet with
software skinning enabled.  Maybe the other games in #5304.
2014-03-02 18:20:16 -08:00
Unknown W. Brackets
0a880b09ad Allow fast bone mtx loads w/o software skinning. 2014-03-02 18:12:40 -08:00
Unknown W. Brackets
4f1236c2ba Don't use replaceImages for texture scaling = auto. 2014-03-02 01:39:41 -08:00
Unknown W. Brackets
034ae337b7 Handle texture scaling when render res is auto. 2014-03-02 01:39:40 -08:00
Unknown W. Brackets
15a608a6b9 Check for kernel textures in kernel ram properly.
Textures can perfectly legitimately be in volatile ram.
2014-03-01 16:11:56 -08:00
Henrik Rydgard
9c4d9461d4 Detect bad mipmap sizes, autogen mipmaps in this case. Might help part of #2603
(outrun)
2014-02-17 11:42:03 +01:00
Unknown W. Brackets
be9194b887 Try harder to show a useful post shader error.
It's worth seeing the error quickly, but mostly will need to look at the
log.
2014-02-16 01:25:33 -08:00
Unknown W. Brackets
592e8ca253 Update reporting as soon as the game boots.
This way if it starts with "read framebuffers" but it's switched off, it
will notice properly.
2014-02-15 15:18:01 -08:00
Henrik Rydgård
79549e4acc PosS16Through: Treat Z as unsigned. 2014-02-13 11:59:47 +01:00
Henrik Rydgard
14018bd763 Apply the fog fix to software transform as well. See #2387 2014-02-12 11:13:49 +01:00
Henrik Rydgard
9e6d7abf4e Minor cleanup 2014-02-12 11:10:44 +01:00
Henrik Rydgard
8b6b491820 Remove obsolete outputWidth/outputHeight 2014-02-10 12:44:35 +01:00
Unknown W. Brackets
ad8488ecc4 Reset reporting on a new game.
This way "once" and "spam" no longer persist between runs.  Makes it
easier to test a bunch of games in a row without restarting in between.
2014-02-09 17:39:16 -08:00
Unknown W. Brackets
7380c5b664 Stop showing z = 1.0 for non through in debugger.
Oops.
2014-02-09 00:33:15 -08:00
Unknown W. Brackets
e7eca477b0 Add a tab to show vertex values to the GE debugger.
Should be pretty useful, especially for depth issues.
2014-02-08 22:03:29 -08:00
Unknown W. Brackets
d2108a962e Switch from USING_GLES2 to MOBILE_DEVICE.
Still using USING_GLES2 for, well, GLES2.  But for things that are really
about mobile, we need a new define.  Devices are coming that don't use
GLES2.
2014-02-08 16:37:58 -08:00
Bovine
2c0df8db79 Fixed infrequent segfault in CheckAlpha
pixelData was allocated with stride shorts per row and then advanced as
stride ints per row (reading every other row).  Upshot: fully solid
16-bit textures with alpha channels should now properly categorize as
ALPHA_FULL
2014-02-02 13:51:45 -07:00
Henrik Rydgård
1f363d8af3 Merge pull request #5240 from unknownbrackets/texcache
Correct CheckAlpha() for un-rearranged textures
2014-01-27 01:03:46 -08:00
DanyalZia
afc36d557e Properly show OSD information of resolution 2014-01-27 11:46:09 +05:00
Unknown W. Brackets
b626daca59 Correct CheckAlpha() for un-rearranged textures.
Fixes #4403.  It was just not seeing the alpha when a texture had a large
bufw and a small w, and transparent only near the bottom - as in FF1's case.
2014-01-26 19:39:34 -08:00
DanyalZia
61a15c1465 Fix a bug where changing resolution wouldn't make a difference on a fly 2014-01-26 19:02:21 +05:00
Unknown W. Brackets
b034b992df Only copy dirty depth buffers between FBOs.
We can remove this if/when we track them separately.  This may break a
game that depends on the depth carrying over between several FBOs, but
that's not extremely likely.

This improves performance in Gods Eater Burst.
2014-01-24 01:44:24 -08:00
sum2012
3c72623061 Fix "Integer divide by zero 0" in Spline.cpp 2014-01-23 05:45:28 +08:00
Unknown W. Brackets
9cfb8648c0 Keep a map of temporary buffers for self renders. 2014-01-20 07:54:40 -08:00
Unknown W. Brackets
c6dc6b46e5 Clear the duplicate FBO on shutdown. 2014-01-20 07:54:39 -08:00
Unknown W. Brackets
b48de952fd Duplicate framebuffers textured onto themselves.
This fixes #2917.

I verified that, at least for my card, blitting is much faster than
glReadPixels (by quite a margin.)
2014-01-20 07:54:39 -08:00
Unknown W. Brackets
60cf5df571 Consider the texture changed when framebuf changes.
Needed to properly consider render to self (should rebind if the
framebuffer is later used with a separate target.)
2014-01-20 07:52:09 -08:00
Unknown W. Brackets
09f1c795e5 Pass around texture pointers, not addresses.
This makes it possible to override it easier, rather than needing it in
PSP RAM.
2014-01-20 07:52:09 -08:00
raven02
ee3c3bca4a Add BindFramebufferDepth() 2014-01-20 22:03:12 +08:00
raven02
a132b54c01 Put depth copy as BindFramebufferDepth() 2014-01-20 22:02:20 +08:00
Unknown W. Brackets
b0a1340a80 Report block transfers we don't support.
Ones involving framebuffers.
2014-01-20 01:47:20 -08:00
Unknown W. Brackets
3e7f749f6d Change the self message for separate reporting. 2014-01-20 01:07:01 -08:00
Unknown W. Brackets
c412bbc09c Don't call SetTexture() in clear mode.
It's just a waste of time, the game is probably being lazy.
2014-01-20 01:04:48 -08:00
Henrik Rydgård
1e360d5c0a Merge pull request #5153 from unknownbrackets/texcache2
Allow texture scaling on changed textures
2014-01-19 23:58:03 -08:00
Unknown W. Brackets
eeaeb91610 Disable scaling to odd multiples when unsupported.
May help #4000.
2014-01-19 21:14:21 -08:00
Unknown W. Brackets
9680a7ccc7 Allow texture scaling on changed textures.
But only if they don't change very frequently.  Should fix #1934.
2014-01-19 20:54:48 -08:00
Peter Tissen
2f7243b5eb Don't truncate spline/bezier through mode
Don't truncate the through mode bit in the vertex type during
normalization. Normalization is used to convert different vertex types
to a singular normalized one but the through-mode bit should be preserved.

This only affects (fixes) spline and bezier draw commands. The only thing
that was broken was games that drew splines/beziers with through-mode and
have matricies that differ significantly from the identity (didn't load
identity before drawing).

This should not break anything and fix #5087 .
2014-01-19 16:53:14 +01:00
Unknown W. Brackets
2e91adc607 Oops, revert software transform breakage.
It will deal with getting the coords right, including in projection modes.
2014-01-18 15:44:04 -08:00
Unknown W. Brackets
6eb493a842 Use 0 for texcoord when not specified in vertex.
Can't find any other unprotected attributes (well, position, but that
should always be specified) so this fixes #5133.

Also fixes #5124 for me.
2014-01-18 14:57:25 -08:00
Unknown W. Brackets
2347498667 x86jit: Use templates to avoid some void * casts.
Makes it a bit cleaner and potentially safer.
2014-01-18 09:57:13 -08:00
Henrik Rydgard
da97a67526 Try a different approach to the problem in #5117 2014-01-16 22:52:14 +01:00
sum2012
016fa0cbff Fix Windows 64 bit gpu crash
Fix #2301 ,thanks @raven02
2014-01-16 22:01:38 +08:00
Henrik Rydgard
c55578367f Add option "Small Display", useful for large tablets to avoid overlapping touch controls with the screen.
Will later replace with a multiselect of different sizes, or something more advanced
like multitouch drag & zoom of the screen to get it exactly where you want it.
2014-01-16 00:22:39 +01:00
Henrik Rydgård
4fda9135da Log dimensions of framebuffer/texture collisions. Update native. 2014-01-14 10:51:45 +01:00
Unknown W. Brackets
6b0853c2e0 Report when texturing from the render framebuffer. 2014-01-14 01:14:06 -08:00
Unknown W. Brackets
b9f4cc4481 Double colors only when texturing, and after test.
Per tests.
2014-01-12 11:45:29 -08:00
Unknown W. Brackets
4f585fd7a6 Fix a few minor typos. 2014-01-11 22:59:52 -08:00
Henrik Rydgård
4d7b652f4f Merge pull request #5079 from raven02/patch-22
When mipmap disabled , maxlevel always 0 (set earlier)
2014-01-11 03:25:21 -08:00
raven02
271b680737 When mipmap disabled , maxlevel always 0 (set earlier) 2014-01-11 16:26:36 +08:00
Unknown W. Brackets
79864a5ee0 Fix some initialization order warnings. 2014-01-10 22:21:24 -08:00
Henrik Rydgard
ad951bc0d4 Symbian buildfix 2014-01-06 19:21:27 +01:00
Henrik Rydgard
43a93f086d Enable depth buffer copies on GLES3 devices without breaking any desktop 2014-01-06 18:03:57 +01:00
Henrik Rydgard
aaf219d063 Only copy the depth buffer if the framebuffer size matches. 2014-01-05 13:00:57 +01:00
Unknown W. Brackets
2a56c76f55 Fix crash in non-buffered rendering. 2014-01-04 17:29:00 -08:00
Unknown W. Brackets
202842d690 On desktop, blit depth when not cleared.
Workaround for #1283, makes Jeanne d'Arc playable.
2014-01-04 11:27:01 -08:00
Henrik Rydgård
431395eceb Merge pull request #4905 from raven02/patch-23
Bind framebuffer to 0 if framebuffer status is incomplete
2014-01-03 03:47:42 -08:00
Henrik Rydgård
9281fccacd Merge pull request #4939 from unknownbrackets/texcache
Add two options to adjust the texture cache
2014-01-02 08:32:59 -08:00
raven02
164a6846b0 Indentation fix 2014-01-02 20:24:57 +08:00
raven02
5f5220b608 Revert acf4562 2014-01-02 20:17:58 +08:00
raven02
6467c70f08 Exclude PowerVR chipset only 2014-01-02 19:21:22 +08:00
raven02
e84a7b1586 Viewport restore only for Adreno GPU 2014-01-02 12:17:41 +08:00
Unknown W. Brackets
0f5aae9c49 Cleanup differences in DirectX9 texcache code. 2014-01-01 15:49:10 -08:00
Unknown W. Brackets
e477c50ea1 Fix #4922, kill age checks in texcache. 2014-01-01 15:49:10 -08:00
Unknown W. Brackets
e24f45b9a4 Add ini options to configure the texture cache. 2014-01-01 15:49:09 -08:00
Henrik Rydgard
91531a9792 Get rid of "ATIClampBug", it's not a bug, it's just lack of full non-pow-2 texture support 2014-01-02 00:09:01 +01:00
Henrik Rydgard
a9832fb79a Set cleardepth the traditional way on desktop. 2014-01-01 23:40:35 +01:00
W.MS/王京
032f40b5a1 fix the typo, maybe
LOL
2014-01-02 01:30:24 +08:00
raven02
5d05b4f16a ClearBuffer(): Clear depth to 1.0 2014-01-01 22:49:50 +08:00
Henrik Rydgård
079d9c04dd Merge pull request #4942 from unknownbrackets/warnings
Fix some warnings, possibly fix Symbian
2013-12-30 00:28:48 -08:00
raven02
d59351d3b0 Mipmapping only enable when texture scaling disable 2013-12-30 14:28:28 +08:00
Unknown W. Brackets
ca78f49e5b Attempt to fix Symbian compilation. 2013-12-29 16:21:16 -08:00
Unknown W. Brackets
db77dcd149 Fix some includes on Windows/etc. 2013-12-29 15:59:36 -08:00
Henrik Rydgård
87f203a5b8 More include untangling 2013-12-29 23:44:35 +01:00
Henrik Rydgård
79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01:00
Unknown W. Brackets
e6b2d00a2f Avoid reseved identifiers like _SP, etc.
R_SP is not that bad.
2013-12-29 14:25:34 -08:00
Henrik Rydgård
5dbc26aec8 Merge pull request #4937 from unknownbrackets/gpu-minor
Ignore material update when no vertex color, softgpu vertex preview
2013-12-29 13:49:24 -08:00
Unknown W. Brackets
473fb866e6 softgpu: Implement vertex preview.
And move ConvertMatrix4x3To4x4() into a common place since there were
differing implementations, which was only confusing.
2013-12-29 13:45:10 -08:00
Unknown W. Brackets
25bc394284 Ignore the material update flag w/o vertex color.
Instead of using materialambient for all of them.

Fixes #3918, and seems to match tests with 3dstudio.
2013-12-29 12:57:30 -08:00
raven02
b44542abb7 Fix #4913 2013-12-29 22:30:56 +08:00
Henrik Rydgård
64717d1b02 Shaders: Make sure to always use matching versions.
Really should unify this somehow.
2013-12-29 12:27:19 +01:00
Henrik Rydgård
c277fe3019 Don't declare fragColor0 unless we will use it. See #4877 2013-12-29 11:26:56 +01:00
Henrik Rydgård
acf4562130 Merge pull request #4913 from raven02/patch-25
Set alpha mask based on ReplaceAlphaWithStencil()
2013-12-29 02:19:34 -08:00
Henrik Rydgård
0952674b37 Merge pull request #4898 from raven02/patch-21
GLES3: enable PSP-based mipmapping generation
2013-12-29 02:07:31 -08:00
raven02
d1327822d1 ReplaceAlphaWithStencil() has been checked for gstate.isStencilTestEnabled() 2013-12-26 11:33:53 +08:00
raven02
40efc5fb4d Regroup Stencil Testing 2013-12-26 11:18:16 +08:00
raven02
e5059d2c96 Set amask based on ReplaceAlphaWithStencil() 2013-12-25 19:42:08 +08:00
raven02
0a44bff7fa GLES3: Try to re-enable PSP-based mipmapping generation 2013-12-25 17:17:10 +08:00
raven02
9676f6943f Restore Alpha/ColorDoubling to do before color test 2013-12-25 15:39:37 +08:00
raven02
f97aacce45 Reformat stencilToAlpha a bit 2013-12-24 22:36:57 +08:00
raven02
cf50ace328 bind framebuffer to 0 if framebuffer status is incomplete 2013-12-22 16:03:39 +08:00
raven02
8a9ba716a0 GLES3: uses GL_MIN/MAX as supported 2013-12-22 15:20:04 +08:00
Henrik Rydgard
fe472b4255 Update native, setting ATIClampBug on Tegra as it has the same behaviour.
Fixes black screen in GTA on Tegra.
2013-12-21 13:47:49 +01:00
Henrik Rydgard
9e109e16d9 Android buildfix.
Also, this warning flag appears not supported. (4.6?)
2013-12-21 13:06:29 +01:00
raven02
4f81d97624 emnu fix#2 2013-12-21 16:18:38 +08:00
raven02
ad720b31e0 emnu fix#1 2013-12-21 16:17:40 +08:00
Henrik Rydgård
b2d0f37d96 Fix crashing on some OpenGL versions 2013-12-18 12:00:23 +01:00
Henrik Rydgard
0a1514161d GLSL 3.0 fix 2013-12-18 11:22:31 +01:00
Henrik Rydgard
832c933cb8 Some shader fixes 2013-12-17 23:38:58 +01:00
Henrik Rydgard
38f94ea0bf Minor typo fix 2013-12-17 00:20:40 +01:00
Henrik Rydgard
f8312716f3 Only use dual source when actually needed.
Does generate a few more shaders but hopefully isn't a problem, should get rid of most of the slowdown in most games.
2013-12-16 23:44:28 +01:00
Henrik Rydgard
a9a15d5196 Don't use dual source when stencil disabled 2013-12-16 23:41:42 +01:00
Henrik Rydgard
068d4f0ee5 Another typo fix 2013-12-16 23:40:30 +01:00
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
raven02
8306243b97 Check gstate.isSkinningEnabled() only 2013-12-16 20:44:13 +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
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
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
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
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
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
raven02
2e7609b084 Cleanup ClearmodeDepthMask 2013-12-10 20:48:20 +08: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
Henrik Rydgård
9e42086e21 Logspam reduction 2013-12-09 13:45:17 +01:00
Unknown W. Brackets
c6a441965e Move shared clut check to gstate. 2013-12-08 23:11:56 -08:00
Henrik Rydgard
bd1d4e2d92 As if softgpu wasn't slow enough already, implement bilinear filtering. 2013-12-09 01:44:23 +01: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
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
41a7157aa6 Eat some cycles when changing thread priority.
Some games call this a lot.
2013-11-28 01:01:22 -08:00
Sacha
c71186b35a Partial Stretch: This setting is needed on other devices too. 2013-11-28 14:59:17 +10:00