Commit graph

3936 commits

Author SHA1 Message Date
Peter Thoman
1f7a3776b3 Only scale textures which were never invalidated 2013-05-01 20:31:57 +02:00
Unknown W. Brackets
d412cf5c64 Approximate better with two fixed blend colors.
Having one be constant, or having a nearby blend, is better than fixing
both to 1.0 or 0.0.
2013-05-01 08:00:52 -07:00
Peter Thoman
e19442a8c1 Eliminated C++11 lambdas 2013-05-01 16:31:28 +02:00
Peter Thoman
95e6a5c4ea Adjusted Texture Scaler to use global threadpool 2013-05-01 14:12:10 +02:00
Peter Thoman
af68180319 Parallelized texture scaling 2013-05-01 14:12:09 +02:00
Peter Thoman
5e918a644f Moved texture scaling to separate file 2013-05-01 14:12:09 +02:00
Unknown W. Brackets
4009a37692 Improve blending with two fixed colors.
It's not right, but it's less bad.  Maybe there's a better way?

Improves Popolocrois and Lunar (battle) blending issues.
2013-05-01 00:55:30 -07:00
Peter Thoman
2212e7f609 Fixed threading issue pointed out by unknownbrackets and made texture scaling changes apply immediately 2013-04-30 17:58:05 +02:00
Henrik Rydgård
b7cd4d63e2 Merge pull request #1599 from PeterTh/master
xBRZ texture scaling
2013-04-30 04:29:36 -07:00
Unknown W. Brackets
8f27d03af3 Double alpha at least for a known case.
Makes Popolocrois look much better now.
2013-04-30 00:04:20 -07:00
Unknown W. Brackets
bc1e0d09d4 Report a possible blend error. 2013-04-30 00:04:00 -07:00
Peter Thoman
c7c4ec7c3b Added xBR texture scaling to TextureCache 2013-04-30 03:49:12 +02:00
Unknown W. Brackets
3a769bb047 Do alpha test equal compares using rounding.
Fixes accuracy problems, Popolocrois shows things now.
2013-04-29 01:19:23 -07:00
Unknown W. Brackets
b0ce9e934e Split out the GPU vendor and the full detail.
This way we can sort things more easily.
2013-04-29 00:30:54 -07:00
Unknown W. Brackets
5cea38e405 Reporting: catch information about the GPU. 2013-04-29 00:26:43 -07:00
Unknown W. Brackets
1edbfa3212 Use a downcount and fast run loop in the GE. 2013-04-28 14:23:30 -07:00
Unknown W. Brackets
f6287cb33d Resize the tex buffers to the larger of w/bufw.
Since it's rearranging, it needs the larger, and it might be in place too.
2013-04-28 13:17:01 -07:00
Unknown W. Brackets
89ad3fb41a Swap a couple Unchecked loops for Memcpy calls.
Should be the same or faster, seems clearer anyway...
2013-04-28 11:33:14 -07:00
Unknown W. Brackets
880af79caa Get rid of the duplicate texture decode func.
Just need one, really.
2013-04-28 11:26:00 -07:00
Unknown W. Brackets
d0733562f1 Optimize clut reading a tiny bit, use one func. 2013-04-28 11:25:59 -07:00
Unknown W. Brackets
4fe0f59bd7 Fix some missing texture buffer resizes.
I think this is all of them...
2013-04-28 11:25:59 -07:00
Unknown W. Brackets
13aeb9e67f Get rid of the cluthash in the texcache.
It's part of the key now, and better anyway.
2013-04-28 02:40:57 -07:00
Unknown W. Brackets
0cd65102af Cache cluts by hash not address.
This makes it immensely faster in Final Fantasy Tactics, and fixes the
numerous graphical issues.
2013-04-28 02:38:59 -07:00
Unknown W. Brackets
394a8eaf9e Small optimization to typical 4-bit textures.
These aren't used that often, but this makes them a bit faster.

