Commit Graph
50 Commits
Author SHA1 Message Date
Unknown W. Brackets 00540ea44c Hash/convert more when a CLUT base is used.
This seems a bit strange, but the games that use these bases seem to read
outside the loaded CLUT to a previously loaded CLUT.

May cause a performance issue on games that use a base but don't do this.
2013-06-16 08:04:21 -07:00
Henrik Rydgard f8b9655f20 Use glTexSubImage to replace textures instead of deleting them and allocating new ones whenever possible. May help runaway VRAM consumption with some Radeon drivers. 2013-06-11 20:21:19 +02: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 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
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
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 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 7e23299c36 Immediately load the clut on LOADCLUT. 2013-05-12 01:56:26 -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 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
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 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 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 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
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
Peter Thoman 1f7a3776b3 Only scale textures which were never invalidated 2013-05-01 20:31:57 +02:00
Peter ThomanandPeter Thoman 5e918a644f Moved texture scaling to separate file 2013-05-01 14:12:09 +02:00
Peter ThomanandPeter Thoman 2212e7f609 Fixed threading issue pointed out by unknownbrackets and made texture scaling changes apply immediately 2013-04-30 17:58:05 +02:00
Peter Thoman c7c4ec7c3b Added xBR texture scaling to TextureCache 2013-04-30 03:49:12 +02: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 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
Henrik Rydgard 6f4ad05582 Remove some unused code, add some stubs to vfpu jit, some cleanup 2013-04-27 19:35:42 +02: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
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
Henrik Rydgard 42e4dc897e Add most Japanese kanji, the brute force way.
Hope everything supports 2048x2048 textures.
2013-04-18 14:59:00 +02: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
Henrik Rydgard 28979e9250 Some work toward better FBO handling. Fixes some things, breaks some things.. 2013-02-21 21:37:19 +01:00
Unknown W. Brackets d8b1ea22f5 Cleanup some warnings and reuse some vars. 2013-02-18 08:34:51 -08:00
Xele02 2a6af9b8a3 Add displayList debug dialog 2013-02-17 01:28:43 +01:00
Henrik Rydgard 2301a3b49e Flip texcoord vertically when texturing from FBO to compensate for OpenGL coordinate systems 2013-02-15 00:31:39 +01:00
Henrik Rydgard 174b9749d7 Minor speedup to 16-bit texture color conversion. 2013-02-12 19:17:38 +01:00
Unknown W. Brackets b9f61a9cf3 Don't blacklist an invalidated texture forever. 2013-02-10 23:29:44 -08:00
Unknown W. Brackets f77a4985f1 Keep track of whether a texture is reliable or not. 2013-02-10 14:20:58 -08:00
Unknown W. Brackets f15c1839ac Use backoff to invalidate textures as well. 2013-02-10 14:20:58 -08:00
Henrik Rydgard aef2376b34 Merge branch 'master' into framebuffer-texture
Conflicts:
	GPU/GLES/TextureCache.cpp
2013-02-09 21:18:46 +01:00
Henrik Rydgard bf7e5a4115 Mipmapping! Fixes issue #614 2013-02-08 00:04:34 +01:00
Henrik Rydgard a0c0d6a977 Initial support for texturing from framebuffers. 2013-02-01 00:18:23 +01:00
Henrik Rydgard 3b681d3854 Make GLES_GPU own texturecache 2013-01-30 20:40:26 +01:00
Henrik Rydgard 7390f2b5f6 Some realtime profiling stuff. Enable FZ (flush-to-zero) mode. 2013-01-11 00:13:39 +01:00
Unknown W. Brackets 3861ce0376 Use sceKernelDcacheWritebackAll() as a hint only. 2013-01-05 17:07:19 -08:00
Unknown W. Brackets 6a9a183dd3 Use sceKernelDcache*() to invalidate the texcache.
Also in the block transfer code.
2012-12-21 14:10:57 -08:00
Henrik Rydgard 5fb8e6dfb0 DXT textures now mostly working-ish (work left to do on alpha for DXT3/5) 2012-11-28 16:12:29 +01:00
Sacha 3c903dda24 Improve portability to future platforms. Make use of new USING_GLES2 define throughout PPSSPP. Also use ARM definition where suitable. Remove some redundancy with includes. 2012-11-26 13:25:14 +10:00
Henrik Rydgard d141d205f8 Delete old textures, to prevent memory usage from growing indefinitely. 2012-11-22 23:07:15 +01:00
Henrik Rydgard 64cc573703 Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK. 2012-11-04 23:24:00 +01:00
Henrik Rydgard 4f7ad15758 Add snapshot of the whole source code. 2012-11-01 16:19:01 +01:00