Commit Graph

2363 Commits

Author SHA1 Message Date
Unknown W. Brackets
c75010931c Use SSE in CheckAlpha scanning. 2015-05-24 22:55:43 -07:00
Unknown W. Brackets
ded92aa977 Resize here just to be safe.
Not that a texture ought to be > 2MB, but in case we lower that initial
buffer size or something.
2015-05-24 11:06:34 -07:00
Henrik Rydgård
83182a0469 Merge pull request #7739 from hrydgard/screen-rotation
Implement basic screen rotation as requested in #297
2015-05-18 16:31:19 +02:00
Unknown W. Brackets
1767bd958c Move color conversion funcs to ColorConv.
This paves the way a bit for NEON conversion funcs.
2015-05-17 13:45:30 -07:00
Unknown W. Brackets
425ff3d78f Track bone matrix updates for future morph usage.
This makes them upload later, if/when they're needed.

Fixes #7746, Shadow of Destiny artifacts when software skinning is
enabled.
2015-05-16 21:49:25 -07:00
Henrik Rydgard
95b6b50fd5 Disable screen rotation in non-buffered rendering (as it won't worK) 2015-05-12 22:44:18 +02:00
Henrik Rydgard
3f7830743a Implement basic screen rotation as requested in #297 . Does not work correctly in non-buffered rendering yet. 2015-05-12 21:01:15 +02:00
Henrik Rydgard
5d0d67140f Reverse Y when checking for rotated rects in Direct3D 9. Fixes #7738. 2015-05-12 20:01:04 +02:00
Unknown W. Brackets
4fa50a9a50 Reduce clut allocation size a bit.
Really think this probably should only be 1024 bytes, but need to work out
some more details before shrinking all the way.
2015-04-26 00:50:47 -07:00
Unknown W. Brackets
ab67c49ae9 Make sure we don't hash outside max bytes.
If we've never even loaded that much, play it safe.
2015-04-26 00:43:36 -07:00
Unknown W. Brackets
6e50a0b274 Allow depal palette entries to repeat.
This is what happens if the base is 0x10 in 8888 mode (means | 0x100.)
2015-04-26 00:36:08 -07:00
Unknown W. Brackets
c8fc9b0bf3 Cleanup some incorrect handling of clut offset. 2015-04-26 00:31:00 -07:00
Henrik Rydgård
a4a10588ed Merge pull request #7697 from unknownbrackets/texcache
Include texture size in the cache key
2015-04-20 00:08:44 +02:00
Unknown W. Brackets
b726a414d7 Log a reason when invalidating textures.
Makes debugging easier.
2015-04-18 12:42:13 -07:00
Unknown W. Brackets
58563324bd Include texture size in cache key.
This makes Tales of Destiny 2's towns significantly faster.  It may
however cause us to keep textures around for longer - but we still account
for them in our metrics and invalidation.
2015-04-18 12:42:13 -07:00
Unknown W. Brackets
ce9f404bef Unswizzle when reading from the swizzled mirror. 2015-04-18 12:39:04 -07:00
Unknown W. Brackets
42bcea7b41 Report when minz/maxz is used in an effective way.
As long as it's outside the viewport it should be clipped anyway.

One concern is, does clipenable affect z?  A game could depend on that.
2015-04-17 12:59:59 -07:00
Unknown W. Brackets
1e8f2c2630 Allow clut load outside valid mem, fill with zero.
And only for the parts outside memory.
2015-04-12 22:38:17 -07:00
Henrik Rydgard
a19ea78b4b Consolidate the texture scaler code. 2015-04-08 22:52:49 +02:00
Henrik Rydgard
6660985210 Extract a bunch more color conversion loops. 2015-04-08 22:52:48 +02:00
Henrik Rydgard
b5acf15cc9 Extract some explicit loops into calls to color conversion functions. 2015-04-08 22:52:48 +02:00
Henrik Rydgard
c2cf2bd97e Move some more color conversion functions to ColorConv 2015-04-08 22:52:47 +02:00
Henrik Rydgard
31961eace9 Color conv attempt 2. Start consolidating simple color conversion functions in a single header+cpp. 2015-04-08 22:52:46 +02:00
Henrik Rydgård
a67f009679 Merge pull request #7668 from hrydgard/consolidate-spline
Consolidate spline code
2015-04-08 22:20:55 +02:00
Henrik Rydgard
058499e5bf De-dupe the spline code 2015-04-08 21:44:54 +02:00
Henrik Rydgard
2002576e9d DrawEngineCommon: Make it possible to call Flush from shared code. 2015-04-08 21:37:54 +02:00
Henrik Rydgard
ed8a3eaf6d Move the vertex decoder cache into DrawEngineCommon 2015-04-08 21:35:00 +02:00
Unknown W. Brackets
10626e356d Avoid a potential divide by zero. 2015-04-08 11:57:59 -07:00
Unknown W. Brackets
5285f977e4 Initialize a member that was missed.
Oops, this didn't matter much but it should start at 0.
2015-04-08 11:29:28 -07:00
Unknown W. Brackets
2450724be2 Make Memory::Memcpy() execute memchecks directly.
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Henrik Rydgård
79fc557ad1 Merge pull request #7626 from sum2012/GPU-minor
GPU:Avoid "decimate" the usageFlags corrupted memory
2015-03-23 15:22:08 +01:00
sum2012
3549705195 Use better solution from @Bigpet 2015-03-23 20:29:51 +08:00
Unknown W. Brackets
5fa3bf0eb9 Move the viewport transform to the proj matrix.
The viewport has an implementation defined maximum size.  On some devices,
it's as low as 2048 or 4096.

Tales of Destiny 2, for example, uses a large viewport, which may be
outside this range at 1x or 2x on such devices.  This makes it work much
better.  It may also have better subpixel precision.
2015-03-22 23:35:24 -07:00
sum2012
433347e3b6 GPU:Do not "decimate" the usageFlags.
Fix #7625
2015-03-23 07:25:44 +08:00
Henrik Rydgård
cf7115aa17 Merge pull request #7599 from unknownbrackets/texscaling
Avoid constant reload of frequently changed textures
2015-03-18 18:11:30 +01:00
Unknown W. Brackets
0dda098b2b Oops, forgot to actually reset vertex shader. 2015-03-15 17:05:23 -07:00
Unknown W. Brackets
d00f6adf11 Avoid querying attrib locations in depal runtime. 2015-03-15 14:44:13 -07:00
Unknown W. Brackets
8f8aeaef77 Improve depal shader failure cases.
Primarily, this handles lost (e.g. Android sleep) better, in that it
recreates the vertex shader.  Previously, this would simply cause all
future depal operations to fail, and to constantly retry compiling and
linking the failed program.
2015-03-15 13:15:16 -07:00
Unknown W. Brackets
7ee9112425 Avoid constant reload of frequently changed tex.
If we detect that it's frequently changing, this will cause it to spiral
into an infinite loop of staying frequently changing and reloading to try
to scale.
2015-03-15 09:10:09 -07:00
Henrik Rydgård
085ecc0a64 Merge pull request #7591 from unknownbrackets/gpu-framebuf
Better glInvalidateFramebuffer usage, track usage flags better
2015-03-15 11:18:30 +01:00
Unknown W. Brackets
6b26e1a591 Read pending vertex data before exiting gpu loop.
Fixes save pictures in Crimson Gem Saga.
2015-03-14 18:11:24 -07:00
Unknown W. Brackets
0f38a1f459 Invalidate buffers after using for post shaders. 2015-03-14 16:16:32 -07:00
Unknown W. Brackets
e7b830ff61 Invalidate buffers used for download. 2015-03-14 16:11:20 -07:00
Unknown W. Brackets
d8478255d4 Invalidate temp FBOs each frame.
These are used for depal and render-to-self, as well as shader blending.
2015-03-14 16:02:04 -07:00
Unknown W. Brackets
7e0489c83e Keep better track of framebuf usage flags. 2015-03-14 15:21:58 -07:00
Unknown W. Brackets
e45daac41c Fix a dumb mistake for shader framebuf fetch. 2015-03-14 00:14:59 -07:00
Henrik Rydgård
33b291a36e Merge pull request #7567 from unknownbrackets/gpu-blend
Use framebuffer fetch more and on more devices
2015-03-09 22:24:23 +01:00
Henrik Rydgård
9db4c5f34d Merge pull request #7573 from unknownbrackets/gpu-minor
Small optimizations to software transform
2015-03-09 09:59:45 +01:00
Unknown W. Brackets
f0676b0c85 Optimize color tests against zero.
They seem to be somewhat common.  Speeds up Tales of Phantasia X a bit.
2015-03-08 19:08:21 -07:00
Unknown W. Brackets
534b06d3ff Correct clearing of texture cache on oom. 2015-03-08 18:38:28 -07:00