Commit Graph

868 Commits

Author SHA1 Message Date
Henrik Rydgård
99634a913a Disable QuickClutHash until it can be fixed. 2013-05-27 19:46:09 +02:00
jeid3
632ac03fc2 Build ios fix 2013-05-27 09:54:16 +01:00
Unknown W. Brackets
f042894c3e Don't bypass the secondary cache on minihash fail. 2013-05-26 13:44:47 -07:00
Unknown W. Brackets
01e1a8093a Allow ConvertColors() to work as a copy op. 2013-05-26 13:31:58 -07:00
Unknown W. Brackets
d2a52f48e5 Switch to a weaker, but faster clut hash. 2013-05-26 13:26:12 -07:00
Unknown W. Brackets
5dabdd3651 Make sure to update the CLUT if format changes.
Otherwise we throw away the loaded clut, which is no good.
2013-05-26 13:26:07 -07:00
Unknown W. Brackets
c53386244d Don't hash the clut when it's not even used.
Many games load the clut even when it wasn't changed, and we don't flush
between when this happens.  There shouldn't be any need to rehash the clut
either.

Technically, the clut could have actually changed, but this would
generally require them to clear the dcache or something in a way the GE
probably doesn't support.
2013-05-26 12:41:36 -07:00
Henrik Rydgard
cdef31f9fc Turn off the use of uniform arrays in shaders as some devices don't like them, and the speedup seems to be very small if any. 2013-05-26 14:03:02 +02:00
Henrik Rydgard
7ffdac39bc Disable the for loop in the vertex shader again. Some lame drivers don't seem to like it. 2013-05-23 12:49:34 +02:00
Henrik Rydgard
e2024674a4 Undo an optimization that broke skinning a bit... 2013-05-22 19:49:58 +02:00
Henrik Rydgard
199907b9ed Shader simplification - well, more of it. Hopefully this helps the mali problems a bit more. 2013-05-22 15:52:10 +02:00
Unknown W. Brackets
373561b90e Don't store clutformat in the texcache entry. 2013-05-20 01:00:14 -07:00
Unknown W. Brackets
3efe7ae24d Cache based on the full clutformat.
Not just 2 bits of it.  Oops.  Simpler this way.
2013-05-20 00:53:39 -07:00
Henrik Rydgard
29ab5e7801 Shader simplification: Flip skinning math around. Remove a temporary from the texcoord generation code. Update ffmpeg submodule pointer. 2013-05-20 00:16:29 +02:00
Henrik Rydgard
d9ed61c04a Shader simplification: Get rid of some uniforms when possible. 2013-05-19 16:38:52 +02:00
Henrik Rydgard
063e23dc0d Shader simplification: Share even more variables between lights. 2013-05-19 14:45:56 +02:00
Henrik Rydgard
a1d549c59f Shader simplification: Share some variables between lights to help bad register allocators 2013-05-19 14:36:07 +02:00
Henrik Rydgard
0ff8be1b1a Shader simplification: Get rid of lightSum1 when not needed. 2013-05-19 14:23:17 +02:00
Henrik Rydgard
b3cc5859dc Shader simplification: Get rid of lightscale where possible 2013-05-19 13:52:47 +02:00
Henrik Rydgard
06e4441213 Shader simplification: .rgb += instead of vec4(..., 0.0f) 2013-05-19 13:51:46 +02:00
Henrik Rydgard
b1dd449f8f Remove accidentally-added extra "precision highp float" from vshader gen 2013-05-18 23:21:42 +02:00
Henrik Rydgard
9af5499b21 Optimize bone matrix updates. 2013-05-18 21:18:45 +02:00
Henrik Rydgard
1b210fab14 Use arrays and for loops in GLSL shaders for bone processing, to shrink the shaders which are becoming too big for some mobile GPUs. Might fix #1816. 2013-05-18 20:45:52 +02:00
Henrik Rydgard
dca2406374 Add more precision specifiers to vertex shader 2013-05-18 19:51:52 +02:00
Henrik Rydgård
367e9bcefb Remove DrawWireframe option to save space in dialog, it doesn't really work right anyway 2013-05-16 17:18:53 +02:00
Unknown W. Brackets
03f3f99e39 Don't use ivec in the fragment shader.
Attempt at #1777.  Needs the + 0.5 to round properly on mobile.
2013-05-12 13:09:02 -07:00
Unknown W. Brackets
41fb41afdb Only report these once to avoid spam. 2013-05-12 12:00:21 -07:00
Unknown W. Brackets
5619c84432 Defer palette conversion after clut load.
Because the format can easily be specified afterward.
2013-05-12 10:57:41 -07:00
Unknown W. Brackets
39c0e6c096 Add reporting for unsupported GE commands.
And clean up some disasm for a couple others.
2013-05-12 10:30:26 -07:00
Unknown W. Brackets
5ecacd6bc8 Don't double alpha when alphablend is disabled.
Probably doesn't affect much.
2013-05-12 09:31:23 -07:00
Unknown W. Brackets
5223ee3d1b Move the font clut opt check to clut load.
And remove the report for mipmap sharing, seems to work...
2013-05-12 09:26:17 -07:00
Unknown W. Brackets
901a7b804e Implement mipmap clut sharing/not sharing.
It was kinda already there, probably from JPCSP.  Not well tested,
but this is what JPCSP does and it makes sense.
2013-05-12 09:04:50 -07:00
Unknown W. Brackets
7e23299c36 Immediately load the clut on LOADCLUT. 2013-05-12 01:56:26 -07:00
Unknown W. Brackets
518394cca8 Allow the full features string to be logged. 2013-05-12 01:56:25 -07:00
Unknown W. Brackets
4c43da9c23 Only apply the clut offset when using the clut.
This may fix games that use the clut offset having wrong colors.
2013-05-12 01:56:25 -07:00
Unknown W. Brackets
5a81bfd1fb Don't invalidate textures based on the clutaddr.
The cluthash should be sufficient, and this is less to pass around.
2013-05-12 01:56:25 -07:00
Unknown W. Brackets
7dd0d242e2 Load the clut only using LOADCLUT, not every tex.
This is a small optimization, and should match PSP behavior better.
It also allows us to hash the clut and convert colors less often.
2013-05-12 01:56:24 -07:00
Unknown W. Brackets
342ae6c322 Reuse the fullhash when it triggers a reload.
Instead of hashing it again a few microseconds later...
2013-05-12 01:56:24 -07:00
Unknown W. Brackets
724495cbb3 Mix add and xor in the texcache for better results. 2013-05-12 01:56:23 -07:00
Unknown W. Brackets
347bccf9bc Fix bone matrix number disasm. 2013-05-11 10:31:04 -07:00
Unknown W. Brackets
a22934885d Improve GE disasm for a few commands. 2013-05-11 10:16:56 -07:00
Unknown W. Brackets
84ab8aa79b Add reporting for alphatest mask.
Actually, maybe it being 0x00 could be advantageous...
2013-05-11 01:19:46 -07:00
Unknown W. Brackets
4b91c7e707 Implement DXT3 alpha. 2013-05-10 00:49:13 -07:00
Unknown W. Brackets
c937a22f26 Only double the color with color doubling.
Not the alpha.
2013-05-09 23:31:53 -07:00
Henrik Rydgård
8ada3aa8b4 Merge pull request #1727 from unknownbrackets/perf
Keep track of whether textures have alpha values or not
2013-05-09 01:27:32 -07:00
Unknown W. Brackets
47c404b925 Clean up some comments. 2013-05-09 01:19:55 -07:00
Henrik Rydgard
5c1425f900 Detect clears, replace with glClear(). Needs more testing, disabled for now. 2013-05-09 09:47:39 +02:00
Unknown W. Brackets
4a30221c95 Ignore texfunc RGBA when texture is full alpha.
This allows us to skip some work in the fragment shader.
2013-05-08 23:14:20 -07:00
Unknown W. Brackets
cb217189c5 Keep track of whether a texture has alpha.
This way we know what sorts of blending we even have to do.  Commonly,
textures don't have any real alpha.

