aboutsummaryrefslogtreecommitdiff
path: root/backends/graphics
AgeCommit message (Collapse)Author
2016-03-23OPENGL: Fix black screen for some GL implementations with shaders.Johannes Schickel
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-16OPENGL: Log extensions available on debuglevel 5+.Johannes Schickel
2016-03-16OPENGL: Flag texture dirty on allocation.Johannes Schickel
2016-03-16OPENGL: Do not keep uniform state for nonexistent uniforms.Johannes Schickel
2016-03-16OPENGL: Store logical texture dimensions in GLTexture.Johannes Schickel
2016-03-16OPENGL: Introduce convenience wrappers for get*Location in Shader.Johannes Schickel
2016-03-16OPENGL: Do not hardcode any uniform/attribute handling in Shader.Johannes Schickel
2016-03-16OPENGL: Let Shader store the uniform state.Johannes Schickel
2016-03-16OPENGL: Only set projection matrix once on pipeline activation.Johannes Schickel
2016-03-16OPENGL: Properly deactivate old pipeline.Johannes Schickel
2016-03-16OPENGL: Make shader pipelines use fixed shaders.Johannes Schickel
2016-03-16OPENGL: Implement CLUT8 look up as Pipeline.Johannes Schickel
2016-03-16OPENGL: Move pipeline code to pipelines/.Johannes Schickel
2016-03-16OPENGL: Only allow Pipeline to switch active Framebuffers.Johannes Schickel
2016-03-16OPENGL: Do not allow direct access to Context::activePipeline.Johannes Schickel
2016-03-16OPENGL: Implement texture drawing in Pipeline instead of Surface.Johannes Schickel
2016-03-16OPENGL: Make shader/framebuffer part of pipeline state.Johannes Schickel
2016-03-16OPENGL: Don't prefix maxTextureSize variable for consistency.Johannes Schickel
2016-03-16OPENGL: 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-16OPENGL: Introduce ShaderManager to handle builtin shaders.Johannes Schickel
2016-03-16OPENGL: Introduce pipeline abstraction to cleanup code.Johannes Schickel
2016-03-16OPENGL: Support GLSL based CLUT8 look up for GLES2+.Johannes Schickel
2016-03-16OPENGL: 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-16OPENGL: Simplify shader support checks.Johannes Schickel
2016-03-16OPENGL: Keep feature state for all contexts and log them.Johannes Schickel
2016-03-16OPENGL: 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-16OPENGL: Accelerate palette lookups with shaders.Johannes Schickel
This currently is limited to GL contexts.
2016-03-16OPENGL: 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-16OPENGL: Cleanup. Remove Texture::getHardwareFormat.Johannes Schickel
2016-03-16OPENGL: Move color key handling for CLUT8 to TextureCLUT8.Johannes Schickel
2016-03-16OPENGL: Fix texture format for BGR565.Johannes Schickel
2016-03-16OPENGL: Move max texture size information to Context.Johannes Schickel
2016-03-16OPENGL: Create new abstraction for GL texture objects.Johannes Schickel
2016-03-16OPENGL: Remove (some) unused GL definitions.Johannes Schickel
2016-03-16OPENGLSDL: Request "standard" GL contexts.Johannes Schickel
Compatibility profiles only exist in modern OpenGL and we request an ancient version.
2016-03-16OPENGL: Unify shader implementation for GL and GLES2.Johannes Schickel
2016-03-16OPENGL: Slightly cleanup programmable pipeline handling.Johannes Schickel
2016-03-16OPENGL: (Partly) move context specific handling to Context.Johannes Schickel
This does not include (most) shader setup, and projection matrices yet.
2016-03-16OPENGL: Make Context::reset explicitly reset state.Johannes Schickel
2016-03-16OPENGL: Slight simplifcation for opengl-func.h usage.Johannes Schickel
2016-03-16OPENGLSDL: Destroy GL context on exit with SDL2.Johannes Schickel
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