Commit Graph

547 Commits

Author SHA1 Message Date
raven02
f4fc0112c8 int sign match for gstate_c.curRTWidth/gstate_c.curRTHeight 2013-03-24 21:25:38 +08:00
Henrik Rydgard
055a11cbdb Don't forget to free the vertex decoders.. 2013-03-24 12:31:00 +01:00
Henrik Rydgard
d96c588288 Cache vertex decoders. No big boost now, but opens for optimizing them more, and lets us keep stats of the most common ones. 2013-03-24 12:28:42 +01:00
Henrik Rydgard
2351efc584 Cleanup IndexGenerator 2013-03-24 11:36:56 +01:00
raven02
81fe409748 Better match SW mode with HW one 2013-03-24 17:34:30 +08:00
Henrik Rydgard
57e82619ca Fix some glitches that were caused by the MH glitch fix (wrong prim..). Also some cleanup. 2013-03-24 01:13:02 +01:00
Henrik Rydgard
38e7a9ed42 Fix bug in SW Transform where no UV would be generated if there was none in the vertices. 2013-03-23 14:30:55 +01:00
Henrik Rydgard
b4977610cc Smarter draw call joining, fixing MH vertex glitches. Thanks bovine for identifying the issue. 2013-03-23 13:12:52 +01:00
Henrik Rydgard
d5035e80e4 Merge branch 'patch-10' of https://github.com/raven02/ppsspp into raven02-patch-10
Conflicts:
	GPU/GLES/TransformPipeline.cpp
2013-03-22 20:34:49 +01:00
Henrik Rydgard
41b862c689 warning fixes 2013-03-22 19:59:16 +01:00
raven02
9c79814c0a Remove disabled_ variable entirely 2013-03-22 23:58:13 +08:00
raven02
76ecaaff5f Put Vec3 norm and bool hasNormal in better place 2013-03-22 22:58:37 +08:00
raven02
4809be7786 Fix missing/wrong color screen in Last Ranker/Digimon.World.Re.Digitize/Saint Seiya Omega 2013-03-22 22:03:05 +08:00
raven02
153bb28f81 Add hasNormal 2013-03-22 21:45:59 +08:00
raven02
3f0d8cba83 Fix black screen issue in SW T&L 2013-03-22 20:54:46 +08:00
raven02
6429707d4e Fix MotoGP broken in buffered mode 2013-03-18 23:04:17 +08:00
raven02
ada37f06cb spacing fix 2013-03-16 21:37:56 +08:00
raven02
0b6a762c1b Typo 2013-03-16 21:05:41 +08:00
raven02
49befb3d41 Flip in throughmode for HW T&L 2013-03-16 20:35:51 +08:00
raven02
10e8dc2693 Flip in throughmode for SW T&L 2013-03-16 20:34:49 +08:00
Henrik Rydgard
46b2e15945 Set _CRT_SECURE_NO_WARNINGS 2013-03-16 09:17:39 +01:00
Henrik Rydgard
f67743b769 Fix scissor rectangle being one pixel too small. 2013-03-16 08:54:39 +01:00
Henrik Rydgard
b1108f3290 Respect the size of the current FBO when drawing. Some cleanup. 2013-03-16 00:40:37 +01:00
Henrik Rydgard
13c2905f05 Buildfix (typo) 2013-03-15 23:24:13 +01:00
Henrik Rydgard
c8379e3db5 Allow display addresses within RAM, draw the pixels at end of frame. 2013-03-15 22:50:35 +01:00
Henrik Rydgard
cf458dba60 gpu: Add support for scissor rectangle 2013-03-15 22:24:16 +01:00
Henrik Rydgard
bef3ef7fac Fix aspect ratio in unbuffered mode 2013-03-15 21:22:17 +01:00
Henrik Rydgard
1f5b6b7f59 Logging changes and cleanup 2013-03-15 21:01:57 +01:00
Henrik Rydgard
363522fdab gpu: unbind stuff that might get deleted 2013-03-11 22:22:22 +01:00
Henrik Rydgard
724a7c8c93 Revert latest fliptexture hack. This seems to work better. 2013-03-11 20:26:47 +01:00
Henrik Rydgard
de469e77a4 Fix silly typo breaking alpha test in many cases. Make some log VERBOSE. 2013-03-11 19:40:47 +01:00
Henrik Rydgard
14b35c8d2d Turning off alpha test on GREATER than 0 and LESS than 255 wasn't safe. Only GEQUAL and LEQUAL, duh! 2013-03-11 19:29:13 +01:00
Henrik Rydgard
1732d40da9 Make sure to zero-initialize vfb->fbo if buffered rendering off. 2013-03-11 18:51:46 +01:00
Henrik Rydgard
ac47d74d7b Remove obviously useless alpha tests. May help speed on mobile GPUs a little. 2013-03-11 18:43:36 +01:00
Henrik Rydgard
3727d1837d Safety check to prevent a crash in Wipeout on Android. However, something is broken if we get here. 2013-03-11 18:24:29 +01:00
Sacha
e916af3755 Revert pull 910, fix for numerous games, frameskip 2013-03-11 12:02:31 +10:00
Henrik Rydgard
654620cb66 Adreno doesn't like negations when using discard, apparently.. 2013-03-10 16:01:00 +01:00
raven02
9468c00f31 Add thoughmode for fliptexture 2013-03-10 21:13:23 +08:00
raven02
b18ee61676 Always clear since vbo is first created 2013-03-09 21:56:32 +08:00
raven02
dca1d4fb1d Bit clean up the SetRenderFrameBuffer() 2013-03-09 13:46:11 +08:00
Unknown W. Brackets
d75657e6b2 Re-enable the flicker hack for Dissidia, etc.
This is still needed for several games, including at least Dissidia,
Echochrome, and Final Fantasy Tactics.

