Henrik Rydgard
634add3a46
Depalettize works at other resolutions than 1x. For some strange reason though if you change resolution in game it breaks.
2014-05-27 22:09:26 +02:00
Henrik Rydgard
8fba7fa98e
Initial work on depalettization.
2014-05-27 22:07:24 +02:00
Henrik Rydgård
8d84c912eb
Merge pull request #6070 from unknownbrackets/gpu-blend
...
Apply unsupported blending modes in the shader
2014-05-27 17:45:33 +02:00
Unknown W. Brackets
8dcc09c9e1
Use a separate func for gpu memset().
2014-05-27 07:50:01 -07:00
Unknown W. Brackets
4b978ed6f9
Apply unsupported blending modes in the shader.
...
This handles unsupported fixed color combinations, alpha doubling, etc.
Where possible, tries to avoid it - it means using a blit (without the
framebuffer fetch extension), which can slow things down a lot with tons
of drawcalls.
2014-05-27 01:45:17 -07:00
Unknown W. Brackets
e4dc702d68
Schedule the FBO blit during multithreading.
...
This was it's properly ordered with draws, and it runs on the right GL
context.
2014-05-25 22:08:15 -07:00
Unknown W. Brackets
9894b38a1d
Support memcpy uploads to fbos.
...
Makes Vempire look right (has never worked before in any rendering mode.)
2014-05-25 22:01:08 -07:00
Unknown W. Brackets
9195019872
Allow memcpy gpu downloads.
...
Fixes FF4 battle transition effect, Trails in the Sky menu, etc.
2014-05-25 21:49:16 -07:00
Unknown W. Brackets
8275f613ce
UpdateMemory() now returns whether to skip the cpy.
...
This way it can do it itself as necessary in the right order.
2014-05-25 21:48:41 -07:00
Unknown W. Brackets
976968c707
Track more kinds of memcpy operations on fbos.
2014-05-25 17:08:55 -07:00
Unknown W. Brackets
fd4ba0093c
Skip some code if things are outside framebuffers.
...
Small optimization.
2014-05-25 17:08:55 -07:00
Unknown W. Brackets
4dbb4328ae
Download before, upload after. Fix save pictures.
...
Otherwise, it only works if it does it every frame, and then it's a frame
behind. Also fixes Tales of Phantasia X's fades and etc.
2014-05-25 17:08:55 -07:00
Henrik Rydgard
5a60ccc9f0
BlockTransfer: Move framebuffer handling into Framebuffer.cpp
2014-05-08 15:16:10 +02:00
Henrik Rydgard
8ef377c427
Some preparations towards framebuffer management improvements
2014-05-08 15:16:10 +02:00
Henrik Rydgård
403f685701
Warn fix
2014-05-06 09:26:52 +02:00
Unknown W. Brackets
4cc4cfed4c
Note that VADDR/IADDR are not updated on PRIM.
...
Even though they do increase the addresses, they don't affect the CMD
registers.
Also, make sure not to use a crazy bytesRead for a zero-sized prim.
2014-05-04 18:24:49 -07:00
raven02
e61a151942
Add Vertex texture/color GE commands
2014-04-26 23:53:17 +08:00
Unknown W. Brackets
424d93e9a9
Separate out the fog color/coef executes.
2014-04-21 22:56:54 -07:00
Unknown W. Brackets
38b92e48ec
Fix uniform dirtying on colortest mask.
2014-04-21 22:54:17 -07:00
Unknown W. Brackets
1bbd3d04af
Move the light params to separate funcs.
2014-04-21 22:47:44 -07:00
Henrik Rydgard
16f4622ac7
Remove cached light variables to reduce work when parsing DLs.
...
Also removes some duplication between GL and the inactive D3D code.
2014-04-21 12:51:19 +02:00
raven02
abc5c86339
Split out texture level
2014-04-19 06:45:17 +08:00
Henrik Rydgard
247b171eb0
Temporarily (?) revert ffdba45b4b
because of massive perf drop in GT, working around #5900
...
Not sure what to do about the Chinese Tactics Ogre though...
2014-04-18 15:02:45 +02:00
Unknown W. Brackets
1e61fd7a02
Split out the clutformat cmd as well.
2014-04-17 22:57:02 -07:00
Unknown W. Brackets
90365943ff
Split out the bounding box and stencil test cmds.
2014-04-17 22:54:23 -07:00
Unknown W. Brackets
b953ff8f33
Split out viewport type commands.
2014-04-17 22:49:09 -07:00
Unknown W. Brackets
5ed851204c
Split out a few more common cmds.
2014-04-17 22:41:37 -07:00
Unknown W. Brackets
5ba924225e
Move out texformat as well.
2014-04-17 08:29:44 -07:00
Unknown W. Brackets
7d34c20418
Split out the texscale/offset cmds.
2014-04-17 08:26:38 -07:00
Unknown W. Brackets
e8f42f069e
Split out some texture and testing cmds.
2014-04-17 08:18:43 -07:00
Unknown W. Brackets
fbe28dbeef
Move spline and bezier as well to separate funcs.
2014-04-17 08:09:44 -07:00
Unknown W. Brackets
286416af9f
Don't even execute FF, it does nothing.
...
And it happens quite a lot in GoW, interestingly...
2014-04-17 08:05:32 -07:00
Unknown W. Brackets
12716afce2
Move out block transfer too, common in GoW.
2014-04-17 08:05:16 -07:00
Unknown W. Brackets
130c11c518
Move matrix loads to separate op cmds.
2014-04-17 08:00:01 -07:00
raven02
ffdba45b4b
Flush GE_CMD_TEXLEVEL
2014-04-17 19:48:22 +08:00
Unknown W. Brackets
49738a4d9f
Keep flags and func together.
...
Seems not to make a big difference, though.
2014-04-17 01:36:24 -07:00
Unknown W. Brackets
c90f3a3e80
Split out more of the top GE cmd funcs.
2014-04-17 01:18:53 -07:00
Unknown W. Brackets
256e98b841
Add the common funcs to the direct exec calls.
2014-04-17 01:18:52 -07:00
Unknown W. Brackets
9851400681
Move a few GE cmds to separate funcs.
...
2% improvement in God Eater 2.
2014-04-17 01:18:52 -07:00
Unknown W. Brackets
e06c135be4
Allow individual cmd funcs to be called.
...
Rather than a single one, ExecuteOpInternal(). This allows less "huge
switch" code organization, and will (once separated) also improve speed.
2014-04-17 01:18:51 -07:00
Unknown W. Brackets
9982d04f9d
Optimize the case of a direct byte copy.
...
Small improvement (like 3.5%) in God of War.
2014-04-13 21:31:30 -07:00
Unknown W. Brackets
6cfc61665d
Switch to a bitmask instead.
2014-04-13 14:45:55 -07:00
Unknown W. Brackets
4c1c694d4b
Use flags to avoid hashing textures when unchanged.
...
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.
Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Unknown W. Brackets
2f72da8087
Don't dirty the texture on texmapenable.
...
Tales of Phantasia X flips on and off texturing during battle transitions.
This causes tons of needless rehashes.
2014-04-13 13:19:35 -07:00
Unknown W. Brackets
f2ff8544c7
Don't check diff in ExecuteOpInternal().
...
Since it's not called if !diff, there's no need. Small performance
improvement.
2014-04-13 10:25:14 -07:00
Unknown W. Brackets
e780a645cb
Use the FLAG_EXECUTEONCHANGE flag.
...
Improves fps by 1-3% in some games, seems to be a win after all.
2014-04-13 10:23:21 -07:00
raven02
a6523dd507
Texture lod bias should be signed
2014-04-12 02:33:52 +08:00
Unknown W. Brackets
27550a2336
Update some flags in GLES_GPU.
...
It's useful to know if we need to have a correct PC value or downcount.
2014-03-29 14:10:35 -07:00
The Dax
1ca3d39a50
Disable the adaptive vsync checks by commenting them out. No need to have a disabled check run every frame.
2014-03-24 20:15:41 -04:00
Henrik Rydgard
ba5d88e9d6
Fix bug in FastLoadBoneMatrix where the wrong uniform could be dirtied
2014-03-22 09:27:43 +01:00