Unknown W. Brackets
f263d207b3
GPU: Match GE saved context better.
...
Just in case some game stores it somewhere, but also makes it simpler to
write tests against hardware.
2017-12-26 16:20:11 -08:00
Unknown W. Brackets
9fbcc01afa
TexCache: Remove simple 0/1 alpha check.
...
No practical optimizations have come of this, so it's a waste of time.
Slows down Vulkan too.
2017-11-12 16:17:46 -08:00
Henrik Rydgård
22e65ba80d
Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11
2017-08-31 01:14:51 +02:00
Henrik Rydgård
2b8e81f01e
NEON-optimize bone matrix loads
2017-08-15 14:35:21 +02:00
Henrik Rydgard
e4cb44c243
Merge the texture flags into the dirty flags
2017-01-24 18:12:20 +01:00
Henrik Rydgard
c289a2c7bf
Split TextureChanged into two bools, so we can later convert to dirtyflags
2017-01-24 18:12:20 +01:00
Henrik Rydgard
7d60ec73be
Move framebufChanged into the dirty flag field
2017-01-24 18:12:20 +01:00
Henrik Rydgard
d9acd27126
Rename GLES files to match the convention the other backends use.
2017-01-23 17:08:58 +01:00
Henrik Rydgard
004c8b0fca
Make debug stats more compact.
2016-03-31 09:47:25 +02:00
Henrik Rydgard
e11d0a7e1c
Minor GPU interface cleanup
2016-01-06 23:49:02 +01:00
Unknown W. Brackets
529abd7db4
Correct clamped depth range from [0, 65535].
...
This changes a few things:
* All backends clamp the depth range and keep it positive.
* The depth rounding uniform is now properly dirtied.
* Projection is updated to translate and scale appropriately.
* Depth rounding is halved on OpenGL to account for [-1, 1] range.
Fixes Phantasy Star Portable 2 without the need for a game-specific hack.
2016-01-03 12:29:43 -08:00
Henrik Rydgard
f4248cb550
Remove a whole lot of flipping special cases
2015-11-02 20:07:30 +01:00
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