Commit Graph
9567 Commits
Author SHA1 Message Date
Unknown W. Brackets 52baec21a8 GPU: Refactor cull range calculation together. 2018-09-17 22:27:25 -07:00
Unknown W. Brackets 9859827645 Vulkan: Avoid depth clamp with clip range.
Vulkan clamps to the clip range, not the full range.  So when clipping, we
don't really want to clamp at all.  Unfortunately, when one side is
clipping, we can't do it exactly right.

But many games clip depth, like Dissidia.  Fixes #11260.
2018-09-17 21:43:29 -07:00
AreaScout 95556e8d03 Add: some helpers to compile on ODROID-XU4/XU3 2018-09-17 20:01:12 +00:00
Unknown W. Brackets 44ba31fbc6 Vulkan: Implement verex range culling.
Also D3D11, since they are very similar.
2018-09-17 07:27:26 -07:00
Unknown W. Brackets 639a3f406d D3D9: Implement vertex range culling. 2018-09-17 07:27:26 -07:00
Unknown W. Brackets ab3a466621 GLES: Implement vertex range culling.
Based on tests, skips triangles with any point outside the 4096x4096 box,
except when depth clamping would engage.
2018-09-17 07:27:26 -07:00
Unknown W. Brackets 797327eecd GPU: Handle bad fog params as large signed vals.
From tests, it seems they're just treated as valid exponents.

Using 65535 since that's the range of depth, can't think of a game using a
larger value for a fog parameter, probably never even this large.
2018-09-10 00:28:02 -07:00
Unknown W. Brackets 817b5d7c1c SoftGPU: Support fog on 3D rectangles. 2018-09-09 23:59:48 -07:00
Unknown W. Brackets 022670d882 GPU: Apply fog before color test.
Hardware tests confirm the fog result is what's color tested.
2018-09-09 23:59:48 -07:00
Unknown W. Brackets 8eb011c22d GPU: Clamp after color doubling.
This is needed for blending to be correct - it blends a clamped value.
2018-09-09 20:27:39 -07:00
Unknown W. Brackets 703181607e GPU: Apply color test after doubling. 2018-09-09 20:09:48 -07:00
Unknown W. Brackets 8cdead90f9 SoftGPU: Preserve stencil inside logic op func.
Cleaning things up to make it easier to translate.
2018-09-09 18:11:37 -07:00
Unknown W. Brackets 772ed30288 SoftGPU: Avoid extra lookup of old stencil. 2018-09-09 17:00:12 -07:00
Unknown W. Brackets 016d6ba764 D3D11: Fix pow(0, 0) lighting handling.
This was previously fixed in GLES.
2018-09-09 10:25:58 -07:00
Unknown W. Brackets 332788d0b5 GPU: Clean up some shader id flag usage. 2018-09-09 09:59:42 -07:00
Unknown W. Brackets b05f75f667 D3D9: Set alpha mask reference in uniforms.
Just so we don't have surprises later if we implement masking.
2018-09-08 20:05:19 -07:00
Unknown W. Brackets 4dafb163a3 D3D11: Split color test out by component.
Not working correctly together.  See #10629.
2018-09-08 20:03:26 -07:00
Unknown W. Brackets 97773d3dd5 TexCache: Fix texture alignment in GLES.
We must align to 4 bytes, and we aren't always aligned to 16 anymore, so
we must check when dealing with swizzle.
2018-09-08 19:00:30 -07:00
Unknown W. Brackets 2388be544f Debugger: Fix crash in softgpu with no texaddr yet. 2018-09-04 21:54:25 -07:00
Unknown W. Brackets f65edc20a3 TexCache: Optimize DXT5 alpha lerp.
This makes the overall DXT5 decode about 8% faster.
2018-09-02 11:41:27 -07:00
Unknown W. Brackets 3f35221f3b TexCache: Avoid masking out alpha for DXT3/DXT5.
A little faster.  Also refactor colors a bit to be more readable.
2018-09-02 09:53:31 -07:00
Unknown W. Brackets 8ae2b1e6fb TexCache: Optimize DXT3/DXT5 decode to single pass.
This is significantly faster on Vulkan, and in other situations where
we're decoding directly to uncached memory.
2018-09-02 09:30:46 -07:00
Unknown W. Brackets 653129c528 Debugger: Add an event for GE dump recording. 2018-09-01 10:59:37 -07:00
Unknown W. Brackets c10b2035b5 Debugger: Prevent record with no commands.
Should cut down on empty dumps, at least.
2018-09-01 09:51:04 -07:00
Unknown W. Brackets f1afc51994 GE Debugger: Refactor out stepping callback.
In case we have multiple connected debuggers, we don't want just a
callback.  A counter works fine.
2018-09-01 09:41:20 -07:00
Unknown W. Brackets a4c0640f01 GE Debugger: Factor out host calls some.
Moving more of this to cross platform for the web debugger.
2018-09-01 08:32:03 -07:00
Henrik RydgårdandGitHub 2f060a4c74 Merge pull request #11337 from unknownbrackets/kh-shadow
GPU: Clear alpha more consistently from 565
2018-09-01 09:48:29 +02:00
Unknown W. Brackets 16d7a80980 GPU: Clear alpha more consistently from 565.
Before, the backends all did different things.  Now they are more in sync,
but Vulkan still behaves slightly differently.

