Henrik Rydgård
a285d047ea
Merge pull request #5873 from unknownbrackets/texcache
...
Fix texture cache invalidation...
2014-04-14 09:16:30 +02:00
Unknown W. Brackets
9982d04f9d
Optimize the case of a direct byte copy.
...
Small improvement (like 3.5%) in God of War.
2014-04-13 21:31:30 -07:00
Unknown W. Brackets
f4458edc76
Avoid unbinding the current fbo on block transfer.
...
Improves God of War performance by 25% (at least in the demo.)
2014-04-13 21:11:17 -07:00
raven02
a29255b647
Fix wrong stretch in Wildarm XF (non-buffered mode)
2014-04-14 11:40:04 +08:00
Unknown W. Brackets
ca6e4635aa
Fix texture cache invalidation.
2014-04-13 16:25:09 -07:00
Unknown W. Brackets
dc0eea0522
Propagate texcache hash fails through cluts.
...
In games that use palette swapping (hi, FF2), if we detect a change in
a texture, another texture with the same address but new clut might not be
rehashed.
This just marks all other textures as dangerous when a hashfail occurs.
Fixes FF2 from recent optimizations. It's slower, but still much faster
than before.
2014-04-13 16:20:58 -07:00
Unknown W. Brackets
6cfc61665d
Switch to a bitmask instead.
2014-04-13 14:45:55 -07:00
Unknown W. Brackets
4c1c694d4b
Use flags to avoid hashing textures when unchanged.
...
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.
Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Unknown W. Brackets
2f72da8087
Don't dirty the texture on texmapenable.
...
Tales of Phantasia X flips on and off texturing during battle transitions.
This causes tons of needless rehashes.
2014-04-13 13:19:35 -07:00
Unknown W. Brackets
b6dc7eba8b
Simplify texture status checks a bit.
2014-04-13 13:19:35 -07:00
Unknown W. Brackets
f2ff8544c7
Don't check diff in ExecuteOpInternal().
...
Since it's not called if !diff, there's no need. Small performance
improvement.
2014-04-13 10:25:14 -07:00
Unknown W. Brackets
e780a645cb
Use the FLAG_EXECUTEONCHANGE flag.
...
Improves fps by 1-3% in some games, seems to be a win after all.
2014-04-13 10:23:21 -07:00
Unknown W. Brackets
0d59fc0d2e
Oops, forgot to reset the frame when unchanged.
...
Fixes #5861 .
2014-04-13 08:15:48 -07:00
Henrik Rydgård
9bcb2f3a0e
Merge pull request #5859 from raven02/patch-1
...
Implement in-shader ABSDIFF blending mode
2014-04-13 10:18:59 +02:00
Henrik Rydgård
cb3db6ada4
Merge pull request #5854 from unknownbrackets/fbo-sizing
...
Try to improve FBO sizing
2014-04-13 10:16:23 +02:00
raven02
a9d7be1eab
Should be id0
2014-04-13 16:13:59 +08:00
raven02
f1254c79ed
Turn off regular alpha blending
2014-04-13 16:03:50 +08:00
raven02
e358a6dcbe
Handle ABSDIFF blending mode using GL_EXT_shader_framebuffer_fetch
2014-04-13 16:01:55 +08:00
Unknown W. Brackets
f462721394
Rather than only enlarging, watch for persistence.
...
If the game keeps using something at a new size, we know it's time to make
some adjustments.
2014-04-12 23:12:35 -07:00
raven02
568b14f890
Regress fix https://github.com/hrydgard/ppsspp/issues/5769
2014-04-13 13:58:34 +08:00
Unknown W. Brackets
1a53be45cc
When uploading video pixels, detect w/h by size.
...
Sometimes the framebuffer size is incorrect, but kinda works... but this
is a problem for the video. Using the size gets us better.
In Wild Arms XF, the framebuffer is 512x512, but that's not right. It's
clear it should be 480x272.
2014-04-12 22:02:47 -07:00
Unknown W. Brackets
1f76adb7a3
If a larger framebuffer is needed, upgrade it once.
...
This should prevent issues where it gets larger and smaller like in the
past.
2014-04-12 20:46:38 -07:00
Henrik Rydgård
05b23c7bd9
Merge pull request #5802 from raven02/patch-1
...
Texture lod bias should be signed
2014-04-11 20:58:55 +02:00
raven02
a6523dd507
Texture lod bias should be signed
2014-04-12 02:33:52 +08:00
Unknown W. Brackets
d91ad87daa
Small perf improvements in DecodeVertsStep().
2014-04-05 12:32:10 -07:00
Unknown W. Brackets
bb2fb12edd
Inline SetupVertexDecoder() in SubmitPrim().
...
Everything SubmitPrim() calls is expensive...
2014-04-05 01:25:04 -07:00
Unknown W. Brackets
f05f8c7b12
Fix alpha channel in 565 morph on x86.
...
Shuffling is annoying, just do it on the other side. Fixes #5784 .
2014-04-02 10:10:42 -07:00
Henrik Rydgård
89cf9230a1
Indentation fix
2014-04-02 10:28:03 +02:00
Henrik Rydgard
d83a5da6bd
Fix glTextureStorage2D issue by scaling w/h. Fixes #5625
2014-04-02 00:15:41 +02:00
Unknown W. Brackets
7c70d8b04e
Oops, remove some duplicate code.
...
Moved this to the inlined SetRenderFrameBuffer().
2014-04-01 02:09:21 -07:00
Unknown W. Brackets
e7639f666c
Ensure stuff run on every prim are inlined.
...
These both get a ton of calls and show up on profiles.
2014-03-30 00:42:26 -07:00
Unknown W. Brackets
466a5418d2
Cut time in EstimatePerVertexCost().
...
From profling, this cuts 4% time while lighting is enabled, and 14% while
disabled (on ARM.) But maybe should just inline this...
2014-03-30 00:42:26 -07:00
Unknown W. Brackets
a4327702f1
Reduce some includes under GPU/.
2014-03-29 16:51:38 -07:00
Henrik Rydgård
4c437218e4
Merge pull request #5766 from unknownbrackets/gpu-minor
...
Update some flags in GLES_GPU
2014-03-29 17:25:19 -04:00
Unknown W. Brackets
27550a2336
Update some flags in GLES_GPU.
...
It's useful to know if we need to have a correct PC value or downcount.
2014-03-29 14:10:35 -07:00
Unknown W. Brackets
0950e7b86d
Optimize ComputeVertexShaderID() a bit.
...
This is only like 1%. Along the way found and fixed an overlap of bits.
2014-03-29 10:35:09 -07:00
Unknown W. Brackets
1209bc7ba4
Optimize ComputeFragmentShaderID() a bit.
...
I've seen it decently high on some profiles (1-2%). This cuts it down by
12.5% when used in a tight loop. The temporary was 8%, the ifs were the
other 4.5%.
2014-03-29 10:21:04 -07:00
Unknown W. Brackets
2b7d2fdc4b
Optimize > and != 0 alpha tests.
...
There's no need to do rounding in this case. These are very common.
Also, if the test was !=, convert it to >, which may work better on
PowerVR.
2014-03-29 10:16:06 -07:00
Henrik Rydgard
f99925261d
Merge branch 'raven02-patch-42'
...
Conflicts:
GPU/GLES/FragmentShaderGenerator.cpp
2014-03-29 17:26:33 +01:00
raven02
664efe6812
Return false when alpha blending disabled
2014-03-29 22:04:59 +08:00
raven02
2944856c42
FS : Add missing gstate.isTextureMapEnabled()
2014-03-29 21:03:28 +08:00
Henrik Rydgard
37e9fc59b3
2x alpha: Safer change than the last attempt. Still fixes P2. I think this can be simplified, anyway.
2014-03-29 12:10:44 +01:00
Henrik Rydgard
27767fa85c
Revert "Rethink 2x src alpha->color doubling. Fixes #3379."
...
This reverts commit 47efded29f .
2014-03-29 12:01:47 +01:00
Henrik Rydgard
47efded29f
Rethink 2x src alpha->color doubling. Fixes #3379 .
2014-03-29 11:40:17 +01:00
Henrik Rydgard
94c1e56d9b
Merge branch 'gpu-minor' of github.com:unknownbrackets/ppsspp into unknownbrackets-gpu-minor
...
Conflicts:
GPU/GLES/VertexDecoder.cpp
2014-03-29 10:15:57 +01:00
Henrik Rydgard
74f593362b
Non-jit vertex decoder, morph: Clamp colors to 0-255.
2014-03-29 10:07:51 +01:00
Unknown W. Brackets
4b1737b0cd
vertexjit: Oops, don't use NEON when not supported.
2014-03-29 02:05:10 -07:00
Unknown W. Brackets
18f6407705
Clamp morph colors in non-vertexjit.
...
Not sure if any platforms use this...
2014-03-29 01:53:28 -07:00
Unknown W. Brackets
3adab534c7
vertexjit: Fix dumb mistakes in NEON color morphs.
2014-03-29 01:00:02 -07:00
Unknown W. Brackets
162bd98877
vertexjit: Fix Jit_WriteMorphColor() on ARM.
...
It was totally wrong.
2014-03-29 00:24:34 -07:00