Commit Graph
39 Commits
Author SHA1 Message Date
Henrik Rydgard 2430c283a5 More GPU cleaning, removing uses of GPUState.h where not needed.
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.

Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Henrik Rydgard cde585a29a Include dependency cleanup 2015-07-29 11:48:20 +02:00
Henrik Rydgård 6fee2b456c GPU classes: Replace "virtual" with "override" for free function type checking 2015-07-25 14:23:02 +02:00
Unknown W. Brackets adee76cd62 Add a matching PerformMemoryUpload().
Just so we have both Download and Upload to use later.
2014-06-10 00:45:03 -07:00
Unknown W. Brackets 089ee41d9c Implement a very basic stencil upload.
This is not fast or efficient, but works.
2014-05-31 21:48:09 -07:00
Unknown W. Brackets 1433b98c46 Clean up the framebuffer force downloads. 2014-05-31 10:03:03 -07:00
Unknown W. Brackets 8dcc09c9e1 Use a separate func for gpu memset(). 2014-05-27 07:50:01 -07:00
Unknown W. Brackets 8275f613ce UpdateMemory() now returns whether to skip the cpy.
This way it can do it itself as necessary in the right order.
2014-05-25 21:48:41 -07:00
Unknown W. Brackets fc3b3449ed Enable frameskipping in the null gpu.
In case it's used (I used it to check cpu-only perf on Android.)
2013-11-14 23:37:48 -08:00
Unknown W. Brackets 90affa2203 Remove very questionable DrawSync override. 2013-08-17 09:53:10 -07:00
Unknown W. Brackets 450e4c7fea Factor out event queue logic to a template mixin. 2013-08-10 03:33:09 -07:00
Unknown W. Brackets 5e363bcbd2 Don't allow gpu->Flush() to be called publicly. 2013-08-09 22:57:54 -07:00
Unknown W. Brackets 02e301e5fe Add a simple message event system to the GE.
With this, the CPU thread feature now mostly works.
2013-08-09 22:41:31 -07:00
Unknown W. Brackets 89349eae7e Consistently use a proper type for GE fb format. 2013-07-29 23:05:59 -07:00
Unknown W. Brackets f8d6bda678 Add a better signal for VRAM copies in the GPU. 2013-06-09 23:55:32 -07:00
Unknown W. Brackets 3c0ed69fd2 Improve GPU invalidation interface, check fonts.
When a font is rendered, tell the GPU about it, but don't rehash.

This not only improves perf (less hashing) but makes font changes more
immediate (no deferred hashing.)  But only if they use sceFont.
2013-05-05 22:52:01 -07:00
Peter Thoman 2212e7f609 Fixed threading issue pointed out by unknownbrackets and made texture scaling changes apply immediately 2013-04-30 17:58:05 +02:00
Unknown W. Brackets b0ce9e934e Split out the GPU vendor and the full detail.
This way we can sort things more easily.
2013-04-29 00:30:54 -07:00
Unknown W. Brackets 5cea38e405 Reporting: catch information about the GPU. 2013-04-29 00:26:43 -07:00
Unknown W. Brackets 1edbfa3212 Use a downcount and fast run loop in the GE. 2013-04-28 14:23:30 -07:00
Unknown W. Brackets affe91cb3b Refactor some GPU methods to return errors. 2013-03-31 23:57:03 -07:00
Henrik Rydgard d1b3fd0e49 Better window resize handling 2013-01-27 00:15:39 +01:00
Unknown W. Brackets 3861ce0376 Use sceKernelDcacheWritebackAll() as a hint only. 2013-01-05 17:07:19 -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 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
Unknown W. Brackets d378b1c324 Deallocate properly in shutdown, not in init. 2012-12-24 01:41:15 -08:00
Unknown W. Brackets 2736012719 Cleanup some state on reset in the GPU code. 2012-12-23 23:12:53 -08:00
Henrik Rydgard 252845ecb6 Bugfix, remove hack 2012-12-21 23:55:19 +01:00
Henrik Rydgard e42af096c8 Merge 2012-12-21 23:43:48 +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 870ea6628b Reasonably correct viewport handling. Optional debug stats overlay (not always 100% working). 2012-11-26 17:35:08 +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 91e1cce17e Some reorg in preparation for FBO work 2012-11-19 21:23:29 +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 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