Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-03-16 | OPENGL: Implement texture drawing in Pipeline instead of Surface. | Johannes Schickel | |
2016-03-16 | OPENGL: Make shader/framebuffer part of pipeline state. | Johannes Schickel | |
2016-03-16 | OPENGL: Don't prefix maxTextureSize variable for consistency. | Johannes Schickel | |
2016-03-16 | OPENGL: Introduce abstraction for framebuffer. | Johannes Schickel | |
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 | OPENGL: Introduce ShaderManager to handle builtin shaders. | Johannes Schickel | |
2016-03-16 | OPENGL: Introduce pipeline abstraction to cleanup code. | Johannes Schickel | |
2016-03-16 | OPENGL: Support GLSL based CLUT8 look up for GLES2+. | Johannes Schickel | |
2016-03-16 | OPENGL: Detect NPOT support for GLES. | Johannes Schickel | |
For GLES1+ there exists GL_OES_texture_npot, which indicates that there is NPOT support. GLES2 always had (limited) NPOT support, which is all we require, thus we always enable it. | |||
2016-03-16 | OPENGL: Simplify shader support checks. | Johannes Schickel | |
2016-03-16 | OPENGL: Keep feature state for all contexts and log them. | Johannes Schickel | |
2016-03-16 | OPENGL: Handle GLES2 and GL shaders uniformly. | Johannes Schickel | |
GLES2 requires precision qualifiers to be set and allows use of precision qualifiers. For GLES2 we define a default precision now. Since precision qualifiers are not supported in the GLSL version we use for GL, we introduce compatibility #defines. | |||
2016-03-16 | OPENGL: Accelerate palette lookups with shaders. | Johannes Schickel | |
This currently is limited to GL contexts. | |||
2016-03-16 | OPENGL: Introduce simple abstraction for surfaces. | Johannes Schickel | |
This is basically an interface extracted from Texture without any knowledge about any actual implementation, except for copyRectToTexture, fill, and dirty rect handling. These are convenient helpers. | |||
2016-03-16 | OPENGL: Cleanup. Remove Texture::getHardwareFormat. | Johannes Schickel | |
2016-03-16 | OPENGL: Move color key handling for CLUT8 to TextureCLUT8. | Johannes Schickel | |
2016-03-16 | OPENGL: Fix texture format for BGR565. | Johannes Schickel | |
2016-03-16 | OPENGL: Move max texture size information to Context. | Johannes Schickel | |
2016-03-16 | OPENGL: Create new abstraction for GL texture objects. | Johannes Schickel | |
2016-03-16 | OPENGL: Remove (some) unused GL definitions. | Johannes Schickel | |
2016-03-16 | OPENGLSDL: Request "standard" GL contexts. | Johannes Schickel | |
Compatibility profiles only exist in modern OpenGL and we request an ancient version. | |||
2016-03-16 | OPENGL: Unify shader implementation for GL and GLES2. | Johannes Schickel | |
2016-03-16 | OPENGL: Slightly cleanup programmable pipeline handling. | Johannes Schickel | |
2016-03-16 | OPENGL: (Partly) move context specific handling to Context. | Johannes Schickel | |
This does not include (most) shader setup, and projection matrices yet. | |||
2016-03-16 | OPENGL: Make Context::reset explicitly reset state. | Johannes Schickel | |
2016-03-16 | OPENGL: Slight simplifcation for opengl-func.h usage. | Johannes Schickel | |
2016-03-16 | OPENGLSDL: Destroy GL context on exit with SDL2. | Johannes Schickel | |
2016-03-16 | OPENGL: Handle destruction gracefully when no context is setup. | Johannes Schickel | |
2016-03-16 | OPENGL: Add support for shaders with GL contexts. | Johannes Schickel | |
2016-03-16 | OPENGL: Reset context description on context destroy. | Johannes Schickel | |
2016-03-16 | OPENGL: Reset full context structure. | Johannes Schickel | |
2016-03-16 | OPENGL: Support GLES2 contexts. | Johannes Schickel | |
2016-03-16 | OPENGL: Typo. | Johannes Schickel | |
2016-03-16 | OPENGL: Simplify orthogonal projection setup. | Johannes Schickel | |
2016-03-16 | OPENGLSDL: Slight cleanup. | Johannes Schickel | |
2016-03-16 | OPENGL: Simplify context type setting. | Johannes Schickel | |
2016-03-16 | OPENGLSDL: Try to use GL(ES) context SDL2 defaults to. | Johannes Schickel | |
2016-03-16 | OPENGL: 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-16 | OPENGL: 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-16 | OPENGL: 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-16 | OPENGL: Rename GLCALL to GL_CALL. | Johannes Schickel | |
2016-03-16 | OPENGL: 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-16 | OPENGL: Define GLCALL in opengl-sys.h. | Johannes Schickel | |
debug.h is now always included and all calls should be made through GLCALL. | |||
2016-03-16 | OPENGL: 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-16 | OPENGL: Refactor GL extension handling slightly. | Johannes Schickel | |
2016-02-17 | SDL: 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-18 | SDL: Implement initial support for resizable window with SDL2. | Johannes Schickel | |
The code is disabled for now. | |||
2015-12-14 | OPENGL: 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-13 | OPENGLSDL: 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-13 | SDL: Fix mouse emulation with SDL2. | Johannes Schickel | |
The mouse emulation via keyboard (or other means) was broken with 079037b73990b6107e59c7f1cd971c3a1cc221d1. | |||
2015-12-13 | OPENGL: 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. |