Commit graph

240 commits

Author SHA1 Message Date
Henrik Rydgard
a8f69e7d64 More DX cleanup 2017-02-05 20:06:56 +01:00
Henrik Rydgard
d05ef4a859 Pass through the DrawContext to texturecaches and fb managers.
This is preparation for sharing more framebuffer code between the
backends.
2017-02-05 19:51:50 +01:00
Henrik Rydgard
0b7f3720ae More FBO api cleanup 2017-02-04 22:25:34 +01:00
Henrik Rydgard
daee5c24e5 Work towards unifying the GL and DX FBO APIs 2017-02-04 22:25:34 +01:00
Henrik Rydgard
5df4bac6d2 Delete some left behind unused code 2017-01-25 10:05:39 +01:00
Henrik Rydgard
e4cb44c243 Merge the texture flags into the dirty flags 2017-01-24 18:12:20 +01:00
Henrik Rydgard
c289a2c7bf Split TextureChanged into two bools, so we can later convert to dirtyflags 2017-01-24 18:12:20 +01:00
Julian
c92ec20811 Fixed Inconsistent texture filtering in Disgaea 2 #4235 2016-12-16 22:53:55 +02:00
Unknown W. Brackets
b30d0e8cec d3d9: Correct replaced texture format.
This was causing the row width to be wrong for many textures too, which
was generating errors.
2016-07-17 09:03:08 -07:00
Unknown W. Brackets
79101736b8 d3d9: Decode directly into texture buffer. 2016-06-25 09:13:14 -07:00
Unknown W. Brackets
5962093ef5 Centralize the majority of texture decode. 2016-06-19 08:05:54 -07:00
Unknown W. Brackets
339f065a5c Centralize texture deindexing more. 2016-06-19 07:14:31 -07:00
Unknown W. Brackets
65ae92c78b Also avoid updating images with replacements. 2016-06-06 23:02:56 -07:00
Unknown W. Brackets
fc77e2f8fc Flag replaced/scaled textures so we don't reuse.
Otherwise, we may try to use the replaceImages path, and end up with a
small updated texture in the top left of a large replaced texture.
2016-06-06 19:35:58 -07:00
Unknown W. Brackets
f168978d3e Properly set w/h on first use of a render-to-tex.
We were getting the wrong w/h when it wasn't in the texture cache already.
2016-05-21 17:53:42 -07:00
Unknown W. Brackets
2d53eb5456 Ensure we don't try to hash framebuffers.
Let's keep when we do things consistent: measure alpha on apply always.
2016-05-21 15:40:58 -07:00
Henrik Rydgård
2c84411426 Merge pull request #8720 from unknownbrackets/tex-range
Move texture decode/hash to after vertex decode
2016-05-07 22:15:19 +02:00
Unknown W. Brackets
4b89f44d1c Avoid scheduling a rescale when scaling is off.
This happens for PPGe and kernel textures, and replacements.  Before, we
would continually reload, trying to scale, but each time decide not to
scale.
2016-05-06 19:58:01 -07:00
Unknown W. Brackets
f1dda6a53d d3d9: Move texture hashing after vertex decode. 2016-05-01 16:20:05 -07:00
Unknown W. Brackets
1a26699607 Refactor texture loading to move things around. 2016-05-01 11:17:55 -07:00
Unknown W. Brackets
c20075b0e0 Pass video info to texture replacements. 2016-05-01 08:54:43 -07:00
Unknown W. Brackets
f5b93bc6f0 Remove global num videos hack. 2016-05-01 08:53:48 -07:00
Unknown W. Brackets
99d29356d7 Track video addresses in texture cache. 2016-05-01 08:39:18 -07:00
Unknown W. Brackets
f26c0328da Check alpha when loading replaced textures. 2016-05-01 00:30:53 -07:00
Unknown W. Brackets
e1fd6b6f21 Account for scaleFactor when saving clipped PNG. 2016-05-01 00:30:50 -07:00
Unknown W. Brackets
0c357c0ea3 Pass w/h in for replacement lookup.
So we can scale the w/h properly.
2016-05-01 00:30:44 -07:00
Unknown W. Brackets
d6e5df6f21 Save individual mip levels. 2016-05-01 00:30:41 -07:00
Unknown W. Brackets
565653c77b Save and load textures using full key.
Of course, need this, not just the hash.
2016-05-01 00:30:40 -07:00
Unknown W. Brackets
5dbc2b9267 Initial support for saving textures to PNGs. 2016-04-30 15:03:39 -07:00
Unknown W. Brackets
bf39e61458 Setup initial structure for texture replacements. 2016-04-30 13:44:31 -07:00
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
Henrik Rydgard
dced84c9fc Work on texture support, cube.elf works correctly. Delete unused code. 2016-03-20 19:30:11 +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
36c8b043f3 d3d9: Fix CLUT4 optimization color creation.
Fixes #8385.
2016-01-04 07:36:47 -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
14b350a5fe d3d9: Fix render-to-texture not working.
Broken by a copy/paste mistake in #7870 form OpenGL.
2016-01-03 23:44:43 -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
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
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
1339f6b1f3 Report formats on usage of rendered clut. 2015-11-26 14:31:46 -08:00