Fixes #11326.
2018-08-30 21:00:21 -07:00
Unknown W. Brackets 00daa00ae5 TexCache: Keep maxSeenV on clut variants in sync.
This ensures that we detect changes properly even when they are outside
the max V used with one CLUT.

Fixes #9355, enemy fade out in FF2.
2018-08-29 22:07:27 -07:00
Unknown W. BracketsandGitHub 22a536fb0c Merge pull request #11307 from hrydgard/discord-mac-linux
Enable Discord integration for Mac and Linux.
2018-08-26 23:04:49 -04:00
Unknown W. Brackets 274b1eaa0e GPU: Fix typo with wrong type.
No behavior change, just fixes a warning.
2018-08-26 11:51:06 -07:00
Henrik RydgårdandGitHub 3c99d16da7 Merge pull request #11322 from unknownbrackets/texcache
GPU: Fix texture handling on framebuf detach
2018-08-25 21:12:45 +02:00
Henrik RydgårdandGitHub 569c073497 Merge pull request #11319 from unknownbrackets/logicop
GPU: Apply logic op in more cases
2018-08-25 21:11:48 +02:00
Henrik RydgårdandGitHub 2aaa013296 Merge pull request #11323 from unknownbrackets/fb-safesize
GPU: Download safe size on next create, too
2018-08-25 21:09:56 +02:00
Unknown W. Brackets 6ee0612a10 Ge: Keep jump/call optim when fast memory on.
This gives a way to validate with fast memory off, and get less crashes.
2018-08-25 10:38:56 -07:00
Unknown W. Brackets d13f76308d Ge: Avoid executing invalid pointers.
May help #3407 and related errors, as well as crashes and execution of
garbage.  This stops immediately on a bad pointer, rather than trying to
push through.
2018-08-25 10:32:32 -07:00
Unknown W. Brackets 7fa20d4734 GPU: Download safe size on next create, too.
In some cases, games will create a series of framebufs.  Before, we
weren't downloading them if they were only used once, as intended.
2018-08-25 10:01:43 -07:00
Unknown W. Brackets 3f48e446b6 GPU: Fix texture handling on framebuf detach.
We were never creating/recreating the texture, so we ended up with null.
Caused all sorts of problems.
2018-08-25 09:57:37 -07:00
Unknown W. Brackets 5c01bf61e6 GPU: Apply logic op in more cases.
It has well defined behavior with alpha blending, so let's apply it even
when we're blending.  Fixes #11316.
2018-08-24 21:19:54 -07:00
Unknown W. Brackets 734db3d050 GPU: Refactor logic op simulation for better reuse. 2018-08-24 21:05:27 -07:00
Unknown W. Brackets 44b90f638d SoftGPU: Apply pixel mask for clears.
Turns out it's respected even in clear mode.

Also, confirm logic op and blending interact.
2018-08-24 20:55:49 -07:00
weihuoya 7383e90c19 handle cullface, help to #10597 2018-08-23 12:46:09 +08:00
Unknown W. Brackets cd98c4a266 GLES: Fix direct shader depal on GLES.
Was missing a cast and only worked on some desktop before.
2018-08-18 10:41:59 -07:00
Henrik Rydgård e34378a1c1 Enable Discord integration for Mac and Linux. 2018-08-18 10:11:15 +02:00
Henrik Rydgård 6f173b9134 Harmonize some VS project settings. 2018-08-14 22:41:39 +02:00
Henrik RydgårdandGitHub 39eb2b4153 Merge pull request #11298 from unknownbrackets/gles-depal
GLES: Enable shader depal with Vulkan fixes
2018-08-13 07:50:13 +02:00
Unknown W. Brackets 70318fda37 GLES: Enable shader depal with Vulkan fixes. 2018-08-12 19:49:08 -07:00
Unknown W. Brackets c32ffa1db0 GE Debugger: Rename depth clamp more places.
Was still showing clip enable in disasm.
2018-08-11 16:33:39 -07:00
Unknown W. Brackets 06ad9b829f SoftGPU: Oops, correct rounding to make sense.
Was too hasty in that last commit.
2018-08-09 07:13:42 -07:00
Unknown W. Brackets 31d5c39858 SoftGPU: Fix some minor rounding on viewport cull.
Had some tests failing when on the edge due to this.
2018-08-05 20:07:45 -07:00