<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>