Commit graph

206 commits

Author SHA1 Message Date
Unknown W. Brackets
b1d78020c4 softgpu: Keep track of frame dirty for frameskip.
But only when frameskip is enabled.  Let's always draw in case of pixel
poking when it's off.
2013-12-15 14:32:04 -08:00
Unknown W. Brackets
9aa1b15569 softgpu: Fix black objects with bilinear filtering.
Dividing by 256 gives us a range of 0-253, and incorrectly gets zero for
some components (guessing alpha, primarily?) in some games.

Dividing by 255 has a speed hit, so a slight bias to the top left seems
like a decent performance compromise (and it's a very slight bias.)
2013-12-15 11:59:25 -08:00
Unknown W. Brackets
96d6f52a13 softgpu: Retain accuracy in depth for tests.
Fixes intro/menu issues in Phantasy Star Portable 1/2, and text in the
first, both of which now look correct.
2013-12-15 11:59:25 -08:00
Unknown W. Brackets
6ca5662b03 softgpu: Properly swizzle 16 bit textures.
Fixes for example the graphics in Fieldrunners.
2013-12-15 11:59:24 -08:00
Unknown W. Brackets
da1224bb57 softgpu: Use the display, not current, framebuffer.
Fixes blinking in save dialogs and probably other bugs.
2013-12-15 11:59:23 -08:00
Unknown W. Brackets
2f0c8c2877 softgpu: Attempt to implement GE_PROJMAP_UV.
Looks okay, not sure if it's fully correct.
2013-12-15 11:59:22 -08:00
Unknown W. Brackets
13bf4d83fa Add memchecks for common HLE copy operations.
Better to catch some than miss everything.
2013-12-14 14:56:05 -08:00
Henrik Rydgard
d4eee74b54 SoftGPU: Prepare for mipmapping. Getting the uv deltas seems tricky though... 2013-12-10 15:33:59 +01:00
raven02
2e7609b084 Cleanup ClearmodeDepthMask 2013-12-10 20:48:20 +08:00
Henrik Rydgård
20873f2985 Remove unnecessary ifdef 2013-12-09 16:53:46 +01:00
raven02
75492719e8 std::bind build fix for VS2012 2013-12-09 21:06:38 +08:00
Henrik Rydgård
68b08ffb9f SoftGPU: Quick and dirty lines and points implementation
No line/point texturing support yet.
2013-12-09 12:43:49 +01:00
Unknown W. Brackets
c6a441965e Move shared clut check to gstate. 2013-12-08 23:11:56 -08:00
Unknown W. Brackets
cdccf06b62 softgpu: Avoid some ScreenToDrawing() overhead. 2013-12-08 22:38:09 -08:00
Unknown W. Brackets
30394df775 softgpu: Make texture lookups do less math. 2013-12-08 22:37:45 -08:00
Henrik Rydgard
bd1d4e2d92 As if softgpu wasn't slow enough already, implement bilinear filtering. 2013-12-09 01:44:23 +01:00
Unknown W. Brackets
637a9de75d Optimize out some clear mode checks.
Since it's really common and the rasterizer is slow for large draws.
2013-12-08 14:24:17 -08:00
Unknown W. Brackets
598d509fb9 Use multiple threads if available for softgpu.
VIVA OVERHEAD.  But it's actually generally faster this way, even with
only 2 cores running (but not a huge improvement then.)

On an i7, this improves things ~2.5x with 8 cores.
2013-12-08 13:41:20 -08:00
Unknown W. Brackets
d227b13f36 softgpu: Advance vertex/index address on prim.
Fixes some broken graphics in a lot of places.
2013-11-20 21:59:45 -08:00
Henrik Rydgård
428b27903b Merge pull request #4556 from unknownbrackets/ctrl-timing
Adjust ctrl timing (sample and wake after vblank)
2013-11-18 05:06:58 -08:00
Unknown W. Brackets
7a9fe955f8 softgpu: Only check clear mode once for depthtest.
Small, small optimization.  It's only called outside clear mode.
2013-11-17 19:32:21 -08:00
Unknown W. Brackets
dfadb67ea1 Avoid some operator overloads.
Causing ambiguity.
2013-11-17 14:42:58 -08:00
Unknown W. Brackets
1311d71455 softgpu: Fix reversed stencil test funcs.
LESS applies to the ref compared to the stencil, not the stencil compared
to the ref.

With this, stencil testing is finally being done properly in Star Ocean.
2013-11-10 03:21:01 -08:00
Unknown W. Brackets
2db98b8669 softgpu: Don't apply logic op to stencil value.
Also, they were not at all applying correctly.
2013-11-10 03:21:00 -08:00
Unknown W. Brackets
438928de40 softgpu: Apply stencil op even when depth disabled. 2013-11-10 03:21:00 -08:00
Unknown W. Brackets
5327ce80d5 softgpu: throughmode doesn't disable any tests. 2013-11-10 03:20:59 -08:00
Unknown W. Brackets
5751e0a0a4 softgpu: Simplify color clamping. 2013-11-10 03:20:58 -08:00
Unknown W. Brackets
21deaef35a Invert gstate.getClearModeColorMask().
It makes more sense matching gstate.getColorMask().
2013-11-10 03:20:58 -08:00
Unknown W. Brackets
5817684e28 softgpu: Never write alpha, only stencil. 2013-11-10 03:20:57 -08:00
Unknown W. Brackets
be9fe9ad9a softgpu: Fix stencil read/write in some formats. 2013-11-10 03:20:56 -08:00
Unknown W. Brackets
b62e36e997 Support frameskip in softgpu. 2013-10-27 16:50:03 -07:00
Unknown W. Brackets
98e257c95d Add GPU cycle estimation to the softgpu. 2013-10-27 15:05:57 -07:00
Henrik Rydgard
f5a63d7d41 Better fix for the UINT_64 define issue on android 2013-10-20 13:52:31 +02:00
Unknown W. Brackets
c1897b9e54 Compare stencil correctly based on bitdepth.
All sorts of funny rules.  See comments here:
https://github.com/hrydgard/ppsspp/pull/4150
2013-10-12 22:20:38 -07:00
Unknown W. Brackets
b9811c7c97 Use the slow way to get the softgpu texture.
So that it actually shows what the softgpu is using.
2013-10-07 01:26:48 -07:00
Unknown W. Brackets
5c2d418d95 Read softgpu stencil using existing funcs.
Slower but at least it's the same.
2013-10-07 01:02:58 -07:00
Unknown W. Brackets
b9453f82ca Use the full alpha bits for stencil in softgpu.
It works to increment and set the stencil, so it can't be high bits only.
2013-10-07 01:00:43 -07:00
Unknown W. Brackets
31171cc044 Grab the stencil buffer in softgpu debugging. 2013-10-07 00:50:15 -07:00
Unknown W. Brackets
d49ad5f114 Use an accessor for depth/frame addresses. 2013-10-06 22:17:53 -07:00
Unknown W. Brackets
32f2f045e4 Don't report a loadclut of 0. 2013-10-05 15:41:44 -07:00
Unknown W. Brackets
eae6e87620 Simplify lighting clamping in softgpu. 2013-10-05 13:05:32 -07:00
Unknown W. Brackets
013e3f3be2 Add very basic and slow DXT decoding to softgpu. 2013-10-05 12:25:18 -07:00
Unknown W. Brackets
2eb10c3b3f Add basic GetCurrentTexture() to softgpu. 2013-10-05 11:37:14 -07:00
Unknown W. Brackets
e79781b1a3 softgpu: Skip the stencil/depth tests in a clear. 2013-09-28 12:15:07 -07:00
Unknown W. Brackets
da1d700904 Attempt to support rendering depth/stencil.
But no interface yet.  I can't tell if it works, I just get black...
2013-09-28 02:38:05 -07:00
Unknown W. Brackets
14efcbcc9b Add an interface to grab the depth/stencil buffers.
Not sure yet how to show in UI, not well tested...
2013-09-28 02:23:07 -07:00
Unknown W. Brackets
81e71dd8d7 Add a way to get to the current texture as well. 2013-09-27 22:46:08 -07:00
Henrik Rydgard
424b4cbd5f Move GE_CMD_BJUMP to GPUCommon. Add the flag. (no actual bbox impl yet) 2013-09-24 14:14:04 +02:00
Unknown W. Brackets
6af44910c1 Add an interface to return the current framebuffer. 2013-09-22 19:03:31 -07:00
Unknown W. Brackets
eabd8b5302 Add GPU debugging hooks to Host, not yet in use. 2013-09-22 08:14:55 -07:00