Commit graph

131 commits

Author SHA1 Message Date
Henrik Rydgard
12cccf0cc3 Don't need to flush on GE_CMD_OFFSET. 2013-02-05 18:02:11 +01:00
Henrik Rydgard
bdc467769e Some shader and vertex format optimizations 2013-02-05 01:37:00 +01:00
Henrik Rydgård
edb9cf5c71 Merge pull request #598 from lioncash/master
Found another check that should be before the other one.
2013-02-04 08:17:59 -08:00
lioncash
5acce242c1 Another 'Check if the number is within range before accessing' array change 2013-02-04 09:36:58 -05:00
lioncash
3221438de4 Check if num is within range *before* accessing the array. 2013-02-04 08:53:20 -05:00
Henrik Rydgård
b9dd8d0277 Merge pull request #589 from Orphis/dlist-rewrite-part1
Dlist rewrite part1
2013-02-03 22:49:16 -08:00
Florent Castelli
8004d360dd Interrupt handler reorganization for easier GE interrupt support 2013-02-04 03:10:01 +01:00
Henrik Rydgard
a54fb0e55d Disassemble a few more Ge ops. 2013-02-04 00:03:23 +01:00
Henrik Rydgard
00f9c97479 Seems vertex/index addresses should be computed through the same mechanism as jumps.
Gets rid of bad vertex address messages in Sol Trigger.
2013-02-02 23:48:22 +01:00
Henrik Rydgard
510f1ac3f4 Some misc GE constant renames / disasm 2013-02-02 13:40:26 +01:00
Henrik Rydgard
0769a1d3e8 I think I finally understood how origin-relative GE jumps are supposed to work. 2013-02-02 13:38:34 +01:00
raven02
d29245d007 Fix viewport resize 2013-01-31 19:19:45 +08:00
Unknown W. Brackets
39663a1409 Check RET isn't hit right away for safety. 2013-01-31 00:02:52 -08:00
Henrik Rydgard
64a376516e Move all the framebuffer management out into its own file. 2013-01-30 21:09:53 +01:00
Henrik Rydgard
3b681d3854 Make GLES_GPU own texturecache 2013-01-30 20:40:26 +01:00
Unknown W. Brackets
661c7132c4 Don't check that the pc is valid every single op. 2013-01-29 08:19:07 -08:00
Henrik Rydgard
366583d34f Align some vertex arrays to page size. It's said to possibly be beneficial. 2013-01-29 00:48:13 +01:00
Henrik Rydgard
d1b3fd0e49 Better window resize handling 2013-01-27 00:15:39 +01:00
Henrik Rydgard
8b180513cb Assorted GPU cleanup/fixing (fbo, vbo draw type) 2013-01-26 21:39:36 +01:00
Henrik Rydgard
0930b5b587 Typo + warning fix 2013-01-25 19:08:28 +01:00
Henrik Rydgard
8a32779150 Misc GPU stats etc changes 2013-01-25 18:29:14 +01:00
Unknown W. Brackets
81225e0f09 Fix flicker caused by using the wrong fbo. 2013-01-24 21:36:28 -08:00
Henrik Rydgard
b1bbbc44fc Add enable/disable dithering. Respect chosen framebuffer color depth. 2013-01-23 23:04:09 +01:00
Henrik Rydgard
a7bc2ea120 Clearing FBOs on bind was a bit too aggressive an optimization. 2013-01-23 08:31:29 +01:00
Henrik Rydgard
d9c9a9102a Tiled renderers are much faster if we clear FBOs before rendering.
Alternatively we could use glDiscardFramebufferEXT but I haven't figured out how to call it.
2013-01-20 22:05:11 +01:00
Henrik Rydgard
1b1a275dcc GPU "dirty" optimization, wip vertexcache 2013-01-20 13:15:46 +01:00
Henrik Rydgard
04860322f4 Merge branch 'master' into vertexcache 2013-01-20 11:30:11 +01:00
Unknown W. Brackets
140fd171ef Fix some 64-bit type conversion warnings. 2013-01-19 13:48:20 -08:00
Henrik Rydgard
8ff96bbcd8 Defer vertex decoding until flush. Track draw calls so that they can be cached later. 2013-01-19 17:05:50 +01:00
Henrik Rydgard
7271e3fcd5 Fix fog and stencil buffer clearing. The latter fixes the sky in MotoGP. 2013-01-14 20:44:11 +01:00
Henrik Rydgard
85afa9c036 Always specify all buffers for clearing. Missing one hurst, one extra doesn't. 2013-01-14 20:44:10 +01:00
Henrik Rydgard
cf1b5a6911 Try to fix color masking problems. 2013-01-12 14:20:38 +01:00
Henrik Rydgard
29e422cbf1 Avoid flicker by not throwing away the last 3 FBOs. 2013-01-11 17:55:26 +01:00
Henrik Rydgard
6ab6045baf Throw away unused FBOs. This gets rid of extreme slowness of Star Soldier on Nexus S for whatever reason. 2013-01-11 02:00:51 +01:00
Henrik Rydgard
7390f2b5f6 Some realtime profiling stuff. Enable FZ (flush-to-zero) mode. 2013-01-11 00:13:39 +01:00
Henrik Rydgard
9363a867e2 Add glViewport to cached gl state. Add a couple of missing VFPU ops. 2013-01-06 23:23:36 +01:00
Unknown W. Brackets
3861ce0376 Use sceKernelDcacheWritebackAll() as a hint only. 2013-01-05 17:07:19 -08:00
Henrik Rydgard
835ac23cc4 Flush before some more display list ops 2013-01-05 18:15:28 +01:00
Henrik Rydgard
f8ae18a130 "Fix" bezier the old way (puzzle bobble works again at least). 2013-01-04 09:54:19 +01:00
Henrik Rydgard
c3679166e5 Fix flicker in a bunch of games. Fix is a little hacky but okay for 0.5. 2013-01-03 10:19:18 +01:00
Henrik Rydgard
363f158a0a Just warning fixes 2013-01-02 21:13:21 +01:00
Unknown W. Brackets
97bdaf5dd2 Add support for selecting the GE callback per list.
Not sure if interrupts are right, but this should be more right.
2012-12-29 15:55:05 -08:00
Unknown W. Brackets
589916fca2 Move GPU state to sceDisplay, reset GPU on load. 2012-12-29 12:49:49 -08:00
Unknown W. Brackets
ea9f0be28a Save more of the GPU's state, fix a crash.
Well, ReapplyGfxState() seems kinda dangerous now...
2012-12-29 11:41:33 -08:00
Florent Castelli
36a71eafd0 Move InterpretList and ProcessDLQueue to GPUCommon 2012-12-29 03:11:36 +01:00
Florent Castelli
6eec4f5d7f Move display list management to common GPU class 2012-12-29 03:11:35 +01:00
Henrik Rydgård
75ce287213 Add more stuff to GeDisasm. Advance index pointer on indexed draws. 2012-12-28 20:54:00 +01:00
Henrik Rydgård
e2cc226d0d Just some cleanup of GPU code 2012-12-28 20:54:00 +01:00
Henrik Rydgård
57b4d658cc Don't log display lists, instead dump them on demand.
Makes it fairly convenient to dump and look at display lists at run time
on non windows platforms. Adding a menu item on Windows should be
trivial.
2012-12-27 23:38:55 +01:00
Henrik Rydgård
d95dbca9be Cleanup GPU init/shutdown a bit 2012-12-25 22:42:19 +01:00