Commit Graph
3990 Commits
Author SHA1 Message Date
Henrik Rydgard 1e8a1b801f Rename viewportX1/X2 etc to scale + center, which is what they actually are. 2015-08-26 15:24:35 +02:00
Henrik Rydgard 29fc9e81a4 Use the gstate.getViewport* accessors. 2015-08-26 15:24:35 +02:00
Unknown W. Brackets 95d4f88e01 Read depth values as floats on OpenGL.
This preserves the full precision better than a 16-bit value does.
2015-08-23 17:52:15 -07:00
Henrik Rydgård 22e5431b1b operator precedence fix 2015-08-05 13:39:05 +02:00
Henrik Rydgard d7f4c47c22 Refactor: Even more getting rid of gstate access in the framebuffer manager. 2015-08-05 12:13:14 +02:00
Henrik Rydgard 454a363876 Reorganize all the gstate fetching in FramebufferCommon to one place 2015-08-05 11:36:02 +02:00
Henrik Rydgard d26b74d4d6 GPU refactor: Move accesses to gstate out of leaf functions 2015-08-05 01:03:49 +02:00
Henrik Rydgard 1c68069083 refactor: Get rid of gstate from depalshadercache 2015-07-29 14:28:51 +02:00
Henrik Rydgard b5f7d9346f Minor cleanups in GPU 2015-07-29 13:08:02 +02:00
Henrik Rydgard c8fe0b2690 Minor simplification, buildfixes 2015-07-29 12:38:31 +02:00
Henrik Rydgard 2430c283a5 More GPU cleaning, removing uses of GPUState.h where not needed.
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.

Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Henrik Rydgard 38a31fbd8b Get rid of more uses of gstate from SplineCommon 2015-07-29 12:04:52 +02:00
Henrik Rydgard 53f062b7b2 refactor: Remove some uses of gstate from SplineCommon and a fex texcache functions 2015-07-29 11:40:45 +02:00
Henrik Rydgard e857bd9a1c Minor code simplification in texcache 2015-07-29 10:59:02 +02:00
Henrik Rydgård 6fee2b456c GPU classes: Replace "virtual" with "override" for free function type checking 2015-07-25 14:23:02 +02:00
Unknown W. Brackets 7f8cf7f800 arm64: Use XXH64 for vertex hashing, etc.
Based on benchmarks, it performs better than XXH32 on an A57.
2015-07-22 21:38:01 -07:00
Henrik Rydgard ea33f50a8a Minor optimization: Help stupid compilers avoid a division (and a multiplication). 2015-07-22 21:03:27 +02:00
Henrik Rydgard 73e9c3b3a2 profiler: Track framebuffer reads in its own category 2015-07-12 00:44:11 +02:00
Unknown W. Brackets 8fdceba7ca Add timing for all the basics.
This way we can see overall stats for a frame.
2015-07-03 12:05:08 -07:00
vnctdj e791bea8a9 Consistently use *gr for the Graphics i18n category 2015-07-01 23:50:16 +02:00
Henrik Rydgard 159c8baeef Do framebuffer download color conversion using the CPU on old nVidias.
May fix issue 228 in the native project.
2015-06-13 11:27:06 +02:00
Henrik Rydgård 43744b0239 Merge pull request #7741 from hrydgard/frame-profiler
Frame profiler overlay
2015-05-26 00:42:01 +02:00
Henrik Rydgard 0b2a1dfe53 Profile a few more scopes 2015-05-26 00:39:27 +02:00
Unknown W. Brackets c75010931c Use SSE in CheckAlpha scanning. 2015-05-24 22:55:43 -07:00
Henrik Rydgard 6f4cea860c Split texture load profiling into decode and load/replace. Make profiler work on Android. 2015-05-24 23:45:40 +02:00
Henrik Rydgard 6b1df631a6 Move the texcache measurements to strictly include only actual texture loading, and not framebuffer shenanigans etc. 2015-05-24 23:45:39 +02:00
Henrik Rydgard 2e26a4798e Scale the frame profiler graph dynamically 2015-05-24 23:45:37 +02:00
Henrik Rydgard 26624709f7 Hook up the frame profiler to a few measurements 2015-05-24 23:45:36 +02: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