Commit graph

188 commits

Author SHA1 Message Date
Unknown W. Brackets
1d9f7b04fc Implement in-shader blending on gles2 / gl2.
I'm sure it'll be slow, though...
2014-06-13 23:42:59 -07:00
Unknown W. Brackets
b9f805c71f Fix graphical artifact in Jeanne d'Arc world map.
We need to use the last set render framebuffer, not the current one at
copy to output.
2014-06-11 00:54:54 -07:00
Unknown W. Brackets
c49ba888b5 Flush draws before doing any block transfers.
Otherwise, we might flush on top, or we might download the wrong thing.
2014-06-11 00:28:28 -07:00
Unknown W. Brackets
dd4b191003 Correct Gods Eater Burst tex download size.
Probably takes care of #6289, although it doesn't crash for me.
2014-06-10 22:59:08 -07:00
Unknown W. Brackets
adee76cd62 Add a matching PerformMemoryUpload().
Just so we have both Download and Upload to use later.
2014-06-10 00:45:03 -07:00
Henrik Rydgård
0c7c736522 Merge pull request #6205 from unknownbrackets/replace-funcs
Initial replacement for Star Ocean's stencil upload
2014-06-01 12:22:11 +02:00
Unknown W. Brackets
580143e5e2 Disable vertex arrays before depal as well. 2014-05-31 22:07:42 -07:00
Unknown W. Brackets
bd67cdab3f Add basic decimation to the depal clut cache. 2014-05-31 22:07:41 -07:00
Unknown W. Brackets
089ee41d9c Implement a very basic stencil upload.
This is not fast or efficient, but works.
2014-05-31 21:48:09 -07:00
Unknown W. Brackets
c142207a93 Fix a few warnings, mostly type comparisons. 2014-05-31 21:42:57 -07:00
Unknown W. Brackets
1433b98c46 Clean up the framebuffer force downloads. 2014-05-31 10:03:03 -07:00
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