Not yet used for anything.
2013-05-08 23:14:19 -07:00
Sacha
33e7169248 New Option for Blackberry keyboard devices: Partial Vertical Stretch
Stretches screen vertically by ~38% (midpoint of stretched and non-stretched).
Set this on by default for keyboard devices. Also set 'Show Touch' off by default.
2013-05-08 23:23:24 +10:00
Henrik Rydgård
17e084d77e Fix objects showing through road in Ridge Racer. Clears can set whether
to affect depth or not, need to respect that bit. Fixes #1712.
2013-05-08 11:29:24 +02:00
Unknown W. Brackets
34da6f983a Fix reporting typo logging wrong things. 2013-05-08 00:35:17 -07:00
Henrik Rydgård
b3355b2f7c Mac build fix. Rename WindowZoom ini parameter to force-reset it as it
should always be 1 on Android for now.
2013-05-07 23:28:19 +02:00
Unknown W. Brackets
ebf1b57834 Rename round255f to roundAndScale255f.
Seems to verbose to me, but no one can think it doesn't scale or round
this way.
2013-05-07 08:02:27 -07:00
Unknown W. Brackets
f2b4c4a0bc Pre-round the colortest/alphatest reference val. 2013-05-07 07:52:49 -07:00
raven02
eba452f1ba Add back round255f and round255v to u_alphacolorref 2013-05-07 21:52:40 +08:00
raven02
3744f6ee28 Fix colortest rounding using vec3 2013-05-07 19:53:48 +08:00
raven02
274b9c712c Add rounding to equality check for ColorTest 2013-05-07 16:47:53 +08:00
Unknown W. Brackets
76c812a428 Allow larger texture buffer widths.
Fixes #1631.
2013-05-06 23:54:41 -07:00
Henrik Rydgård
d8f9790abc Some Mac build fixes from vit9696 and some more. Update submodules. 2013-05-07 00:08:57 +02:00
Unknown W. Brackets
3c0ed69fd2 Improve GPU invalidation interface, check fonts.
When a font is rendered, tell the GPU about it, but don't rehash.