This reverts commit 8eedc89ad7.
2013-03-08 10:37:33 -08:00
raven02
5da0897fe3 Fix black screen in non-buffered rendering mode 2013-03-08 22:51:04 +08:00
raven02
ec6e45e3bd Use GL_TRUE for glstate.colorMask.set 2013-03-08 22:13:40 +08:00
raven02
8eedc89ad7 Remove frame hack for flickering issue 2013-03-08 19:29:17 +08:00
Henrik Rydgard
d4603136f0 Minor stuff: Fake-implement sceKernelReferThreadProfiler, make sure GPU frame dump logging gets output by not sending it to G3D. 2013-03-04 22:15:39 +01:00
Henrik Rydgard
fcfea6343a Add some lowp annotations to the vertex shader 2013-03-03 23:57:29 +01:00
Henrik Rydgard
4474adee1d Fix frameskip + unbuffered 2013-03-03 13:21:06 +01:00
Henrik Rydgard
bc15617392 Make un-buffered rendering much smarter, removing flicker.
This turns it into a very viable option for many games. You do lose some FX
but it can as a result even be used as a workaround for the massive glow
in Wipeout...
2013-03-03 13:00:21 +01:00
raven02
b862841dd4 Put PPGeDraw into CalculateFPS() and add enableColorDoubling alias 2013-03-03 15:33:03 +08:00
Unknown W. Brackets
f2b3d6fb50 Buildfix, should be in GLES. 2013-03-02 13:17:04 -08:00
Henrik Rydgard
516ca8a0c4 Merge branch 'master' into armjit-fpu
Conflicts:
	Core/MIPS/ARM/ArmJit.h
	Core/MIPS/x86/CompVFPU.cpp
	GPU/GLES/Framebuffer.cpp
