mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-26 03:30:46 +00:00
A couple of jwzgles fixes for mobile, from a newer version of xscreensaver. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5655 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
101940d727
commit
b999c714ba
1 changed files with 31 additions and 38 deletions
|
@ -279,14 +279,14 @@ static jwzgles_state *state = 0;
|
||||||
# define LOG5(A,B,C,D,E,F) LOGD("jwzgles: " A "\n",B,C,D,E,F)
|
# define LOG5(A,B,C,D,E,F) LOGD("jwzgles: " A "\n",B,C,D,E,F)
|
||||||
# define LOG6(A,B,C,D,E,F,G) LOGD("jwzgles: " A "\n",B,C,D,E,F,G)
|
# define LOG6(A,B,C,D,E,F,G) LOGD("jwzgles: " A "\n",B,C,D,E,F,G)
|
||||||
# define LOG7(A,B,C,D,E,F,G,H) LOGD("jwzgles: " A "\n",B,C,D,E,F,G,H)
|
# define LOG7(A,B,C,D,E,F,G,H) LOGD("jwzgles: " A "\n",B,C,D,E,F,G,H)
|
||||||
# define LOG8(A,B,C,D,E,F,G,H,I)\
|
# define LOG8(A,B,C,D,E,F,G,H,I) \
|
||||||
LOGD("jwzgles: "A "\n",B,C,D,E,F,G,H,I)
|
LOGD("jwzgles: " A "\n",B,C,D,E,F,G,H,I)
|
||||||
# define LOG9(A,B,C,D,E,F,G,H,I,J)\
|
# define LOG9(A,B,C,D,E,F,G,H,I,J) \
|
||||||
LOGD("jwzgles: "A "\n",B,C,D,E,F,G,H,I,J)
|
LOGD("jwzgles: " A "\n",B,C,D,E,F,G,H,I,J)
|
||||||
# define LOG10(A,B,C,D,E,F,G,H,I,J,K)\
|
# define LOG10(A,B,C,D,E,F,G,H,I,J,K) \
|
||||||
LOGD("jwzgles: "A "\n",B,C,D,E,F,G,H,I,J,K)
|
LOGD("jwzgles: " A "\n",B,C,D,E,F,G,H,I,J,K)
|
||||||
# define LOG17(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R)\
|
# define LOG17(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R) \
|
||||||
LOGD("jwzgles: "A "\n",B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R)
|
LOGD("jwzgles: " A "\n",B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R)
|
||||||
# define CHECK(S) check_gl_error(S)
|
# define CHECK(S) check_gl_error(S)
|
||||||
#else
|
#else
|
||||||
static inline void jklmnop_donothing(void) { };
|
static inline void jklmnop_donothing(void) { };
|
||||||
|
@ -2955,7 +2955,7 @@ jwzgles_glTexImage2D (GLenum target,
|
||||||
GLenum type,
|
GLenum type,
|
||||||
const GLvoid *data)
|
const GLvoid *data)
|
||||||
{
|
{
|
||||||
GLvoid *d2 = NULL;
|
GLvoid *d2 = (GLvoid *) data;
|
||||||
Assert (!state->compiling_verts, "glTexImage2D not allowed inside glBegin");
|
Assert (!state->compiling_verts, "glTexImage2D not allowed inside glBegin");
|
||||||
Assert (!state->compiling_list, /* technically legal, but stupid! */
|
Assert (!state->compiling_list, /* technically legal, but stupid! */
|
||||||
"glTexImage2D not allowed inside glNewList");
|
"glTexImage2D not allowed inside glNewList");
|
||||||
|
@ -2974,7 +2974,7 @@ jwzgles_glTexImage2D (GLenum target,
|
||||||
/* GLES does not let us omit the data pointer to create a blank texture. */
|
/* GLES does not let us omit the data pointer to create a blank texture. */
|
||||||
if (! data)
|
if (! data)
|
||||||
{
|
{
|
||||||
data = d2 = (GLvoid *) calloc (1, width * height * sizeof(GLfloat) * 4);
|
d2 = (GLvoid *) calloc (1, width * height * sizeof(GLfloat) * 4);
|
||||||
Assert (d2, "out of memory");
|
Assert (d2, "out of memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2987,12 +2987,12 @@ jwzgles_glTexImage2D (GLenum target,
|
||||||
LOG10 ("direct %-12s %s %d %s %d %d %d %s %s 0x%lX", "glTexImage2D",
|
LOG10 ("direct %-12s %s %d %s %d %d %d %s %s 0x%lX", "glTexImage2D",
|
||||||
mode_desc(target), level, mode_desc(internalFormat),
|
mode_desc(target), level, mode_desc(internalFormat),
|
||||||
width, height, border, mode_desc(format), mode_desc(type),
|
width, height, border, mode_desc(format), mode_desc(type),
|
||||||
(unsigned long) data);
|
(unsigned long) d2);
|
||||||
glTexImage2D (target, level, internalFormat, width, height, border,
|
glTexImage2D (target, level, internalFormat, width, height, border,
|
||||||
format, type, data); /* the real one */
|
format, type, d2); /* the real one */
|
||||||
CHECK("glTexImage2D");
|
CHECK("glTexImage2D");
|
||||||
|
|
||||||
free (d2);
|
if (d2 != data) free (d2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -3258,7 +3258,7 @@ jwzgles_gluBuild2DMipmaps (GLenum target,
|
||||||
int w2 = to_pow2(width);
|
int w2 = to_pow2(width);
|
||||||
int h2 = to_pow2(height);
|
int h2 = to_pow2(height);
|
||||||
|
|
||||||
void *d2 = NULL;
|
void *d2 = (void *) data;
|
||||||
|
|
||||||
/* OpenGLES no longer supports "4" as a synonym for "RGBA". */
|
/* OpenGLES no longer supports "4" as a synonym for "RGBA". */
|
||||||
switch (internalFormat) {
|
switch (internalFormat) {
|
||||||
|
@ -3283,10 +3283,10 @@ jwzgles_gluBuild2DMipmaps (GLenum target,
|
||||||
int ibpl = istride * width;
|
int ibpl = istride * width;
|
||||||
int obpl = ostride * w2;
|
int obpl = ostride * w2;
|
||||||
int oy;
|
int oy;
|
||||||
const unsigned char *in = (const unsigned char *) data;
|
const unsigned char *in = (unsigned char *) data;
|
||||||
unsigned char *out = (unsigned char *) malloc (h2 * obpl);
|
unsigned char *out = (unsigned char *) malloc(h2 * obpl);
|
||||||
Assert (out, "out of memory");
|
Assert (out, "out of memory");
|
||||||
data = d2 = out;
|
d2 = out;
|
||||||
|
|
||||||
for (oy = 0; oy < h2; oy++)
|
for (oy = 0; oy < h2; oy++)
|
||||||
{
|
{
|
||||||
|
@ -3312,8 +3312,8 @@ jwzgles_gluBuild2DMipmaps (GLenum target,
|
||||||
}
|
}
|
||||||
|
|
||||||
jwzgles_glTexImage2D (target, 0, internalFormat, w2, h2, 0,
|
jwzgles_glTexImage2D (target, 0, internalFormat, w2, h2, 0,
|
||||||
format, type, data);
|
format, type, d2);
|
||||||
free (d2);
|
if (d2 != data) free (d2);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -3812,17 +3812,13 @@ jwzgles_glFrustum (GLfloat left, GLfloat right,
|
||||||
GLfloat bottom, GLfloat top,
|
GLfloat bottom, GLfloat top,
|
||||||
GLfloat near, GLfloat far)
|
GLfloat near, GLfloat far)
|
||||||
{
|
{
|
||||||
GLfloat const rlr = 1.f / (right - left);
|
|
||||||
GLfloat const tbr = 1.f / (top - bottom);
|
|
||||||
GLfloat const fnr = 1.f / (far - near);
|
|
||||||
|
|
||||||
GLfloat x = (2 * near) * rlr;
|
|
||||||
GLfloat a = (right + left) * rlr;
|
|
||||||
GLfloat y = (2 * near) * tbr;
|
|
||||||
GLfloat b = (top + bottom) * tbr;
|
|
||||||
GLfloat c = -(far + near) * fnr;
|
|
||||||
GLfloat d = -(2 * far * near) * fnr;
|
|
||||||
GLfloat m[16];
|
GLfloat m[16];
|
||||||
|
GLfloat x = (2 * near) / (right-left);
|
||||||
|
GLfloat y = (2 * near) / (top - bottom);
|
||||||
|
GLfloat a = (right + left) / (right - left);
|
||||||
|
GLfloat b = (top + bottom) / (top - bottom);
|
||||||
|
GLfloat c = -(far + near) / (far - near);
|
||||||
|
GLfloat d = -(2 * far * near) / (far - near);
|
||||||
|
|
||||||
# define M(X,Y) m[Y * 4 + X]
|
# define M(X,Y) m[Y * 4 + X]
|
||||||
M(0,0) = x; M(0,1) = 0; M(0,2) = a; M(0,3) = 0;
|
M(0,0) = x; M(0,1) = 0; M(0,2) = a; M(0,3) = 0;
|
||||||
|
@ -3841,15 +3837,12 @@ jwzgles_glOrtho (GLfloat left, GLfloat right,
|
||||||
GLfloat near, GLfloat far)
|
GLfloat near, GLfloat far)
|
||||||
{
|
{
|
||||||
GLfloat m[16];
|
GLfloat m[16];
|
||||||
GLfloat const rlr = 1.f/(right - left);
|
GLfloat a = 2 / (right - left);
|
||||||
GLfloat a = 2 * rlr;
|
GLfloat b = -(right + left) / (right - left);
|
||||||
GLfloat b = -(right + left) * rlr;
|
GLfloat c = 2 / (top - bottom);
|
||||||
GLfloat const tbr = 1.f/(top - bottom);
|
GLfloat d = -(top + bottom) / (top - bottom);
|
||||||
GLfloat c = 2 * tbr;
|
GLfloat e = -2 / (far - near);
|
||||||
GLfloat d = -(top + bottom) * tbr;
|
GLfloat f = -(far + near) / (far - near);
|
||||||
GLfloat const fnr = 1.f/(far - near);
|
|
||||||
GLfloat e = -2 * fnr;
|
|
||||||
GLfloat f = -(far + near) * fnr;
|
|
||||||
|
|
||||||
# define M(X,Y) m[Y * 4 + X]
|
# define M(X,Y) m[Y * 4 + X]
|
||||||
M(0,0) = a; M(0,1) = 0; M(0,2) = 0; M(0,3) = b;
|
M(0,0) = a; M(0,1) = 0; M(0,2) = 0; M(0,3) = b;
|
||||||
|
|
Loading…
Reference in a new issue