Commit Graph

214 Commits

Author SHA1 Message Date
Unknown W. Brackets
176283c3f1 SoftGPU: Thread by width for wide polygons.
This improves performance a little in some areas.
2017-11-11 18:16:55 -08:00
Unknown W. Brackets
a6f56769a8 SoftGPU: Avoid some compile warnings.
Remove some no-longer used funcs, add some switch default logs.
2017-06-06 19:49:42 -07:00
Unknown W. Brackets
cb3db559bd SoftGPU: Jit the linear sampling too.
For now, just reducing overhead.  Could be smarter.
2017-05-30 22:57:46 -07:00
Unknown W. Brackets
1b491fe156 SoftGPU: Stub a jit for texel fetch. 2017-05-30 22:57:30 -07:00
Unknown W. Brackets
d5426e4360 SoftGPU: Move sampler code to a dedicated file. 2017-05-30 22:53:23 -07:00
Unknown W. Brackets
34fe95192f GPU: Cleanup some gstate accesses. 2017-05-26 19:03:04 -07:00
Unknown W. Brackets
402eb143f7 SoftGPU: Stop calling bufw pixels bytes.
This was never even bits, it was just 8 * pixels before.
2017-05-26 19:03:03 -07:00
Unknown W. Brackets
697466ae41 SoftGPU: Support UVGen for points and lines.
Probably not used by any real games, but better to be safe in the software
renderer.
2017-05-26 19:03:02 -07:00
Unknown W. Brackets
f7a14889d3 SoftGPU: Correct mipmaps for points.
Not likely to be used, but let's make const work.
2017-05-26 18:02:55 -07:00
Henrik Rydgård
1b05a54800 Remove the Mipmap setting. One step forward for #8171 2017-05-26 10:21:20 +02:00
Henrik Rydgård
8f9e0b7fcc SoftGPU: Make sure transformunit.buf is properly aligned. Helps part of #9718 2017-05-24 10:20:10 +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
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
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
Unknown W. Brackets
9e34601be2 SoftGPU: Correct texturing for pixel centers. 2017-05-13 07:53:39 -07: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
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
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
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
4fb7e43af8 SoftGPU: Grab 4 S/T coords in non-through too. 2017-04-23 11:11:16 -07:00
Unknown W. Brackets
81ee2e992e SoftGPU: Interpolate through texturing better.
This is significantly faster.
2017-04-23 10:37:12 -07:00
Unknown W. Brackets
3142462ac6 SoftGPU: Rasterize triangles in chunks of 4 pixels.
Not very optimal yet.
2017-04-23 10:37:11 -07:00
Unknown W. Brackets
7112cdce81 SoftGPU: Use texture bufw in bytes. 2017-04-23 10:37:10 -07:00
Unknown W. Brackets
dfed20701a SoftGPU: Correct negative coord handling.
Fixes #5159 - we need this signed to handle negative values properly.
2017-04-15 19:52:17 -07:00
Henrik Rydgard
b0cdcfca3c D3D11: Proper fix for DXT5 crash. May also help #9134. 2017-02-18 02:41:17 +01:00
Henrik Rydgard
9d7983eee8 Remove the ability to turn off prescaleUV entirely. It's simply better to do it in the vertex decoder. 2016-12-20 13:27:44 +01:00
Unknown W. Brackets
83436991ec softgpu: Add support for normal UV projection. 2016-01-17 23:33:59 -08:00
Henrik Rydgård
949fc8fe51 Merge pull request #8282 from unknownbrackets/softgpu
softgpu: Round tex coords properly for nearest
2015-12-21 23:52:34 +01:00
Unknown W. Brackets
c6cc5a5f45 softgpu: Support prescale UV properly.
It can be turned on and has effect, so we need to handle it.
2015-12-20 20:46:02 -08:00
Unknown W. Brackets
063a980094 softgpu: Round tex coords properly for nearest.
Fixes off-by-one errors in rendering certain textures.
2015-12-20 17:03:09 -08:00
Unknown W. Brackets
7a9bdee0a7 softgpu: Pass in the right value for fog. 2015-11-25 16:11:53 -08:00
Unknown W. Brackets
7bfe100b0f Fix some unused variable warnings.
The CheckAlpha one looks like it will matter.
2015-11-25 16:11:53 -08:00
Unknown W. Brackets
c90559262b Software: clamp inverse factors to zero.
Just to make sure we don't end up with negative factors when
adding/subtracting/etc.
2015-11-19 06:48:37 -08:00
Unknown W. Brackets
c22953a4b9 Treat invalid blend factors as fixed consistently. 2015-11-19 06:48:06 -08:00
Henrik Rydgard
f77a2494ad DrawTriangleSlice lambda: Capture parameters by reference, not copy, to avoid alignment issues. 2015-09-06 19:32:16 +02:00
Henrik Rydgard
f356b0c644 Minor swrast opt 2015-06-11 20:23:53 +02:00
Henrik Rydgard
842817c91d Add fog support to software rasterizer (as if it wasn't slow enough already) 2015-06-11 16:01:17 +02:00
Henrik Rydgard
7e2f37abc1 Update native with profiler fix. Profile the SW rast a little. 2015-06-11 12:44:45 +02:00
Henrik Rydgard
db110d60a1 Rename some colorconv functions 2015-04-08 23:01:17 +02:00