Commit Graph

5583 Commits

Author SHA1 Message Date
Henrik Rydgård
ab7bd6fc67
Merge pull request #11624 from unknownbrackets/shaderid
GPU: Ignore light params for shade mapping in shader id
2018-12-03 09:35:10 +01:00
Unknown W. Brackets
482487dd8d GPU: Ignore light params for shade mapping.
They aren't part of the equation, so this simplifies and slightly reduces
number of shaders.
2018-12-02 14:11:19 -08:00
Henrik Rydgård
95ffa15a84
Merge pull request #11616 from unknownbrackets/debugger
GE Debugger: Allow jumping to a specific prim
2018-12-02 22:15:52 +01:00
Henrik Rydgård
d9cfa3a8fa Bump shader caches 2018-12-02 21:49:20 +01:00
Unknown W. Brackets
f88dc9e821 GE Debugger: Allow relative prim counts. 2018-12-01 15:50:20 -08:00
Unknown W. Brackets
9a7ee41191 Vulkan: Avoid OpKill workaround with no stencil.
It seems like depth gets messed up either way on discard, but behaves
sorta better without the write to depth.
2018-12-01 14:10:47 -08:00
Unknown W. Brackets
5932cbabc3 GPU: Avoid stencil emulation if possible.
This reduces use of replaceAlpha, and reduces use of more complicated
blend states.  This simplifies fragment shaders a little.
2018-12-01 14:05:29 -08:00
Unknown W. Brackets
d8c80afe59 GPU: Dirty stencil on stencil mask change.
Otherwise it doesn't always apply.
2018-12-01 14:00:32 -08:00
Unknown W. Brackets
b1e68c653c GPU: Avoid a missing virtual destructor warning. 2018-12-01 13:59:47 -08:00
Unknown W. Brackets
e029168be2 GE Debugger: Allow jumping to a specific prim.
This will make the most sense when frames are relatively stable, and works
great for GE dumps.
2018-12-01 06:40:27 -08:00
Unknown W. Brackets
4d5c8fcff4 GE Debugger: Track a counter of prims. 2018-12-01 06:26:35 -08:00
Henrik Rydgård
571ea0eec5
Merge pull request #11614 from unknownbrackets/headless
Headless: Allow startup using NULL draw context
2018-12-01 12:47:52 +01:00
Unknown W. Brackets
6d8b78f523 Headless: Allow startup using NULL core.
Or maybe we should have a dummy Draw context...
2018-11-30 17:45:54 -08:00
Unknown W. Brackets
7b815af331 GPU: Force use of indexes on cull mode flip.
Since we flip in the index, it can't be pure in this case.
2018-11-30 07:22:28 -08:00
Unknown W. Brackets
d3db565344 GPU: Maintain a bit more state in inner-prim loop.
Trying to make dumps properly trigger this optimization, but they still
sometimes get flattened and don't.
2018-11-29 19:28:10 -08:00
Unknown W. Brackets
1517d66d4e GPU: Properly flip cull on simple triangle lists.
Fixes #11601.
2018-11-29 19:03:38 -08:00
mrfixit2001
53e6fbadf4
fix ifdef vs if defined 2018-11-26 16:02:25 -05:00
mrfixit2001
0ab6c59fbe
Avoid possible compile error: conflicting defs
In some cases, depending on the build flags, these two lines can be actively compiled at the same time, resulting in a conflicting definitions error:
https://github.com/hrydgard/ppsspp/blob/master/GPU/Common/DrawEngineCommon.h#L41
https://github.com/hrydgard/ppsspp/blob/master/GPU/Common/TextureDecoder.h#L88

I believe all that's necessary here is to add these "or" clauses to avoid it and safeguard against the error.
2018-11-26 14:59:14 -05:00
Henrik Rydgård
d08a2eed6d
Merge pull request #11594 from unknownbrackets/cullmode
GPU: Correctly flush on cull mode change
2018-11-26 09:29:15 +01:00
Henrik Rydgård
a3bf2ee626
Merge pull request #11597 from unknownbrackets/softgpu-texmtx
SoftGPU: Calculate texcoords in transform
2018-11-26 09:28:44 +01:00
Unknown W. Brackets
3c5455f85b SoftGPU: Calculate texcoords in transform.
No need to do it in rasterization, and should be faster to do it on the
verts, anyway.  This fixes the software issue of #11595, presumably
because of the w handling.
2018-11-25 19:19:11 -08:00
Unknown W. Brackets
1f898e3b70 GPU: Correctly flush on cull mode change.
Fixes #11593 and fixes #11591.
2018-11-25 16:56:39 -08:00
Henrik Rydgård
c5c1c46f38 Attempt to fix glsl depal error reported in #11588 (ATI/AMD) 2018-11-25 11:33:02 +01:00
Unknown W. Brackets
c2e7263601 D3D11: Correct shader bounds apply. 2018-11-24 10:51:47 -08:00
Unknown W. Brackets
fd97d82c71 D3D9: Correct shader bounds apply.
Also, use triangle strip like D3D11.
2018-11-24 10:47:49 -08:00
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