<html>
<body>
  <div id="body" style="background-color:#ffffff;" >
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head" style="border-bottom-width:1px;border-bottom-style:solid;" ><td class="headtd" style="padding:0;padding-top:.2em;" colspan="4">Commit in <b><tt>lxdream</tt></b></td></tr>
<tr><td><tt><a href="#file1">config.h.in</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+4</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-1</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">e606e65eaf54 -> 79bbd30363f4</td></tr>
<tr class="alt" style=";" ><td><tt><a href="#file2">configure</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+90</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-1</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">e606e65eaf54 -> 79bbd30363f4</td></tr>
<tr><td><tt><a href="#file3">configure.in</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+2</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-1</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">e606e65eaf54 -> 79bbd30363f4</td></tr>
<tr class="alt" style=";" ><td><tt>src/drivers/<a href="#file4">gl_fbo.c</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+28</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-28</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">e606e65eaf54 -> 79bbd30363f4</td></tr>
<tr><td><tt>src/pvr2/<a href="#file5">glutil.h</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+44</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">e606e65eaf54 -> 79bbd30363f4</td></tr>
<tr class="alt" style=";" ><td><tt>        /<a href="#file6">texcache.c</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+4</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-4</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">e606e65eaf54 -> 79bbd30363f4</td></tr>
<tr><td></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+172</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-35</td><td></td></tr>
</table>
<small id="info" style="color: #888888;" >6 modified files</small><br />
<pre class="comment" style="white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word;padding:4px;border:1px dashed #000000;background-color:#ffffdd;" >
Add wrangling for some of the core vs EXT/ARB versions of functions + macros
</pre>
<hr /><a name="file1" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>config.h.in</b></big> <small id="info" style="color: #888888;" >e606e65eaf54 -> 79bbd30363f4</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/config.h.in
+++ lxdream/config.h.in
@@ -106,8 +106,11 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > /* Have Color Clamp */
 #undef HAVE_OPENGL_CLAMP_COLOR
 
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+/* Have 2.0 framebuffer_object support */
+#undef HAVE_OPENGL_FBO
+
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > /* Have EXT_framebuffer_object support */
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#undef HAVE_OPENGL_FBO
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#undef HAVE_OPENGL_FBO<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >_EXT</span>
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
 /* Have 2.0 shader support */
 #undef HAVE_OPENGL_SHADER
