Commit Graph

2878 Commits

Author SHA1 Message Date
Unknown W. Brackets
6a9a183dd3 Use sceKernelDcache*() to invalidate the texcache.
Also in the block transfer code.
2012-12-21 14:10:57 -08:00
Florent Castelli
c33eafd430 Warning fixes 2012-12-21 23:02:35 +01:00
Henrik Rydgard
e26083f702 Merge branch 'master' into multi-draw
Conflicts:
	GPU/GLES/IndexGenerator.cpp
	GPU/GLES/IndexGenerator.h
2012-12-21 22:58:39 +01:00
Henrik Rydgard
ea07c14c4c Add IndexGenerator.cpp/h which will later be used to combine small draw calls into large indexed draw calls, for better performance. 2012-12-21 22:53:24 +01:00
Henrik Rydgard
6b3ac02dae Now not flushing at every drawcall by mistake... 2012-12-21 22:52:09 +01:00
Henrik Rydgard
d663e28bde More work and optimization. Still not quite there. 2012-12-21 21:49:09 +01:00
Henrik Rydgard
3b114eb24a More work on indexed draws. Not combining yet. 2012-12-21 19:16:17 +01:00
Henrik Rydgard
2e9daa5f89 All drawing is now indexed lists, through IndexGenerator. 2012-12-21 18:46:15 +01:00
Henrik Rydgard
4eeab83389 Add IndexGenerator.cpp/h which will later be used to combine small draw calls into large indexed draw calls, for better performance. 2012-12-21 17:50:22 +01:00
Henrik Rydgard
4c23d668e1 Cleanup and reorganize gpu code a little 2012-12-21 16:50:14 +01:00
Henrik Rydgård
d42245482b Merge pull request #213 from raven02/ge_cmd
Change BBOX JUMP/TEST to DEBUG . This fix massive slowdown when hit them .
2012-12-21 04:00:29 -08:00
Henrik Rydgard
4efb66fdb6 Fix hw transform and audio on android, misc 2012-12-21 12:57:43 +01:00
raven02
ab2f0b89e6 Change to DEBUG for BBOX JUMP/TEST .Fix massive slowdown when hit them . 2012-12-21 19:57:38 +08:00
Henrik Rydgard
9db065a979 add #version to the framebuffer drawing shader for compat 2012-12-21 11:24:38 +01:00
Henrik Rydgard
4bf2e52623 HW transform: Avoid 4x3 matrices for GLES 2.0 compat. Add option to turn hw transform on. 2012-12-21 11:08:54 +01:00
Henrik Rydgard
4d4370232c Assorted minor cleanup and fixes. 2012-12-21 10:20:22 +01:00
Henrik Rydgard
52cf324e9e Try to fix "W1" vertex error 2012-12-21 10:19:37 +01:00
Unknown W. Brackets
9034cfbfd3 Defer HLE interrupts, vblank only when enabled.
Based on tests, vblank doesn't queue up (makes sense) while
interrupts are disabled.

