SDL_gpu  0.11.0
A hardware-accelerated, cross-platform 2D graphics API
renderer_GLES_2.c
Go to the documentation of this file.
1 #include "SDL_gpu_GLES_2.h"
2 #include "SDL_gpu_RendererImpl.h"
3 
4 
5 #if defined(SDL_GPU_DISABLE_GLES) || defined(SDL_GPU_DISABLE_GLES_2)
6 
7 // Dummy implementations
9 void GPU_FreeRenderer_GLES_2(GPU_Renderer* renderer) {}
10 
11 #else
12 
13 
14 // Most of the code pulled in from here...
15 #define SDL_GPU_USE_GLES
16 #define SDL_GPU_GL_TIER 3
17 #define SDL_GPU_GLES_MAJOR_VERSION 2
18 #define SDL_GPU_GLSL_VERSION 100
19 
20 #define SDL_GPU_USE_BUFFER_PIPELINE
21 #ifdef __IPHONEOS__
22  #define SDL_GPU_USE_BUFFER_RESET
23 #endif
24 #define SDL_GPU_SKIP_ENABLE_TEXTURE_2D
25 #define SDL_GPU_ASSUME_SHADERS
26 #define SDL_GPU_DISABLE_TEXTURE_GETS
27 #define SDL_GPU_NO_VAO
28 
29 #include "renderer_GL_common.inl"
31 
32 
34 {
35  GPU_Renderer* renderer = (GPU_Renderer*)SDL_malloc(sizeof(GPU_Renderer));
36  if(renderer == NULL)
37  return NULL;
38 
39  memset(renderer, 0, sizeof(GPU_Renderer));
40 
41  renderer->id = request;
42  renderer->id.renderer = GPU_RENDERER_GLES_2;
44  renderer->min_shader_version = 100;
46 
47  renderer->default_image_anchor_x = 0.5f;
48  renderer->default_image_anchor_y = 0.5f;
49 
50  renderer->current_context_target = NULL;
51 
52  renderer->impl = (GPU_RendererImpl*)SDL_malloc(sizeof(GPU_RendererImpl));
53  memset(renderer->impl, 0, sizeof(GPU_RendererImpl));
54  SET_COMMON_FUNCTIONS(renderer->impl);
55 
56  return renderer;
57 }
58 
60 {
61  if(renderer == NULL)
62  return;
63 
64  SDL_free(renderer->impl);
65  SDL_free(renderer);
66 }
67 
68 
69 #endif
#define SDL_GPU_GLSL_VERSION
GPU_RendererID id
Definition: SDL_gpu.h:648
GPU_Renderer * GPU_CreateRenderer_GLES_2(GPU_RendererID request)
int max_shader_version
Definition: SDL_gpu.h:655
GPU_Target * current_context_target
Definition: SDL_gpu.h:659
GPU_ShaderLanguageEnum shader_language
Definition: SDL_gpu.h:653
#define SET_COMMON_FUNCTIONS(impl)
void GPU_FreeRenderer_GLES_2(GPU_Renderer *renderer)
float default_image_anchor_y
Definition: SDL_gpu.h:666
int min_shader_version
Definition: SDL_gpu.h:654
struct GPU_RendererImpl * impl
Definition: SDL_gpu.h:668
float default_image_anchor_x
Definition: SDL_gpu.h:665
GPU_RendererEnum renderer
Definition: SDL_gpu.h:122