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