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
01a1438dce
Improve depth buffering in D3D by computing a depth-flipped proj matrix but only when needed.
2014-09-08 23:10:23 +02:00
Unknown W. Brackets
1f51fe7843
d3d: Avoid rewriting textures, just swizzle.
...
Luckily A is in the same place and the same width, so we can do this for
all but framebuffers easily.
Technically we could do it in OpenGL as well.
Small (1-2%) performance improvement in FF2.
2014-08-28 01:20:21 -07:00
Henrik Rydgard
1d7642fa48
Remove most mentions of the "_XBOX" define
2014-08-24 14:21:35 +02:00
Unknown W. Brackets
030b562eb9
Support render-to-offset within a framebuffer.
...
Fixes #6324 .
2014-06-14 17:08:41 -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
acab898be0
Keep track of x/y offset for render-to-tex.
...
Fixes intro in Valkyrie Profile now that we're wrapping correctly.
2014-06-08 14:27:05 -07:00
Unknown W. Brackets
cc841bbe4c
Apply tex wrap/clamp in shader for render-to-tex.
...
Fixes graphical artifacts in Wild Arms XF (which depends on how you get
there, because it's based on the size of the framebuffer.)
2014-06-07 13:13:58 -07:00
Unknown W. Brackets
f660c04983
Optimize double alpha blending for 1/0 textures.
...
If the blend is 2*a / 1-a, and the alpha is either 1 or 0, we can still
use color doubling instead. Fixes #3379 (Persona 2.)
2014-05-11 14:17:19 -07:00
Unknown W. Brackets
748ce6a753
Fix typo breaking older savestates.
2014-04-21 22:40:50 -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
Unknown W. Brackets
58038c05fc
Simplify gstate_c savestate code a bit.
...
So it's not as awkward to modify.
2014-04-13 15:16:51 -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
Ced2911
2ab34b5704
[gpu] Endian fix
2014-01-26 14:29:30 -08:00
Unknown W. Brackets
435115441d
Reinitialize the GE on sceKernelLoadExec().
...
Mostly, reset the lists and draw completion, etc.
May be required for Capcom Classic Collection Reloaded to work.
2013-11-28 15:35:12 -08:00
Henrik Rydgard
8c562a615f
Bone matrix loading speedup. Bit of a hack but seems reliable enough.
2013-11-14 14:02:31 +01:00
Henrik Rydgard
7e67476b00
Simple unoptimized software skinning.
...
Does not take advantage of the possible reduction in state changes yet.
2013-11-13 18:10:57 +01:00
Sacha
aad70d8912
Symbian: Support software GPU. It seems to compile properly now. May allow Nokia 500 to run PPSSPP (albeit very slowly).
2013-11-12 16:20:52 +10:00
Unknown W. Brackets
3787471791
Add some initial methods to GPUDebugInterface.
2013-09-22 10:22:33 -07:00
Unknown W. Brackets
4078dcd917
Support save/restore of context on list run/finish.
2013-09-20 09:51:44 -07:00
Unknown W. Brackets
bb2e51160b
Don't default lighting on / matrices filled.
...
Seems like everything starts out at 0.
2013-09-20 00:34:18 -07:00
Unknown W. Brackets
7906de26f7
Try to match especially the size of ge contexts.
...
But also some of the actual data, most of it matches like this.
2013-09-20 00:33:32 -07:00
Ced2911
5c4ed26442
Make the dx9 renderer working in headless mode
2013-09-16 09:42:30 +02:00
Unknown W. Brackets
5617f07462
Fix dx9 so it builds on Windows (DOES NOT WORK.)
2013-09-15 23:22:10 -07:00
Unknown W. Brackets
f55b6a0dbc
Put the DirectX9 stuff into a namespace.
...
This makes it almost build on Windows, but not quite. Some required files
excluded from build, still.
2013-09-15 08:56:12 -07:00
Ced2911
d2d48fe262
fix
2013-09-12 10:56:20 +02:00
Ced2911
72cb7739b6
update gpu
...
Conflicts:
GPU/GPUState.cpp
2013-09-12 09:43:57 +02:00
Unknown W. Brackets
bbf714c361
Provide for GPU init failure, kill a warning.
2013-09-07 22:30:30 -07:00
Henrik Rydgard
d9cd0d1fe9
Been meaning to rename DisplayListInterpreter->GLES_GPU forever
2013-08-20 22:34:47 +02:00
Sacha
8908ec22a8
Small changes. Symbian buildfix.
2013-08-18 18:17:23 +10:00
Sacha
e7cf9361ff
Symbian can't compile Software GPU (internal compiler error). Probably can't run it well either. So, disabled.
2013-08-18 18:07:15 +10:00
Tony Wasserka
19c6fedb79
Copy NullGpu to SoftGpu.
2013-08-16 23:48:52 +02:00
Unknown W. Brackets
e7c7c5b3db
Add a setting to launch a separate CPU thread.
2013-08-09 22:41:30 -07:00
Unknown W. Brackets
f7a39d1b12
Move ReapplyGfxState() to GPUCommon.
...
This way it can be overridden, and simplifies some other things.
2013-08-04 15:15:50 -07:00
Unknown W. Brackets
64c42ffaf2
Fix some warnings generated by clang.
2013-02-24 10:23:31 -08:00
Henrik Rydgard
0769a1d3e8
I think I finally understood how origin-relative GE jumps are supposed to work.
2013-02-02 13:38:34 +01:00
Henrik Rydgard
366583d34f
Align some vertex arrays to page size. It's said to possibly be beneficial.
2013-01-29 00:48:13 +01:00
Florent Castelli
6eec4f5d7f
Move display list management to common GPU class
2012-12-29 03:11:35 +01:00
Henrik Rydgård
d95dbca9be
Cleanup GPU init/shutdown a bit
2012-12-25 22:42:19 +01:00
Henrik Rydgård
d21647bbb9
Split code from GLES_GPU to TransformDrawEngine, cleanup
2012-12-25 22:39:37 +01:00
Henrik Rydgard
252845ecb6
Bugfix, remove hack
2012-12-21 23:55:19 +01:00
Sacha
3c903dda24
Improve portability to future platforms. Make use of new USING_GLES2 define throughout PPSSPP. Also use ARM definition where suitable. Remove some redundancy with includes.
2012-11-26 13:25:14 +10:00
Florent Castelli
56175bc505
Defer blend, cull and depth test changes to draw command
...
Avoid unnecessary state changes and reduces the amount of OpenGL calls.
It also puts all the interesting logic at the same place, reducing the
complexity a little.
2012-11-24 15:19:29 +01:00
Henrik Rydgard
4b87da74cb
windows gui option for buffered rendering. Misc fixes, prettier checkbox on android.
2012-11-20 11:35:48 +01:00
Henrik Rydgard
f378f959e1
Fix issues with games that don't call sceDisplaySet mode. Add option to run without FBOs, may be useful on slow devices.
2012-11-20 10:59:23 +01:00
Henrik Rydgard
e37a1fb1d3
Add internal 2D drawing library that goes through the Ge emulation for portability.
...
To be used for things like sceUtility* and other overlays like FPS and stats.
2012-11-18 13:04:49 +01:00
Henrik Rydgard
85d5cfd8c4
Add more proper "Null" GPU
2012-11-06 17:05:27 +01:00
Sacha
41f5abab31
PPSSPP ported to Blackberry10
...
Now builds on Playbook and Dev Alpha
Make emulator more compatible with other OS (case sensitivity, defines, includes)
Uses Android's code paths and backend
2012-11-05 23:09:49 +10:00
Henrik Rydgard
64cc573703
Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK.
2012-11-04 23:24:00 +01:00
Henrik Rydgard
4f7ad15758
Add snapshot of the whole source code.
2012-11-01 16:19:01 +01:00