Henrik Rydgård
c789c34274
Merge pull request #11575 from unknownbrackets/texture-self
...
GLES: Fix render-to-self detection
2018-11-22 20:05:16 +01:00
Unknown W. Brackets
87085d18f0
GLES: Fix render-to-self detection.
...
Was broken by the recent fb_address changes, so match Vulkan and D3D11
for consistency.
2018-11-22 09:26:12 -08:00
Unknown W. Brackets
1c19bce514
GPU: Correct specular exponent zero.
2018-11-22 08:53:25 -08:00
Unknown W. Brackets
4816bfc1a6
GPU: Skip specular on negative diffuse factor.
...
This is correct per hardware tests, see #8403 . Note that the PS3 emulator
running PSP HD remasters does not correctly handle this, and applies
specular for negative diffuse factor.
2018-11-22 08:53:25 -08:00
Unknown W. Brackets
6e46d6c0f9
GPU: Correct powered diffuse with exp=0.
...
Just to ensure negative factors are handled too, as they are on hardware.
2018-11-22 08:53:25 -08:00
Unknown W. Brackets
1cec9f5ea1
GPU: Handle spot light with 0 exp or length.
2018-11-22 08:53:25 -08:00
Unknown W. Brackets
9a4cd5bd9d
GPU: Skip specular on powered diffuse.
...
Matches hardware tests and improves lighting for Virtua Tennis, see #4140 .
2018-11-22 07:59:56 -08:00
Unknown W. Brackets
0c5c776bb9
GPU: Correct shade mapping with 0,0,0 light pos.
...
May need to audit more normalize() usage, if it's consistent in other
places.
2018-11-17 18:33:07 -08:00
Henrik Rydgård
b17fc67c45
Get rid of MaskedEqual
2018-11-12 08:19:19 +01:00
Henrik Rydgård
d8f4a70396
Remove constraint that virtual framebuffers have to represent VRAM.
...
Prerequisite for #11531 , virtual readbacks.
2018-11-12 08:19:14 +01:00
Henrik Rydgård
22c066515e
Merge pull request #11425 from xebra/refactor_spline_bezier
...
[Refactoring] Improve spline/bezier.
2018-11-04 17:04:29 +01:00
Henrik Rydgård
fa40bcff8d
Disable triangle range culling on D3D9 on Intel. Should fix #11477
2018-10-21 09:36:15 +02:00
xebra
eca9386c05
[spline/bezier]Reduce static buffers. Get rid of the spline buffer using half of the vertex buffer.
2018-10-07 23:54:31 +09:00
xebra
ef53195ae8
[spline/bezier]Surround with namespace Spline.
2018-10-07 23:54:28 +09:00
xebra
41823f8780
[spline/bezier]Fix GLES texture resolution of HW tess to real 2D to avoid huge width in FF4CC mist dragon morphing.
2018-10-07 23:54:23 +09:00
xebra
89786b943d
[spline/bezier]Instanced rendering for B-Spline is very slow when using weak GPU, so disabled it and simplify the shaders.
...
Add changing the quality of HW tessellation.
2018-10-07 23:54:22 +09:00
xebra
3216a83a92
[spline/bezier]Expand loops in the shaders.
2018-10-07 23:54:14 +09:00
xebra
8c279c0e25
[spline/bezier]Precalculate weights in the shaders using the outer product.
2018-10-07 23:54:13 +09:00
xebra
453e274fbe
[spline/bezier]Fix around vertex type flags.
2018-10-07 23:54:11 +09:00
xebra
d4a667397c
[spline/bezier]Improve shader uniforms a bit.
2018-10-07 23:54:10 +09:00
xebra
de5975f13e
[spline/bezier]Reduce multiplications in the shaders from 16 to 4.
2018-10-07 23:54:09 +09:00
xebra
103d180ae7
[spline/bezier]Get rid of wasted if-checks at Graphics Processors.
2018-10-07 23:54:08 +09:00
xebra
41d6c3cf3a
[spline/bezier]Move whole tessellation logic in the shaders into a subroutine.
2018-10-07 23:54:08 +09:00
xebra
3d07bca010
[spline/bezier]Fix spline weights calculation and get rid of using next patch position in hwtess.
...
# Conflicts:
# GPU/Directx9/VertexShaderGeneratorDX9.cpp
# GPU/GLES/VertexShaderGeneratorGLES.cpp
# GPU/Vulkan/VertexShaderGeneratorVulkan.cpp
2018-10-07 23:54:07 +09:00
xebra
a48a5b32f0
[spline/bezier]Unify hardware tessellation of bezier and spline.
2018-10-07 23:54:06 +09:00
xebra
3c0fb44f2e
[spline/bezier]Improve hwtess to use cached weights.
2018-10-07 23:54:05 +09:00
xebra
966ff32ee7
[spline/bezier]Improve the logic of copying control-points.
2018-10-07 23:53:36 +09:00
Unknown W. Brackets
26cd98cd7e
GPU: Fix a shader unit typo.
2018-09-24 23:05:32 -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
639a3f406d
D3D9: Implement vertex range culling.
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
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
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
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
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
9bac603976
GPU: Use HW transform for flat spline/bezier.
...
We can control the provoking vertex here, but it's less likely to matter.
2018-06-28 19:30:20 -07:00
xebra
4fab160e19
[spline/bezier]Modify D3D11 hwtess texture buffer to structured shader buffer.
2018-06-27 01:10:36 +09:00
Unknown W. Brackets
95f270778e
Core: Allow toggle between 2 custom speeds.
...
In addition to virtual keys for each speed separately.
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
d1fa9b97a3
GPU: Remove some unused fields.
2018-06-17 11:26:09 -07:00
Henrik Rydgård
6bf6490c2f
Merge pull request #11128 from unknownbrackets/gpu-minor
...
Minor framebuffer code cleanup
2018-06-06 22:28:35 +02:00
Henrik Rydgård
03175b74ef
Merge pull request #10957 from unknownbrackets/depal-bounds2
...
GPU: Dirty tex when clearing or rendering to self
2018-06-06 22:22:01 +02:00
Unknown W. Brackets
ad0b8435ca
D3D9: Reuse BGRA conversion code.
...
Also, couldn't have been right to skip it when the pointers equal, not
sure if that case was ever being hit.
2018-06-06 05:56:30 -07:00
Unknown W. Brackets
2ab1552f2d
D3D9: Use an unordered_map for offscreen.
...
Also cleanup. Mostly just for consistent usage.
2018-06-06 05:56:30 -07:00