503 Commits

Author SHA1 Message Date
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
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
Henrik Rydgard
5f1ed03165 Revert "Merge pull request #1324 from cinaera/pullreq" as it seems to break stuff, needs more testing.
This reverts commit a2655699282f193be680703936983dccf4bd9605, reversing
changes made to 06999ae649457232aedcb12b32bc574618cd44d4.
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
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
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
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
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
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
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
BeaR
fa3a1fbd52 Add support for spotlights 2013-04-09 18:26:06 +02:00
raven02
07a36f2384 HW T&L : clamp lightscale 2013-04-09 20:42:40 +08:00
Unknown W. Brackets
74dbd2b44c Use AllocateMemoryPages() for the texcache buffers. 2013-04-09 01:59:47 -07:00
Unknown W. Brackets
de79941ef4 Allow the tex buffers to grow if necessary.
Only does the 16 bit one for now.

Tactics Ogre uses a texture that is 1024x1024.  Ouch.
2013-04-09 01:59:33 -07:00
BeaR
3cc7d99143 Change texture even on clearmode 2013-04-09 09:50:57 +02:00
Henrik Rydgård
6ec7d237e8 Merge pull request #1222 from unknownbrackets/gpu-fix
Correct dest stride on GPU block transfer
2013-04-08 11:01:04 -07:00
Unknown W. Brackets
0e0b074ed7 Correct dest stride on GPU block transfer. 2013-04-08 08:36:51 -07:00
raven02
3252eb6554 Fragment Shader : use mix() for decal/blend 2013-04-08 22:48:40 +08:00
Henrik Rydgård
aa33c4efcc Merge pull request #1217 from unknownbrackets/fbo-flicker
Adjust FBO decimation to optimize for creation
2013-04-08 03:22:35 -07:00
Unknown W. Brackets
23c0e7f319 Change FBO age back to 5, gets in a create loop... 2013-04-08 00:45:21 -07:00
Unknown W. Brackets
79e3c66514 Adjust FBO decimation to optimize for creation.
But, keep aggressively decimating for a few frames.
2013-04-07 22:34:02 -07:00
Unknown W. Brackets
210c7b1639 Slow down the GPU clock estimate.
This makes  Fat Princess for example much faster.
2013-04-07 17:05:12 -07:00