563 Commits

Author SHA1 Message Date
Henrik Rydgård 9c4649d3ac Assorted cleanup 2019-09-27 23:25:30 +02:00
Henrik Rydgård 2f26297062 Clean up some more ifdefs 2019-05-10 23:25:57 +02:00
driver1998 5072584781 Fix neon headers for MSVC ARM64
MSVC uses arm64_neon.h for ARM64, arm_neon.h is ARM32 only.
2019-05-04 22:45:15 +08:00
Henrik Rydgård 15f2e48887 Only mask away Z mirrors if inside VRAM 2018-11-12 08:19:19 +01:00
Henrik Rydgård d8f4a70396 Remove constraint that virtual framebuffers have to represent VRAM.
Prerequisite for #11531, virtual readbacks.
2018-11-12 08:19:14 +01:00
Unknown W. Brackets a4c0640f01 GE Debugger: Factor out host calls some.
Moving more of this to cross platform for the web debugger.
2018-09-01 08:32:03 -07:00
Unknown W. Brackets 00daa00ae5 TexCache: Keep maxSeenV on clut variants in sync.
This ensures that we detect changes properly even when they are outside
the max V used with one CLUT.

Fixes #9355, enemy fade out in FF2.
2018-08-29 22:07:27 -07:00
Unknown W. Brackets 3f48e446b6 GPU: Fix texture handling on framebuf detach.
We were never creating/recreating the texture, so we ended up with null.
Caused all sorts of problems.
2018-08-25 09:57:37 -07:00
Unknown W. Brackets fd183715ec Vulkan: Decimate when there are many slabs.
This helps avoid one little texture holding onto a whole slab.

Won't change behavior when they are full, since then the cacheSizeEstimate
should be fairly high.
2018-04-06 21:42:32 -07:00
Henrik Rydgård c41273d333 When binding a framebuffer to a texcache entry, delete its texture. Should help #10823 2018-03-29 13:29:09 +02:00
Henrik Rydgård f967e206b8 Remove the last remains of the idea that textures can be efficiently updated instead of recreated. Accidentally fixes #10697 somehow.
Also this is good for terminology, no more confusion with the texture
replacement facility :)
2018-03-25 10:50:37 +02:00
Unknown W. Brackets e97046da4e TexCache: Decimate aggressively with many variants.
It should be safe to decimate after fewer frames with a threshold like
this.
2018-02-18 12:29:14 -08:00
Unknown W. Brackets d61fd5f6a6 TexCache: Decimate CLUT variants more often.
When creating a new texture, we determine if it has CLUT variants and
decimate more often.
2018-02-18 12:29:01 -08:00
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