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 Thoman and Peter Thoman
5e918a644f
Moved texture scaling to separate file
2013-05-01 14:12:09 +02:00
Peter Thoman and 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
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