Commit Graph
3983 Commits
Author SHA1 Message Date
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
Unknown W. Brackets 6b606aa124 vertexjit: Fix some stupid mistakes in x86 morph.
Good to have somewhere to test it properly.
2014-03-29 00:15:35 -07:00
raven02 e0fae728ad Update few comments for 2x src/dst blending 2014-03-28 20:11:37 +08:00
Henrik Rydgard 1d21306dcc Use the VLD1 solution for the skinning problem, instead of the old VFP path. 2014-03-25 20:40:29 +01:00
Henrik Rydgård 98b6f0db3a Merge pull request #5717 from thedax/win32NVidiaVSync
Win32/NVidia: go fullscreen later than previous builds, to avoid vsync being ignored
2014-03-25 18:10:49 +01:00
Unknown W. Brackets 69c2500dc6 Make sure vai->flags are set while hashing.
Since we decode the verts in this case we have a fresh flag.  Might
be #5718?
2014-03-25 08:19:38 -07:00
Henrik Rydgard 6d648b075f Disable an optimization that broke Daxter (#5723) 2014-03-25 11:09:15 +01:00
Henrik Rydgård cf3d75975d Merge pull request #5720 from unknownbrackets/texcache
Optimize xxHash for ARM/NEON devices
2014-03-25 09:32:15 +01:00