I'm not 100% sure about the GPU stuff but it seems to only come
from HLE via sceGe, so this should fix those return values.
2012-12-20 21:54:40 -08:00
Henrik Rydgard
19391541fb HW transform: Fix too-harsh lighting 2012-12-20 23:47:19 +01:00
Henrik Rydgard
79bd4e3d41 Lighting fixes (sw + hw) 2012-12-20 23:28:58 +01:00
Henrik Rydgard
1551aea902 HW transform bugfixes 2012-12-20 22:45:26 +01:00
Henrik Rydgard
c3b778daab More work on hw transform. 2012-12-20 18:31:21 +01:00
Henrik Rydgard
7d949bbee0 VertexDecoder: Respect lowerbound of verts to transform. Make decoding a little safer. 2012-12-20 16:03:40 +01:00
Henrik Rydgard
6a7e77ce1d Prevent crashes on bad vertex / index addresses 2012-12-20 15:07:58 +01:00
Henrik Rydgard
4f376a2c34 Hardware vertex transform, preliminary and optional. No lighting yet. Disabled until it works right... 2012-12-20 15:07:58 +01:00
Henrik Rydgard
1b5407f505 Rewrite the vertex decoder a bit. Turn on SSE2 compiler flag etc. 2012-12-20 15:07:57 +01:00
Henrik Rydgard
c4ca9b5956 Get rid of the DecodedVertex struct. 2012-12-20 15:07:57 +01:00
Henrik Rydgard
13460b7aa6 Use flexible vertex formats pre-transform. Saves memory b/w. 2012-12-19 20:21:59 +01:00
Henrik Rydgard
b8d596cbec Add some infrastructure for flexible vertex formats 2012-12-19 18:35:37 +01:00
Henrik Rydgard
4046146164 Add experimental wireframe mode for debugging. Fix texenv color. Code cleanup. 2012-12-19 15:14:41 +01:00
Henrik Rydgard
ba476264db Fix GL_ZERO transparencies 2012-12-18 00:02:04 +01:00
Henrik Rydgard
3bd5cfed73 Work around for strange idling issue, various fixes 2012-12-17 23:33:24 +01:00
Henrik Rydgard
c3819ec721 Fix a possible crash in audio code 2012-12-17 21:59:43 +01:00
Henrik Rydgard
11279668ca Allow changing of zoom factor at runtime 2012-12-17 21:06:47 +01:00
Henrik Rydgard
34d28a9c5c Merge branch 'screen-fix' of https://github.com/raven02/ppsspp into raven02-screen-fix 2012-12-17 21:01:27 +01:00
Henrik Rydgard
8db1cef503 Fix GPU block transfer 2012-12-17 19:04:19 +01:00
Xele02
71839414ca Fix Android build cast error
Remove gl command for texture 2d
2012-12-16 13:07:11 +01:00
raven02
fb5a26b46d Enable correct viewport switching for screen 1x-4x and add Ctrl1-4 as shortcut key 2012-12-16 17:57:33 +08:00
Xele02
1ea6fe7e4d Correct texture display in save dialog on Android. 2012-12-14 01:04:45 +01:00
Henrik Rydgård
a0d8017c22 Fix for previous commit 2012-12-05 11:13:36 +07:00
Henrik Rydgård
36943db4ec Merge branch 'master' of github.com:hrydgard/ppsspp
Conflicts:
	Core/Config.h
