Commit Graph
240 Commits
Author SHA1 Message Date
Unknown W. Brackets 842e450965 Display: Correct default brightness, add reporting.
Not sure if any games use hold/resume in a way that ought to work.
Display didn't seem to react to them being called.
2016-05-16 22:33:50 -07:00
Unknown W. Brackets d0dc03f359 Display: Wait for vblank when setting mode.
Some games call this even when not needed, and it turns out to have an
important behavior.
2016-05-16 22:02:21 -07:00
Unknown W. Brackets 9ed604f9c8 Display: Return 1 during the vsync period.
Timing is based on manual tests, where the vsync signal is near the end of
the vblank.  Curiously, it stops right before the vblank stops, reliably.
2016-05-15 23:46:46 -07:00
Unknown W. Brackets 597824eec6 Display: Add validation/report to set mode.
This seems to be involved in using the video out cable, but fails for
anything but these fixed parameters in normal situations.
2016-05-15 22:16:31 -07:00
Unknown W. Brackets 5e8e2d5e56 Display: Allow only immediate address changes.
It seems you must latch a change to stride/fmt first, which basically
makes sense.  Otherwise it would revert, I suppose.
2016-05-15 16:42:25 -07:00
Unknown W. Brackets 249a85b7e0 Display: Validate framebuf parameters. 2016-05-15 16:38:00 -07:00
Unknown W. Brackets 44cee09adc Dsiplay: Initialize the framebuf params better. 2016-05-15 16:29:58 -07:00
Unknown W. Brackets 958d7f0944 Display: Record bufw/fmt even when display is off.
These are returned by sceDisplayGetFrameBuf().
2016-05-15 15:55:04 -07:00
Unknown W. Brackets 26e9acee4b Display: Skip transitions between off/on in FPS.
We're just trying to detect frequent flips, so off/on doesn't play into
it.
2016-05-15 15:54:04 -07:00
Henrik Rydgard 727058fc27 Remove an entry from GPUStats that didn't really belong. 2016-04-02 11:06:05 +02:00
Henrik Rydgard ad0da06f65 Forgot to remove these from the debug string. 2016-04-02 10:36:51 +02:00
Henrik Rydgard 5ef608fa50 GPU stats: Have each backend format its own string. 2016-03-31 10:17:02 +02:00
Henrik Rydgard 004c8b0fca Make debug stats more compact. 2016-03-31 09:47:25 +02:00
Unknown W. Brackets 3976e840a1 Fix some old savestates. 2016-03-20 23:03:48 -07:00
Henrik Rydgard f7113bb2e3 Use separate pushbuffers for UBO/Index/Vertex. This will make decoding directly into the pushbuffers easier, plus other benefits later.
(For example, we'll often be able to avoid rebinding the vertex and
index buffers at new offsets by just keep counting upwards between draws,
if the vertex format is the same but other state changed)
2016-03-20 19:31:02 +01:00
Henrik Rydgard e45c24b75f Show how much pushbuffer space is used each frame.
Optimizing this number (by avoiding redundant UBO uploads etc) will probably help performance.
2016-03-20 19:31:02 +01:00
Henrik Rydgard e11d0a7e1c Minor GPU interface cleanup 2016-01-06 23:49:02 +01:00
Unknown W. Brackets 18dbaac3c7 Fix savestate compat with older versions. 2016-01-02 18:50:59 -08:00
Unknown W. Brackets abede77059 Clean up some logging in sceDisplay. 2015-12-30 17:37:14 -08:00
Unknown W. Brackets 9327749f16 Allow setting the display off.
Final Fantasy Tactics does this to avoid some brief flicker.
2015-12-30 17:29:20 -08:00
Unknown W. Brackets f982e777e5 Stop logging alphatested draws for debug stats.
Measured a small perf hit here, and we're not really using these stats
much anymore.
2015-12-30 10:24:54 -08:00
Henrik Rydgard 72ae497350 Remove glstate usage except in the GPU implementation. Prepare for moving it into PPSSPP. 2015-09-06 12:42:15 +02:00
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 Rydgård 0726912f09 sceDisplay, GPUState cleanup and comments 2015-07-25 09:46:11 +02:00
Unknown W. Brackets 8fdceba7ca Add timing for all the basics.
This way we can see overall stats for a frame.
2015-07-03 12:05:08 -07:00
Unknown W. Brackets c642f92bfb Initialize a few display state values on init. 2015-03-28 13:01:30 -07:00
Unknown W. Brackets fcf0518223 Update all the HLE tables with arg and ret info. 2015-03-22 20:51:55 -07:00
Unknown W. Brackets c991dd7555 Oops, fix an important typo. 2015-03-05 08:31:59 -08:00
Unknown W. Brackets 22ce464e42 Don't wake a vblank waiting thread within 115us.
Fixes #6966, matches PSP behavior.
2015-03-01 18:31:25 -08:00
Henrik Rydgard d6cf857a06 Make it impossible to set Auto Frameskip and Non-buffered together as they interact in a bad way 2015-02-09 23:11:45 +01:00
Unknown W. Brackets 42cd751060 Prevent a few savestate cross-compat issues.
We don't need to save gpu stats at all, so don't, makes it easier to
change it and dunno if anyone defines double as other than 64 bits.

