153 Commits

Author SHA1 Message Date
Sacha
c745072b55 Update Symbian to GCC 4.8.3 2014-06-11 03:10:50 +10:00
Sacha
fd70cfa149 Travis: Update to GCC 4.7.3 for Symbian. 2014-06-09 20:28:26 +10:00
Unknown W. Brackets
233f13bb8e Fix a GetPointer() in softgpu when debugging.
Should just bail without a texture bound.
2014-05-11 10:58:33 -07:00
Unknown W. Brackets
22a80fb7be softgpu: Avoid multithreading thin polygons.
Small performance improvement (5-6% in some areas.)
2014-04-13 09:01:14 -07:00
sum2012
fa1b65fd59 Avoid unknown get pointer in Rasterizer.cpp
Find in #5350 in softgpu
2014-04-13 06:45:46 +08:00
Henrik Rydgard
0b673719c2 Crashfix for software renderer in 32-bit (SSE misalignment) 2014-03-22 00:12:21 +01:00
Unknown W. Brackets
1ce6bf399a Buildfix for 32-bit x86, arg. 2014-03-17 21:52:45 -07:00
Unknown W. Brackets
627027307c softgpu: Use SSE in ToRGB()/FromRGB() etc. 2014-03-16 19:21:35 -07:00
Unknown W. Brackets
07ca96e226 softgpu: Use SSE in alpha blending. 2014-03-16 18:57:11 -07:00
Unknown W. Brackets
601ff10f1e softgpu: Use SSE in tex modulation.
Could do others, this seems the most common.  Gives a few more percent.
2014-03-16 18:28:06 -07:00
Unknown W. Brackets
6ef0aa123f softgpu: Use SSE for the secondary color.
It's easy to speed up this code since it's so hot.
2014-03-16 16:21:12 -07:00
Unknown W. Brackets
7f3e158a0f softgpu: Get all tex samples at the same time.
Kills a bunch of overhead, improving speed more.
2014-03-16 15:51:47 -07:00
Unknown W. Brackets
d9e29a2edf softgpu: Optimize alpha blending handling.
This alone makes it a good bit faster.
2014-03-16 15:22:31 -07:00
Unknown W. Brackets
f21649e563 softgpu: Minor simplification for alpha blend. 2014-03-16 15:09:42 -07:00
Unknown W. Brackets
1ab7325d4a softgpu: Use a full Vec4 for the prim color.
Simpler, and slightly faster.
2014-03-16 15:04:41 -07:00
Unknown W. Brackets
c3530a6674 softgpu: Don't multithread small triangles.
It ends up being slower with all the overhead, of course.
2014-03-16 14:49:49 -07:00
Unknown W. Brackets
b33d0c4046 softgpu: Use SSE for texture sampling. 2014-03-16 14:33:42 -07:00
Unknown W. Brackets
b357b00ace softgpu: Use SSE for through texture coords. 2014-03-16 14:30:20 -07:00
Unknown W. Brackets
dd140b73bb softgpu: Use SSE for gouraud shading. 2014-03-16 14:29:22 -07:00
chinhodado
d110d4e3cf change to correct enums 2014-02-20 21:29:00 -05:00
Unknown W. Brackets
5a7d400f4b softgpu: Fix lines drawn upward or leftward. 2014-01-19 23:32:53 -08:00
Unknown W. Brackets
8271ec1a55 softgpu: Avoid a divide by 0 in line interpolation.
Fixes crash in Persona 2 loading screens.
2014-01-19 23:32:12 -08:00
Unknown W. Brackets
74c1b21b59 softgpu: Don't redraw every pixel of a line 16x.
Fixes the insane slowness when processing lines.  Now it's just regular
super slow.
2014-01-19 23:28:34 -08:00
Unknown W. Brackets
4bb6a77519 softgpu: Cleanup DrawPoint a bit.
Mostly in DrawSinglePixel() now.
2014-01-18 20:50:38 -08:00
Unknown W. Brackets
8f5fc4f079 softgpu: Interpolate/texture lines and points.
Also, expand out pixels in lines, it's just too slow otherwise (30%
overhead or so.)
2014-01-18 20:48:48 -08:00
Unknown W. Brackets
e216032a8c softgpu: Separate out texturing logic.
This way it can be applied to other primitives.  But, this will probably
need larger changes to implement mipmapping.
2014-01-18 20:10:42 -08:00
raven02
4c25bb0365 softgpu: Let's try doubling before alpha blend.
Fixes #5122.
2014-01-18 19:58:28 -08:00
Unknown W. Brackets
08eecba6ba softgpu: Refactor pixel drawing to avoid code dup. 2014-01-18 19:57:12 -08:00
Unknown W. Brackets
01090f4ce7 softgpu: Respect the texture filering option.
Nearest is much faster, so you can force it to nearest for a good boost in
speed.
2014-01-18 16:39:46 -08:00
Unknown W. Brackets
b9f4cc4481 Double colors only when texturing, and after test.
Per tests.
2014-01-12 11:45:29 -08:00
Unknown W. Brackets
eb0ea71f24 softgpu: Use region for debugger buffer previews.
It's fine if it resizes or etc., but this should generally be the
interesting area of vram to show, without any confusing noise on the
side/etc.
2013-12-29 13:02:04 -08:00
Unknown W. Brackets
9f86959826 Fix typesafety (ScreenCoords not DrawingCoords.) 2013-12-29 12:59:26 -08:00
Unknown W. Brackets
9aa1b15569 softgpu: Fix black objects with bilinear filtering.
Dividing by 256 gives us a range of 0-253, and incorrectly gets zero for
some components (guessing alpha, primarily?) in some games.

