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