this repo has no description
1#include "SDL_gpu_OpenGL_2.h"
2#include "SDL_gpu_RendererImpl.h"
3
4
5#if defined(SDL_GPU_DISABLE_OPENGL) || defined(SDL_GPU_DISABLE_OPENGL_2)
6
7// Dummy implementations
8GPU_Renderer* GPU_CreateRenderer_OpenGL_2(GPU_RendererID request) {return NULL;}
9void GPU_FreeRenderer_OpenGL_2(GPU_Renderer* renderer) {}
10
11#else
12
13// Most of the code pulled in from here...
14#define SDL_GPU_USE_OPENGL
15#define SDL_GPU_USE_BUFFER_PIPELINE
16#define SDL_GPU_ASSUME_SHADERS
17#define SDL_GPU_GL_TIER 3
18#define SDL_GPU_GLSL_VERSION 120
19#define SDL_GPU_GL_MAJOR_VERSION 2
20#define SDL_GPU_NO_VAO
21
22#include "renderer_GL_common.inl"
23#include "renderer_shapes_GL_common.inl"
24
25
26GPU_Renderer* GPU_CreateRenderer_OpenGL_2(GPU_RendererID request)
27{
28 GPU_Renderer* renderer = (GPU_Renderer*)SDL_malloc(sizeof(GPU_Renderer));
29 if(renderer == NULL)
30 return NULL;
31
32 memset(renderer, 0, sizeof(GPU_Renderer));
33
34 renderer->id = request;
35 renderer->id.renderer = GPU_RENDERER_OPENGL_2;
36 renderer->shader_language = GPU_LANGUAGE_GLSL;
37 renderer->min_shader_version = 110;
38 renderer->max_shader_version = SDL_GPU_GLSL_VERSION;
39
40 renderer->current_context_target = NULL;
41
42 renderer->impl = (GPU_RendererImpl*)SDL_malloc(sizeof(GPU_RendererImpl));
43 memset(renderer->impl, 0, sizeof(GPU_RendererImpl));
44 SET_COMMON_FUNCTIONS(renderer->impl);
45
46 return renderer;
47}
48
49void GPU_FreeRenderer_OpenGL_2(GPU_Renderer* renderer)
50{
51 if(renderer == NULL)
52 return;
53
54 SDL_free(renderer);
55}
56
57
58#endif