Commit Graph

44 Commits (a2be49305d8c5c66cfa2ec2060688013cf3729b9)

Author SHA1 Message Date
zhupengfei a2be49305d yuzu, video_core: Screenshot functionality
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
6 years ago
Lioncash dd35b4b18a renderer_opengl: Namespace OpenGL code
Namespaces all OpenGL code under the OpenGL namespace.

Prevents polluting the global namespace and allows clear distinction
between other renderers' code in the future.
7 years ago
Lioncash 0a93b45b6a core: Namespace EmuWindow
Gets the class out of the global namespace.
7 years ago
Lioncash 20c2928c2b video_core; Get rid of global g_toggle_framelimit_enabled variable
Instead, we make a struct for renderer settings and allow the renderer
to update all of these settings, getting rid of the need for
global-scoped variables.

This also uncovered a few indirect inclusions for certain headers, which
this commit also fixes.
7 years ago
Lioncash 6030c5ce41 video_core: Eliminate the g_renderer global variable
We move the initialization of the renderer to the core class, while
keeping the creation of it and any other specifics in video_core. This
way we can ensure that the renderer is initialized and doesn't give
unfettered access to the renderer. This also makes dependencies on types
more explicit.

For example, the GPU class doesn't need to depend on the
existence of a renderer, it only needs to care about whether or not it
has a rasterizer, but since it was accessing the global variable, it was
also making the renderer a part of its dependency chain. By adjusting
the interface, we can get rid of this dependency.
7 years ago
Lioncash 0f2ac928f2 video_core: Make global EmuWindow instance part of the base renderer class
Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.

This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
7 years ago
James Rowe 638956aa81 Rename logging macro back to LOG_* 7 years ago
Lioncash b7551e457b
video-core: Move logging macros over to new fmt-capable ones 7 years ago
bunnei 0a5832798a renderer_opengl: Logging, etc. cleanup. 7 years ago
James Rowe 096be16636 Format: Run the new clang format on everything 7 years ago
James Rowe 389979018c Remove gpu debugger and get yuzu qt to compile 7 years ago
James Rowe 1d28b2e142 Remove references to PICA and rasterizers in video_core 7 years ago
bunnei 22ad9094e6 config: Add option for specifying screen resolution scale factor. 8 years ago
emmauss c4e4fa53d9 Implement Frame rate limiter (#2223)
* implement frame limiter

* fixes
8 years ago
Yuri Kunde Schlesner 84fbbe2629 Use negative priorities to avoid special-casing the self-include 9 years ago
Emmanuel Gil Peyrot ebdae19fd2 Remove empty newlines in #include blocks.
This makes clang-format useful on those.

Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
9 years ago
Emmanuel Gil Peyrot dc8479928c Sources: Run clang-format on everything. 9 years ago
bunnei 08ad9b36d4 config: Add a setting for graphics V-Sync. 9 years ago
Emmanuel Gil Peyrot 691a42fe98 VideoCore: Run include-what-you-use and fix most includes. 9 years ago
tfarley e46d086189 Config: Add scaled resolution option 9 years ago
MerryMage a06dcfeb61 Common: Remove Common::make_unique, use std::make_unique 9 years ago
LittleWhite 4be68dddfb Improve error report from Init() functions
Add error popup when citra initialization failed
9 years ago
Lioncash 5e17a586da video_core: Make the renderer global a unique_ptr 9 years ago
Lioncash aec28ed91e video_core: Reorganize headers 10 years ago
bunnei 094ae6fadb Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
10 years ago
bunnei 1b42d55a9d Pica: Create 'State' structure and move state memory there. 10 years ago
tfarley 05dc633a8c OpenGL renderer 10 years ago
Yuri Kunde Schlesner e1fbac3ca1 Common: Remove common.h 10 years ago
bunnei 9960c49c21 Set framebuffer layout from EmuWindow. 10 years ago
archshift ef24e72b26 Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)

Also removed some GEKKO cruft.
10 years ago
purpasmart96 ebfd831ccb License change 10 years ago
Yuri Kunde Schlesner 0600e2d8b5 Convert old logging calls to new logging macros 10 years ago
Rohit Nirmal 8a62423970 Change NULLs to nullptrs. 11 years ago
archshift 1c02c03e32 Dead code removal: video_core.cpp, load_symbol_map.cpp 11 years ago
Yuri Kunde Schlesner 478289140d Replace GLEW with a glLoadGen loader.
This should fix the GL loading errors that occur in some drivers due to
the use of deprecated functions by GLEW. Side benefits are more accurate
auto-completion (deprecated function and symbols don't exist) and faster
pointer loading (less entrypoints to load). In addition it removes an
external library depency, simplifying the build system a bit and
eliminating one set of binary libraries for Windows.
11 years ago
Sacha a3a70e56ac Fix the threading for GL Context in Qt5.
Connect the emu_thread start/finish to a moveContext slot.
11 years ago
archshift d71af1bd20 Use glewExperimental on Linux in order to fix GLFW-mode 11 years ago
archshift ee4717aaae Preprocessor: #if's out OSX-specific GL changes on other platforms 11 years ago
archshift 034e3aabc8 Improved clarity and whitespace
Changed QGL version to 3,2 in order to be less restrictive, yet it should still change up to 4,1 on OSX on Qt5.
11 years ago
archshift 704075f04a Fixed indents 11 years ago
archshift c1b770cc0d OpenGL 3+ on OSX with GLFW 11 years ago
bunnei 5d95bb9843 cleaned up some logging messages 11 years ago
bunnei de0a034a84 fixed project includes to use new directory structure 11 years ago
bunnei 63e46abdb8 got rid of 'src' folders in each sub-project 11 years ago