This not only improves perf (less hashing) but makes font changes more
immediate (no deferred hashing.)  But only if they use sceFont.
2013-05-05 22:52:01 -07:00
Unknown W. Brackets
995ab510e9 Optimize alpha-only CLUTs, common for fonts.
This optimizes the case where fonts are drawn using animation (common in
RPGs, for example), and textures have to be decoded over and over.

Could probably be faster with SIMD.
2013-05-05 22:34:35 -07:00
Unknown W. Brackets
d86253cef2 Buildfix for Linux. 2013-05-05 19:58:59 -07:00
Peter Thoman
fa8df54391 Pre-compute all weights and sums for bicubic scaling 2013-05-05 21:59:41 +02:00
Peter Thoman
073787430e Fixed bicubic scaling, added SSE 4.1 version 2013-05-05 21:59:41 +02:00
Sacha
c85b5782a0 Buildfix for BHarmattan and Blackberry. Was missing math.h 2013-05-05 20:18:31 +10:00
Henrik Rydgård
81363074a5 Merge pull request #1676 from unknownbrackets/texcache
Add back second texcache, improve perf, add memory check
2013-05-05 00:44:14 -07:00
Unknown W. Brackets
bd692ddf66 Check for low GPU memory and try to disable cache.
This may help with phones and even desktops without much VRAM/RAM.
Normally OpenGL will copy between them, though, so it should not happen
often, especially not on desktops.
2013-05-05 00:00:22 -07:00
Unknown W. Brackets
5b970d76e3 Use SSE2 in the texture hashing function.
Speeds it up significantly, but only when it's called a lot.
2013-05-04 21:39:12 -07:00
Unknown W. Brackets
02c88b9517 Add a secondary texture cache again.
This time, only used when invalidations happen several times, but not
too often, and still hashes the entire texture.
2013-05-04 20:33:31 -07:00
Unknown W. Brackets
608f469b54 Minor cleanup to tex hash and clut check. 2013-05-04 19:16:52 -07:00
Peter Thoman
e7b382dc57 __forceinline doesn't make a measureable difference here, so no need to make the code nonstandard 2013-05-05 01:49:16 +02:00
Peter Thoman
f49cc04c7d Merge branch 'master' of https://github.com/hrydgard/ppsspp
Conflicts:
	Windows/resource.h
