QT Frontend: Add disk shader loading progress bar

Until we get a on screen display or async shader loading, we should at
least have some measure of progress in the meantime. This is 90% a port
from the loading screen I made for yuzu, but with a slightly different
changed detection for when to display the ETA. Now we keep track of a
rolling estimate for shader load ETA and only display a ETA if its going
to take longer than 10 seconds.
This commit is contained in:
James Rowe 2020-01-21 18:48:07 -07:00
parent c0df8271bf
commit 961a7b59c9
8 changed files with 542 additions and 6 deletions

View file

@ -32,6 +32,7 @@ class GraphicsVertexShaderWidget;
class GRenderWindow;
class IPCRecorderWidget;
class LLEServiceModulesWidget;
class LoadingScreen;
class MicroProfileDialog;
class MultiplayerState;
class ProfilerWidget;
@ -75,6 +76,7 @@ public:
public slots:
void OnAppFocusStateChanged(Qt::ApplicationState state);
void OnLoadComplete();
signals:
@ -221,6 +223,7 @@ private:
GRenderWindow* render_window;
GameListPlaceholder* game_list_placeholder;
LoadingScreen* loading_screen;
// Status bar elements
QProgressBar* progress_bar = nullptr;