src/video/emscripten/SDL_emscriptenopengles.h
author Sam Lantinga
Fri, 27 Jan 2017 21:23:27 -0800
changeset 10861 71d8f9afb690
parent 10737 3406a0f8b041
child 11382 2c50e79b19e0
permissions -rw-r--r--
Fixed bug 3569 - GL_UpdateViewport leaves PROJECTION matrix selected

Tom Seddon

GL_ActivateRenderer may call GL_UpdateViewport, which leaves the GL_PROJECTION matrix selected. But after GL_ResetState, the GL_MODELVIEW matrix is selected, suggesting that's the intended default state.

It seems at least like these should be consistent. Presumably GL_UpdateViewport should be doing a glMatrixMode(GL_MODELVIEW) before it finishes.
icculus@9278
     1
/*
icculus@9278
     2
  Simple DirectMedia Layer
slouken@10737
     3
  Copyright (C) 1997-2017 Sam Lantinga <slouken@libsdl.org>
icculus@9278
     4
icculus@9278
     5
  This software is provided 'as-is', without any express or implied
icculus@9278
     6
  warranty.  In no event will the authors be held liable for any damages
icculus@9278
     7
  arising from the use of this software.
icculus@9278
     8
icculus@9278
     9
  Permission is granted to anyone to use this software for any purpose,
icculus@9278
    10
  including commercial applications, and to alter it and redistribute it
icculus@9278
    11
  freely, subject to the following restrictions:
icculus@9278
    12
icculus@9278
    13
  1. The origin of this software must not be misrepresented; you must not
icculus@9278
    14
     claim that you wrote the original software. If you use this software
icculus@9278
    15
     in a product, an acknowledgment in the product documentation would be
icculus@9278
    16
     appreciated but is not required.
icculus@9278
    17
  2. Altered source versions must be plainly marked as such, and must not be
icculus@9278
    18
     misrepresented as being the original software.
icculus@9278
    19
  3. This notice may not be removed or altered from any source distribution.
icculus@9278
    20
*/
icculus@9278
    21
#include "../../SDL_internal.h"
icculus@9278
    22
icculus@9278
    23
#ifndef _SDL_emscriptenopengles_h
icculus@9278
    24
#define _SDL_emscriptenopengles_h
icculus@9278
    25
icculus@9278
    26
#if SDL_VIDEO_DRIVER_EMSCRIPTEN && SDL_VIDEO_OPENGL_EGL
icculus@9278
    27
icculus@9278
    28
#include "../SDL_sysvideo.h"
icculus@9278
    29
#include "../SDL_egl_c.h"
icculus@9278
    30
icculus@9278
    31
/* OpenGLES functions */
icculus@9278
    32
#define Emscripten_GLES_GetAttribute SDL_EGL_GetAttribute
icculus@9278
    33
#define Emscripten_GLES_GetProcAddress SDL_EGL_GetProcAddress
icculus@9278
    34
#define Emscripten_GLES_UnloadLibrary SDL_EGL_UnloadLibrary
icculus@9278
    35
#define Emscripten_GLES_SetSwapInterval SDL_EGL_SetSwapInterval
icculus@9278
    36
#define Emscripten_GLES_GetSwapInterval SDL_EGL_GetSwapInterval
icculus@9278
    37
icculus@9278
    38
extern int Emscripten_GLES_LoadLibrary(_THIS, const char *path);
icculus@9278
    39
extern void Emscripten_GLES_DeleteContext(_THIS, SDL_GLContext context);
icculus@9278
    40
extern SDL_GLContext Emscripten_GLES_CreateContext(_THIS, SDL_Window * window);
slouken@10695
    41
extern int Emscripten_GLES_SwapWindow(_THIS, SDL_Window * window);
icculus@9278
    42
extern int Emscripten_GLES_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context);
icculus@9278
    43
extern void Emscripten_GLES_GetDrawableSize(_THIS, SDL_Window * window, int * w, int * h);
icculus@9278
    44
icculus@9278
    45
#endif /* SDL_VIDEO_DRIVER_EMSCRIPTEN && SDL_VIDEO_OPENGL_EGL */
icculus@9278
    46
icculus@9278
    47
#endif /* _SDL_emscriptenopengles_h */
icculus@9278
    48
icculus@9278
    49
/* vi: set ts=4 sw=4 expandtab: */