Age | Commit message (Collapse) | Author |
|
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.
|
|
debug.h is now always included and all calls should be made through GLCALL.
|
|
|
|
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.
|
|
This fixes some corner cases which caused black bars to appear for a few screen
updates when the overlay is visible.
|
|
|
|
|
|
Subclasses of OpenGLGraphicsManager are now supposed to supply a refreshScreen
function which handles actual screen updating (for example, buffer swapping).
|
|
|
|
visible.
|
|
|
|
|
|
|
|
The reason here is that GL_UNSIGNED_INT_8_8_8_8 is not supported by the GLES
standard. Thus we cannot use it outside OpenGL specific code paths.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is mostly aimed at old graphics chips. For example, wjp's old laptop
only supports 1024x1024 textures but has a 1280x800 screen. Switching to
fullscreen would create a bigger overlay than supported. Now it will get
limited to an smaller resolution and then scaled too.
Alternatively we could think of tiling surfaces into textures. But then
handling scaling would be more complicated since it might result in
artifacts on texture tile borders.
|
|
|
|
The hooking code is nearly exactly the old hooking code. Only the OpenGL SDL
creation has been adapted since it uses a different constructor now.
|
|
This backend is based on ideas of the old OpenGL backend, of the Android GL
backend and of the iPhone GL backend.
|
|
This breaks our Tizen port.
|
|
|
|
|
|
|
|
* It definately does not exist in the GLES implementations I can test with.
* Don't configure if USE_GLES is set.
|
|
pitch values.
This is a first step to get rid of OverlayColor, which is a requirement for
proper 4Bpp overlay support.
|
|
This is mainly for consistency with OSystem::copyRectToScreen.
|
|
*" as buffer.
This removes the need to convert the parameter to copyRectToScreen to
"const byte *", which is commonly used in games, which use Graphics::Surface
to store their graphics data.
|
|
logic.
All uses of the old target scale API actually wanted to disallow scaling of
the mouse cursor. This commit adapts our API to this and thus simplifies
backend implementations.
Some backends, most notable the Wii and Android, did some implementation of
the cursor target scale, which I didn't adapt yet. I added a TODO for the
porters there.
|
|
|
|
This was likely a hack to work around an alpha blending bug in the
gui vector renderer.
|
|
|
|
|
|
|
|
|
|
This should hopefully make sure we are always having the correct alignment set
up. This might fix bug #3435655 "OpenGL display corruption with various Sierra
games Daily B.".
|
|
|
|
|
|
Now only 320x200 and 640x400 will result in aspect ratio correction to be used
if the user requested it. This should fix some strechting in Myst/Riven.
|
|
This gets rid of the hacks, where SdlEventSource added events with custom type
numbers to pass SDL_VIDEOEXPOSE and SDL_VIDEORESIZE to the graphics manager.
Furthermore it get rids of the uninituitive and hard to trace way of assigning
the proper mouse coordinates to mouse related events. Formerly it passed the
real screen coordinates through the even dispatching api to the graphics
manager (at least hopefully ;-) and let that handle creating a new event with
the proper coordinates. Now instead SdlEventSource handles the proper
coordinate setup itself.
Since this is a behavior change and I can not test all the SDL based small
devices ports this commit might break compilation for them and more serve it
might also break mouse position behavior. If any of that occurs I am sorry
about it.
|
|
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
|
|
|