1#ifndef _SDL_GPU_GLES_2_H__
2#define _SDL_GPU_GLES_2_H__
5#include "SDL_platform.h"
7#if !defined(SDL_GPU_DISABLE_GLES) && !defined(SDL_GPU_DISABLE_GLES_2)
10 #include <OpenGLES/ES2/gl.h>
11 #include <OpenGLES/ES2/glext.h>
13 #include "GLES2/gl2.h"
14 #include "GLES2/gl2ext.h"
17 #define glVertexAttribI1i glVertexAttrib1f
18 #define glVertexAttribI2i glVertexAttrib2f
19 #define glVertexAttribI3i glVertexAttrib3f
20 #define glVertexAttribI4i glVertexAttrib4f
21 #define glVertexAttribI1ui glVertexAttrib1f
22 #define glVertexAttribI2ui glVertexAttrib2f
23 #define glVertexAttribI3ui glVertexAttrib3f
24 #define glVertexAttribI4ui glVertexAttrib4f
25 #define glMapBuffer glMapBufferOES
26 #define glUnmapBuffer glUnmapBufferOES
27 #define GL_WRITE_ONLY GL_WRITE_ONLY_OES
32#define GPU_CONTEXT_DATA ContextData_GLES_2
33#define GPU_IMAGE_DATA ImageData_GLES_2
34#define GPU_TARGET_DATA TargetData_GLES_2
37#define GPU_DEFAULT_TEXTURED_VERTEX_SHADER_SOURCE \
39precision highp float;\n\
40precision mediump int;\n\
42attribute vec2 gpu_Vertex;\n\
43attribute vec2 gpu_TexCoord;\n\
44attribute mediump vec4 gpu_Color;\n\
45uniform mat4 gpu_ModelViewProjectionMatrix;\n\
47varying mediump vec4 color;\n\
48varying vec2 texCoord;\n\
53 texCoord = vec2(gpu_TexCoord);\n\
54 gl_Position = gpu_ModelViewProjectionMatrix * vec4(gpu_Vertex, 0.0, 1.0);\n\
58#define GPU_DEFAULT_UNTEXTURED_VERTEX_SHADER_SOURCE \
60precision highp float;\n\
61precision mediump int;\n\
63attribute vec2 gpu_Vertex;\n\
64attribute mediump vec4 gpu_Color;\n\
65uniform mat4 gpu_ModelViewProjectionMatrix;\n\
67varying mediump vec4 color;\n\
72 gl_Position = gpu_ModelViewProjectionMatrix * vec4(gpu_Vertex, 0.0, 1.0);\n\
76#define GPU_DEFAULT_TEXTURED_FRAGMENT_SHADER_SOURCE \
78#ifdef GL_FRAGMENT_PRECISION_HIGH\n\
79precision highp float;\n\
81precision mediump float;\n\
83precision mediump int;\n\
85varying mediump vec4 color;\n\
86varying vec2 texCoord;\n\
88uniform sampler2D tex;\n\
92 gl_FragColor = texture2D(tex, texCoord) * color;\n\
95#define GPU_DEFAULT_UNTEXTURED_FRAGMENT_SHADER_SOURCE \
97#ifdef GL_FRAGMENT_PRECISION_HIGH\n\
98precision highp float;\n\
100precision mediump float;\n\
102precision mediump int;\n\
104varying mediump vec4 color;\n\
108 gl_FragColor = color;\n\
116 SDL_Color last_color;
117 GPU_bool last_use_texturing;
118 unsigned int last_shape;
119 GPU_bool last_use_blending;
123 GPU_bool last_camera_inverted;
125 GPU_bool last_depth_test;
126 GPU_bool last_depth_write;
131 unsigned short blit_buffer_num_vertices;
132 unsigned short blit_buffer_max_num_vertices;
133 unsigned short* index_buffer;
134 unsigned int index_buffer_num_vertices;
135 unsigned int index_buffer_max_num_vertices;
138 unsigned int blit_VBO[2];
139 unsigned int blit_IBO;
140 GPU_bool blit_VBO_flop;
143 unsigned int attribute_VBO[16];
149 GPU_bool owns_handle;
GPU_ComparisonEnum
Definition: SDL_gpu.h:183
Definition: SDL_gpu_GLES_2.h:115
Definition: SDL_gpu.h:710
Definition: SDL_gpu.h:227
Definition: SDL_gpu.h:380
Definition: SDL_gpu.h:334
Definition: SDL_gpu.h:138
Definition: SDL_gpu_GLES_2.h:147
Definition: SDL_gpu_GLES_2.h:155