2013-05-05 01:38:47 +02:00
Peter Thoman
bfe1cb9ca2 Added bicubic texture filtering and hybrid bicubic texture filtering options 2013-05-05 01:27:15 +02:00
Unknown W. Brackets
353528b63d When displaying an FBO, pick the most recent used.
Fixes flicker in Jewel Summoner, and black screen in Shadow of Destiny.
2013-05-04 15:36:24 -07:00
Unknown W. Brackets
fd0c368037 Fix texfunc disasm missing color doubling. 2013-05-04 15:36:23 -07:00
Unknown W. Brackets
a0e6917ee8 If unspecified, default normal to 0, 0, 1.
Fixes Trails in the Sky buttons and improves Kingdom Hearts lighting.
2013-05-04 13:23:50 -07:00
Henrik Rydgård
5c2b337526 Merge pull request #1652 from PeterTh/master
Add Texture Deposterization
2013-05-03 08:06:27 -07:00
Sacha
279158a010 Buildfix (Harmattan and Blackberry): stdlib is required for abs(int). 2013-05-04 00:32:25 +10:00
Peter Thoman
3ede2b69cb Drop std:: from bind in deposterize, I want to avoid breaking builds again if at all possible 2013-05-03 16:26:02 +02:00
Peter Thoman
3c2ee6bd65 Added texture deposterization option 2013-05-03 16:26:02 +02:00
Sacha
ac9f271078 Buildfix. Was meant to be from unsigned int to u8. 2013-05-04 00:08:38 +10:00
Sacha
e0ef9a9505 Buildfix (all C++0x compilers). Drop the std::, do a static_cast for narrowing conversion as required by C++0x spec. 2013-05-04 00:06:41 +10:00
Peter Thoman
f4f0a958d3 Applied loop tiling/strip mining to algorithms where it makes sense 2013-05-03 14:38:24 +02:00
Peter Thoman
fa8250ba12 Avoid scaling empty and flat textures 2013-05-03 13:35:24 +02:00
Peter Thoman
75bbe9df9f Clean up (and slightly speed up) blinear scaling 2013-05-03 13:17:36 +02:00
Henrik Rydgård
655e7dbfbb Merge pull request #1640 from PeterTh/master
Texture scaling improvements
2013-05-03 01:37:39 -07:00
Henrik Rydgård
1a6c5daf0c Merge pull request #1646 from unknownbrackets/texcache
Minor texture cache optimizations + blend fix
2013-05-03 01:35:20 -07:00
Peter Thoman
7d2fd0ea31 Removed Bilinear texture filtering option 2013-05-03 10:29:29 +02:00
Unknown W. Brackets
9537be9ebb Don't double src alpha when it's not safe to do so.
Fixes LittleBigPlanet vignette.
2013-05-03 01:10:59 -07:00
Unknown W. Brackets
df65bb40ac Avoid copying a tex if the PSP format is perfect. 2013-05-03 01:02:00 -07:00
Unknown W. Brackets
57c7b21640 Convert colors before applying clut, not after.
No reason to build it wrong and fix it afterward.
2013-05-03 00:12:42 -07:00
Sacha
8cb0423f32 Avoid name collision with ThreadPool on Windows hosts. Fixes all Linux/Unix cross-compiles from Windows, including Harmattan and Blackberry. 2013-05-03 16:31:53 +10:00
Peter Thoman
edf94091db Final Hybrid scaling adjustments & remove debug output 2013-05-03 02:51:07 +02:00
Peter Thoman
d8df8a6796 Merge branch 'master' of https://github.com/hrydgard/ppsspp
Conflicts:
	Core/Config.cpp
	Core/Config.h
