Commit Graph

2108 Commits

Author SHA1 Message Date
Unknown W. Brackets
1e057a76b5 Convert all CLUT entries ever loaded.
Some games reuse previously loaded bytes, like World Neverland.  We
displayed bad colors in these cases when we don't convert all the entries.

Technically, this means we're hashing less than used in these cases, but if
we hash more we will get lots of false cache misses.

Fixes #6752.
2014-08-19 22:31:09 -07:00
Henrik Rydgård
d234ab03c6 Merge pull request #6696 from LunaMoo/master
Add Buffer Scalling Filter option
2014-08-19 07:55:45 +02:00
Unknown W. Brackets
dc09875eca Refactor s8/s16 to float conversion.
It's pretty much all done the same way.  Note that normals have always
been a little inconsistent between 127/128 and 32767/32768.  But it's
probably not causing a major impact...
2014-08-18 00:47:50 -07:00
Unknown W. Brackets
385df1c54e Force positions to scale by 128/32768 as psp does.
This makes everything use floats for positions.  On some hardware/drivers,
this may be faster.  On some it may be slower.  We'll need testing to see
the performance impact.

Fixes Final Fantasy 4's pos misalignments, and probably others (like
Tekken 5 I suspect.)
2014-08-17 14:31:49 -07:00
Unknown W. Brackets
147eb92c95 Fix USE_BONE_ARRAY (currently disabled.) 2014-08-17 10:56:30 -07:00
Luna
62a1023615 Add "Screen Scaling Filter" option 2014-08-08 20:51:15 +02:00
The Dax
ee9eb00656 One last buildfix (please correct if GL_FUNC_ADD is wrong, I just wanted buildbot to work again). https://github.com/hrydgard/ppsspp/pull/6679 should replace this soon. 2014-08-05 00:34:36 -04:00
Unknown W. Brackets
cde9746dab Buildfix. 2014-08-04 21:09:58 -07:00
Unknown W. Brackets
3008b4f8a8 Also do it here, although may be removed soon. 2014-08-04 19:33:58 -07:00
Unknown W. Brackets
8d6a5fd694 Use correct stencil values with non-add blending.
Otherwise, we get the min/max/etc. value instead.
2014-08-04 19:16:10 -07:00
Unknown W. Brackets
0279aa154c Use glStencilMask() to partially simulate amask.
Alpha won't be correct, though.
2014-08-03 21:48:18 -07:00
Unknown W. Brackets
3bf88a3c9a Disable tests and etc. when destroying framebufs.
Fixes #6678.  May fix problems loading savestates as well.
2014-08-03 18:45:36 -07:00
Unknown W. Brackets
9844c6e8cc Create the stencil texture after the temp fbo.
Otherwise, we'll bind the temp fbo as a texture while creating it.
Somehow my NVIDIA driver was making this work anyway?

Fixes #6611.
2014-07-22 22:36:38 -07:00
Henrik Rydgard
c8ac26e502 Apparently a 1 pixel margin works around Assassin's Creed buffer overlap misdetection
(while still keeping BOF working).

Should take care of #6599.
2014-07-21 20:00:25 +02:00
Unknown W. Brackets
bf01fd2185 Try to avoid false reporting of depthbuf reuse. 2014-07-13 11:59:45 -07:00
Unknown W. Brackets
d80d5beb71 Stop reporting blits when render mode is swapped. 2014-07-09 23:40:29 -07:00
Unknown W. Brackets
f553b632be Avoid a texture offset if framebuf attach fails.
But, I'm not sure in what case this could happen.
2014-07-09 08:22:57 -07:00
The Dax
97b467683a Don't crash when framebuffer is a nullptr. 2014-07-09 06:11:41 -04:00
Unknown W. Brackets
4a8d52ab1a Add a config option for the slow framebuf effects.
Like cluts, blitting, etc.  At higher render resolutions these are
expensive, and on some mobile devices they may be too much.