Also, apparently there was padding in the event state but not on all
platforms.
2014-12-08 21:18:56 -08:00
Lioncash 4ccb838306 Core: Mark some module functions as static 2014-12-08 04:40:08 -05:00
Henrik Rydgard 02a89306d1 Warning fixes, sprintf->snprintf 2014-09-13 23:51:07 +02:00
Sacha 1ce39d7e95 Improve frame timing on non-Windows. Disable IdleTiming when audio is disabled. 2014-07-16 01:04:43 +10:00
Unknown W. Brackets 5cd4a17e88 Fix periodic events drifting when eating cycles.
Need to set the next timer before rescheduling threads or etc.
2014-07-01 00:26:15 -07:00
Unknown W. Brackets 5db79dcf11 Fix some missing semicolons on log statements. 2014-06-29 19:09:37 -07:00
Unknown W. Brackets 8172e838a5 Avoid a fast-forward effect when not drawing.
This fixes loading screens and such, which drop the fps down to 0 or 6
according to our measure, which can distort audio if we've got free time.

If the system is not keeping up, should have the same behavior as before.
2014-06-26 00:37:03 -07:00
Unknown W. Brackets 23dc69fc9b Time frames based on current, not last timestep.
We need to decide the nextFrameTime when we know how many vblanks it took,
not before.  Otherwise, we will miss-time when the fps changes.
2014-06-26 00:36:17 -07:00
Unknown W. Brackets 19f4ad8c5c Dumb mistake in "real time sync" fix. 2014-06-25 00:44:18 -07:00
Henrik Rydgård fea0a26113 Merge pull request #6414 from unknownbrackets/resched
Reschedule immediately in many cases
2014-06-24 22:41:58 +02:00
Unknown W. Brackets 87b3a7e566 Avoid overly long lags, recover if system too slow.
This will recover better if the system took too long.  Also, fixes #6415
by never waiting too long.
2014-06-24 08:27:21 -07:00
Unknown W. Brackets 8e80bd3928 Wake good pri threads immediately from vblank wait. 2014-06-24 00:45:08 -07:00
The Dax eb94587391 sceDisplayGetVcount should apparently reschedule. Fixes #3234. 2014-06-18 19:35:16 -04:00
Henrik Rydgard 4e6baaf360 wasPaused int->bool 2014-06-15 00:03:55 +02:00
Henrik Rydgard 3b2fed472e Correct timing on resume, avoids small speed burst when resuming gameplay from pause 2014-06-14 23:56:16 +02:00
Unknown W. Brackets aa6355a9e5 Reschedule after many cases of eating cycles.
All of these eat enough cycles they could cause issues in a loop, and I'm
pretty sure they would reschedule.
2014-06-13 00:30:21 -07:00
Unknown W. Brackets 66d0cef0de Avoid calling select() with an error pointlessly.
It's just a spin loop unfortunately anyway.
2014-06-03 01:48:10 -07:00
Unknown W. Brackets 0bba5310b6 Fix lagsync with alternate speed set. 2014-06-03 01:36:20 -07:00
Unknown W. Brackets 39b1d97beb Make the lag sync adapt to minor variance. 2014-06-02 23:34:48 -07:00
Unknown W. Brackets 29f2519861 Add an experimental sync to keep real time sync.
May help input, audio, and network related lag problems.
2014-06-02 23:34:48 -07:00