</pre></div>
<hr /><a name="file2" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>configure</b></big> <small id="info" style="color: #888888;" >e606e65eaf54 -> 79bbd30363f4</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/configure
+++ lxdream/configure
@@ -11258,6 +11258,95 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > fi
 
 
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+{ echo "$as_me:$LINENO: checking for glGenFramebuffers" >&5
+echo $ECHO_N "checking for glGenFramebuffers... $ECHO_C" >&6; }
+if test "${ac_cv_func_glGenFramebuffers+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define glGenFramebuffers to an innocuous variant, in case <limits.h> declares glGenFramebuffers.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define glGenFramebuffers innocuous_glGenFramebuffers
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char glGenFramebuffers (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef glGenFramebuffers
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char glGenFramebuffers ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_glGenFramebuffers || defined __stub___glGenFramebuffers
+choke me
+#endif
+
+int
+main ()
+{
+return glGenFramebuffers ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_func_glGenFramebuffers=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_func_glGenFramebuffers=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_glGenFramebuffers" >&5
+echo "${ECHO_T}$ac_cv_func_glGenFramebuffers" >&6; }
+if test $ac_cv_func_glGenFramebuffers = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_OPENGL_FBO 1
+_ACEOF
+
+fi
+
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > { echo "$as_me:$LINENO: checking for glGenFramebuffersEXT" >&5
 echo $ECHO_N "checking for glGenFramebuffersEXT... $ECHO_C" >&6; }
 if test "${ac_cv_func_glGenFramebuffersEXT+set}" = set; then
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -11342,7 +11431,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > if test $ac_cv_func_glGenFramebuffersEXT = yes; then
 
 cat >>confdefs.h <<\_ACEOF
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#define HAVE_OPENGL_FBO 1
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#define HAVE_OPENGL_FBO<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >_EXT</span> 1
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > _ACEOF
 
 fi
</pre></div>
<hr /><a name="file3" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>configure.in</b></big> <small id="info" style="color: #888888;" >e606e65eaf54 -> 79bbd30363f4</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/configure.in
+++ lxdream/configure.in
@@ -286,7 +286,8 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > AM_CONDITIONAL(VIDEO_NSGL, [test "x$HAVE_NSGL" = "xyes"])
 
 dnl Check for optional (but highly desireable) OpenGL features
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-AC_CHECK_FUNC(glGenFramebuffersEXT, [ AC_DEFINE([HAVE_OPENGL_FBO],1,[Have EXT_framebuffer_object support]) ], [])
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+AC_CHECK_FUNC(glGenFramebuffers, [ AC_DEFINE([HAVE_OPENGL_FBO],1,[Have 2.0 framebuffer_object support]) ], [])
+AC_CHECK_FUNC(glGenFramebuffersEXT, [ AC_DEFINE([HAVE_OPENGL_FBO_EXT],1,[Have EXT_framebuffer_object support]) ], [])
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > AC_CHECK_FUNC(glCreateShader, [ AC_DEFINE([HAVE_OPENGL_SHADER],1,[Have 2.0 shader support]) ], [])
 AC_CHECK_FUNC(glCreateShaderObjectARB, [ AC_DEFINE([HAVE_OPENGL_SHADER_ARB],1,[Have ARB shader support]) ], [])
 AC_CHECK_FUNC(glClampColorARB, [ AC_DEFINE([HAVE_OPENGL_CLAMP_COLOR],1,[Have Color Clamp]) ], [])
</pre></div>
<hr /><a name="file4" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream/src/drivers</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>gl_fbo.c</b></big> <small id="info" style="color: #888888;" >e606e65eaf54 -> 79bbd30363f4</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/drivers/gl_fbo.c
+++ lxdream/src/drivers/gl_fbo.c
@@ -30,7 +30,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > #include "drivers/video_gl.h"
 #include "pvr2/glutil.h"
 
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#ifdef HAVE_OPENGL_FBO
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#if defined(HAVE_OPENGL_FBO) || defined(HAVE_OPENGL_FBO_EXT)
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
 #define MAX_FRAMEBUFFERS 2
 #define MAX_TEXTURES_PER_FB 16
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -62,7 +62,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > static gboolean gl_fbo_have_packed_stencil = FALSE;
 static struct gl_fbo_info fbo[MAX_FRAMEBUFFERS];
 
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#define ATTACHMENT_POINT(n) (GL_COLOR_ATTACHMENT0<span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >_EXT</span>+(n))
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#define ATTACHMENT_POINT(n) (GL_COLOR_ATTACHMENT0+(n))
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > static int last_used_fbo;
 
 gboolean gl_fbo_is_supported()
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -80,9 +80,9 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     GLuint fbids[MAX_FRAMEBUFFERS];
     GLuint rbids[MAX_FRAMEBUFFERS*2]; /* depth buffer, stencil buffer per fb */
 
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, &gl_fbo_max_attachments);
-    glGenFramebuffersEXT( MAX_FRAMEBUFFERS, &fbids[0] );
-    glGenRenderbuffersEXT( MAX_FRAMEBUFFERS*2, &rbids[0] );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS, &gl_fbo_max_attachments);
+    glGenFramebuffers( MAX_FRAMEBUFFERS, &fbids[0] );
+    glGenRenderbuffers( MAX_FRAMEBUFFERS*2, &rbids[0] );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     for( i=0; i<MAX_FRAMEBUFFERS; i++ ) {
         fbo[i].fb_id = fbids[i];
         fbo[i].depth_id = rbids[i*2];
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -114,28 +114,28 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     driver->read_render_buffer = gl_fbo_read_render_buffer;
 
     gl_fbo_test_framebuffer();
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    glBindFramebuffer(GL_FRAMEBUFFER, 0);
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 void gl_fbo_shutdown()
 {
     int i;
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, 0 );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    glBindFramebuffer( GL_FRAMEBUFFER, 0 );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     for( i=0; i<MAX_FRAMEBUFFERS; i++ ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-        glDeleteFramebuffersEXT( 1, &fbo[i].fb_id );
-        glDeleteRenderbuffersEXT( 2, &fbo[i].depth_id );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+        glDeleteFramebuffers( 1, &fbo[i].fb_id );
+        glDeleteRenderbuffers( 2, &fbo[i].depth_id );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     }
 }
 
 static void gl_fbo_setup_framebuffer( int bufno, int width, int height )
 {
     int i;
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo[bufno].fb_id);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    glBindFramebuffer(GL_FRAMEBUFFER, fbo[bufno].fb_id);
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
     /* Clear out any existing texture attachments */
     for( i=0; i<gl_fbo_max_attachments; i++ ) {
         if( fbo[bufno].tex_ids[i] != -1 ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-            glFramebufferTexture2D<span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >EXT(GL_FRAMEBUFFER_EXT</span>, ATTACHMENT_POINT(i),
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+            glFramebufferTexture2D<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >(GL_FRAMEBUFFER</span>, ATTACHMENT_POINT(i),
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >                     GL_TEXTURE_RECTANGLE_ARB, 0, 0);
             fbo[bufno].tex_ids[i] = -1;
         }
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -143,17 +143,17 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
     /* Setup the renderbuffers */
     if( gl_fbo_have_packed_stencil ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-        glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, fbo[bufno].depth_id);
-        glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH24_STENCIL8_EXT, width, height);
-        glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
-                                     GL_RENDERBUFFER_EXT, fbo[bufno].depth_id);
-        glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT,
-                                     GL_RENDERBUFFER_EXT, fbo[bufno].depth_id);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+        glBindRenderbuffer(GL_RENDERBUFFER, fbo[bufno].depth_id);
+        glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8_EXT, width, height);
+        glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
+                                     GL_RENDERBUFFER, fbo[bufno].depth_id);
+        glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
+                                     GL_RENDERBUFFER, fbo[bufno].depth_id);
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     } else {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-        glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, fbo[bufno].depth_id);
-        glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT24, width, height);
-        glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
-                                     GL_RENDERBUFFER_EXT, fbo[bufno].depth_id);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+        glBindRenderbuffer(GL_RENDERBUFFER, fbo[bufno].depth_id);
+        glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, width, height);
+        glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
+                                     GL_RENDERBUFFER, fbo[bufno].depth_id);
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         /* In theory you could attach a separate stencil buffer. In practice this 
          * isn't actually supported by any hardware I've had access to, so we're
          * stencil-less.
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -183,7 +183,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         last_used_fbo = bufno;
     }
     if( fbo[bufno].width == width && fbo[bufno].height == height ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-        glBindFramebuffer<span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >EXT( GL_FRAMEBUFFER_EXT</span>, fbo[bufno].fb_id );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+        glBindFramebuffer<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >( GL_FRAMEBUFFER</span>, fbo[bufno].fb_id );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     } else {
         gl_fbo_setup_framebuffer( bufno, width, height );
     } 
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -210,7 +210,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     }
     fbo[fbo_no].tex_ids[attach] = tex_id;
     glBindTexture( GL_TEXTURE_RECTANGLE_ARB, 0 ); // Ensure the output texture is unbound
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    glFramebufferTexture2D<span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >EXT(GL_FRAMEBUFFER_EXT</span>, ATTACHMENT_POINT(attach), 
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    glFramebufferTexture2D<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >(GL_FRAMEBUFFER</span>, ATTACHMENT_POINT(attach), 
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >                               GL_TEXTURE_RECTANGLE_ARB, tex_id, 0 );
     /* Set draw/read buffers by default */
     glDrawBuffer(ATTACHMENT_POINT(attach));
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -226,8 +226,8 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     render_buffer_t buffer = gl_fbo_create_render_buffer( 640, 480, 0 );
     gl_fbo_set_render_target(buffer);
 
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    GLint status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
-    if( status != GL_FRAMEBUFFER_COMPLETE_EXT ) {
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    GLint status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
+    if( status != GL_FRAMEBUFFER_COMPLETE ) {
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         ERROR( "Framebuffer failure: %x", status );
         result = FALSE;
     }
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -274,8 +274,8 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         if( fbo[i].width == buffer->width && fbo[i].height == buffer->height ) {
             for( j=0; j<gl_fbo_max_attachments; j++ ) {
                 if( fbo[i].tex_ids[j] == buffer->buf_id ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-                    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo[i].fb_id);
-                    glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, ATTACHMENT_POINT(j), 
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+                    glBindFramebuffer(GL_FRAMEBUFFER, fbo[i].fb_id);
+                    glFramebufferTexture2D(GL_FRAMEBUFFER, ATTACHMENT_POINT(j), 
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >                                               GL_TEXTURE_RECTANGLE_ARB, GL_NONE, 0 );
                     fbo[i].tex_ids[j] = -1;
                     return;
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -343,7 +343,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
 void gl_fbo_detach()
 {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, 0 );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    glBindFramebuffer( GL_FRAMEBUFFER, 0 );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     /* Make sure texture attachment is not a current draw/read buffer */
     glDrawBuffer( GL_FRONT );
     glReadBuffer( GL_FRONT );
</pre></div>
<hr /><a name="file5" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream/src/pvr2</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>glutil.h</b></big> <small id="info" style="color: #888888;" >e606e65eaf54 -> 79bbd30363f4</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/pvr2/glutil.h
+++ lxdream/src/pvr2/glutil.h
@@ -57,7 +57,51 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
 /****** Extension variant wrangling *****/
 
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#if defined(GL_MIRRORED_REPEAT_ARB) && !defined(GL_MIRRORED_REPEAT)
+#define GL_MIRRORED_REPEAT GL_MIRRORED_REPEAT_ARB
+#endif
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#if defined(GL_FRAMEBUFFER_EXT) && !defined(GL_FRAMEBUFFER)
+#define GL_FRAMEBUFFER GL_FRAMEBUFFER_EXT
+#endif
+
+#if defined(GL_RENDERBUFFER_EXT) && !defined(GL_RENDERBUFFER)
+#define GL_RENDERBUFFER GL_RENDERBUFFER_EXT
+#endif
+
+#if defined(GL_COLOR_ATTACHMENT0_EXT) && !defined(GL_COLOR_ATTACHMENT0)
+#define GL_COLOR_ATTACHMENT0 GL_COLOR_ATTACHMENT0_EXT
+#endif
+
+#if defined(GL_MAX_COLOR_ATTACHMENTS_EXT) && !defined(GL_MAX_COLOR_ATTACHMENTS)
+#define GL_MAX_COLOR_ATTACHMENTS GL_MAX_COLOR_ATTACHMENTS_EXT
+#endif
+
+#if defined(GL_STENCIL_ATTACHMENT_EXT) && !defined(GL_STENCIL_ATTACHMENT)
+#define GL_STENCIL_ATTACHMENT GL_STENCIL_ATTACHMENT_EXT
+#endif
+
+#if defined(GL_DEPTH_ATTACHMENT_EXT) && !defined(GL_DEPTH_ATTACHMENT)
+#define GL_DEPTH_ATTACHMENT GL_DEPTH_ATTACHMENT_EXT
+#endif
+
+#if defined(GL_FRAMEBUFFER_COMPLETE_EXT) && !defined(GL_FRAMEBUFFER_COMPLETE)
+#define GL_FRAMEBUFFER_COMPLETE GL_FRAMEBUFFER_COMPLETE_EXT
+#endif
+
+#if defined(HAVE_OPENGL_FBO_EXT) && !defined(HAVE_OPENGL_FBO)
+#define glGenFramebuffers glGenFramebuffersEXT
+#define glGenRenderbuffers glGenRenderbuffersEXT
+#define glBindFramebuffer glBindFramebufferEXT
+#define glDeleteFramebuffers glDeleteFramebuffersEXT
+#define glDeleteRenderbuffers glDeleteRenderbuffersEXT
+#define glBindFramebuffer glBindFramebufferEXT
+#define glBindRenderbuffer glBindRenderbufferEXT
+#define glRenderbufferStorage glRenderbufferStorageEXT
+#define glFramebufferRenderbuffer glFramebufferRenderbufferEXT
+#define glFramebufferTexture2D glFramebufferTexture2DEXT
+#define glCheckFramebufferStatus glCheckFramebufferStatusEXT
+#endif
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
 
 /****** Shader handling (gl_sl.c) *****/
</pre></div>
<hr /><a name="file6" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream/src/pvr2</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>texcache.c</b></big> <small id="info" style="color: #888888;" >e606e65eaf54 -> 79bbd30363f4</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/pvr2/texcache.c
+++ lxdream/src/pvr2/texcache.c
@@ -790,16 +790,16 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
         /* Set texture parameters from the poly2 word */
         if( POLY2_TEX_CLAMP_U(poly2_word) ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-            glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+            glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >_TO_EDGE</span> );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         } else if( POLY2_TEX_MIRROR_U(poly2_word) ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-            glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_MIRRORED_REPEAT<span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >_ARB</span> );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+            glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_MIRRORED_REPEAT );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         } else {
             glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
         }
         if( POLY2_TEX_CLAMP_V(poly2_word) ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-            glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+            glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >_TO_EDGE</span> );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         } else if( POLY2_TEX_MIRROR_V(poly2_word) ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-            glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_MIRRORED_REPEAT<span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >_ARB</span> );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+            glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_MIRRORED_REPEAT );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         } else {
             glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
         }
</pre></div>
<center><small>Chaos Theory</small></center>
</div></body></html>