Commit Graph

328 Commits

Author SHA1 Message Date
Admiral H. Curtiss fe132af9ec Renamed Nearest and Linear Filtering to Force Nearest/Linear Filtering.
Made sure that both options aren't active at the same time.
2013-06-23 22:39:32 +02:00
Admiral H. Curtiss 505f8559c1 Added a "Nearest Filtering" option for testing. 2013-06-23 21:56:07 +02:00
Unknown W. Brackets cd213e655b Add some debug code for finding textures. 2013-06-22 10:35:34 -07:00
Unknown W. Brackets 390f0d79fc Add a copy path to ConvertColors RGBA8888.
It's not actually ever called this way, but I'd rather not let someone get
confused if they try to.
2013-06-22 10:16:38 -07:00
Unknown W. Brackets 88fbe6c1b5 Clear lastBoundTexture when binding a null one. 2013-06-22 10:15:30 -07:00
Henrik Rydgård cc705c72eb Revert "Support tex level factor 000001 (fixed at 0, that is, mipmapping off)"
This reverts commit eaede89761.

Conflicts:
	GPU/GLES/TextureCache.cpp
2013-06-21 10:02:57 +02:00
Henrik Rydgard 34e6b72599 Fix nomip check bug 2013-06-20 23:06:05 +02:00
Henrik Rydgard eaede89761 Support tex level factor 000001 (fixed at 0, that is, mipmapping off) 2013-06-20 21:57:09 +02:00
Henrik Rydgard 8f9562cde4 Remove gl enum hacks in texturecache (doesn't seem to work, get bad log output on adreno) 2013-06-19 12:42:04 +02:00
Henrik Rydgård 5fc11fa99c Turn off forced linear filtering if colortest enabled 2013-06-17 20:45:08 +02:00
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
Unknown W. Brackets dc5e7d5e71 Still need to delete textures when scaling on.
Duh.  Fixes #2255.
2013-06-14 00:46:49 -07:00
Unknown W. Brackets ff00b65cf3 Re-enable subimage optimization with scaling fix.
Thanks go to @Squall-Leonhart for finding the issue.
2013-06-13 23:04:11 -07:00
Henrik Rydgard 052a15b788 Disable the glTexSubImage optimization, see issue #2222 . 2013-06-11 23:06:30 +02: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
aquanull a1b7da413a TextureCache::Invalidate()/InvalidateAll() small corrections and optimizations.
I think the ranges are [start_addr, end_addr).
2013-06-11 16:19:13 +08:00
aquanull 9b85da657a These were probably just typos. 2013-06-11 16:19:13 +08:00
raven02 4a31e13c9b Missing semi-colon 2013-05-30 18:33:11 +09:00
raven02 c4a3769aee Fix incorrect clut in Dainiji_Super_Robot_Taisen_Z Hakaihen 2013-05-30 16:29:38 +08:00
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
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 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 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 4b91c7e707 Implement DXT3 alpha. 2013-05-10 00:49:13 -07:00
Unknown W. Brackets 47c404b925 Clean up some comments. 2013-05-09 01:19:55 -07: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
Unknown W. Brackets 34da6f983a Fix reporting typo logging wrong things. 2013-05-08 00:35:17 -07: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
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