2013-05-03 00:24:03 +02:00
Henrik Rydgard
6d66577f17 Don't write to transformedvertex.color1[4], it doesn't exist. 2013-05-02 20:18:46 +02:00
Peter Thoman
e352432aab Hybrid scaling works now 2013-05-02 20:05:41 +02:00
Peter Thoman
d70641d3f2 Manual merge 2013-05-02 14:25:18 +02:00
Peter Thoman
7ae3894365 Added functionality for hybrid scaling (not yet working) 2013-05-02 14:09:46 +02:00
Henrik Rydgard
42a4a1e4ba Brightness fix for scaled RGB565 and RGB5551 textures. Fix broken color conversion in DecodeTexture (which is not normally used). 2013-05-02 10:59:45 +02:00
Henrik Rydgard
a125da7af6 Don't scale textures in "kernel" memory (like the 2048x2048 PPGe texture). 2013-05-02 10:18:26 +02:00
Sacha
a9529f831d Hack for Meego. For some reason it's not compiling ThreadPool.cpp 2013-05-02 17:34:57 +10:00
Sacha
6a2a308069 Buildfix for Symbian. 2013-05-02 17:06:09 +10:00
Unknown W. Brackets
c73657e39a Buildfix for iOS and Android. 2013-05-01 23:31:18 -07:00
Sacha
ae9490ad30 Use boost to do C++11 features on Symbian. Use namespaces. 2013-05-02 15:46:41 +10:00
Peter Thoman
3e5023ea97 Refactored Texture Scaling, changed options & gui to separately select scaling level and method 2013-05-01 23:55:34 +02:00
Henrik Rydgård
dcff4970bd Merge pull request #1616 from PeterTh/master
Add global threadpool, use it for texture scaling parallelization
2013-05-01 11:51:01 -07:00
Peter Thoman
1f7a3776b3 Only scale textures which were never invalidated 2013-05-01 20:31:57 +02:00
Unknown W. Brackets
d412cf5c64 Approximate better with two fixed blend colors.
Having one be constant, or having a nearby blend, is better than fixing
both to 1.0 or 0.0.
2013-05-01 08:00:52 -07:00
Peter Thoman
e19442a8c1 Eliminated C++11 lambdas 2013-05-01 16:31:28 +02:00
Peter Thoman
95e6a5c4ea Adjusted Texture Scaler to use global threadpool 2013-05-01 14:12:10 +02:00
Peter Thoman
af68180319 Parallelized texture scaling 2013-05-01 14:12:09 +02:00
Peter Thoman
5e918a644f Moved texture scaling to separate file 2013-05-01 14:12:09 +02:00
Unknown W. Brackets
4009a37692 Improve blending with two fixed colors.
It's not right, but it's less bad.  Maybe there's a better way?

Improves Popolocrois and Lunar (battle) blending issues.
2013-05-01 00:55:30 -07:00
Peter Thoman
2212e7f609 Fixed threading issue pointed out by unknownbrackets and made texture scaling changes apply immediately 2013-04-30 17:58:05 +02:00
Henrik Rydgård
b7cd4d63e2 Merge pull request #1599 from PeterTh/master
xBRZ texture scaling
2013-04-30 04:29:36 -07:00
Unknown W. Brackets
320951a77c Disasm the GE blend mode better. 2013-04-30 00:17:39 -07:00
Unknown W. Brackets
8f27d03af3 Double alpha at least for a known case.
Makes Popolocrois look much better now.
2013-04-30 00:04:20 -07:00
Unknown W. Brackets
bc1e0d09d4 Report a possible blend error. 2013-04-30 00:04:00 -07:00
Peter Thoman
c7c4ec7c3b Added xBR texture scaling to TextureCache 2013-04-30 03:49:12 +02:00
Peter Thoman
392087f26b Added xBRZ library 2013-04-30 03:44:54 +02:00
Unknown W. Brackets
3a769bb047 Do alpha test equal compares using rounding.
Fixes accuracy problems, Popolocrois shows things now.
2013-04-29 01:19:23 -07:00
Unknown W. Brackets
b0ce9e934e Split out the GPU vendor and the full detail.
This way we can sort things more easily.
2013-04-29 00:30:54 -07:00
Unknown W. Brackets
5cea38e405 Reporting: catch information about the GPU. 2013-04-29 00:26:43 -07:00
Unknown W. Brackets
acd0b471e7 Make sure that x64 uses all the same opt settings.
There were some differences.  Also, make debug use the same sse mode
release does so they have parity.
2013-04-28 22:22:01 -07:00
Unknown W. Brackets
46e5b84242 Small opt. for common immediately stalled list. 2013-04-28 14:56:38 -07:00
Unknown W. Brackets
597cdbca3f Simplify, don't let InterpretList do downcount. 2013-04-28 14:30:28 -07:00
Unknown W. Brackets
1edbfa3212 Use a downcount and fast run loop in the GE. 2013-04-28 14:23:30 -07:00
Unknown W. Brackets
5a03888b56 Centralize state and pc changes in the GE.
To make later things easier.
2013-04-28 13:34:29 -07:00
Unknown W. Brackets
f6287cb33d Resize the tex buffers to the larger of w/bufw.
Since it's rearranging, it needs the larger, and it might be in place too.
2013-04-28 13:17:01 -07:00
Unknown W. Brackets
89ad3fb41a Swap a couple Unchecked loops for Memcpy calls.
Should be the same or faster, seems clearer anyway...
2013-04-28 11:33:14 -07:00
Unknown W. Brackets
880af79caa Get rid of the duplicate texture decode func.
Just need one, really.
2013-04-28 11:26:00 -07:00
Unknown W. Brackets
d0733562f1 Optimize clut reading a tiny bit, use one func. 2013-04-28 11:25:59 -07:00
Unknown W. Brackets
4fe0f59bd7 Fix some missing texture buffer resizes.
I think this is all of them...
2013-04-28 11:25:59 -07:00
Unknown W. Brackets
13aeb9e67f Get rid of the cluthash in the texcache.
It's part of the key now, and better anyway.
2013-04-28 02:40:57 -07:00
Unknown W. Brackets
0cd65102af Cache cluts by hash not address.
This makes it immensely faster in Final Fantasy Tactics, and fixes the
numerous graphical issues.
2013-04-28 02:38:59 -07:00
Unknown W. Brackets
394a8eaf9e Small optimization to typical 4-bit textures.
These aren't used that often, but this makes them a bit faster.

