Commit Graph
206 Commits
Author SHA1 Message Date
Henrik Rydgard 308e45420a GLES: Add some currently unused information to the opcode table. Keep downcount in a local as much as possible. 2014-12-06 11:35:02 +01:00
xebra ab0eeb18f3 [spline/bezier]Support drawing primitives lines and points. 2014-11-25 22:32:50 +09:00
Henrik Rydgard c62255f1d9 GetPointerUnchecked is ok around display list pc, checked elsewhere 2014-10-19 23:13:54 +02:00
Unknown W. Brackets 01bdb6e160 Cleanup some minor vertex cache stuff. 2014-09-15 07:08:55 -07:00
Henrik Rydgard 9b587bb144 Make the D3D backend cmd processing work more similar to the GL backend 2014-09-13 12:11:34 +02:00
Unknown W. Brackets f7b669a740 Fix infinite recursion in framebuf create upload.
Needs to be done *after* currentRenderVfb_ is set.

Fixes #6872.
2014-09-10 23:59:12 -07:00
Unknown W. Brackets 94c1271761 Add an experiment with using a texture for tests.
Using an option for now so it's easy to test, if it works well we can
maybe remove the option.
2014-09-07 10:04:57 -07:00
Unknown W. Brackets 337b34ef6a Eat cycles during block transfers.
Tests show this takes a number very close to 1.9 times the number of bytes
in cycles @222.

Using that value caused a tiny fps drop in one area of the God of War
demo, which may be correct but might also cause complaints.  A lot of our
other timing is not accurate, so using a lower value (1.6) to be on the
safer side.

This may cause things to reschedule more accurately when games drawsync,
and improves the gpu/commands/blocktransfer test.
2014-08-30 22:02:28 -07:00
Unknown W. Brackets 95f4341838 Allow changing prescale uv at runtime. 2014-06-28 21:51:25 -07:00
Unknown W. Brackets 1c3b60a8ee Allow changing software skinning at runtime. 2014-06-28 21:46:43 -07:00
Unknown W. Brackets d2d7d6e34b Destroy all FBOs/textures upon sceKernelLoadExec().
It can confuse our heuristics about size, attachment, memcpy, etc.
2014-06-28 12:29:09 -07:00
Unknown W. Brackets 6d104edb5d Make sure not to leak any enabled vertex arrays.
When returning to EmuScreen, we need to reset any enabled vertex arrays or
we could crash in EmuScreen.  Also, when starting a frame / dirting the
shader, make sure also to toggle the vertex arrays.
2014-06-22 21:42:29 -07:00
Unknown W. Brackets b8ad665b53 Clear vertex attrib arrays before output to screen.
Doesn't seem to help the mis-enabled arrays, though.
2014-06-22 21:03:33 -07:00
Unknown W. Brackets ef390c5c40 Double check upload/download are VRAM addresses. 2014-06-19 23:09:15 -07:00
Unknown W. Brackets 359f72078d Disable vsync when exiting the game.
Not sure why, but with some drivers not doing this makes the process burn
cpu usage when back in the menu.  Fixes #6351.
2014-06-17 01:06:25 -07:00
Unknown W. Brackets 2038bc5527 Support alpha / color test masks on desktop/gles3.
Won't work on GLES 2, though...
2014-06-16 00:33:48 -07:00
Unknown W. Brackets e762689ea8 Update vsync on resize, and before first FBO.
May take care of #4440.
2014-06-15 15:19:49 -07:00
Unknown W. Brackets eaf3288304 Add debug interface for non-L0 texture preview. 2014-06-15 09:30:37 -07:00
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