Dividing by 255 has a speed hit, so a slight bias to the top left seems
like a decent performance compromise (and it's a very slight bias.)
2013-12-15 11:59:25 -08:00
Unknown W. Brackets
96d6f52a13 softgpu: Retain accuracy in depth for tests.
Fixes intro/menu issues in Phantasy Star Portable 1/2, and text in the
first, both of which now look correct.
2013-12-15 11:59:25 -08:00
Unknown W. Brackets
6ca5662b03 softgpu: Properly swizzle 16 bit textures.
Fixes for example the graphics in Fieldrunners.
2013-12-15 11:59:24 -08:00
Unknown W. Brackets
2f0c8c2877 softgpu: Attempt to implement GE_PROJMAP_UV.
Looks okay, not sure if it's fully correct.
2013-12-15 11:59:22 -08:00
Henrik Rydgard
d4eee74b54 SoftGPU: Prepare for mipmapping. Getting the uv deltas seems tricky though... 2013-12-10 15:33:59 +01:00
raven02
2e7609b084 Cleanup ClearmodeDepthMask 2013-12-10 20:48:20 +08:00
Henrik Rydgård
20873f2985 Remove unnecessary ifdef 2013-12-09 16:53:46 +01:00
raven02
75492719e8 std::bind build fix for VS2012 2013-12-09 21:06:38 +08:00
Henrik Rydgård
68b08ffb9f SoftGPU: Quick and dirty lines and points implementation
No line/point texturing support yet.
2013-12-09 12:43:49 +01:00
Unknown W. Brackets
c6a441965e Move shared clut check to gstate. 2013-12-08 23:11:56 -08:00
Unknown W. Brackets
cdccf06b62 softgpu: Avoid some ScreenToDrawing() overhead. 2013-12-08 22:38:09 -08:00
Unknown W. Brackets
30394df775 softgpu: Make texture lookups do less math. 2013-12-08 22:37:45 -08:00
Henrik Rydgard
bd1d4e2d92 As if softgpu wasn't slow enough already, implement bilinear filtering. 2013-12-09 01:44:23 +01:00
Unknown W. Brackets
637a9de75d Optimize out some clear mode checks.
Since it's really common and the rasterizer is slow for large draws.
2013-12-08 14:24:17 -08:00
Unknown W. Brackets
598d509fb9 Use multiple threads if available for softgpu.
VIVA OVERHEAD.  But it's actually generally faster this way, even with
only 2 cores running (but not a huge improvement then.)

On an i7, this improves things ~2.5x with 8 cores.
2013-12-08 13:41:20 -08:00
Henrik Rydgård
428b27903b Merge pull request #4556 from unknownbrackets/ctrl-timing
Adjust ctrl timing (sample and wake after vblank)
2013-11-18 05:06:58 -08:00
Unknown W. Brackets
7a9fe955f8 softgpu: Only check clear mode once for depthtest.
Small, small optimization.  It's only called outside clear mode.
2013-11-17 19:32:21 -08:00
Unknown W. Brackets
dfadb67ea1 Avoid some operator overloads.
Causing ambiguity.
2013-11-17 14:42:58 -08:00