Thierry Crozat
1fd4dbfdce
SDL: Ignore outdated SDL resize event in OpenGL mode
...
Those outdated resize events are sent from SDL_DestroyWindow when the
window is fullscreen and doesn't have the SDL_WINDOW_FULLSCREEN_DESKTOP
flag (thus Surface SDL is not affected). Switching resolutions in fullscreen, or
switching from fullscreen to windowed will therefore cause a resize event to
be received with the former fullscreen resolution after we have already setup
the window to use the new resolution. If we don't ignore this event we end up
with a texture size and a window size that are not consistent and for example
see only a part of the texture (if the old resolution is bigger than the new one.
2016-09-18 04:23:37 +01:00
Thierry Crozat
2d651fd0f4
OPENGL: Fix dereferencing null pointer in OpenGLGraphicsManager
...
This fixes a crash when calling displayActivityIconOnOSD with a
NULL icon, which is used to remove the current activity icon.
2016-09-13 22:58:13 +01:00
Bastien Bouclet
0802bbd8ee
OSYSTEM: Remove the API allowing to draw to the OSD surface directly
2016-09-13 20:41:26 +02:00
Bastien Bouclet
9cbaad6140
SDL: Switch the OpenGL renderer to use small textures to draw the OSD
2016-09-13 20:41:26 +02:00
Bastien Bouclet
05bc82b622
SDL: Switch the surface renderer to use small surfaces for OSD drawing
2016-09-13 20:33:42 +02:00
Bastien Bouclet
521ba2cb8a
OSYSTEM: Introduce a method allowing to draw a background activity icon
2016-09-13 20:25:13 +02:00
Thierry Crozat
a8cb3c8404
OPENGL: Implement getOSDFormat and copyRectToOSD
2016-09-05 21:40:45 +01:00
Thierry Crozat
65d3c15b01
OPENGL: Add missing USE_OSD defined checks around OSD code
2016-09-05 21:21:32 +01:00
Eugene Sandulenko
8e8199f6af
LINUXMOTO: Fix OSD performance when OSD is not drawn
2016-09-03 21:30:55 +02:00
Eugene Sandulenko
57ae1cb89d
GPH: Fix OSD performance when OSD is not drawn
2016-09-03 21:30:40 +02:00
Eugene Sandulenko
c2f5c48068
DINGUX: Fix OSD performance when OSD is not drawn
2016-09-03 21:30:04 +02:00
Eugene Sandulenko
b8ee5322f4
JANITORIAL: Remove trailing whitespaces
2016-09-03 21:20:16 +02:00
Eugene Sandulenko
7910123446
SDL: Optimize OSD drawing
2016-09-03 21:20:02 +02:00
Eugene Sandulenko
e93b52416f
LINUXMOTO: Adapt to OSD changes
2016-09-03 10:18:47 +02:00
Eugene Sandulenko
58096d909f
GPH: Fix formatting
2016-09-03 10:18:47 +02:00
Eugene Sandulenko
2fa97f20e8
DINGUX: Adapt to new OSD changes
2016-09-03 10:18:47 +02:00
Eugene Sandulenko
2d39f75b7d
GPH: Attempt to fix OSD
2016-09-02 23:57:13 +02:00
Willem Jan Palenstijn
d60879b535
SDL: Fix const cast
2016-08-30 21:52:27 +02:00
Alexander Tkachev
91f75efa99
GUI: Fix copyRectOnOSD()
...
Now it doesn't require full redraw, but asks to redraw the area which is
copied to.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
de84701aea
GUI: Separate OSD message alpha from OSD surface
...
Now OSD is always drawn.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
1b9987ddc9
GUI: Add getOSDFormat() and make OSD 32 bpp
2016-08-24 16:07:55 +06:00
Alexander Tkachev
2a15b8b280
GUI: Add clearOSD() method
...
So one can erase everything from OSD and then blit something on it.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
7ff1f91808
GUI: Add copyRectToOSD()
...
I was lazy to implement that in OpenGLGraphicsManager and I'm not sure
it's implemented correctly in SurfaceSdlGraphicsManager, but it works
for me.
2016-08-24 16:07:55 +06:00
Ori Avtalion
4d120800fa
ALL: Don't use 'defined' in macro definitions
...
This is undefined behavior and clang warns about it.
See <http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160118/147239.html >.
2016-07-23 16:18:51 +03:00
Ben Castricum
da55658a80
SDL: Fix mouse trailing part of bug #7141
...
Overlays are shown with _currentShakePos offset too, so no need to
compensate the mousepointer position for overlays. This compensation
was done inconsistently in draw/undraw mouse causing the mouse trails.
2016-07-01 08:26:03 +02:00
lubomyr
961976f17e
ANDROIDSDL: add androidsdl backend
2016-05-19 20:33:27 +02:00
Johannes Schickel
8ff5329b49
OPENGL: Assure color attributes for shader pipeline are always set.
2016-05-03 20:43:18 +02:00
Eugene Sandulenko
050a1cd605
OPENGL: Fix potential crash
2016-05-02 15:19:07 +02:00
Eugene Sandulenko
3e568910c8
GCW0: Disable triple buffering.
...
Too many artifacts. It is not possible with current ScummVM
drawing approaches.
2016-04-10 16:36:42 +02:00
Eugene Sandulenko
a7930f2af7
GCW0: Enable triple buffering
2016-04-10 15:09:14 +02:00
Eugene Sandulenko
39dc1dd2e1
GCW0: Enable building with all scalers disabled
2016-04-10 14:06:34 +02:00
Johannes Schickel
8161effc68
OPENGL: Add assertions to check for valid attribute state.
2016-03-23 22:37:16 +01:00
Johannes Schickel
2ebffd2da5
OPENGL: Fix black screen for some GL implementations with shaders.
...
For compatibility location 0 is used to decide whether fixed function style
vertex information is used in old GL contexts. In some cases drivers might
assign the color information to be passed through attribute 0. This caused
the array attribute status for location 0 to be disabled and resulted in
wrong vertex data to be used.
2016-03-23 22:30:25 +01:00
Johannes Schickel
6b2424b635
OPENGL: Log extensions available on debuglevel 5+.
2016-03-16 21:03:43 +01:00
Johannes Schickel
b7a269947f
OPENGL: Flag texture dirty on allocation.
2016-03-16 20:29:31 +01:00
Johannes Schickel
17b1124a5a
OPENGL: Do not keep uniform state for nonexistent uniforms.
2016-03-16 20:29:31 +01:00
Johannes Schickel
1e1272a8c4
OPENGL: Store logical texture dimensions in GLTexture.
2016-03-16 20:29:31 +01:00
Johannes Schickel
2b3340474e
OPENGL: Introduce convenience wrappers for get*Location in Shader.
2016-03-16 20:29:31 +01:00
Johannes Schickel
39100b6132
OPENGL: Do not hardcode any uniform/attribute handling in Shader.
2016-03-16 20:29:31 +01:00
Johannes Schickel
baca885cfc
OPENGL: Let Shader store the uniform state.
2016-03-16 20:29:31 +01:00
Johannes Schickel
6dacc96d1f
OPENGL: Only set projection matrix once on pipeline activation.
2016-03-16 20:29:31 +01:00
Johannes Schickel
8b80e9d36c
OPENGL: Properly deactivate old pipeline.
2016-03-16 20:29:31 +01:00
Johannes Schickel
3f9852eb20
OPENGL: Make shader pipelines use fixed shaders.
2016-03-16 20:29:31 +01:00
Johannes Schickel
26f106497a
OPENGL: Implement CLUT8 look up as Pipeline.
2016-03-16 20:29:30 +01:00
Johannes Schickel
8a4938f82b
OPENGL: Move pipeline code to pipelines/.
2016-03-16 20:29:30 +01:00
Johannes Schickel
bec2088d6c
OPENGL: Only allow Pipeline to switch active Framebuffers.
2016-03-16 20:29:30 +01:00
Johannes Schickel
ed6689d4fc
OPENGL: Do not allow direct access to Context::activePipeline.
2016-03-16 20:29:27 +01:00
Johannes Schickel
b17c035642
OPENGL: Implement texture drawing in Pipeline instead of Surface.
2016-03-16 20:29:27 +01:00
Johannes Schickel
0fe580d10c
OPENGL: Make shader/framebuffer part of pipeline state.
2016-03-16 20:29:27 +01:00
Johannes Schickel
0b46af2f0e
OPENGL: Don't prefix maxTextureSize variable for consistency.
2016-03-16 20:29:27 +01:00