2013-02-28 23:56:28 +01:00
raven02
e15df27c4a New isAlphaBlendEnabled() & isDitherEnabled() 2013-02-27 22:37:17 +08:00
raven02
ecb4de09a6 Put ditherenable & alphaBlendEnable as function 2013-02-27 22:36:09 +08:00
Unknown W. Brackets
347eb253dc Oops, will crash if we remove the end? 2013-02-25 14:04:47 -08:00
raven02
b36782a064 Fix shadow abormal in FF Type-0 2013-02-26 00:41:37 +08:00
raven02
65e6b90f7c Add DirtyUniform(DIRTY_COLORMASK) 2013-02-25 05:59:53 +08:00
raven02
d99ca71a47 Add u_colormask and use it in enableColorTest 2013-02-25 05:45:35 +08:00
Unknown W. Brackets
de7ada1982 Fix some x64 type warnings. 2013-02-24 10:39:06 -08:00
Unknown W. Brackets
64c42ffaf2 Fix some warnings generated by clang. 2013-02-24 10:23:31 -08:00
Henrik Rydgård
a680bed1d2 Merge pull request #778 from raven02/patch-2
Fix characters disappearance in Saint Seiya Omega
2013-02-24 02:14:09 -08:00
raven02
24debfd259 Add !(gstate.zmsk & 1); to depthMask and remove duplicate GE_CMD_MATERIALUPDATE (exists in line69) 2013-02-24 17:50:05 +08:00
Unknown W. Brackets
65467bae1f Flush on any clutaddr change, even just upper.
Fixes ClaDun black boxes, wrong colors in game.
2013-02-23 23:25:32 -08:00
raven02
5105c6cd93 Add glstate.stencilTest.disable(); 2013-02-24 02:44:52 +08:00
raven02
6b22266a00 Add glstate.depthTest.disable(); 2013-02-24 02:18:18 +08:00
raven02
b1db09b84f Add missing glClearColor(0,0,0,1); 2013-02-24 02:17:16 +08:00
raven02
cee27a9db6 Group GE_CMD_CLUTFORMAT 2013-02-24 02:05:06 +08:00
raven02
8e550d9578 Set float for glstate.depthRange.set(0.0f, 1.0f) 2013-02-23 23:26:58 +08:00
raven02
689da2c577 Add glClearColor(0,0,0,1); 2013-02-23 18:22:55 +08:00
raven02
dd90e93403 glClearColor(0,0,0,1); 2013-02-23 16:23:24 +08:00
Henrik Rydgard
94bb98d477 Enable color and depth buffer write before clearing. 2013-02-22 22:15:42 +01:00
Henrik Rydgard
44e2a69258 gpu: Clean up "Clear" mode handling. 2013-02-21 21:52:12 +01:00
Henrik Rydgard
28979e9250 Some work toward better FBO handling. Fixes some things, breaks some things.. 2013-02-21 21:37:19 +01:00
Henrik Rydgard
7995d1418c Safer float->u16 cast. 2013-02-21 19:10:30 +01:00
Henrik Rydgård
d9e1faa9c4 Merge pull request #748 from raven02/hw-fix
Fix texture stretched vertically in HW T&L
2013-02-20 14:56:20 -08:00
Henrik Rydgard
690ebb2e58 Proper fix for the annoying through-mode depth issues. 2013-02-20 22:49:41 +01:00
raven02
d3413681e5 Fix texture stretched vertically in HW T&L 2013-02-20 20:32:18 +08:00
Henrik Rydgard
eb130db387 Fix sign of depth in "Through" projection matrix. Thanks xele02. Fixes ToE, Dissidia, etc. 2013-02-20 00:13:18 +01:00
Henrik Rydgard
67272ec271 Scale Z to 0...1 in through mode.
(alternatively, could try setting through mode depth range to 65536..0)
2013-02-19 21:38:19 +01:00
Henrik Rydgård
d72d59f4b8 Merge pull request #742 from raven02/patch-2
Minor cleanup and use byte(b)/short(s)/float(p)
2013-02-19 11:43:42 -08:00
Henrik Rydgård
d47c9fa999 Merge pull request #744 from raven02/truecolor
Toggle 32 bit truecolor in option , default true
2013-02-19 11:42:36 -08:00
raven02
c0dc85b99d Toggle 32 bit truecolor in option , default true
Update Core/Config.cpp
2013-02-20 02:10:35 +08:00
raven02
2745bb4f14 pos[0]/[1] are signed while pos[2] is unsigned in 2D transform 2013-02-20 01:37:19 +08:00
raven02
9e38174b14 Clamp pos[2] when transform 2D only 2013-02-20 01:11:26 +08:00
raven02
2ed1b9ee0b Minor cleanup and use byte(b)/short(s)/float(p) 2013-02-20 00:20:00 +08:00
raven02
9eaf58773b Add 8 bit for weight type 1 2013-02-19 22:55:46 +08:00
raven02
5ba1775572 pos[2] larger than 65535 is clamped to 65535 and not 0 2013-02-19 22:39:38 +08:00
oioitff
83b2849192 pos[2] is limited between 0 and 65535
fix the black screen issue for Toaru Majutsu no Index, and Toaru Kagaku no Railgun.
2013-02-19 19:17:15 +08:00
Henrik Rydgard
e32721c72a Merge branch 'master' into armjit-fpu
Conflicts:
	Core/MIPS/MIPSVFPUUtils.cpp
	Core/MIPS/x86/CompVFPU.cpp
	GPU/GLES/VertexDecoder.cpp
