xebra
a9ac860da2
[spline/bezier]Add spline derivative calculation for normal generation.
2018-10-07 23:53:29 +09:00
xebra
5c7284f8f2
[spline/bezier]Get rid of divisions in spline weights calculation.
2018-10-07 23:53:28 +09:00
Henrik Rydgård
6fd1c0e3d9
Instead of the last commit, don't enable the dual src extension at all on Adreno.
...
This reverts commit eba6c00a8a
.
2018-10-07 12:19:11 +02:00
Henrik Rydgård
eba6c00a8a
Experimental commit trying to solve #10421 : Blacklist dual src blending on Adreno/Vulkan
2018-10-06 22:57:23 +02:00
xebra
64cf6f2755
GE Debugger:Step to curved surface.
2018-10-01 11:41:19 +09:00
Unknown W. Brackets
26cd98cd7e
GPU: Fix a shader unit typo.
2018-09-24 23:05:32 -07:00
Unknown W. Brackets
67058495f5
GPU: Dirty more correctly for cullrange params.
...
Was previously missing some settings which might convince us to use large
viewports, and more importantly some that would impact the depth settings
under certain settings.
2018-09-21 21:55:11 -07:00
Unknown W. Brackets
4a5320ed7d
GLES: Refactor out duplicate code.
2018-09-20 20:40:32 -07:00
Unknown W. Brackets
cd0662c065
GPU: Cleanup outdated flushbefore code.
...
Backends didn't match.
2018-09-20 20:36:41 -07:00
Unknown W. Brackets
a8588b0c5c
GPU: Correct handling of large viewport scaling.
...
Need to multiply not divide, duh. Also lost the offset during refactor,
and didn't test it well.
2018-09-20 20:29:46 -07:00
Unknown W. Brackets
b7d84926fa
D3D11: Enable depth clamping.
...
Uses the same logic as Vulkan, improving #9545 on most D3D11 devices.
2018-09-18 21:49:17 -07:00
Henrik Rydgård
c1f0e981a3
Throw in very minor fix (apply readonly to buffer used in tesselation).
...
Validation layer seems buggy though as it still complains that we haven't
enabled the feature vertexPipelineStoresAndAtomics
2018-09-18 23:53:16 +02:00
Henrik Rydgård
5975f471e2
Vulkan: Only apply the depth workaround on Qualcomm devices (adreno)
...
We've seen issues, and the validation layer still doesn't like them very much...
2018-09-18 23:46:45 +02:00
Henrik Rydgård
acfd688647
Merge pull request #11393 from unknownbrackets/cullrange
...
Implement vertex range culling
2018-09-18 23:21:42 +02:00
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
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
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
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
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
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