Commit Graph

300 Commits

Author SHA1 Message Date
Henrik Rydgard
6360fcb0ae Add some stats to get some idea of much alpha tested drawing we do.
Turns out it's one hell of a lot and we really should fix this by
checking both vertices and textures to deduce when we can just skip
alpha testing safely, probably quite often.

I care about this because alpha testing drawing is very expensive
on some mobile chips.
2013-08-27 21:01:17 +02:00
Unknown W. Brackets
cd70250d8c Use more accessors, simplify softgpu colortest. 2013-08-24 11:34:38 -07:00
Unknown W. Brackets
5ab04a3076 Centralize CLUT handling form gstate values. 2013-08-24 11:34:37 -07:00
Unknown W. Brackets
7f6cf3ec29 Add a few gstate accessors for texture type stuff. 2013-08-24 11:34:37 -07:00
Unknown W. Brackets
0a217a1254 Use accessors better for block transfers. 2013-08-24 11:34:36 -07:00
Unknown W. Brackets
c141e94fe9 Use gstate.* accessors in a few more places. 2013-08-24 11:34:35 -07:00
Henrik Rydgard
dfb91d4532 Track number of GPU commands executed per call level.
This is to get an idea if it would be beneficial to compile and cache display lists. Looks like it would be for some games, for example in GTA it's often 20k/80k/20k commands per frame - that is 100k executed commands per frame that could potentially just be executed instead of interpreted. Likewise in Wipeout. Of course, this means yet another cache with invalidation issues etc..
2013-08-23 11:29:55 +02:00
raven02
282d072793 Add isTextureAlphaUsed() 2013-08-20 21:28:16 +08:00
Tony Wasserka
2962d242cb softgpu: Implement skinning. 2013-08-16 23:49:14 +02:00
Tony Wasserka
11a94e1d14 softgpu: Implement spline surface drawing (without patch subdivision). 2013-08-16 23:49:13 +02:00
Tony Wasserka
d2f30961af softgpu: Make perspective correct uv mapping code more readable and implement projection mapping. 2013-08-16 23:49:12 +02:00
Tony Wasserka
62b384e052 softgpu: Lots of clearmode fixes. 2013-08-16 23:49:11 +02:00
Tony Wasserka
e1216e91cc softgpu: Implement texture scaling, texture offset and texture coordinate wrapping/clamping. 2013-08-16 23:49:10 +02:00
Tony Wasserka
d91d5c087b GPUState: Fix depth buffer stride getter. 2013-08-16 23:49:09 +02:00
Tony Wasserka
a013aad6f1 softgpu: Fix incorrect depth buffer write base address.
softgpu: Implement framebuffer pixel formats different than RGBA8888.
softgpu: Move texel decoding functions to a separate header.
2013-08-16 23:49:09 +02:00
Tony Wasserka
0e1e8fe331 softgpu: Clean up depth testing code. 2013-08-16 23:49:02 +02:00
Henrik Rydgard
96373132bb Android buildfix 2013-08-14 20:42:13 +02:00
raven02
fad8b77044 Merge remote-tracking branch 'upstream/master' into patch-13 2013-08-14 07:29:56 +08:00
raven02
c2a86d647f Fix wrong size generated of FBO for some games which uses it as render-to-texture 2013-08-12 02:20:55 +08:00
Unknown W. Brackets
e7c7c5b3db Add a setting to launch a separate CPU thread. 2013-08-09 22:41:30 -07:00
Henrik Rydgard
bc00a7e302 Process frame timing on frame boundaries instead of flips. Frameskipping works better in many games. 2013-08-07 23:32:28 +02:00
Henrik Rydgard
51ffdfa132 Rename gpuStats.numFrames to numVBlanks. Switch to using numFlips for things like cache expirations. 2013-08-07 22:34:00 +02:00
raven02
c4a3638183 Add gstate.isClearModeDepthWriteEnabled/ColorMask/AlphaMask() 2013-08-03 14:56:37 +08:00
raven02
0daa550538 Add getWeightMask() 2013-07-30 23:55:11 +08:00
raven02
50f98fe498 Add texture level parameter 2013-07-30 23:23:02 +08:00