2013-02-19 00:50:33 +01:00
Henrik Rydgard
7c91802e3c Add some infrastructure to be used for frameskipping 2013-02-19 00:45:26 +01:00
Henrik Rydgard
f8058e4bae Disable warning for bad prefix as it floods in Wipeout Pulse. Cleanups. 2013-02-19 00:45:25 +01:00
Unknown W. Brackets
d8b1ea22f5 Cleanup some warnings and reuse some vars. 2013-02-18 08:34:51 -08:00
Sacha
7f2e13c82a Fix framebuffer init. Why was it like that? 2013-02-18 23:55:41 +10:00
Xele02
0fefca672d Add 2 step mode for display list : Go to selected line and go to next draw using selected texture 2013-02-17 21:43:44 +01:00
raven02
45e4919fe9 Change .f to .0f etc. 2013-02-17 21:26:23 +08:00
raven02
2bf958b06f Stylish the case DEC_U8_2/DEC_U16_2/DEC_FLOAT_2 2013-02-17 20:50:17 +08:00
Xele02
2a6af9b8a3 Add displayList debug dialog 2013-02-17 01:28:43 +01:00
Henrik Rydgard
0eabc80c3e Small optimizations and fixes to vertex decoder 2013-02-16 09:28:55 +01:00
Henrik Rydgard
44e4ba8772 Merge branch 'master' into armjit-fpu 2013-02-15 21:42:44 +01:00
Henrik Rydgard
456172c5a6 Small optimizations and fixes to vertex decoder 2013-02-15 21:41:29 +01:00
Henrik Rydgard
c695d8dbf1 Yet another UV fix 2013-02-15 20:17:47 +01:00
raven02
d1784ab9f6 Fix HW T&L crash in FF type-0 2013-02-15 22:49:13 +08:00
raven02
6b27985796 Fix missing character in FF Type-0 in SW T&L 2013-02-15 18:43:37 +08:00
Henrik Rydgard
dfbb7debca Try to make SW t&l more similar to HW t&l. 2013-02-15 00:31:40 +01:00
Henrik Rydgard
2301a3b49e Flip texcoord vertically when texturing from FBO to compensate for OpenGL coordinate systems 2013-02-15 00:31:39 +01:00
Unknown W. Brackets
d0ab1c8ffc Set VertexReader's vtype_ to prevent oddness. 2013-02-14 08:32:37 -08:00
Henrik Rydgard
048cf35922 More ARMJit FPU work - some instructions and optimizations. 2013-02-14 00:02:09 +01:00
Henrik Rydgard
36f49706e0 Add option to stretch to display (turns off the black bars fixing the aspect ratio). 2013-02-13 18:21:21 +01:00
Henrik Rydgård
46dea73ea4 Merge pull request #686 from unknownbrackets/savestates
Clear the shader ids when clearing the cache
2013-02-13 02:26:22 -08:00
Unknown W. Brackets
3503d4ed68 Clear the shader ids when clearing the cache. 2013-02-13 02:10:51 -08:00
Henrik Rydgård
3f85b56b75 Merge pull request #679 from raven02/patch-1
Use enableColorTest for colortest
2013-02-13 00:16:11 -08:00
Xele02
5654a7eae5 DrawSpline hack to draw something. 2013-02-13 01:03:02 +01:00
raven02
26f37277f4 Use enableColorTest for colortest 2013-02-13 07:57:15 +08:00
Henrik Rydgard
ddfcf79fcd Correct aspect ratio, adding black borders when necessary. 2013-02-12 22:09:41 +01:00
Henrik Rydgard
5ace14dd30 Log level adjustments 2013-02-12 22:09:40 +01:00
Henrik Rydgard
0982a29293 Some texturecache code cleanup. Fix missing DIRTY_AMBIENT.
The latter fixes the blinking caustics in the tunnel in Vineta K in Wipeout Pure.
And surely other things.
2013-02-12 21:01:53 +01:00
Henrik Rydgard
6965b82c62 Set lastBoundTexture when creating a new one. 2013-02-12 20:12:08 +01:00
Henrik Rydgard
174b9749d7 Minor speedup to 16-bit texture color conversion. 2013-02-12 19:17:38 +01:00
Henrik Rydgård
156e22f9d2 Merge pull request #669 from raven02/master
Fix SW transform in Kidou_Senshi_Gundam_AGE_Universe_Accel
2013-02-12 08:03:06 -08:00
Henrik Rydgård
0bea5be5a5 Merge pull request #671 from unknownbrackets/texcache
Check the entire texture again, fixes wrong tex
2013-02-12 08:02:41 -08:00
Unknown W. Brackets
8e51ce1beb Check the entire texture again, fixes wrong tex.
Not sure why, but only on Android.  Also faster on Windows.
2013-02-12 07:55:44 -08:00
raven02
f5431dcb8b Fix SW transform in Kidou_Senshi_Gundam_AGE_Universe_Accel 2013-02-12 22:43:41 +08:00
Unknown W. Brackets
5486d0a3c1 Don't crash if currentList is NULL. 2013-02-12 01:12:32 -08:00
Unknown W. Brackets
fb7cabcccf Fix some missing GPUCommon state. 2013-02-12 01:06:11 -08:00
Unknown W. Brackets
5a20d9fc2a Clear vertex cache on savestates.
Just so it's an easy way.  We can remove later when we're sure.
2013-02-12 01:00:52 -08:00
Unknown W. Brackets
b548fe0aa6 Don't mark unreliable, just rehash each time.
This improves perf significantly without the bugs.
2013-02-12 00:17:12 -08:00
Unknown W. Brackets
1e1979b786 Simply don't cache < 100 verts for now.
Fixes wrong vertexes in a number of games.
2013-02-12 00:02:53 -08:00
Unknown W. Brackets
485bcac757 Actually, these are draws. Increase to 24. 2013-02-11 23:41:31 -08:00
Unknown W. Brackets
7d2c5c5041 Fix vai->numFrames never incrementing.
This made it never cache... oops.
2013-02-11 23:38:29 -08:00
Henrik Rydgard
f0c632131e Flush the draw buffer less. Default aniso to 0 on mobile, 8 on PC/the rest. 2013-02-11 19:03:11 +01:00
raven02
66417155c9 Add option to set AnisotropyLevel , default 4 2013-02-11 21:03:53 +08:00
Unknown W. Brackets
b9f61a9cf3 Don't blacklist an invalidated texture forever. 2013-02-10 23:29:44 -08:00
Unknown W. Brackets
7b9e90d434 OpenGL ES 2 buildfix again.
Sorry.
2013-02-10 18:20:34 -08:00
Unknown W. Brackets
4807a0b886 OpenGL ES2 buildfix.
Darn it.
2013-02-10 18:16:11 -08:00
Unknown W. Brackets
8a715f7b67 Don't forget a tex is unreliable until decimate. 2013-02-10 14:26:17 -08:00
Unknown W. Brackets
ca943f070c Don't delete cache invalidated textures.
Note: still decimates.
2013-02-10 14:20:59 -08:00
Unknown W. Brackets
f77a4985f1 Keep track of whether a texture is reliable or not. 2013-02-10 14:20:58 -08:00
Unknown W. Brackets
d56f3055b6 Don't check the power of two padding in texcache. 2013-02-10 14:20:58 -08:00
Unknown W. Brackets
f15c1839ac Use backoff to invalidate textures as well. 2013-02-10 14:20:58 -08:00
Unknown W. Brackets
634b9112e4 Cache vertexes based on frames not draws. 2013-02-10 14:20:57 -08:00
Unknown W. Brackets
5f3f3b8716 Speed up TextureCache::Invalidate() in debug. 2013-02-10 13:11:29 -08:00
Xele02
381bffaa47 Remove Qt define 2013-02-10 18:15:01 +01:00
Xele02
69b837f18b Add debug dialogs (DisAsm, Memory, VFPU).
New features : Breakpoint display, thread status, display list status
Update translation and start french translation
2013-02-10 17:33:34 +01:00
Sacha
b817e3bf26 Update max to std::max 2013-02-10 23:01:18 +10:00
Henrik Rydgard
87c9aa99c2 Let's specify MAX_LOD whether it works or not on gles 2... 2013-02-10 12:13:35 +01:00
Unknown W. Brackets
430139b12a Minimal revert of the GE-related interrupt changes.
Keep most of them, just revert using getList() which isn't cutting it
right now.  Fixes #595.
2013-02-10 02:03:02 -08:00
Unknown W. Brackets
74c2769ada Don't use an f suffix in GL shaders.
Error found in Hexyz Force.
2013-02-09 17:18:01 -08:00
Henrik Rydgard
db3f01044d Turn down texturecache logging a bit. Fix unfinished optimization. 2013-02-09 21:32:02 +01:00
Henrik Rydgard
5a43f3e0ff ZWRITEDISABLE should flush drawbuffer. Fixes road glitches in Ridge Racer and MotoGP. 2013-02-09 21:25:15 +01:00
Henrik Rydgard
aef2376b34 Merge branch 'master' into framebuffer-texture
Conflicts:
	GPU/GLES/TextureCache.cpp
2013-02-09 21:18:46 +01:00
Henrik Rydgard
ca347da99c Depth range should not be applied in through mode. Fixes sky in Wipeout Pure. 2013-02-09 20:53:32 +01:00