Of course, they're only used when needed so this is a speedhack.
2014-07-08 23:57:27 -07:00
Unknown W. Brackets
81e6f93be4 Check for access to offset framebuffers better.
Even if the height of the framebuffer doesn't exactly match the offset.
Fixes #2759 again.
2014-07-06 11:52:00 -07:00
Unknown W. Brackets
be76846679 When applying the Danganronpa hack, force 5551.
This prevents dithering from happening during the blit, and since
dithering is off during drawing, allows the colors to be correct on some
devices which always dither during blits.
2014-07-05 00:49:30 -07:00
Unknown W. Brackets
8ab33795b3 Delete temporary/blitting FBOs on device lost.
Fixes issues when the device goes to sleep with Danganronpa, block
transfers, etc.
2014-07-04 23:27:12 -07:00
Unknown W. Brackets
4cb8c414b0 Use the CPU for download on non-NVIDIA cards.
Fixes #6494.
2014-07-04 18:04:32 -07:00
Unknown W. Brackets
3a2d1ac28e Correct async packing alignment.
Only matters if a framebuffer width is not a multiple of 4, which might
not happen anyway.
2014-07-04 14:10:56 -07:00
Unknown W. Brackets
6a4269b1d0 Disable dithering (which affects pixel download.)
Fixes #6494.
2014-07-04 14:10:20 -07:00
Unknown W. Brackets
be0340bb34 Fix crash when FBO_ARB is not available.
Experienced this on a Mac / SDL with a Radeon X1600.
2014-07-04 01:54:03 -07:00
Unknown W. Brackets
edd760fe39 Oops, forgot a cast. 2014-07-03 01:30:08 -07:00
Henrik Rydgård
ed9866b212 Merge pull request #6490 from unknownbrackets/framebuffer-clut
Fix depal shaders on GLES3 devices
2014-07-03 09:53:53 +02:00
Henrik Rydgård
4972f63dfa Merge pull request #6491 from unknownbrackets/gpu-minor
Try to fix color test masking on GLES3 devices
2014-07-03 09:52:45 +02:00
Unknown W. Brackets
739c215d35 Stop reporting memcpy fbo upload/download. 2014-07-03 00:48:46 -07:00
Unknown W. Brackets
61ea20875c Fix shader blending on ARM GLES3 devices.
We currently ban them from GLES3, and this was interacting with that
incorrectly.  Should we still ban them, though?
2014-07-03 00:15:15 -07:00
Unknown W. Brackets
e364de42cb Ensure #extension is before non-# tokens.
As required by Tegra devices from reporting.
2014-07-02 23:21:52 -07:00
Unknown W. Brackets
c379169efc Try to fix colormasking on GLES3 devices.
Not tested, though, since I don't have one... from reporting.
2014-07-02 23:15:02 -07:00
Unknown W. Brackets
5ddb848d09 Fix depal shaders on GLES3 devices.
This path should have only > GL 3.3 or GLES3 so texture() is okay.
2014-07-02 22:35:47 -07:00
Unknown W. Brackets
602daf5f8a Add some missing algorithm includes. 2014-07-01 00:26:22 -07:00
Unknown W. Brackets
5db79dcf11 Fix some missing semicolons on log statements. 2014-06-29 19:09:37 -07:00
Unknown W. Brackets
32a11dc28d Minor optimization for prescale/not, fix switch. 2014-06-29 15:47:00 -07:00
Unknown W. Brackets
596abeca06 Use the same vertex decoders for splines.
Had the vert type bits at the top.
2014-06-29 15:46:59 -07:00
Unknown W. Brackets
95f4341838 Allow changing prescale uv at runtime. 2014-06-28 21:51:25 -07:00
Unknown W. Brackets
1c3b60a8ee Allow changing software skinning at runtime. 2014-06-28 21:46:43 -07:00
Unknown W. Brackets
d2d7d6e34b Destroy all FBOs/textures upon sceKernelLoadExec().
It can confuse our heuristics about size, attachment, memcpy, etc.
2014-06-28 12:29:09 -07:00
Unknown W. Brackets
63bcb65d96 Height can be equal, just not greater.
Oops.
2014-06-28 03:41:44 -07:00
Unknown W. Brackets
7d0aeb067a Make sure the conv buffer matches the used height.
May matter if bufferHeight > height.
2014-06-28 02:40:40 -07:00
Unknown W. Brackets
217d8d24ea Validate height better when downloading fbs. 2014-06-28 02:33:28 -07:00
Henrik Rydgård
9351fe44ea Merge pull request #6444 from unknownbrackets/jit-minor
Use more correct rounding in armjit, update x86jit and minor
2014-06-28 11:20:11 +02:00
Unknown W. Brackets
e57ed7d2f4 Small optimizations to stencil scanning. 2014-06-28 02:00:14 -07:00
Unknown W. Brackets
a33589b3e9 Optimize away bits in the stencil upload.
Should be faster than sending to the GPU this way, if we can help it.
Should improve delays on FBO creation at high render resolutions.
2014-06-28 01:39:18 -07:00
Unknown W. Brackets
464b453748 Use a temp FBO at 1x to upload stencil.
This improves performance at > 1x resolutions.
2014-06-28 01:19:07 -07:00
Unknown W. Brackets
89ffbd027e vertexjit: Specify round to zero in ARM rounding.
Only affects color morphs.  NEON always rounds to zero so let's be
consistent.
2014-06-28 00:38:57 -07:00
Unknown W. Brackets
b829be1bfe Require 25% of texture to overlap framebuffer.
Because it's probably wrong if only a small amount overlaps.
2014-06-26 00:48:48 -07:00