Commit graph

525 commits

Author SHA1 Message Date
Unknown W. Brackets
1300631e9a Allow unswizzling with a dest pitch. 2016-03-26 23:38:50 -07:00
Unknown W. Brackets
f31fbb9417 Cleanup fbTexInfo_ when detaching framebuffers. 2016-03-26 12:30:34 -07:00
Unknown W. Brackets
aad04f2941 Centralize the texcache key format. 2016-03-26 12:30:33 -07:00
Unknown W. Brackets
e8c8f19aec Move framebuf attachment into central code.
It doesn't look like this will be different, and there's a bug in it.
2016-03-26 12:30:32 -07:00
Henrik Rydgard
bd17351ef9 Texcache: Minor refactor/cleanup 2016-03-22 23:56:55 +01:00
Unknown W. Brackets
add506a0d3 Cleanup differences in aniso handling.
Some places were not handling it as a power of two.
2016-03-20 19:31:02 +01:00
Unknown W. Brackets
e30ab95179 d3d9: Fix maxSeenV when not known.
And just make the code reused between both.  Fixes #8478.
2016-01-22 18:48:54 -08:00
Unknown W. Brackets
909d477719 Support CLUTs at an x offset.
Used by Kurohyo 2.  Highly unlikely to be a mis-estimate within stride.
2016-01-05 00:02:58 -08:00
Unknown W. Brackets
28a07c70c6 Explicitly download rendered cluts.
This avoids triggering logic that tries to get the sizing right, or
optimize frequent copies.  CLUTs often get estimated wrong, so it's better
to copy just the correct range, always.
2016-01-04 21:29:03 -08:00
Unknown W. Brackets
6cc69ed25f Factor out texture shader application.
This allows it to be reused between depal and indexed textures (second not
implemented yet.)
2016-01-03 23:50:49 -08:00
Unknown W. Brackets
e427d09628 Determine scaleFactor once per frame.
This way, for auto, we can properly treat it like scaleFactor = 1 when the
resolution is small.
2016-01-03 23:06:15 -08:00
Unknown W. Brackets
35d1379ac6 Don't use maxV when it's 0.
That means we couldn't tell.  Fixes #8353.
2016-01-02 17:46:28 -08:00
Unknown W. Brackets
2494176919 Remove incorrect CLUT4 optimization. 2016-01-02 13:20:30 -08:00
Unknown W. Brackets
69daa75228 Move more common code around in texcache. 2015-12-31 11:41:02 -08:00
Unknown W. Brackets
256c7b6271 Consistently use INVALID_TEX. 2015-12-31 11:13:41 -08:00
Unknown W. Brackets
a45f05c598 Move NotifyFramebuffer and LoadClut to common code. 2015-12-31 11:13:39 -08:00
Unknown W. Brackets
7a864f5aa1 Be forgiving when maxSeenV increases.
This still allows us to optimize < 512 heights, but at the same time,
doesn't hit spritesheets as hard and avoids the scaling penalty.
2015-12-30 17:15:50 -08:00
Unknown W. Brackets
d18164bd4d d3d9: Clean up some scaling handling. 2015-12-30 16:54:25 -08:00
Unknown W. Brackets
1072028ef5 Fix scaling of NOT frequently changing textures.
Oops.  Sorry.
2015-12-30 16:38:07 -08:00
Unknown W. Brackets
e3e8fbf7ce Correct bufw handling when texture is unscaled. 2015-12-30 16:26:39 -08:00
Unknown W. Brackets
f32e4bc3c9 Regain frequently changing texture trust faster.
This allows us to start scaling it again sooner, if it stops changing
frequently.
2015-12-30 13:49:53 -08:00
Unknown W. Brackets
1f5813dd82 Mark frequently, but known, changed textures.
We don't have to rehash these, but they still may be too slow to upscale.
May help #6031.
2015-12-30 13:31:16 -08:00
Unknown W. Brackets
6856fbbef7 Show an OSM whenever VRAM fills up.
This way they know stuff is happening that is not ideal.
2015-12-30 13:29:29 -08:00
Unknown W. Brackets
6129af9b4a Reduce tex scaling automatically if VRAM is full. 2015-12-30 13:23:05 -08:00
Unknown W. Brackets
164594b044 Use a VAO for all drawing, and VBOs throughout. 2015-12-19 09:18:34 -08:00
Unknown W. Brackets
1339f6b1f3 Report formats on usage of rendered clut. 2015-11-26 14:31:46 -08:00
Unknown W. Brackets
3965cba187 Disable clut render for now as a "slow effect".
Also, add reporting.
2015-11-26 13:42:18 -08:00
Unknown W. Brackets
8e2557bafe Support render-to-clut, at least in some cases.
This is pretty much only tested with Brave Story.  See #6754.

