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
Johannes Schickel
ed6689d4fc
OPENGL: Do not allow direct access to Context::activePipeline.
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
Johannes Schickel
c4e65732be
OPENGL: Introduce abstraction for framebuffer.
...
This allows us to use various framebuffer settings easily. Now the GPU
accelerated CLUT8 surface implementation does not need to query former
framebuffer state anymore.
2016-03-16 20:29:26 +01:00
Johannes Schickel
f5f1b6eba0
OPENGL: Introduce pipeline abstraction to cleanup code.
2016-03-16 20:29:26 +01:00
Johannes Schickel
08553a09cf
OPENGL: Support GLSL based CLUT8 look up for GLES2+.
2016-03-16 20:29:26 +01:00
Johannes Schickel
397ce9b947
OPENGL: Keep feature state for all contexts and log them.
2016-03-16 20:29:26 +01:00
Johannes Schickel
e66e9e44d3
OPENGL: Accelerate palette lookups with shaders.
...
This currently is limited to GL contexts.
2016-03-16 20:29:26 +01:00
Johannes Schickel
9844d89231
OPENGL: Move max texture size information to Context.
2016-03-16 20:29:26 +01:00
Johannes Schickel
8a3eecb73a
OPENGL: Unify shader implementation for GL and GLES2.
2016-03-16 20:29:25 +01:00
Johannes Schickel
c7c870bf7f
OPENGL: (Partly) move context specific handling to Context.
...
This does not include (most) shader setup, and projection matrices yet.
2016-03-16 20:29:25 +01:00
Johannes Schickel
5752f125e1
OPENGL: Make Context::reset explicitly reset state.
2016-03-16 20:29:25 +01:00
Johannes Schickel
1802c939a1
OPENGL: Slight simplifcation for opengl-func.h usage.
2016-03-16 20:29:25 +01:00
Johannes Schickel
d029f16799
OPENGL: Handle destruction gracefully when no context is setup.
2016-03-16 20:29:25 +01:00
Johannes Schickel
fee1aa5502
OPENGL: Add support for shaders with GL contexts.
2016-03-16 20:29:25 +01:00
Johannes Schickel
fe88375ff3
OPENGL: Support GLES2 contexts.
2016-03-16 20:29:25 +01:00
Johannes Schickel
af727afe0c
OPENGL: Simplify context type setting.
2016-03-16 20:29:25 +01:00
Johannes Schickel
d6d3e17d53
OPENGL: Allow runtime specification of OpenGL mode.
...
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-16 20:29:25 +01:00
Johannes Schickel
e11f4df111
OPENGL: Rename GLCALL to GL_CALL.
2016-03-16 20:29:24 +01:00
Johannes Schickel
4a781737c1
OPENGL: Resolve OpenGL functions on run-time.
...
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-16 20:29:24 +01:00
Johannes Schickel
b3b3d37e3b
OPENGL: Define GLCALL in opengl-sys.h.
...
debug.h is now always included and all calls should be made through GLCALL.
2016-03-16 20:29:24 +01:00
Johannes Schickel
8f3783da09
OPENGL: Add functionality to query OpenGL functions on runtime.
...
This can and will be used for future extension usage support.
Tizen changes have been untested.
2016-03-16 20:29:24 +01:00
Johannes Schickel
3232050dfc
OPENGL: Fix include guard name.
2015-12-12 22:31:35 +01:00
Johannes Schickel
46323074e7
OPENGL: Add new generic OpenGL (ES) backend.
...
This backend is based on ideas of the old OpenGL backend, of the Android GL
backend and of the iPhone GL backend.
2013-10-19 22:12:01 +02:00