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ård and GitHub
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. Brackets and GitHub
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ård and GitHub
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ård and GitHub
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ård and GitHub
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ård and GitHub
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