Commit Graph

100 Commits

Author SHA1 Message Date
Henrik Rydgård 46e1fbb788 Initial texture work. Bugfix indexed drawing 2018-01-27 15:10:17 +01:00
Henrik Rydgård bd6818198a More GLRenderManager 2018-01-27 15:10:17 +01:00
Unknown W. Brackets 267b9a6598 Profiler: Separately track texture hashing.
Since it's slow and was lumped into updatestate.
2017-12-30 10:14:35 -08:00
Unknown W. Brackets 025a806ab4 GPU: Remove FBO auto-download hack.
See #6261.  This should be replaced now with block transfer detection,
which is faster and doesn't cause crashes.

Games that previously required this setting should use block transfer
instead.  If that doesn't work, it's a bug.
2017-12-25 11:17:59 -08:00
Henrik Rydgård 5c1dad9909 Remove more obsolete ifdefs 2017-12-19 17:59:00 +01:00
Henrik Rydgård 299cb007c2 Add a comment, revert a reporting change. 2017-12-10 02:05:25 +01:00
Henrik Rydgård b75c8b72c6 Fix another little inconsistency (two uniforms were merged for bad reasons) 2017-12-07 21:39:09 +01:00
Henrik Rydgård 9468b3d073 Add a missing break that would explain the odd AUTO mipmap test results on D3D11 and Vulkan... 2017-11-21 15:18:31 +01:00
Henrik Rydgård 7ab6956828 The UNKNOWN(3) mip selection mode seems to act like CONST. Keep that working. 2017-11-20 12:39:01 +01:00
Henrik Rydgård 971995fa3d Move aniso to the sampler cache key. 2017-11-15 19:07:41 +01:00
Henrik Rydgård 909fb6b3a4 Cleanups 2017-11-15 16:31:17 +01:00
Henrik Rydgård 313223364c Buildfix, update comments slightly 2017-11-15 14:21:17 +01:00
Henrik Rydgård 65275c29b7 Share UpdateSamplingParams between D3D11 and Vulkan. Support lod bias in Vulkan. 2017-11-15 14:21:17 +01:00
Henrik Rydgård f564c59248 Mipmaps: Disable LOD bias in slope mode as that's not how it works.
Works around #9772
2017-11-15 14:21:17 +01:00
LunaMoo 2c27b3b56b Fix texture conversion. 2017-11-14 02:35:14 +01:00
Unknown W. Brackets 9fbcc01afa TexCache: Remove simple 0/1 alpha check.
No practical optimizations have come of this, so it's a waste of time.
Slows down Vulkan too.
2017-11-12 16:17:46 -08:00
Unknown W. Brackets 1f33907f20 TexCache: Warning fix. 2017-11-05 17:59:34 -08:00
Henrik Rydgård 79208f105c Merge pull request #10055 from unknownbrackets/vulkan-minor
Vulkan: Correct logicop dirtying
2017-11-05 22:41:11 +01:00
Unknown W. Brackets 7ae451db1f TexCache: Detect textures in FBO gutters.
If it's not even within the framebuffer's bufferWidth, we can just go to
the RAM as normal and skip the FBO.

Fixes #10045.
2017-11-05 13:03:09 -08:00
Unknown W. Brackets 78b5565035 GPU: Properly Release() FBOs.
In case we end up wanting to use those reference counts, let's use the
right API.
2017-11-05 12:45:02 -08:00
Henrik Rydgård d19d8a8bb8 NEON-optimize CLUT loads 2017-08-15 16:02:31 +02:00
Unknown W. Brackets 96ed8564ab Add some missing fragment shader state changes. 2017-08-14 11:36:07 +02:00
Unknown W. Brackets f66ffb9ffe GPU: Fix negative mip levels with const workaround.
Might've crashed if it hit a negative level before.
2017-05-31 21:42:07 -07:00
Unknown W. Brackets 34fe95192f GPU: Cleanup some gstate accesses. 2017-05-26 19:03:04 -07:00
Henrik Rydgård 1b05a54800 Remove the Mipmap setting. One step forward for #8171 2017-05-26 10:21:20 +02:00
Unknown W. Brackets c4d1863ded GPU: Consistently bias const mip levels.
Since SLOPE is just a more complicated CONST, we can treat them the same.
2017-05-12 20:30:47 -07:00
Unknown W. Brackets 6aad8ff2a2 GPU: Correct const mip 0 detection.
The other clause was mip 1.
2017-04-22 18:19:43 -07:00
Henrik Rydgård 6b9b26f521 Forgot to fix this accessor too 2017-04-03 18:06:49 +02:00
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