It also looks cleaner, imho.
2013-04-28 01:53:24 -07:00
Unknown W. Brackets
9427f352c3 Fix black screen when fbo set in first frame.
Because BeginFrame() is actually only called after the first frame.
2013-04-27 15:46:10 -07:00
Henrik Rydgard
c5c3189436 Fix some framebuffer-related crash bugs. Ignore cache instruction 'FILL'. 2013-04-27 20:06:31 +02:00
Henrik Rydgard
6f4ad05582 Remove some unused code, add some stubs to vfpu jit, some cleanup 2013-04-27 19:35:42 +02:00
Henrik Rydgard
e3f183bc28 ColorDouble needs to be in the fragment shader ID 2013-04-27 18:33:56 +02:00
Unknown W. Brackets
9fa4725f67 Mask clut indexes for > 8-bit clut indexes.
Fixes #1532.
2013-04-27 01:19:09 -07:00
Unknown W. Brackets
7405b050be Revert secondary texture cache.
This reverts commits 5d978fc626,
6a7722283c,
fd34a2e74d,
5bdf91ea43,
223bb6795a, and
e2a9813d82.
2013-04-25 07:48:54 -07:00
Henrik Rydgard
6f23a56779 Remove use of setlocale() in Osk as I could not figure out the purpose, and it broke stuff.
If this is actually needed, please send a pull request adding it back, turning it off when not used, and also add an explanation in a comment.
2013-04-25 10:42:31 +02:00
Henrik Rydgard
1965775c5a Ugly workaround for locale issue breaking HW transform for some people 2013-04-24 23:30:09 +02:00
Unknown W. Brackets
0b9de18f8c Small optimization to morph vertex step funcs. 2013-04-24 08:19:42 -07:00
Unknown W. Brackets
6a7722283c Hash textures using cityhash rather than adding.
It should be more accurate, and for some games is faster.
For most it seems not hugely different.
2013-04-24 01:52:37 -07:00
Unknown W. Brackets
5d978fc626 Fix second texture cache key, duh. 2013-04-24 01:52:37 -07:00
Unknown W. Brackets
fd34a2e74d More aggressively decimate the second texcache. 2013-04-24 01:52:37 -07:00
Unknown W. Brackets
5bdf91ea43 Use a secondary texture cache for hash failures.
Animation is pretty common in 2D games, keep it cached.
2013-04-24 01:52:36 -07:00
Unknown W. Brackets
223bb6795a Don't rehash a non-matching texture. 2013-04-24 01:52:36 -07:00
Unknown W. Brackets
e2a9813d82 Basic mechanics for a secondary texcache, cleanup.
No need to set these values upon resuse.
2013-04-24 01:52:35 -07:00
Unknown W. Brackets
85a23dac63 Avoid framebuffer lookups for repeated prims.
There are usually many prims per framebuffer.  This cuts time spent in
SetRenderFramebuffer() from 1% to 0.13% (although a bit more time in
ExecuteOp, not much.)
2013-04-22 22:04:27 -07:00
Henrik Rydgard
5f1ed03165 Revert "Merge pull request #1324 from cinaera/pullreq" as it seems to break stuff, needs more testing.
This reverts commit a265569928, reversing
changes made to 06999ae649.
2013-04-21 21:09:02 +02:00
Henrik Rydgard
e877821cca Turn off the single-strip optimization for software transform as it doesn't work yet. 2013-04-21 19:32:57 +02:00
Henrik Rydgard
dd0088e6b8 Fix strange offset of skinned meshes in HW transform (helmet outside body etc) 2013-04-20 23:37:07 +02:00
Henrik Rydgard
b52d21bd4a Don't use an index buffer for single triangle strips. Improve dirtying of proj matrices. 2013-04-20 23:37:07 +02:00
Henrik Rydgard
70bb4e1c85 Fudge GPU cycle estimates to let GoW runs fast and GTA smooth. See comments for the horrible details.
I hope this doesn't affect other games adversely.
2013-04-20 20:21:12 +02:00
raven02
4a8d3c331a Consolidate DIRTY_MATAMBIENTALPHA/DIRTY_MATSPECULAR 2013-04-20 22:46:25 +08:00
BeaR
191199a8d0 Fix vertex shader compilation 2013-04-18 19:34:24 +02:00
BeaR
de7c1ef327 Correct ambient light 2013-04-18 17:36:20 +02:00
Henrik Rydgard
42e4dc897e Add most Japanese kanji, the brute force way.
Hope everything supports 2048x2048 textures.
2013-04-18 14:59:00 +02:00
Henrik Rydgard
c04ce5a64e Implement projective texture mapping. It's not used a great deal but good to have. 2013-04-17 21:41:47 +02:00