Commit Graph

465 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
ffbdb15975 SoftGPU: Fix crash when stride is 0.
This happens in Star Ocean 1.
2017-11-11 17:45:47 -08:00
Henrik Rydgård
8c69be9bfa Get rid of GPUCommon's "Internal" functions. 2017-11-05 23:21:52 +01:00
Henrik Rydgård
bb68906d88 Delete ProcessEvent and the GPUEvent enum 2017-11-05 23:21:51 +01:00
Henrik Rydgård
26e52ca5e8 Get rid of a bunch of sync stuff that's no longer needed. 2017-11-05 23:21:49 +01:00
Henrik Rydgård
be2ba4ffb3 Remove the setting to run the display list interpreter on a separate thread. 2017-11-05 23:21:26 +01:00
Henrik Rydgård
c403edfa89 Avoid re-binding pipelines. 2017-10-26 10:57:00 +02:00
Henrik Rydgård
22e65ba80d Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11 2017-08-31 01:14:51 +02:00
Henrik Rydgård
8d0498303a Fix a PIC compliance bug in the VFPU. Comment other cases properly (for easy searching). 2017-08-29 11:45:12 +02: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
4a56e6ff83 GE Debugger: Fix recording in softgpu. 2017-06-04 10:38:58 -07:00
Unknown W. Brackets
37a894a558 GE Debugger: Record memcpy/memset too. 2017-06-03 15:29:10 -07:00
Unknown W. Brackets
dca75437c3 GPU: Refactor common frame dumping code. 2017-06-03 15:29:07 -07:00
Henrik Rydgård
dba22e255a Merge pull request #9766 from unknownbrackets/screenshot
Fix Take Screenshot
2017-06-02 09:19:20 +02:00
Unknown W. Brackets
41c378ec71 SoftGPU: Fix separate mip cluts in linear jit. 2017-06-01 21:34:49 -07:00
Unknown W. Brackets
1cc488aef4 SoftGPU: Support Take Screenshot partially.
This doesn't capture the FPS etc. as other backends do, but at least it
takes a screenshot.
2017-06-01 20:40:45 -07:00
Unknown W. Brackets
2d6b8c645a SoftGPU: Correct linear filter rounding issue.
Using 16-bit slots just lost too much precision.  Jit already doesn't use
this.
2017-05-30 22:57:47 -07:00
Unknown W. Brackets
fdf5f2ab54 SoftGPU: Support separate mip CLUTs with linear. 2017-05-30 22:57:46 -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
fa0ded4a76 SoftGPU: Reduce sampler id fuzz. 2017-05-30 22:57:45 -07:00
Unknown W. Brackets
c05ecfc6f1 SoftGPU: Implement separate CLUT in samplerjit. 2017-05-30 22:57:44 -07:00
Unknown W. Brackets
ffcfa0a824 SoftGPU: Specialize CLUT4 jit.
This version is a bit faster and cleaner.
2017-05-30 22:57:44 -07:00
Unknown W. Brackets
9a82ae3425 SoftGPU: Reduce overhead in sampler jit. 2017-05-30 22:57:43 -07:00
Unknown W. Brackets
2233ab073d SoftGPU: Expose jit cache for profiling. 2017-05-30 22:57:42 -07:00
Unknown W. Brackets
744736b926 SoftGPU: Jit 16 bit texel decode. 2017-05-30 22:57:42 -07:00
Unknown W. Brackets
cf32949183 SoftGPU: Jit CLUT lookup. 2017-05-30 22:57:41 -07:00
Unknown W. Brackets
a8a6b2cd8a SoftGPU: Jit swizzled texel lookup. 2017-05-30 22:57:40 -07:00
Unknown W. Brackets
c9a4679096 SoftGPU: Stop calling bufw pixels bytes.
This was never even bits, it was just 8 * pixels before.
2017-05-30 22:57:40 -07:00
Unknown W. Brackets
5491e1dbbb SoftGPU: Jit texel fetch for non-clut/non-swizzle. 2017-05-30 22:57:39 -07:00
Unknown W. Brackets
fd4c64d43d SoftGPU: Refactor out texture format logic.
This could actually be shared, nothing x86 specific...
2017-05-30 22:57:38 -07:00
Unknown W. Brackets
94920ec156 SoftGPU: Implement basic jit structure. 2017-05-30 22:57:38 -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
Henrik Rydgård
c173da49d3 Fix a number of bugs and stuff affecting Vulkan on Mali 2017-05-30 09:36:17 +02:00
Henrik Rydgård
6bcfe539f7 Use vulkan-style clear-on-bind when switching render targets. Not optimally used yet.
Also removes a bunch of redundant render target binds.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
35aefe4a2a BindBackBufferAsRenderTarget is now replaced with BindFramebufferAsRT(nullptr) 2017-05-30 09:36:17 +02: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
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
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