Commit Graph
2651 Commits
Author SHA1 Message Date
Henrik Rydgård e27e285624 Merge pull request #6396 from hrydgard/ridge-racer-hack
Ridge Racer hack: Flush after every prim if fb addr == tex addr.
2014-06-23 17:52:25 +02:00
Henrik Rydgård 14c0c019db Merge pull request #6407 from unknownbrackets/replace-funcs
Fix function replacement hooks on arm
2014-06-23 17:50:32 +02:00
Unknown W. Brackets 8a7b440933 Don't need this flag, it read from memory. 2014-06-23 08:21:20 -07:00
Unknown W. Brackets ad060b992d Clear buffers right after creating them.
Seems like some drivers have trouble otherwise.
2014-06-23 00:17:35 -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 4c62a17f72 Allow exact render-to-tex format mismatches more.
If the right format was used recently, it's still okay.  Also check the
x/y offset to try to find the best match.
2014-06-22 21:02:43 -07:00
Henrik Rydgard 8b60fe0239 Ridge Racer hack: Flush after every prim if fb addr == tex addr.
Fixes the bloom errors. @unknownbrackets discovered this method.

Not sure if I want to merge this.. It does add yet another check
to a critical path.
2014-06-22 20:37:50 +02:00
Unknown W. Brackets 73d77d3e8a Warning fix. 2014-06-21 18:04:00 -07:00
Unknown W. Brackets e0b4aa68d0 Typos. 2014-06-21 12:04:27 -07:00
Henrik Rydgård 5f57e7ebaf Merge pull request #6383 from unknownbrackets/gpu-minor
Check for closest render-to-tex, ignore high bits of fb addr
2014-06-21 21:03:17 +02:00
Unknown W. Brackets 0418c8071a Support more shift/masks in fb cluts on GLES2. 2014-06-21 11:10:57 -07:00
Unknown W. Brackets e9224e9eaa Actually set the offset framebuffer.
Oops.
2014-06-21 09:04:39 -07:00
Unknown W. Brackets 1cea361c65 Remove now-unnecessary MaskedEqual() compares.
Clearer this way I think.
2014-06-21 08:30:45 -07:00
Unknown W. Brackets 2883988f22 Ignore the high bits of the framebuffer address.
And depth buffer.  On a PSP, these bits don't affect where it renders to
even slightly.
2014-06-21 08:29:38 -07:00
Unknown W. Brackets 4319d5eb28 Take the closest offset framebuffer.
There could be multiple, or even an exact match too.  Make sure to take
the closest one.
2014-06-21 08:23:10 -07:00
Unknown W. Brackets 0c31e551e7 Clear buffers before using them.
Fixes a reported crash on an AMD card.
2014-06-19 23:09:15 -07:00
Unknown W. Brackets ef390c5c40 Double check upload/download are VRAM addresses. 2014-06-19 23:09:15 -07:00
Unknown W. Brackets 5f4a0d8174 Fix a few minor warnings. 2014-06-19 00:47:58 -07:00
Unknown W. Brackets 19f35bbac1 Clear stencil to 0, not 1.
Memory is generally initially zeros, after all.  Fixes #5205 (or at least
improves it?) and fixes #6226.
2014-06-18 00:09:01 -07:00
Unknown W. Brackets b5eb072e64 Clear depth buffers to zero, not 1.0f.
Memory is generally initially zeros.
2014-06-17 23:56:33 -07:00
Unknown W. Brackets a9da3618ba Upload the color/stencil buffers on FBO creation.
Fixes pausing or loading a savestate in Star Ocean (previously your
character became invisible until the screen panned.)
2014-06-17 23:55:09 -07:00
Unknown W. Brackets 171a865b37 Support reversing normals in software transform. 2014-06-17 23:29:33 -07:00
Unknown W. Brackets d4c416a437 Use the pre-world normal in software proj mapping.
Fixes #6081.
2014-06-17 23:27:19 -07:00
Unknown W. Brackets 2d63a74aeb Allow DrawPixels (uploads) to handle alpha.
Doesn't update stencil, but at least it updates alpha.

This was fixed to 1.0 before because we had blending enabled by accident
during DrawPixels().
2014-06-17 23:10:38 -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
Henrik Rydgård 565bb98db1 Merge pull request #6350 from unknownbrackets/gpu-blend
Avoid blitting for a bunch of gpu blending modes
2014-06-17 09:54:57 +02:00
Unknown W. Brackets 6e751f8092 Use shader blend for min/max when unsupported. 2014-06-17 00:20:06 -07:00
Unknown W. Brackets 640c58a892 Reorganize alphablend state mapping logic. 2014-06-17 00:20:05 -07:00
Unknown W. Brackets 17f5acd8b0 Support more src alpha doubling modes.
These prevent the need for more blits.
2014-06-17 00:20:05 -07:00
Unknown W. Brackets 143ad92afd Convert blending to doubling in more cases.
We're not doubling the alpha, so all these cases are safe regardless of
the alpha value.
2014-06-17 00:20:04 -07:00
Unknown W. Brackets 256436b594 Support fixed/fixed blending without a blit. 2014-06-17 00:20:04 -07:00
Sacha 7bbdabdfa2 glBindFragDataLocation is not needed. Thanks HdkR. 2014-06-17 15:52:46 +10:00
Sacha 9961ef1ba7 Qt: Buildfix USING_GLES2 and not MOBILE_DEVICE 2014-06-17 15:30:03 +10:00
Unknown W. Brackets d1357e5bc8 Fix another mistake in color test masking. 2014-06-16 02:12:08 -07:00
Unknown W. Brackets a28354f072 Fix dumb typo. 2014-06-16 01:42:19 -07:00
Unknown W. Brackets 9b67594a1d Linux buildfix. 2014-06-16 01:04:53 -07:00
Henrik Rydgård f061cb4c0f Merge pull request #6341 from unknownbrackets/gpu-minor
Support alpha and color test masks on desktop/gles3
2014-06-16 10:02:20 +02:00
Unknown W. Brackets 982f0416a2 Pre-mask alphatest value as a small optimization.
Might cause small behavior difference on gles2 (without bitwise ops.)
2014-06-16 00:35:30 -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 3fea3e1293 Respect "nearest" filtering setting for fbs. 2014-06-15 19:42:24 -07:00
Unknown W. Brackets 107df3b838 Reuse existing buffer matching for MotoGP hack. 2014-06-15 19:34:57 -07:00
Unknown W. Brackets a54cefc138 Only download width bytes, not stride bytes.
Fixes #6330, MotoGP not rendering properly with simulate block transfers.
2014-06-15 19:33:32 -07:00
Henrik Rydgård 43bddd8067 Merge pull request #6336 from unknownbrackets/texcache
Separate framebuffer sampling params from tex
2014-06-16 00:52:20 +02: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 fdd759909b Auto-disable shader blending after 48 per frame.
Should prevent possible massive slowdowns from log reporting.
2014-06-15 13:48:06 -07:00
Unknown W. Brackets 40f13d51e7 Separate framebuffer sampling params from tex.
This way we don't need to reset params on the texture or worry about
things like that.  We always force on the framebuffer anyway, so this is
simpler.

Also don't enable mipmaps when using a framebuffer, since they don't make
sense currently.
2014-06-15 13:34:58 -07:00
Unknown W. Brackets f6649794df Respect max texture level in GE debugger preview. 2014-06-15 10:31:16 -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 c6c48aef42 softgpu: Align spline patches, keep buffer.
Fixes misalignment warning on 32-bit.
2014-06-15 09:00:49 -07:00