Commit graph

2573 commits

Author SHA1 Message Date
xebra
966ff32ee7 [spline/bezier]Improve the logic of copying control-points. 2018-10-07 23:53:36 +09:00
xebra
485260c937 [spline/bezier]Make a function to copy control points. 2018-10-07 23:53:35 +09:00
xebra
b1289cddce [spline/bezier]minor fix 2018-10-07 23:53:34 +09:00
xebra
3c2837bee7 [spline/bezier]minor fix 2018-10-07 23:53:33 +09:00
xebra
a7754c4b9c [spline/bezier]minor fix
# Conflicts:
#	GPU/Common/SplineCommon.cpp
2018-10-07 23:53:32 +09:00
xebra
1d4e8ccd25 [spline/bezier]minor fix 2018-10-07 23:53:32 +09:00
xebra
28a50053bd [spline/bezier]minor fix 2018-10-07 23:53:31 +09:00
xebra
a4860b6c80 [spline/bezier]Managing buffer allocation.
# Conflicts:
#	GPU/Common/SplineCommon.cpp
2018-10-07 23:53:30 +09:00
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
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
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
52baec21a8 GPU: Refactor cull range calculation together. 2018-09-17 22:27:25 -07: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
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
703181607e GPU: Apply color test after doubling. 2018-09-09 20:09:48 -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
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
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
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
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
weihuoya
7383e90c19 handle cullface, help to #10597 2018-08-23 12:46:09 +08:00
Henrik Rydgård
e34378a1c1 Enable Discord integration for Mac and Linux. 2018-08-18 10:11:15 +02:00
Unknown W. Brackets
77f0499f7f GPU: Rename clipping flag to depth clamp.
It seems to just to depth clamp.  When depth clamp happens, it affects
clipping a little, but only for vertices that needed clamping.
2018-08-05 17:11:51 -07:00
Unknown W. Brackets
7885a88c0c GPU: Optimize > 0 alpha test using discard rules.
It should be equally unsafe to use src color as dest blend factor, or
use blending with a subtract or min/max equation.
2018-07-29 11:39:06 -07:00
Unknown W. Brackets
fba0de59c1 GPU: Restrict alpha test to zero for dest blend.
We could end up with the wrong blending in other cases, because the
exiting color will get multiplied.

Luckily, this is still the common case.
2018-07-29 11:26:04 -07:00
Henrik Rydgård
a776dce593
Merge pull request #11269 from unknownbrackets/fragtest
Avoid discard when we can blend
2018-07-29 09:49:16 +02:00
Henrik Rydgård
42f4d7b40f OpenGL: Fix bug where we could end up calling glUniformMatrix without a bound program. Found by GL debug callback on NV.
This adds a bit of extra checking that's only enabled in _DEBUG builds.
2018-07-28 11:09:01 +02:00
Unknown W. Brackets
5ccd3ee4dc GPU: Allow skipping discard when write disabled.
Even if we depth test, if we don't write, we can still force alpha to
zero.
2018-07-27 20:16:51 -07:00
Unknown W. Brackets
5ad948df73 Vulkan: Avoid discard when we can blend.
Where possible, replace alpha and color testing with a zero alpha value.

This allows early fragment tests more often, which may help #11227.  It
may also generally help performance on PowerVR devices.
2018-07-27 20:04:36 -07:00
Henrik Rydgård
a589a371e6 Update SPIRV-Cross to a fresher version. 2018-07-16 20:00:45 +02:00
Henrik Rydgård
c404214042 Update glslang to latest as of 2016-06-26 2018-07-15 12:30:40 +02:00
weihuoya
d9d9b14e53 Don't cut below 2 2018-07-05 15:29:40 +08:00
Unknown W. Brackets
0b245699bb GLES: Specify unsigned shift for Adreno bug.
Adreno 320 devices, and at least 1 Intel device, are complaining that
right shift can't be used within uint/int.

Possibly related to:
https://github.com/KhronosGroup/glslang/issues/1296
2018-06-30 09:50:02 -07:00
Unknown W. Brackets
2a13a66e18 GPU: Use hw tess only for hw transform.
This may be needed if we start using software for points/lines.
2018-06-28 19:47:33 -07:00
Henrik Rydgård
1517a93d08 Restore the vertexCount to 32-bit, needed in some tesselation situations 2018-06-26 19:49:49 +02:00
Unknown W. Brackets
e2c217ab29 Core: More consistently use config enums. 2018-06-23 10:59:18 -07:00
Unknown W. Brackets
b4496f1975 Core: Move config enums to separate file.
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -07:00
Unknown W. Brackets
f6036195d8 GLES: Cleanup stencil upload w/h handling.
In case a buffer has been resized recently, we want to upload just the
detected drawable area, probably.  Before this was inconsistent depending
on the render resolution.
2018-06-17 17:50:38 -07:00
Henrik Rydgård
da5f0f7f2b
Merge pull request #11186 from unknownbrackets/debugger
Debugger: Add APIs to retrieve render image
2018-06-17 21:53:38 +02:00