aboutsummaryrefslogtreecommitdiff
path: root/backends/graphics
AgeCommit message (Collapse)Author
2016-03-16OPENGL: Handle destruction gracefully when no context is setup.Johannes Schickel
2016-03-16OPENGL: Add support for shaders with GL contexts.Johannes Schickel
2016-03-16OPENGL: Reset context description on context destroy.Johannes Schickel
2016-03-16OPENGL: Reset full context structure.Johannes Schickel
2016-03-16OPENGL: Support GLES2 contexts.Johannes Schickel
2016-03-16OPENGL: Typo.Johannes Schickel
2016-03-16OPENGL: Simplify orthogonal projection setup.Johannes Schickel
2016-03-16OPENGLSDL: Slight cleanup.Johannes Schickel
2016-03-16OPENGL: Simplify context type setting.Johannes Schickel
2016-03-16OPENGLSDL: Try to use GL(ES) context SDL2 defaults to.Johannes Schickel
2016-03-16OPENGL: Support RGB555 for OpenGL ES output.Johannes Schickel
This mode should *not* be used by any new engines/code. If someone is going to use it and says it works with the OpenGL output, please make them wear a red uniform and beam them onto a remote planet.
2016-03-16OPENGL: Allow runtime specification of OpenGL mode.Johannes Schickel
Formerly, we required that the OpenGL mode was fixed at compile time. Now we allow the code to work with whatever it is given at runtime. It is still possible to force a context type on compile time.
2016-03-16OPENGL: Remove support for ARGB8888.Johannes Schickel
This used to be used by Sword25. Since it is not supported by GLES and no engine code uses it we drop support. Hopefully, this helps people to realize they should not use that format in their engine.
2016-03-16OPENGL: Rename GLCALL to GL_CALL.Johannes Schickel
2016-03-16OPENGL: Resolve OpenGL functions on run-time.Johannes Schickel
Formerly we relied on static linkage. However, in the presense of modern OpenGL (ES) implementations it is not easily identifable which library to link against. For example, on Linux amd64 with nVidia drivers and SDL2 setup to create a GLES 1.1 context one would need to link against libGL.so. However, traditionally GLES 1.1 required to link against libGLESv1_CM.so. To prevent a huge mess we simply resolve the OpenGL functions on run-time now and stop linking against a static library (in most cases). GLES support needs to be enabled manually on configure time for now. Tizen changes have NOT been tested.
2016-03-16OPENGL: Define GLCALL in opengl-sys.h.Johannes Schickel
debug.h is now always included and all calls should be made through GLCALL.
2016-03-16OPENGL: Add functionality to query OpenGL functions on runtime.Johannes Schickel
This can and will be used for future extension usage support. Tizen changes have been untested.
2016-03-16OPENGL: Refactor GL extension handling slightly.Johannes Schickel
2016-02-17SDL: Work around bug #7038 by limiting mode reset to Win32.Johannes Schickel
Bug is: "IRIX: X BadMatch when trying to start any 640x480 game". 40e019efd45a02261a7dbc69ceaa9188d8c7a269 introduced resetting the pixel depth when unloading modes for SDL output. This was required to make mode listing for OpenGL work on Win8+. This causes issues on non-Win32 platforms though. SDL might not give us a valid a pixel depth, causing the resetting to fail. A particular example is X11 on IRIX, when only 16bit output modes work. Initially SDL tells us that the pixel depth is 32bit. Trying to set this up causes a crash though. Since there is no way to validate SDL's return value, we simply limit the reset to platforms where it is actually required, i.e. Win32.
2015-12-18SDL: Implement initial support for resizable window with SDL2.Johannes Schickel
The code is disabled for now.
2015-12-14OPENGL: Smooth mouse experience when black bars are visible.Johannes Schickel
This gets rid of the feeling of the mouse sticking to black borders by using the full output resolution as area for tracking game mouse movement. The same behavior is present in plain SDL output with SDL2.
2015-12-13OPENGLSDL: Set proper mouse emulation dimensions.Johannes Schickel
Formerly we did not initialize the mouse emulation from SdlEventSource properly. Now hopefully joysticks etc. should work fine with the SDL OpenGL output too.
2015-12-13SDL: Fix mouse emulation with SDL2.Johannes Schickel
The mouse emulation via keyboard (or other means) was broken with 079037b73990b6107e59c7f1cd971c3a1cc221d1.
2015-12-13OPENGL: Limit scissor override to invisible overlay.Johannes Schickel
This fixes some corner cases which caused black bars to appear for a few screen updates when the overlay is visible.
2015-12-13SDL: Fix warpMouse for SDL2.Johannes Schickel
Thanks to bgK for noticing.
2015-12-12OPENGL: Implement black borders using scissor test.Johannes Schickel
2015-12-12OPENGL: Only redraw screen when actual changes happened.Johannes Schickel
2015-12-12OPENGL: Refactor screen refresh handling.Johannes Schickel
Subclasses of OpenGLGraphicsManager are now supposed to supply a refreshScreen function which handles actual screen updating (for example, buffer swapping).
2015-12-12OPENGL: Fix include guard name.Johannes Schickel
2015-12-08Merge branch 'rpi-sdl2'Johannes Schickel
This is a manual merge of pull request #632. The history fo the PR has been cleaned up.
2015-12-08SDL/DISPMANX: Remove dispmanx graphics output.vanfanel
2015-12-08OPENGLSDL: Request GLES1.1 context with SDL2 for GLES targets.vanfanel
2015-12-08SDL: Prevent cursor from leaving screen area in fullscreen with SDL2.Johannes Schickel
2015-12-08SDL: Prevent graphics stretching in fullscreen when using SDL2.Johannes Schickel
As a side effect we get better coordinates from mouse move events in fullscreen, i.e. we do not get actual window coordinates but something close to actual viewport coordinates. The easily noticable issue is that mouse coordinates inside black bars are outside of the viewport. For example, the x coordinate can get negative when there's a black bar at the left side.
2015-11-12SDL/DISPMANX Fixed small issues with merging: Use append_var, fix spacing ↵vanfanel
issues and changed SurfaceSdlGraphicsManager constructor call parameters on DispmanXSdlGraphicsManager constructor.
2015-11-11Merge branch 'master' into dispmanxvanfanel
2015-10-18SDL/DISPMANX Renamed the RASBERRYPI define to the less confusing name of ↵vanfanel
DISPMANX because it controls whether dispmanx rendering backend is enabled or not on the Raspberry Pi.
2015-07-24SDL/DISPMANX: Corrected hasFeature() return values and made ↵vanfanel
setFullScreenMode() ignore the enable value.
2015-07-24SDL/DISPMANX: Made minor corrections sugested by fingolfin.vanfanel
2015-07-22SDL/DISPMANX: Make hasFeature(kFeatureFullscreenMode) return false since ↵vanfanel
dispmanx graphics always run in accelerated fullscreen mode.
2015-07-22SDL/DISPMANX: Updated class member names, configure script and asociated ↵vanfanel
files and docs to conform to fingolfin's corrections.
2015-07-20SDL/DISPMANX: Updated rendering code for better buffers management.vanfanel
2015-07-20RASPBERRYPI: Changed the RGB code for the game screen surface and added ↵vanfanel
RaspberryPi information file.
2015-07-20RASPBERRYPI: Rewrote buffering code of the dispmanx graphics driver for ↵vanfanel
stability.
2015-07-20RASPBERRYPI: Corrected redundant for loop on the dispmanx graphics driver code.vanfanel
2015-07-20RASPBERRYPI: Fixed variable names, removed gcc optimization flags, temporary ↵vanfanel
decrease buffers to 2.
2015-05-20SDL: Fix compilation with SDL2.Johannes Schickel
2015-05-16SDL: Add TODO about fullscreen modes to OpenGL SDL code.Johannes Schickel
2015-05-16SDL: Restore the original video mode when unloading the Surface graphics managerLittleboy
We set a custom video mode that might have a different BPP from the default. To ensure that other graphics managers will get the proper results when listing available video modes, we need to restore the initial BPP when unloading. This fixes an issue when switching to OpenGL on Windows 8 and later. On those OSes, fullscreen OpenGL only has a 32bpp mode. It is correctly listed in the options but we call SLD_SetVideoMode later in the surface graphics manager. When we list the mode again after a switch, the internally selected BPP is still 16 and we fail to find any available fullscreen modes.
2015-05-15SDL: Check for NULL when listing available modes via SDL_ListModesLittleboy
It can be returned when there are no dimensions available for the currently selected pixel format