2012-12-05 10:57:30 +07:00
Henrik Rydgård
700921deb3 Fix rendering on MacOSX (shader compiler very fussy...). Minor prep for hw transform. 2012-12-05 10:55:06 +07:00
Sacha
5316f856d1 Blackberry 10 Port
* Replace SDL with asound backend (removes the only dependency)
* Remove all references to SDL in bar-descriptor.xml, blackberry_build.sh
* Greatly simplify blackberry_build.sh
* Modify CMakeLists.txt to account for removal of SDL
* Remove redundancy in CMakeLists.txt (EGLv2)
* Refactor nativeExtra's and setting targets
* Remove android/CMakeLists.txt (unrelated file)
* Update for latest Blackberry NDK (1088)
* Handle bug with VSync in latest NDK
* Update bar-descriptor.xml to version 0.4
* Fix define on iOS in FragmentShaderGenerator.cpp
* Specify NDK used in Credits by target platform, add contributor, remove redundancy
2012-12-02 14:48:00 +10:00
Henrik Rydgård
67f9f3f73f SDL port: Add DEBUG option to set _DEBUG, add ability to log gfx stuff 2012-12-01 23:38:18 +01:00
Henrik Rydgard
6e32b30afd DisplayDrawer->FramebufferManager 2012-12-01 10:17:34 +01:00
Henrik Rydgard
d4cc0bada7 Revert broken optimization in TextureCache (there are still memory savings to be had though) 2012-12-01 10:17:33 +01:00
Henrik Rydgard
aa04eaec31 TextureCache: Cleanup, memory savings 2012-11-30 22:32:50 +01:00
Henrik Rydgard
37f28ab4eb Buildfix (?) 2012-11-28 17:09:19 +01:00
Henrik Rydgard
7a7548a70f Warning fixes etc 2012-11-28 16:20:38 +01:00
Henrik Rydgard
5fb8e6dfb0 DXT textures now mostly working-ish (work left to do on alpha for DXT3/5) 2012-11-28 16:12:29 +01:00
Henrik Rydgard
6ff2964170 Fix mistake in gpu signals, add more logging 2012-11-28 14:01:28 +01:00
Henrik Rydgard
980d13fe50 Assorted GPU fixes: Advance vertex pointer, fixes missing triangles in SPT. More logging. Separate proj matrices for through and normal mode (through matrix don't need to get updated as often). Some cleanup. 2012-11-28 13:45:22 +01:00
Henrik Rydgard
a74af8f372 Some new NIDs, log fix, very minor bugfix. 2012-11-27 11:40:30 +01:00
Henrik Rydgard
2822ce2737 Temporarily disable most of the viewport code as it broke some games. Kept the flip detection. 2012-11-26 20:38:26 +01:00
Henrik Rydgard
d8c92caad9 Safer matrix loading. Change default G3D log level from Notice to Error. 2012-11-26 18:04:34 +01:00
Henrik Rydgard
870ea6628b Reasonably correct viewport handling. Optional debug stats overlay (not always 100% working). 2012-11-26 17:35:08 +01:00
Sacha
b76152d88a Use gl_common from native. 2012-11-26 20:38:39 +10:00
Henrik Rydgard
ec55fac3cd Float TC coordinates apparently work in through mode. Add one more special case for blending. 2012-11-26 11:34:23 +01:00
Sacha
5019462317 iOS Support
Preliminary iOS support using new framework.
2012-11-26 14:06:35 +10:00
Sacha
3c903dda24 Improve portability to future platforms. Make use of new USING_GLES2 define throughout PPSSPP. Also use ARM definition where suitable. Remove some redundancy with includes. 2012-11-26 13:25:14 +10:00
Henrik Rydgard
1a7ca88df4 Fix some black textures 2012-11-26 01:21:14 +01:00
Florent Castelli
fd76b2bb15 Fix ordering in gpu state struct 2012-11-25 18:15:30 +01:00
Henrik Rydgard
c0075d8322 Special case for GL_ZERO blend factor too. Don't log on "sync". 2012-11-25 17:48:05 +01:00
Florent Castelli
2f39496ec5 Use ambient material color when no color in the vertex
Fixes color in celshading demo
2012-11-25 17:45:50 +01:00
Henrik Rydgard
4b67f22072 Fixes to usage of gl state stuff 2012-11-25 17:21:23 +01:00
Henrik Rydgard
d0f829353d Support FIXA and FIXB blend factors as well as possible. 2012-11-25 15:49:37 +01:00
Henrik Rydgård
fc453c979f MacOSX buildfix. Doesn't run right yet though. 2012-11-25 12:25:07 +01:00
Florent Castelli
4143801891 Handle depth range (zmin, zmax) in a hackish way 2012-11-25 00:15:21 +01:00
Unknown W. Brackets
8971ff7e99 Don't log texture cache evictions. 2012-11-24 11:00:29 -08:00
Unknown W. Brackets
11868f26a9 Cache textures based on more parameters.
This makes Tales of Eternia run much faster.
2012-11-24 10:58:10 -08:00
Unknown W. Brackets
8e09869ac2 Invalidate the texcache without restarting loop. 2012-11-24 10:43:16 -08:00
Florent Castelli
56175bc505 Defer blend, cull and depth test changes to draw command
Avoid unnecessary state changes and reduces the amount of OpenGL calls.
It also puts all the interesting logic at the same place, reducing the
complexity a little.
2012-11-24 15:19:29 +01:00
Henrik Rydgard
b964516669 Fix clear mode, turn Alpha Test back on 2012-11-23 12:43:31 +01:00
Henrik Rydgard
e92e919926 Fix problems with additive blending, fix color doubling.
Greatly improves MotoGP among others.
2012-11-23 01:26:12 +01:00
Henrik Rydgard
d141d205f8 Delete old textures, to prevent memory usage from growing indefinitely. 2012-11-22 23:07:15 +01:00
Henrik Rydgard
02a94e52ee Do GPU ram<->vram block transfers. Could be smart enough to clear textures from cache but isn't yet. 2012-11-22 20:57:41 +01:00
Henrik Rydgard
8f33837de9 Bug fixing mtv/mfv, add comment 2012-11-22 20:14:24 +01:00
Henrik Rydgård
2a56d36b12 glViewport calls need to be in pixel coordinates. 2012-11-20 16:48:24 +01:00
Henrik Rydgard
4b87da74cb windows gui option for buffered rendering. Misc fixes, prettier checkbox on android. 2012-11-20 11:35:48 +01:00
Henrik Rydgard
f378f959e1 Fix issues with games that don't call sceDisplaySet mode. Add option to run without FBOs, may be useful on slow devices. 2012-11-20 10:59:23 +01:00
Henrik Rydgard
8a6d151df5 ALPHA_TEST doesn't exist on OpenGL ES 2.0 2012-11-20 00:35:14 +01:00
Henrik Rydgard
ee32db47b9 Assorted FBO fixes 2012-11-20 00:31:19 +01:00
Henrik Rydgard
4a49b8ee36 Workaround for motogp setting a bogus framebuffer address. 2012-11-19 23:53:38 +01:00
Henrik Rydgard
8b67975a47 GL: Framebuffer management using FBOs. Fixes flicker in Lumines and many others. 2012-11-19 23:29:14 +01:00
Henrik Rydgard
91e1cce17e Some reorg in preparation for FBO work 2012-11-19 21:23:29 +01:00
Henrik Rydgard
d572d40c36 More warning fixing 2012-11-18 23:35:02 +01:00
Henrik Rydgard
fa05713456 misc cleanup 2012-11-18 23:14:50 +01:00
Henrik Rydgard
9ec858a64d Bugfix an 8-bit indexed texture format 2012-11-18 18:47:29 +01:00
Henrik Rydgard
75412b064b Implement sceUtilityMsgDialog 2012-11-18 17:51:14 +01:00
Henrik Rydgard
5596b98529 Get rid of opengl include from sceDisplay.cpp 2012-11-18 13:14:22 +01:00
Henrik Rydgard
e37a1fb1d3 Add internal 2D drawing library that goes through the Ge emulation for portability.
To be used for things like sceUtility* and other overlays like FPS and stats.
2012-11-18 13:04:49 +01:00
Henrik Rydgard
a6eb25b58c Disable blend on clear mode 2012-11-18 02:48:15 +01:00
Henrik Rydgard
423bba5d8d Some optimization and minor fixes 2012-11-17 15:06:10 +01:00
Henrik Rydgard
ba171c8360 Fix scaling for 16-bit UVs 2012-11-16 17:19:28 +01:00
Henrik Rydgard
4c1ae9e81c Do indexed draws properly with glDrawElements where possible. Fix sprite culling issue (winding order). 2012-11-16 16:43:16 +01:00
Henrik Rydgard
7c9107030d Speed up T&L by only transforming/lighting each vertex once, for indexed draws 2012-11-16 16:19:37 +01:00
Henrik Rydgard
e627e1aeb2 Culling and decode fixes.
Road is visible in MotoGP
2012-11-16 15:35:41 +01:00
Henrik Rydgard
e5c6cf965b Fixes and optimizations to vertex decoding and lighting.
Motorcycles are now visible in MotoGP.
2012-11-16 15:16:14 +01:00
Florent Castelli
cace547f8a Fix colors for textures with 5551 clut
Fixes NAMCO logo in the Tales of Eternia intro, which is now red.
2012-11-15 01:51:40 +01:00
Henrik Rydgard
2603c44e46 Actually, double-oops. 2012-11-11 19:07:07 +01:00
Henrik Rydgard
6a350a4704 Umm, oops. 2012-11-11 19:03:48 +01:00
Henrik Rydgard
07e753da9f Fix skinning bugs, optimize, re-enable a lighting optimization 2012-11-11 19:00:44 +01:00
Henrik Rydgård
5f02c9ad36 Merge pull request #35 from Orphis/skinfix
Apply the world transform to the skinned vertices
2012-11-11 09:12:03 -08:00
Florent Castelli
d06b1ae347 Apply the world transform to the skinned vertices
Improves rendering of skinning demo.
The end of the tube is wrong and collapses on the origin.
2012-11-11 17:55:16 +01:00
Florent Castelli
e77cb6b319 Fix color components ordering of the lights 2012-11-11 17:27:39 +01:00
Henrik Rydgard
343b9435b9 A few minor fixes + buildfix 2012-11-10 23:44:14 +01:00
Henrik Rydgård
75dcc8e8ce Merge pull request #28 from Orphis/clutfix
Texture format and CLUT awareness for the cache
2012-11-10 02:47:47 -08:00
Florent Castelli
ca56b562af Texture format and CLUT awareness for the cache
Fixes the intro screen in Tales of Eternia, but for some reason,
the Namco logo is purple instead of red.
2012-11-10 11:44:30 +01:00
Henrik Rydgard
387552f564 Misc fixes (accept .prx, work on power callbacks, bugs) 2012-11-10 10:15:11 +01:00
Henrik Rydgard
08ea2cacf2 Copy base ptr fixes to nullgpu 2012-11-09 17:54:08 +01:00
Henrik Rydgard
b43dfebb10 Fixes to lighting, display list base pointer, misc 2012-11-09 17:51:45 +01:00
Henrik Rydgard
54f9509693 The texture conversion now works for OpenGL ES again. 2012-11-09 01:24:19 +01:00
Henrik Rydgard
6fd4168232 Port new texture code to GLES : simulate GL_PACK_ROW_LENGTH 2012-11-09 00:51:04 +01:00
Arthur Blot
a29072c3f7 Fixed texture loading for all formats. 2012-11-08 23:26:30 +01:00
Henrik Rydgard
f44a207638 Halt GPU on invalid addresses, more accurate GetTicks in CoreTiming 2012-11-07 15:40:46 +01:00
Henrik Rydgard
320eaeb6a4 Include fix 2012-11-06 22:04:58 +01:00
Henrik Rydgard
8a082f91cc Ge Callbacks seem to be working now. 2012-11-06 18:14:09 +01:00
Henrik Rydgard
85d5cfd8c4 Add more proper "Null" GPU 2012-11-06 17:05:27 +01:00
Sacha
41f5abab31 PPSSPP ported to Blackberry10
Now builds on Playbook and Dev Alpha
Make emulator more compatible with other OS (case sensitivity, defines, includes)
Uses Android's code paths and backend
2012-11-05 23:09:49 +10:00
Henrik Rydgard
b214a1a1da Revert "Better wrapper system, and fixed warnings"
This reverts commit a00b1855cb.

Conflicts:

	Core/HLE/FunctionWrappers.h
	Core/HLE/sceCtrl.cpp
	Core/HLE/sceKernelModule.cpp
2012-11-05 10:05:09 +01:00
Henrik Rydgard
6bed1afb72 Merge branch 'master' of https://github.com/artart78/ppsspp into artart78-master 2012-11-04 23:59:26 +01:00
Henrik Rydgard
687b085357 Missed these somehow 2012-11-04 23:58:25 +01:00
Henrik Rydgard
64cc573703 Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK. 2012-11-04 23:24:00 +01:00
Henrik Rydgard
0c66247c0d Merge branch 'master' of github.com:hrydgard/ppsspp 2012-11-04 19:57:37 +01:00
Arthur Blot
a00b1855cb Better wrapper system, and fixed warnings 2012-11-04 15:08:23 +01:00
MrOrdinaire
1ab9943643 fix missing #include's and missing CMake linking directives 2012-11-03 10:33:24 +08:00
Henrik Rydgard
280c1cdea3 Display list logging improvements 2012-11-02 12:33:16 +01:00
Henrik Rydgard
4f7ad15758 Add snapshot of the whole source code. 2012-11-01 16:19:01 +01:00