It also looks cleaner, imho.
2013-04-28 01:53:24 -07:00
Unknown W. Brackets
9427f352c3 Fix black screen when fbo set in first frame.
Because BeginFrame() is actually only called after the first frame.
2013-04-27 15:46:10 -07:00
Henrik Rydgard
c5c3189436 Fix some framebuffer-related crash bugs. Ignore cache instruction 'FILL'. 2013-04-27 20:06:31 +02:00
Henrik Rydgard
6f4ad05582 Remove some unused code, add some stubs to vfpu jit, some cleanup 2013-04-27 19:35:42 +02:00
Henrik Rydgard
660d5700e7 Unify some VS project settings 2013-04-27 19:34:41 +02:00
Henrik Rydgard
e3f183bc28 ColorDouble needs to be in the fragment shader ID 2013-04-27 18:33:56 +02:00
Unknown W. Brackets
9fa4725f67 Mask clut indexes for > 8-bit clut indexes.
Fixes #1532.
2013-04-27 01:19:09 -07:00
Unknown W. Brackets
46ab5cd0f7 Fix typo in GeDisasm texture format. 2013-04-25 07:49:51 -07:00
Unknown W. Brackets
7405b050be Revert secondary texture cache.
This reverts commits 5d978fc626,
6a7722283c,
fd34a2e74d,
5bdf91ea43,
223bb6795a, and
e2a9813d82.
2013-04-25 07:48:54 -07:00
Henrik Rydgard
6f23a56779 Remove use of setlocale() in Osk as I could not figure out the purpose, and it broke stuff.
If this is actually needed, please send a pull request adding it back, turning it off when not used, and also add an explanation in a comment.
2013-04-25 10:42:31 +02:00
Henrik Rydgard
1965775c5a Ugly workaround for locale issue breaking HW transform for some people 2013-04-24 23:30:09 +02:00
Unknown W. Brackets
0b9de18f8c Small optimization to morph vertex step funcs. 2013-04-24 08:19:42 -07:00
Unknown W. Brackets
6a7722283c Hash textures using cityhash rather than adding.
It should be more accurate, and for some games is faster.
For most it seems not hugely different.
2013-04-24 01:52:37 -07:00
Unknown W. Brackets
5d978fc626 Fix second texture cache key, duh. 2013-04-24 01:52:37 -07:00
Unknown W. Brackets
fd34a2e74d More aggressively decimate the second texcache. 2013-04-24 01:52:37 -07:00
Unknown W. Brackets
5bdf91ea43 Use a secondary texture cache for hash failures.
Animation is pretty common in 2D games, keep it cached.
2013-04-24 01:52:36 -07:00
Unknown W. Brackets
223bb6795a Don't rehash a non-matching texture. 2013-04-24 01:52:36 -07:00
Unknown W. Brackets
e2a9813d82 Basic mechanics for a secondary texcache, cleanup.
No need to set these values upon resuse.
2013-04-24 01:52:35 -07:00
Unknown W. Brackets
6be092b4de Make sure to print all GE command data in disasm.
Even if part of it shouldn't be used, if it is, that may be important.
2013-04-23 08:08:11 -07:00
Unknown W. Brackets
4075295327 Show more vertex type info in the GE frame dump. 2013-04-23 07:00:37 -07:00
Unknown W. Brackets
9208f6389d Avoid calling time_update in GE w/o debug stats.
Just wastes time, especially if the game hammers sceGeListUpdateStallAddr,
which many games do.
2013-04-22 22:04:27 -07:00
Unknown W. Brackets
85a23dac63 Avoid framebuffer lookups for repeated prims.
There are usually many prims per framebuffer.  This cuts time spent in
SetRenderFramebuffer() from 1% to 0.13% (although a bit more time in
ExecuteOp, not much.)
2013-04-22 22:04:27 -07:00
Unknown W. Brackets
b84dadfd3a Add NOP to GE disasm. 2013-04-22 22:04:26 -07:00
Unknown W. Brackets
bf808064b2 Add a function to pretty-print vertex type.
For easier debugging.
2013-04-22 22:04:26 -07:00
Henrik Rydgard
5f1ed03165 Revert "Merge pull request #1324 from cinaera/pullreq" as it seems to break stuff, needs more testing.
This reverts commit a265569928, reversing
changes made to 06999ae649.
2013-04-21 21:09:02 +02:00
Henrik Rydgard
e877821cca Turn off the single-strip optimization for software transform as it doesn't work yet. 2013-04-21 19:32:57 +02:00
Henrik Rydgard
628c223234 GPUCommon: Get rid of prev variable. 2013-04-21 19:32:56 +02:00
Unknown W. Brackets
b54eb41041 Don't signal again if a PAUSE handler unstalls.
Basically, if the handler calls sceGeListUpdateStallAddr(), and it hits
a finish (which it might), before we were triggering another PAUSE.