There may be other cases which are not handled yet.
2015-11-26 13:31:17 -08:00
Unknown W. Brackets
2ed8aab2d7 Avoid direct refs to OES_texture_npot.
So that we can control it centrally in GLES_GPU.
2015-11-15 15:06:09 -08:00
Unknown W. Brackets
ac31c66a60 Fix #8169, really dumb typos.
Sorry.
2015-11-04 19:40:53 -08:00
Unknown W. Brackets
95a5bd62d5 Switch a few other things to use force(). 2015-11-03 23:02:02 -08:00
Henrik Rydgard
f4248cb550 Remove a whole lot of flipping special cases 2015-11-02 20:07:30 +01:00
Henrik Rydgård
6c08e00e8c TextureCache: Don't proceed if we get a crazy bufw for some reason, risk of crashing. 2015-10-14 22:13:50 +02:00
Unknown W. Brackets
161efea38e Prevent unbinding array buffer in depal. 2015-10-07 22:11:24 -07:00
Unknown W. Brackets
659ee2c3f6 Ensure we update sampling params on tex update. 2015-10-01 22:56:31 -07:00
Unknown W. Brackets
dff4aeb30f Correct uv bound pointers in arm vertexjit. 2015-09-13 14:55:10 -07:00
Unknown W. Brackets
93e9d6cd56 Respect framebuffer offset in fb copies.
We need to offset the copy coordinates also, or we'll copy the wrong
thing.
2015-09-13 11:35:15 -07:00
Unknown W. Brackets
62de281e35 Use texture UV range to optimize framebuf copies. 2015-09-13 11:34:52 -07:00
Unknown W. Brackets
f4df7f076e Hash less of 512 tall textures when possible.
This allows xBRZ to work better on such textures, and also may reupload
them less frequently.
2015-09-13 11:15:57 -07:00
Unknown W. Brackets
52c3fc221b Also split DirectX9's texture cache. 2015-09-13 09:36:17 -07:00
Unknown W. Brackets
c7e6f051e4 Split the texture application into two stages.
The latter simply applies the texture.

This makes our IsAlphaTestTriviallyTrue() check correct.
2015-09-13 09:30:39 -07:00
Unknown W. Brackets
71afaffc20 Pack texture cache entries just a bit tighter. 2015-09-13 06:43:47 -07:00
Unknown W. Brackets
7d63a10fdd Centralize texture cache entry structures. 2015-09-13 06:43:37 -07:00
Unknown W. Brackets
e1df8fc45f Centralize sampling params and test optimizations. 2015-09-13 06:38:07 -07:00
Henrik Rydgard
ab3468ea02 Move native/gfx_es2/gl_state.cpp/h into GPU/GLES/GLStateCache.cpp/h 2015-09-06 13:45:17 +02:00
Henrik Rydgard
0237b84efd Reduce use of #ifdef USING_GLES2 some more 2015-09-05 23:09:06 +02:00
Henrik Rydgard
f524049277 Move more GPU feature checks upfront. Re-check when exiting settings menu. 2015-09-05 21:23:58 +02:00
Henrik Rydgard
d7f4c47c22 Refactor: Even more getting rid of gstate access in the framebuffer manager. 2015-08-05 12:13:14 +02:00
Henrik Rydgard
1c68069083 refactor: Get rid of gstate from depalshadercache 2015-07-29 14:28:51 +02:00
Henrik Rydgard
53f062b7b2 refactor: Remove some uses of gstate from SplineCommon and a fex texcache functions 2015-07-29 11:40:45 +02:00