Commit graph

4580 commits

Author SHA1 Message Date
Unknown W. Brackets
8187927b9d SoftGPU: Use vertexjit for submitted primitives.
This uses the standard cache other rendering uses.

In Legend of Heroes 3, for example, this provides a 10% speed improvement.
2017-05-20 20:22:35 -07:00
Henrik Rydgård
0f4e064053 Remove unused methods 2017-05-18 12:41:18 +02:00
Henrik Rydgård
ad64325876 Merge pull request #9684 from unknownbrackets/softgpu-lines
Fix lines in the software renderer
2017-05-15 08:53:46 +02:00
Unknown W. Brackets
9d64597fb3 SoftGPU: Clip lines entirely outside early.
Some were getting through, which may mean the line clipping isn't working
so well...
2017-05-14 18:28:47 -07:00
Unknown W. Brackets
672ce51a2a SoftGPU: Implement pretend antialias.
This doesn't really smooth, but at the very least faking it makes Persona
3 have less ugly lines.
2017-05-14 16:11:02 -07:00
Unknown W. Brackets
5c9d223e32 SoftGPU: Implement simple mipmapping for lines.
Mostly so the min/mag filter is correct.
2017-05-14 16:11:01 -07:00
Unknown W. Brackets
a95170d789 SoftGPU: Bias bottom right side of line drawing.
Fixes lines in Persona 2.
2017-05-14 16:11:01 -07:00
Unknown W. Brackets
a26aaec528 SoftGPU: Support flat shading for lines. 2017-05-14 16:11:00 -07:00
Unknown W. Brackets
e4f2ff1464 SoftGPU: Implement lines in transform mode. 2017-05-14 16:10:59 -07:00
Unknown W. Brackets
ad17decf5c SoftGPU: Quick hack to fix scissor w/2x2 pixels. 2017-05-14 16:02:27 -07:00
Unknown W. Brackets
8ee92048c0 SoftGPU: Avoid rcp due to precision issues.
Causes artifacts in Sword Art Online, which draws a dialog box using
stretched UVs - rcp causes the edges to sample outside the original UVs.
2017-05-14 16:02:21 -07:00
Henrik Rydgård
d13fdfbf37 Merge pull request #9683 from unknownbrackets/ge-debugger
Minor GE debugger fixes
2017-05-15 00:02:19 +02:00
Unknown W. Brackets
94c138fd83 SoftGPU: Fix texture vertex preview in debugger. 2017-05-14 14:56:23 -07:00
Henrik Rydgård
1f1ed5bb4d Merge pull request #9682 from unknownbrackets/softgpu-light
SoftGPU: Match GLES lighting better, use floats
2017-05-14 12:59:08 +02:00
Unknown W. Brackets
01076dd959 SoftGPU: Don't wrap negative positions.
Haven't fully verified this, but without this, Gods Eater Burst's bloom
doesn't work, since -1,-1 maps to 1023,1023 so everything is clipped.
2017-05-13 17:28:38 -07:00
Unknown W. Brackets
b2d3058386 SoftGPU: Correct fog for rectangles.
Gods Eater Burst uses fog in its bloom, with rectangles.
2017-05-13 17:27:34 -07:00
Unknown W. Brackets
1a56466865 SoftGPU: Match GLES lighting better, use floats.
Using floats simplifies things and also makes it faster.
2017-05-13 12:54:18 -07:00
Henrik Rydgård
996c97dfd5 Merge pull request #9681 from unknownbrackets/softgpu-center
SoftGPU: Correct for pixel centers
2017-05-13 20:46:31 +02:00
Unknown W. Brackets
86a1898732 SoftGPU: Correct rendering for pixel centers.
This should theoretically calculate everything more correctly.
2017-05-13 08:03:08 -07:00
Henrik Rydgård
8cff9f8bc9 Merge pull request #9678 from unknownbrackets/mipmaps
Make const mipmaps more consistent
2017-05-13 16:58:55 +02:00
Unknown W. Brackets
9e34601be2 SoftGPU: Correct texturing for pixel centers. 2017-05-13 07:53:39 -07:00
LunaMoo
5637ae1190 Fix typo in VertexDecoder 2017-05-13 16:27:26 +02:00
Unknown W. Brackets
6b0c9a5531 SoftGPU: Improve wsum recip SIMD.
A bit faster.
2017-05-13 06:56:33 -07:00
Unknown W. Brackets
7c526acc69 SoftGPU: Multiply S/T early via SIMD. 2017-05-13 06:49:27 -07:00
Unknown W. Brackets
10e511273a GPU: Flush on mipmap slope change. 2017-05-12 20:30:48 -07:00
Unknown W. Brackets
c4d1863ded GPU: Consistently bias const mip levels.
Since SLOPE is just a more complicated CONST, we can treat them the same.
2017-05-12 20:30:47 -07:00
Henrik Rydgård
6d6c1f66fc Merge pull request #9673 from unknownbrackets/softgpu
SoftGPU: Implement mipmapping
2017-05-09 09:35:34 +02:00
Unknown W. Brackets
50a775d31f SoftGPU: Calculate mip level based on float bits.
This is probably what the hardware does and much faster.
2017-05-08 20:43:02 -07:00
Henrik Rydgård
f06daba448 Merge pull request #9674 from unknownbrackets/vertexjit
Implement a few x86 vertexjit optimizations
2017-05-08 19:38:15 +02:00
Unknown W. Brackets
37a4d1308f SoftGPU: Round screencoords.
It seems like this is what the PSP does, or maybe this is just correcting
for floating point error...
2017-05-08 06:50:25 -07:00
Unknown W. Brackets
92ba91366c SoftGPU: Process mipmaps in texturing. 2017-05-08 06:50:25 -07:00
Unknown W. Brackets
3944a07bf7 SoftGPU: Fix separate mipmap cluts.
These should only be used for CLUT4.
2017-05-08 06:50:24 -07:00
Unknown W. Brackets
f5dd3b9716 SoftGPU: Refactor mask calculation and use SSE.
A tiny bit faster.
2017-05-08 06:50:23 -07:00
Unknown W. Brackets
1f2c2b6d42 SoftGPU: Improve texcoord rounding.
This fixes several obvious issues in Crisis Core, but it's still wrong
when texcoords go the other direction.  Need to use the deltas.
2017-05-08 06:50:23 -07:00
Unknown W. Brackets
7ffc891522 SoftGPU: Apply clamp/wrap in through. 2017-05-08 06:50:21 -07:00
Unknown W. Brackets
dacb776300 x86: Minor optimization for s16 through positions.
This takes it from 150% to 390% non-jit for pos only verts.
2017-05-07 12:20:56 -07:00
Unknown W. Brackets
0fe927aaa7 x86: Minor memory copy perf improvement.
This was actually 270% -> 340% non-jit for pos-only verts.
2017-05-07 12:18:47 -07:00
Unknown W. Brackets
b06e271ef3 x86: More optimal 4444 in vertexjit.
This was commented out, but works fine and goes from 320% -> 450% the speed
of non-jit for simple pos/col verts.
2017-05-07 12:14:06 -07:00
Henrik Rydgård
c55aa834b0 Merge pull request #9670 from unknownbrackets/vertexjit
Remove unused vertex decode steps, jit through s16
2017-05-07 17:01:56 +02:00
Henrik Rydgard
42a694368e Vulkan: Remove obsolete warning suppressions. Increase descriptor pool sizes. 2017-05-07 11:14:25 +02:00
Henrik Rydgard
d4e1fc8d93 More vulkan shutdown fixes 2017-05-07 11:08:09 +02:00
Henrik Rydgard
ff6fcc9179 More vulkan fixes 2017-05-07 10:53:04 +02:00
Unknown W. Brackets
7699fa55de arm: Jit throughmode 16-bit texcoords.
It's popular, and this makes decoding such verts much faster.
2017-05-06 22:52:58 -07:00
Unknown W. Brackets
257f8dbbc6 GPU: Remove now-unused vertex decoder funcs.
We always convert to float now, so these functions are no longer used.
2017-05-06 18:55:16 -07:00
Unknown W. Brackets
4f6b9c1fd2 Arg, gcc buildfix. 2017-04-29 23:53:22 -07:00
Unknown W. Brackets
1666586869 SoftGPU: Implement CONTINUE prim type.
Matches tests (except 3D lines, which aren't implemented yet.)
2017-04-29 20:36:36 -07:00
Unknown W. Brackets
d7ca05b6b5 GPU: Fix black screen on buffered render enable.
We were never clearing the skip flag.  Has been a bug since before v1.0.
2017-04-24 12:10:08 -07:00
Unknown W. Brackets
fd4399e108 GPU: Centralize fb resize, move to begin of frame.
It makes more sense here, because otherwise when you change it from the UI
settings, it takes a frame to "kick in".
2017-04-24 12:02:52 -07:00
Unknown W. Brackets
6c2f87b1df GPU: Consistently use useBufferedRendering_. 2017-04-24 11:57:16 -07:00
Unknown W. Brackets
c29f70e5e9 GPU: Attempt recreate of FBOs if failed. 2017-04-24 09:41:41 -07:00