5558 Commits

Author SHA1 Message Date
Unknown W. Brackets
d9510f8824 D3D11: Allow shader blend to self.
It was forcing from black before.  See #9616.
2018-11-24 10:19:28 -08:00
Unknown W. Brackets
e664e1c1dd SoftGPU: Oops, properly apply pixel mask in 16-bit. 2018-11-23 07:57:39 -08:00
Henrik Rydgård
4942c52f73
Merge pull request #11172 from weihuoya/cullface
handle cullface, help to #10597
2018-11-23 09:56:17 +01:00
Henrik Rydgård
c1e1076c68
Merge pull request #11577 from unknownbrackets/lighting
Correct provoking vertex for lighting when flat shading
2018-11-23 09:32:16 +01:00
Unknown W. Brackets
529efded1c GE Debugger: Fix display of raw normals. 2018-11-22 17:53:36 -08:00
Unknown W. Brackets
cd6783fa0d GPU: Use provoking normal for lighting with flat.
This might interact strangely with skinning of texture matrix mapping, but
they're not likely to be used together.
2018-11-22 17:52:14 -08:00
Unknown W. Brackets
11a8857a7e SoftGPU: Correct clipping for flat shading.
It needs to use the provoking color, regardless of culling or clipping.

Fixes Blade Dancer lighting (see #4140.)
2018-11-22 17:48:55 -08:00
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
Henrik Rydgård
d9493009c7
Merge pull request #11574 from unknownbrackets/lighting
Correct various light param issues based on tests
2018-11-22 20:04:46 +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
Henrik Rydgård
442b57033f Attempt to fix the last very common issue of #11493 by being paranoid 2018-11-21 22:40:54 +01:00
Unknown W. Brackets
10fa20cb06 SoftGPU: Fix pixel mask on rectangle clear.
Oops, had inverted it.  This caused it to improperly clear when masked.
2018-11-19 06:15:55 -08:00
Unknown W. Brackets
b2d60cb807 SoftGPU: Cleanup lighting code a bit.
Avoid using Length() when Length2() is enough, simplify some things.
2018-11-18 07:28:03 -08:00
Henrik Rydgård
ccc4e2e9ca
Merge pull request #11567 from unknownbrackets/lighting
Correct shade mapping when light pos is all zeros
2018-11-18 10:15:41 +01:00
Unknown W. Brackets
3cf3985c8d GE Debugger: Support record for more render types.
This should handle both games that use display, and games that don't.
2018-11-17 22:12:45 -08:00
Unknown W. Brackets
179514e8d7 GE Debugger: Avoid writing 0 sized packets.
This causes errors on allocation sometimes due to things like count=0 in a
prim command.
2018-11-17 22:01:14 -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
Unknown W. Brackets
986371c633 SoftGPU: Normalize 0,0,0 as 0,0,1 for shade map.
Takes care of #4155 for software rendering.
2018-11-17 18:16:54 -08:00
Unknown W. Brackets
6600896312 GPU: Fix shade mapping in soft transform.
Was using invalid values when lighting was off.
2018-11-17 18:05:32 -08:00
Henrik Rydgård
036556c371
Merge pull request #11564 from unknownbrackets/ge-dump
GE Debugger: Preserve VRAM textures / render-to-texture in dumps
2018-11-17 23:32:20 +01:00
Unknown W. Brackets
2d3885fc1a GE Debugger: Fix display event record timing.
When the display happens mid frame, this fixes it so you can see the
result easily when running the dump, without manually stepping through.
2018-11-17 11:14:10 -08:00
Unknown W. Brackets
6383f407d1 GE Debugger: Avoid overwriting in softgpu playback. 2018-11-17 10:06:31 -08:00
Unknown W. Brackets
169d2fa444 GE Debugger: Preserve VRAM textures in dumps.
Should allow for (some) reproduction of render-to-texture behavior.
2018-11-17 10:06:31 -08:00
Unknown W. Brackets
6cba46bd62 GE Debugger: Fix handling for framebuf changes. 2018-11-17 08:56:32 -08:00
Unknown W. Brackets
d245e002c7 GE Debugger: Record block transfer too. 2018-11-17 08:55:54 -08:00
xebra
04708fe88a [spline/bezier]Unify SubmitSpline/Bezier. 2018-11-13 18:22:34 +09:00
Henrik Rydgård
32cd6dfae6 Take care of most cases of render-to-virtual-readback-buffer, I think. 2018-11-12 08:20:28 +01:00
Henrik Rydgård
6269d9b893 Support virtual readbacks for detected-memcpy framebuffer copies, delete MotoGP hack. 2018-11-12 08:20:28 +01:00
Henrik Rydgård
7abbc1bebd Add compat flag to allow virtual framebuffer readbacks (auto-create fb from readback destination). Does not yet work outside VRAM but should fix Digimon Adventure. 2018-11-12 08:20:27 +01:00
Henrik Rydgård
cf653b7631 No need for fb_normalized_address 2018-11-12 08:19:20 +01:00
Henrik Rydgård
b17fc67c45 Get rid of MaskedEqual 2018-11-12 08:19:19 +01:00
Henrik Rydgård
15f2e48887 Only mask away Z mirrors if inside VRAM 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
9c6f7000b7 New spline stuff seems to need bigger storage buffer pools 2018-11-11 22:52:37 +01:00
Unknown W. Brackets
4996084665 GPU: Dirty frag shader on depth write.
We use this flag to determine whether we use discard, so it changes shader
ids.  Fixes the layering part of #11535.
2018-11-06 21:16:51 -08:00
Henrik Rydgård
67d6e3d384 Framebuffer blit: Clip src rectangle as well 2018-11-05 00:34:04 +01:00
Henrik Rydgård
2c5922b0ad
Merge pull request #11530 from unknownbrackets/dxt
Make DXT alpha and color calculation more accurate
2018-11-04 18:51:54 +01:00
Unknown W. Brackets
bd294f658f TexCache: Round DXT5 alpha up.
This isn't quite right, but it seems better than rounding down.
Experimented with a lower round up value, but none were right - the
weighting must be more complex.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
df200fc3d2 TexCache: In DXT3, don't swizzle alpha.
Hardware doesn't seem to.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
c31e01771e TexCache: Respect color order in DXT3/5.
Hardware is still doing DXT1 style colors in this scenario.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
11ab4e8634 TexCache: Mix DXT colors using 2/3 not 3/8.
Hardware draws using 2/3.  Adding this way matches rounding, too.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
35a1d8a1ef TexCache: Decode DXT1 zero alpha as black.
Hardware tests show this is how it decodes, which is more like standard
DXT1 decoding.
2018-11-04 08:09:56 -08:00
Unknown W. Brackets
38eb9d12d0 TexCache: Don't swizzle DXT1 colors.
Hardware tests show that this shouldn't happen.  May be important for
color tests, etc.
2018-11-04 08:09:13 -08: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
6eb4c141a6
Merge pull request #11510 from unknownbrackets/scissor
GLES: Correct invalid scissor handling
2018-11-02 11:09:05 +01:00