Commit graph

122 commits

Author SHA1 Message Date
Henrik Rydgård
5a8e9c4f71 Port some accessors over from #9255 to be able to catch these changes and dirty state later. 2017-04-03 17:04:58 +02:00
Unknown W. Brackets
32a07b9aa9 Texcache: Sprinkle comments on the secondary cache. 2017-03-26 10:18:43 -07:00
Henrik Rydgard
c8187dd35c If an entry already exists in the secondary texture cache, delete it properly. Fixes #9503 2017-03-26 18:33:11 +02:00
Unknown W. Brackets
bc31415bfc Texcache: Fix "reuse changed textures".
Broken by 9876365, which stopped generating new texture names/ptrs.
2017-03-25 15:30:58 -07:00
Unknown W. Brackets
bb39c2e458 Texcache: Rehash textures after mem invalidation.
Before, we were doing this when we enqueued.  We need to at least do this
when an invalidation is triggered.
2017-03-25 11:49:15 -07:00
Unknown W. Brackets
7fb7a4877d Texcache: Cleanup last bound tex invalidation.
When we're deleting, we're always about to bind a new tex.
2017-03-25 11:42:24 -07:00
Unknown W. Brackets
18484bed3d D3D11: Correct non-palette 16 bit textures on Win7.
These weren't being expanded.
2017-03-18 20:10:21 -07:00
Unknown W. Brackets
41dacb792c Texcache: Reduce duplicated expand32 code. 2017-03-18 20:09:38 -07:00
Unknown W. Brackets
404c61d77d Minor typo fixes. 2017-03-18 11:51:05 -07:00
Unknown W. Brackets
d0ea5ed72b Texcache: Always mark videos as freq changing.
This prevents scaling of the first frame in some cases, when later frames
would also not be scaled.  Improves performance and reduces frame
mismatch.
2017-03-18 11:49:30 -07:00
Unknown W. Brackets
30ff5d6cdb Texcache: Apply freq change flag to minihash fail.
Previously, by mistake, only full hash fails could flag a frequently
changing texture - minihash checks skipped this, causing scaling
performance issues.

Fixes #9125.
2017-03-18 11:44:06 -07:00
Unknown W. Brackets
bea6d787c0 Texcache: Cleanup some code formatting.
Makes it more readable.  No functional impact.
2017-03-18 11:43:26 -07:00
Henrik Rydgard
98763655e7 Plug a memory leak in the GLES texture cache. Fixes #9089 2017-02-23 22:41:13 +01:00
Henrik Rydgard
8eb668ea59 D3D11: Enable pixel depth rounding. GL: Fix a crash bug 2017-02-23 20:40:53 +01:00
Henrik Rydgard
0954ecf28c D3D11: Expand 16-bit texture formats to 32-bit if they are not supported, like on Windows 7. Part of issue #9317 2017-02-22 17:31:01 +01:00
Henrik Rydgard
f24b1495ba Assorted texture format cleanup, prep for supporting D3D11 on Win7 2017-02-22 16:23:04 +01:00
Henrik Rydgard
f772066c54 Remove some unnecessary error handling paths 2017-02-21 11:29:51 +01:00
Henrik Rydgard
78abf7453c Add some comments and a sanity check, fix a minor leak 2017-02-21 10:58:21 +01:00
Henrik Rydgard
195eb94c8e Texcache: Keep pointers to entries instead of full entries in the map. 2017-02-20 00:45:07 +01:00
Henrik Rydgard
4652c6af28 Some member variable renaming to match the convention 2017-02-20 00:19:58 +01:00
Henrik Rydgard
f753573332 Unify HandleTextureChange 2017-02-20 00:13:21 +01:00
Henrik Rydgard
f15e25c4b5 Centralize SetTexture 2017-02-20 00:05:23 +01:00
Henrik Rydgard
aae2030a14 Unify Decimate() 2017-02-19 23:39:35 +01:00
Henrik Rydgard
d9c20fbaff Unify ApplyTexture 2017-02-19 23:25:09 +01:00
Henrik Rydgard
665ffe34ab Centralize DeleteTexture 2017-02-19 22:50:04 +01:00
Henrik Rydgard
dbafc6ef95 Centralize Texcache::Clear 2017-02-19 22:31:07 +01:00
Henrik Rydgard
4364569cf4 Move TexCacheEntry outside the TextureCacheCommon class. Nested structs are annoying. 2017-02-19 18:53:30 +01:00
Henrik Rydgard
b0cdcfca3c D3D11: Proper fix for DXT5 crash. May also help #9134. 2017-02-18 02:41:17 +01:00
xebra
59fd5da438 Fix fake mipmap hacks. 2017-02-15 22:07:58 +09:00
xebra
945e603072 Fix fake mipmap issue related #5350 2017-02-15 01:02:50 +09:00
Henrik Rydgard
9f00b355ca Unify DownloadFramebufferForClut 2017-02-08 15:58:46 +01:00
Henrik Rydgard
454f2cf4bf Unify "SetOffsetTexture" 2017-02-08 15:48:36 +01:00
Henrik Rydgard
346b9d0c51 Texcache: Unify SetTextureFramebuffer 2017-02-08 15:44:01 +01:00
Henrik Rydgard
096018a163 Texcache: Unify AttachFramebuffer, misc 2017-02-08 15:37:40 +01:00
Henrik Rydgard
3b18f4452f TexCache: Unify Invalidate, InvalidateAll, ClearNextFrame 2017-02-08 15:24:33 +01:00
Henrik Rydgard
29b30c197b Unify CheckFullHash 2017-02-08 15:24:27 +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
7e46a153c0 Centralize DoBlockTransfer between the GPUs.
Required adding a pointer to the framebuffer manager and texture cache in
GPUCommon, which took a little bit of refactoring.
2016-12-21 18:07:17 +01:00
Unknown W. Brackets
8c6cdd0274 Correct CLUT load size.
Should be measured in 32 bytes not 16 bytes.

See #8850.
2016-07-09 10:13:43 -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
1a26699607 Refactor texture loading to move things around. 2016-05-01 11:17:55 -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
bf39e61458 Setup initial structure for texture replacements. 2016-04-30 13:44:31 -07:00
Unknown W. Brackets
b4406957c9 Halve the default tex buf size.
Might as well not allocate 2.5 MB that most of the time won't be needed.

If it becomes needed, it'll allocate at runtime, but this should be
uncommon.
2016-03-26 23:38:51 -07:00
Unknown W. Brackets
1300631e9a Allow unswizzling with a dest pitch. 2016-03-26 23:38:50 -07:00
Unknown W. Brackets
3593a7963e Cleanup and clarify texture swizzling funcs. 2016-03-26 21:55:32 -07:00
Unknown W. Brackets
7d5f308494 Fix a crash where we used an old framebuf.
This was causing Breath of Fire 3 to crash, because it had an offset
framebuffer set that was never detatched.
2016-03-26 12:30:34 -07:00
Unknown W. Brackets
f31fbb9417 Cleanup fbTexInfo_ when detaching framebuffers. 2016-03-26 12:30:34 -07:00