THat's wrong, it should just be a FINISH as usual.
2013-04-20 20:15:47 -07:00
Henrik Rydgard
dd0088e6b8 Fix strange offset of skinned meshes in HW transform (helmet outside body etc) 2013-04-20 23:37:07 +02:00
Henrik Rydgard
b52d21bd4a Don't use an index buffer for single triangle strips. Improve dirtying of proj matrices. 2013-04-20 23:37:07 +02:00
Henrik Rydgard
70bb4e1c85 Fudge GPU cycle estimates to let GoW runs fast and GTA smooth. See comments for the horrible details.
I hope this doesn't affect other games adversely.
2013-04-20 20:21:12 +02:00
raven02
4a8d3c331a Consolidate DIRTY_MATAMBIENTALPHA/DIRTY_MATSPECULAR 2013-04-20 22:46:25 +08:00
BeaR
191199a8d0 Fix vertex shader compilation 2013-04-18 19:34:24 +02:00
BeaR
de7c1ef327 Correct ambient light 2013-04-18 17:36:20 +02:00
BeaR
9027e5018b Handle zero-length vectors when normalizing 2013-04-18 17:36:20 +02:00
Henrik Rydgard
42e4dc897e Add most Japanese kanji, the brute force way.
Hope everything supports 2048x2048 textures.
2013-04-18 14:59:00 +02:00
Henrik Rydgard
c04ce5a64e Implement projective texture mapping. It's not used a great deal but good to have. 2013-04-17 21:41:47 +02:00
Henrik Rydgard
b12fc6e7aa UTF8-enable PPGE and add hiragana and katakana, let's see if this is enough. 2013-04-17 20:51:02 +02:00
Unknown W. Brackets
7b6f7abf42 Swap buffers after unswizzling, it's faster. 2013-04-17 01:07:00 -07:00
Unknown W. Brackets
4e4861a104 Optimize common cases for unswizzled indexed tex. 2013-04-16 23:36:56 -07:00
Unknown W. Brackets
8d55445b28 Optimize texture unswizzling by walking pointers.
Also fix rowWidth = 1, there's no way that was correct, it wasn't even
increasing the address it was reading from.
2013-04-16 23:36:55 -07:00
Henrik Rydgard
382e1df04c Merge branch 'shader' of https://github.com/cinaera/ppsspp into cinaera-shader 2013-04-16 21:31:14 +02:00
Henrik Rydgard
98daf18d56 Add skeleton code for Windows multitouch, to be filled in by someone who can test :P 2013-04-16 21:14:46 +02:00
BeaR
8cc3f01b7b Use correct state for lmode 2013-04-16 19:22:18 +02:00
BeaR
c9daf8df7b Cleanup and fix vertex shader 2013-04-16 19:01:18 +02:00
Unknown W. Brackets
f86e01707f Use a struct for the GE stack entries, cleaner. 2013-04-15 23:06:56 -07:00
Unknown W. Brackets
7b184602df Remember the GE offset in the stack on call/ret. 2013-04-15 22:20:49 -07:00
Henrik Rydgard
ea11c36091 Fix a vshader id bit collision, avoid color test when set to 'ALWAYS', zeroinitialize dls. 2013-04-15 22:57:54 +02:00
Henrik Rydgard
cbbc4e2c9e Reset gstate_c.offsetAddr on RET. Fixes some "CALL to illegal address"
(as seen in Flatout for example).
2013-04-15 22:24:30 +02:00
BeaR
f7739ccdc2 Apply attenuation to ambient light 2013-04-15 19:11:26 +02:00
Henrik Rydgard
af06611691 Fix bug in ServerHostname found by MSVC's debug allocator. Sneak in a comment. 2013-04-14 10:04:07 +02:00
Henrik Rydgård
c8238a1a05 Merge pull request #1024 from raven02/patch-3
Fix buffered mode broken in MotoGP
2013-04-14 00:46:42 -07:00
Unknown W. Brackets
6f41255947 Improve the common case of indexed texture reading.
Cuts from 3.8% to 0.8% in Crimson Gem Saga on Windows.
2013-04-13 16:30:56 -07:00
Unknown W. Brackets
34f1f3a8e7 Remove one more FP usage in GPU. 2013-04-13 13:04:39 -07:00
Henrik Rydgard
e3fb88de68 Background thread for icon loading, show in game list. Switch to GNU STL in Android port. 2013-04-13 21:24:07 +02:00
Henrik Rydgard
5828fe5728 Fix vertexdecoder RGB565 bug found by unknownbrackets, also remove FP use in RGBA5551 2013-04-13 19:45:17 +02:00
BeaR
38231ca60a Fix SW spotlight 2013-04-13 17:52:16 +02:00
Unknown W. Brackets
e45bd32c61 Fix incorrect GPU timing with signal jumps. 2013-04-12 08:57:30 -07:00
Henrik Rydgård
7e657e8f78 Merge pull request #1261 from unknownbrackets/fbo-flicker
Fix FBO decimation in a cleaner way
2013-04-12 07:53:36 -07:00
Unknown W. Brackets
e7f0bf71bf Don't go decimate happy on FBOs if a game reuses.
Some games, e.g. games that render at < 60fps, reuse FBOs.
This was making all three pointers the same, making us more likely
to decimate things when we ought not to.
2013-04-12 07:09:45 -07:00
Unknown W. Brackets
c4a6224506 Don't decimate FBOs if none were used.
Not sure why this is happening, but fixes #1260.
2013-04-12 07:00:59 -07:00
raven02
fcba4d4df1 Simply and initialize lightscale%i/angle%i/distance%i 2013-04-11 21:49:44 +08:00
raven02
7be4ce1d86 Match SW T&L with hardware 2013-04-11 21:47:34 +08:00
Henrik Rydgard
d46812a49f Implement pullrq #1240 better, I think. 2013-04-10 00:06:29 +02:00