<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/src</tt></b></td></tr>
<tr><td><tt><a href="#file1">Makefile.am</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+1</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">2b237e3417dd -> 580436b01b6c</td></tr>
<tr class="alt" style=";" ><td><tt><a href="#file2">Makefile.in</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+49</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-32</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">2b237e3417dd -> 580436b01b6c</td></tr>
<tr><td><tt><a href="#file3">display.h</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+43</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">2b237e3417dd -> 580436b01b6c</td></tr>
<tr class="alt" style=";" ><td><tt>drivers/<a href="#file4">video_gl.h</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+6</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">2b237e3417dd -> 580436b01b6c</td></tr>
<tr><td><tt> /<a href="#file5">video_glx.c</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+1</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">2b237e3417dd -> 580436b01b6c</td></tr>
<tr class="alt" style=";" ><td><tt> /<a href="#file6">video_nsgl.m</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+1</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">2b237e3417dd -> 580436b01b6c</td></tr>
<tr><td><tt> /<a href="#file7">video_null.c</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+10</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">2b237e3417dd -> 580436b01b6c</td></tr>
<tr class="alt" style=";" ><td><tt><a href="#file8">lxdream.h</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+1</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">2b237e3417dd -> 580436b01b6c</td></tr>
<tr><td><tt>pvr2/<a href="#file9">glrender.c</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+2</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">2b237e3417dd -> 580436b01b6c</td></tr>
<tr class="alt" style=";" ><td><tt> /<a href="#file10">glutil.c</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+2</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-2</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">2b237e3417dd -> 580436b01b6c</td></tr>
<tr><td><tt> /<a href="#file11">glutil.h</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+1</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">2b237e3417dd -> 580436b01b6c</td></tr>
<tr class="alt" style=";" ><td><tt> /<a href="#file12">scene.c</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+30</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-82</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">2b237e3417dd -> 580436b01b6c</td></tr>
<tr><td><tt> /<a href="#file13">scene.h</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+3</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">2b237e3417dd -> 580436b01b6c</td></tr>
<tr><td></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+150</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-120</td><td></td></tr>
</table>
<small id="info" style="color: #888888;" >13 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;" >
Implement vertex array range support, and move buffer operations to gl_vbo.c
</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/src</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>Makefile.am</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/Makefile.am
+++ lxdream/src/Makefile.am
@@ -65,7 +65,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > vmu/vmuvol.c vmu/vmuvol.h vmu/vmulist.c vmu/vmulist.h \
display.c display.h dckeysyms.h \
drivers/audio_null.c drivers/video_null.c \
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- drivers/video_gl.c drivers/video_gl.h drivers/gl_fbo.c \
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ drivers/video_gl.c drivers/video_gl.h drivers/gl_fbo.c <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >drivers/gl_vbo.c </span>\
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > drivers/serial_unix.c \
drivers/cdrom/cdrom.h drivers/cdrom/cdrom.c drivers/cdrom/drive.h \
drivers/cdrom/sector.h drivers/cdrom/sector.c drivers/cdrom/defs.h \
</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/src</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>Makefile.in</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/Makefile.in
+++ lxdream/src/Makefile.in
@@ -166,7 +166,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > vmu/vmuvol.h vmu/vmulist.c vmu/vmulist.h display.c display.h \
dckeysyms.h drivers/audio_null.c drivers/video_null.c \
drivers/video_gl.c drivers/video_gl.h drivers/gl_fbo.c \
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- drivers/serial_unix.c drivers/cdrom/cdrom.h \
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ drivers/<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >gl_vbo.c drivers/</span>serial_unix.c drivers/cdrom/cdrom.h \
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > drivers/cdrom/cdrom.c drivers/cdrom/drive.h \
drivers/cdrom/sector.h drivers/cdrom/sector.c \
drivers/cdrom/defs.h drivers/cdrom/cd_nrg.c \
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -276,18 +276,19 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > lxdream-vmulist.$(OBJEXT) lxdream-display.$(OBJEXT) \
lxdream-audio_null.$(OBJEXT) lxdream-video_null.$(OBJEXT) \
lxdream-video_gl.$(OBJEXT) lxdream-gl_fbo.$(OBJEXT) \
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- lxdream-serial_unix.$(OBJEXT) lxdream-cdrom.$(OBJEXT) \
- lxdream-sector.$(OBJEXT) lxdream-cd_nrg.$(OBJEXT) \
- lxdream-cd_cdi.$(OBJEXT) lxdream-cd_gdi.$(OBJEXT) \
- lxdream-edc_ecc.$(OBJEXT) lxdream-drive.$(OBJEXT) \
- lxdream-cd_mmc.$(OBJEXT) lxdream-isofs.$(OBJEXT) \
- lxdream-isomem.$(OBJEXT) lxdream-hotkeys.$(OBJEXT) \
- $(am__objects_1) $(am__objects_2) $(am__objects_3) \
- $(am__objects_4) $(am__objects_5) $(am__objects_6) \
- $(am__objects_7) $(am__objects_8) $(am__objects_9) \
- $(am__objects_10) $(am__objects_11) $(am__objects_12) \
- $(am__objects_13) $(am__objects_14) $(am__objects_15) \
- $(am__objects_16) $(am__objects_17) $(am__objects_18)
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ lxdream-gl_vbo.$(OBJEXT) lxdream-serial_unix.$(OBJEXT) \
+ lxdream-cdrom.$(OBJEXT) lxdream-sector.$(OBJEXT) \
+ lxdream-cd_nrg.$(OBJEXT) lxdream-cd_cdi.$(OBJEXT) \
+ lxdream-cd_gdi.$(OBJEXT) lxdream-edc_ecc.$(OBJEXT) \
+ lxdream-drive.$(OBJEXT) lxdream-cd_mmc.$(OBJEXT) \
+ lxdream-isofs.$(OBJEXT) lxdream-isomem.$(OBJEXT) \
+ lxdream-hotkeys.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
+ $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+ $(am__objects_6) $(am__objects_7) $(am__objects_8) \
+ $(am__objects_9) $(am__objects_10) $(am__objects_11) \
+ $(am__objects_12) $(am__objects_13) $(am__objects_14) \
+ $(am__objects_15) $(am__objects_16) $(am__objects_17) \
+ $(am__objects_18)
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > lxdream_OBJECTS = $(am_lxdream_OBJECTS)
lxdream_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -455,6 +456,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+PACKAGE_URL = @PACKAGE_URL@
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -586,25 +588,25 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > gdlist.c gdlist.h vmu/vmuvol.c vmu/vmuvol.h vmu/vmulist.c \
vmu/vmulist.h display.c display.h dckeysyms.h \
drivers/audio_null.c drivers/video_null.c drivers/video_gl.c \
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- drivers/video_gl.h drivers/gl_fbo.c drivers/serial_unix.c \
- drivers/cdrom/cdrom.h drivers/cdrom/cdrom.c \
- drivers/cdrom/drive.h drivers/cdrom/sector.h \
- drivers/cdrom/sector.c drivers/cdrom/defs.h \
- drivers/cdrom/cd_nrg.c drivers/cdrom/cd_cdi.c \
- drivers/cdrom/cd_gdi.c drivers/cdrom/edc_ecc.c \
- drivers/cdrom/ecc.h drivers/cdrom/drive.c \
- drivers/cdrom/edc_crctable.h drivers/cdrom/edc_encoder.h \
- drivers/cdrom/edc_l2sq.h drivers/cdrom/edc_scramble.h \
- drivers/cdrom/cd_mmc.c drivers/cdrom/isofs.h \
- drivers/cdrom/isofs.c drivers/cdrom/isomem.c sh4/sh4.def \
- sh4/sh4core.in sh4/sh4x86.in sh4/sh4dasm.in sh4/sh4stat.in \
- hotkeys.c hotkeys.h $(am__append_1) $(am__append_2) \
- $(am__append_4) $(am__append_5) $(am__append_6) \
- $(am__append_7) $(am__append_8) $(am__append_9) \
- $(am__append_10) $(am__append_17) $(am__append_19) \
- $(am__append_21) $(am__append_23) $(am__append_25) \
- $(am__append_27) $(am__append_28) $(am__append_29) \
- $(am__append_30)
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ drivers/video_gl.h drivers/gl_fbo.c drivers/gl_vbo.c \
+ drivers/serial_unix.c drivers/cdrom/cdrom.h \
+ drivers/cdrom/cdrom.c drivers/cdrom/drive.h \
+ drivers/cdrom/sector.h drivers/cdrom/sector.c \
+ drivers/cdrom/defs.h drivers/cdrom/cd_nrg.c \
+ drivers/cdrom/cd_cdi.c drivers/cdrom/cd_gdi.c \
+ drivers/cdrom/edc_ecc.c drivers/cdrom/ecc.h \
+ drivers/cdrom/drive.c drivers/cdrom/edc_crctable.h \
+ drivers/cdrom/edc_encoder.h drivers/cdrom/edc_l2sq.h \
+ drivers/cdrom/edc_scramble.h drivers/cdrom/cd_mmc.c \
+ drivers/cdrom/isofs.h drivers/cdrom/isofs.c \
+ drivers/cdrom/isomem.c sh4/sh4.def sh4/sh4core.in \
+ sh4/sh4x86.in sh4/sh4dasm.in sh4/sh4stat.in hotkeys.c \
+ hotkeys.h $(am__append_1) $(am__append_2) $(am__append_4) \
+ $(am__append_5) $(am__append_6) $(am__append_7) \
+ $(am__append_8) $(am__append_9) $(am__append_10) \
+ $(am__append_17) $(am__append_19) $(am__append_21) \
+ $(am__append_23) $(am__append_25) $(am__append_27) \
+ $(am__append_28) $(am__append_29) $(am__append_30)
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > lxdream_CPPFLAGS = @LXDREAMCPPFLAGS@
@BUILD_SH4X86_TRUE@test_testsh4x86_LDADD = @LXDREAM_LIBS@ @GLIB_LIBS@ @GTK_LIBS@ @LIBPNG_LIBS@
@BUILD_SH4X86_TRUE@test_testsh4x86_CPPFLAGS = @LXDREAMCPPFLAGS@
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -819,6 +821,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lxdream-gdrom.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lxdream-gl_fbo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lxdream-gl_sl.Po@am__quote@
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lxdream-gl_vbo.Po@am__quote@
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lxdream-glrender.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lxdream-glutil.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lxdream-gtk_cfg.Po@am__quote@
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -1932,6 +1935,20 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lxdream_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lxdream-gl_fbo.obj `if test -f 'drivers/gl_fbo.c'; then $(CYGPATH_W) 'drivers/gl_fbo.c'; else $(CYGPATH_W) '$(srcdir)/drivers/gl_fbo.c'; fi`
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+lxdream-gl_vbo.o: drivers/gl_vbo.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lxdream_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lxdream-gl_vbo.o -MD -MP -MF "$(DEPDIR)/lxdream-gl_vbo.Tpo" -c -o lxdream-gl_vbo.o `test -f 'drivers/gl_vbo.c' || echo '$(srcdir)/'`drivers/gl_vbo.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lxdream-gl_vbo.Tpo" "$(DEPDIR)/lxdream-gl_vbo.Po"; else rm -f "$(DEPDIR)/lxdream-gl_vbo.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drivers/gl_vbo.c' object='lxdream-gl_vbo.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lxdream_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lxdream-gl_vbo.o `test -f 'drivers/gl_vbo.c' || echo '$(srcdir)/'`drivers/gl_vbo.c
+
+lxdream-gl_vbo.obj: drivers/gl_vbo.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lxdream_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lxdream-gl_vbo.obj -MD -MP -MF "$(DEPDIR)/lxdream-gl_vbo.Tpo" -c -o lxdream-gl_vbo.obj `if test -f 'drivers/gl_vbo.c'; then $(CYGPATH_W) 'drivers/gl_vbo.c'; else $(CYGPATH_W) '$(srcdir)/drivers/gl_vbo.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lxdream-gl_vbo.Tpo" "$(DEPDIR)/lxdream-gl_vbo.Po"; else rm -f "$(DEPDIR)/lxdream-gl_vbo.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drivers/gl_vbo.c' object='lxdream-gl_vbo.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lxdream_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lxdream-gl_vbo.obj `if test -f 'drivers/gl_vbo.c'; then $(CYGPATH_W) 'drivers/gl_vbo.c'; else $(CYGPATH_W) '$(srcdir)/drivers/gl_vbo.c'; fi`
+
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > lxdream-serial_unix.o: drivers/serial_unix.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lxdream_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lxdream-serial_unix.o -MD -MP -MF "$(DEPDIR)/lxdream-serial_unix.Tpo" -c -o lxdream-serial_unix.o `test -f 'drivers/serial_unix.c' || echo '$(srcdir)/'`drivers/serial_unix.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lxdream-serial_unix.Tpo" "$(DEPDIR)/lxdream-serial_unix.Po"; else rm -f "$(DEPDIR)/lxdream-serial_unix.Tpo"; exit 1; 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/src</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>display.h</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/display.h
+++ lxdream/src/display.h
@@ -108,6 +108,43 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > int stencil_bits; /* 0 = no stencil buffer */
};
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+struct vertex_buffer {
+ /**
+ * Map the buffer into the host address space (if necessary) in preparation
+ * for filling the buffer. This also implies a fence operation.
+ * @param buf previously allocated buffer
+ * @param size number of bytes of the buffer actually to be used. The buffer
+ * will be resized if necessary.
+ * @return a pointer to the start of the buffer.
+ */
+ void *(*map)(vertex_buffer_t buf, uint32_t size);
+
+ /**
+ * Unmap the buffer, after the vertex data is written.
+ * @return the buffer base to use for gl*Pointer calls
+ */
+ void *(*unmap)(vertex_buffer_t buf);
+
+ /**
+ * Mark the buffer as finished, indicating that the vertex data is no
+ * longer required (ie rendering is complete).
+ */
+ void (*finished)(vertex_buffer_t buf);
+
+ /**
+ * Delete the buffer and all associated resources.
+ */
+ void (*destroy)(vertex_buffer_t buf);
+
+ /* Private data */
+ void *data;
+ GLuint id;
+ uint32_t capacity;
+ uint32_t mapped_size;
+ GLuint fence;
+};
+
+
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > /**
* Core video driver - exports function to setup a GL context, as well as handle
* keyboard input and display resultant output.
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -213,11 +250,17 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > int rowstride, int format );
/**
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ * Create a new vertex buffer
+ */
+ vertex_buffer_t (*create_vertex_buffer)( );
+
+ /**
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > * Dump driver-specific information about the implementation to the given stream
*/
void (*print_info)( FILE *out );
struct display_capabilities capabilities;
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > } *display_driver_t;
/**
</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>video_gl.h</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/drivers/video_gl.h
+++ lxdream/src/drivers/video_gl.h
@@ -70,6 +70,12 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > void gl_fbo_init( display_driver_t driver );
void gl_fbo_detach();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+/** VBO/VAR handling (gl_vbo.c) ******/
+void gl_vbo_init( display_driver_t driver );
+
+/* Set the fallback vertex buffer handling, for drivers with no GL */
+void gl_vbo_fallback_init( display_driver_t driver );
+
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > #ifdef __cplusplus
}
#endif
</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/drivers</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>video_glx.c</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/drivers/video_glx.c
+++ lxdream/src/drivers/video_glx.c
@@ -243,6 +243,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > video_glx_shutdown();
return FALSE;
}
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ gl_vbo_init(driver);
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > return TRUE;
}
</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/drivers</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>video_nsgl.m</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/drivers/video_nsgl.m
+++ lxdream/src/drivers/video_nsgl.m
@@ -52,6 +52,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > ERROR( "FBO not supported" );
return FALSE;
}
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ gl_vbo_init(driver);
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
return TRUE;
}
</pre></div>
<hr /><a name="file7" /><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>video_null.c</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/drivers/video_null.c
+++ lxdream/src/drivers/video_null.c
@@ -17,6 +17,9 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > */
#include "display.h"
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#include "drivers/video_gl.h"
+
+static gboolean video_null_init( void );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
static render_buffer_t video_null_create_render_buffer( uint32_t hres, uint32_t vres, GLuint tex_id )
{
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -63,7 +66,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > struct display_driver display_null_driver = {
"null",
N_("Null (no video) driver"),
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- NULL,
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ video_null_init,
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > NULL,
NULL,
NULL,
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -78,3 +81,9 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > video_null_swap_buffers,
video_null_read_render_buffer,
NULL };
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+
+static gboolean video_null_init( void )
+{
+ gl_vbo_fallback_init(&display_null_driver);
+ return TRUE;
+}
</pre></div>
<hr /><a name="file8" /><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</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>lxdream.h</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/lxdream.h
+++ lxdream/src/lxdream.h
@@ -61,6 +61,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
typedef struct render_buffer *render_buffer_t;
typedef struct frame_buffer *frame_buffer_t;
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+typedef struct vertex_buffer *vertex_buffer_t;
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
/*************************** Logging ****************************/
</pre></div>
<hr /><a name="file9" /><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>glrender.c</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/pvr2/glrender.c
+++ lxdream/src/pvr2/glrender.c
@@ -518,6 +518,8 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > glDisable( GL_FOG );
glsl_clear_shader();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ pvr2_scene_finished();
+
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > gettimeofday( &end_tv, NULL );
ms = (end_tv.tv_sec - tex_tv.tv_sec) * 1000 +
(end_tv.tv_usec - tex_tv.tv_usec)/1000;
</pre></div>
<hr /><a name="file10" /><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.c</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/pvr2/glutil.c
+++ lxdream/src/pvr2/glutil.c
@@ -187,7 +187,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > } else {
WARN( "GL error: %x (%s)\n", err, s );
}
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- return <span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >TRU</span>E;
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ return <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >FALS</span>E;
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- return <span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >FALS</span>E;
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ return <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >TRU</span>E;
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
</pre></div>
<hr /><a name="file11" /><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;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/pvr2/glutil.h
+++ lxdream/src/pvr2/glutil.h
@@ -42,7 +42,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > /**
* Check for a GL error and print a message if there is one
* @param context If not null, a string to be printed along side an error message
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- * @return TRUE if there was an error, otherwise FALSE
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ * @return FALSE if there was an error, otherwise TRUE
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > */
gboolean gl_check_error( const char *context );
/**
</pre></div>
<hr /><a name="file12" /><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>scene.c</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/pvr2/scene.c
+++ lxdream/src/pvr2/scene.c
@@ -2,7 +2,6 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > * $Id$
*
* Manage the internal vertex/polygon buffers and scene data structure.
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- * Where possible this uses VBOs for the vertex + index data.
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > *
* Copyright (c) 2005 Nathan Keynes.
*
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -69,33 +68,33 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
struct pvr2_scene_struct pvr2_scene;
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+static float scene_shadow_intensity = 0.0;
+static vertex_buffer_t vbuf = NULL;
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-static gboolean vbo_init = FALSE;
-static float scene_shadow_intensity = 0.0;
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+static void vertex_buffer_map()
+{
+ // Allow 8 vertexes for the background (4+4)
+ uint32_t size = (pvr2_scene.vertex_count + 8) * sizeof(struct vertex_struct);
+ pvr2_scene.vertex_array = vbuf->map(vbuf, size);
+}
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#ifdef ENABLE_VERTEX_BUFFER
-static gboolean vbo_supported = FALSE;
-#endif
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+static void vertex_buffer_unmap()
+{
+ pvr2_scene.vertex_array = vbuf->unmap(vbuf);
+}
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
/**
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- * Test for VBO support, and allocate all the system memory needed for the
- * temporary structures. GL context must have been initialized before this
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ * Allocate vertex buffer + temporary structures. GL context must have been initialized before this
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > * point.
*/
void pvr2_scene_init()
{
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- if( !vbo_init ) {
-#ifdef ENABLE_VERTEX_BUFFER
- if( isGLVertexBufferSupported() ) {
- vbo_supported = TRUE;
- pvr2_scene.vbo_id = 1;
- }
-#endif
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ if( vbuf == NULL ) {
+ vbuf = display_driver->create_vertex_buffer();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > pvr2_scene.vertex_array = NULL;
pvr2_scene.vertex_array_size = 0;
pvr2_scene.poly_array = g_malloc( MAX_POLY_BUFFER_SIZE );
pvr2_scene.buf_to_poly_map = g_malloc0( BUF_POLY_MAP_SIZE );
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- vbo_init = TRUE;
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
}
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -110,72 +109,16 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
pvr2_scene.poly_count = 0;
pvr2_scene.vertex_count = 0;
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-}
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" > </span>}
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
void pvr2_scene_shutdown()
{
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#ifdef ENABLE_VERTEX_BUFFER
- if( vbo_supported ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, 0 );
- glDeleteBuffersARB( 1, &pvr2_scene.vbo_id );
- pvr2_scene.vbo_id = 0;
- } else {
-#endif
- g_free( pvr2_scene.vertex_array );
- pvr2_scene.vertex_array = NULL;
-#ifdef ENABLE_VERTEX_BUFFER
- }
-#endif
-
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ vbuf->destroy(vbuf);
+ vbuf = NULL;
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > g_free( pvr2_scene.poly_array );
pvr2_scene.poly_array = NULL;
g_free( pvr2_scene.buf_to_poly_map );
pvr2_scene.buf_to_poly_map = NULL;
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- vbo_init = FALSE;
-}
-
-void *vertex_buffer_map()
-{
- // Allow 8 vertexes for the background (4+4)
- uint32_t size = (pvr2_scene.vertex_count + 8) * sizeof(struct vertex_struct);
-#ifdef ENABLE_VERTEX_BUFFER
- if( vbo_supported ) {
- glGetError();
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, pvr2_scene.vbo_id );
- if( size > pvr2_scene.vertex_array_size ) {
- glBufferDataARB( GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB );
- int status = glGetError();
- if( status != 0 ) {
- fprintf( stderr, "Error %08X allocating vertex buffer\n", status );
- abort();
- }
- pvr2_scene.vertex_array_size = size;
- }
- pvr2_scene.vertex_array = glMapBufferARB( GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB );
- assert(pvr2_scene.vertex_array != NULL );
- } else {
-#endif
- if( size > pvr2_scene.vertex_array_size ) {
- pvr2_scene.vertex_array = g_realloc( pvr2_scene.vertex_array, size );
- }
-#ifdef ENABLE_VERTEX_BUFFER
- }
-#endif
- return pvr2_scene.vertex_array;
-}
-
-gboolean vertex_buffer_unmap()
-{
-#ifdef ENABLE_VERTEX_BUFFER
- if( vbo_supported ) {
- pvr2_scene.vertex_array = NULL;
- return glUnmapBufferARB( GL_ARRAY_BUFFER_ARB );
- } else {
- return TRUE;
- }
-#else
- return TRUE;
-#endif
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
static struct polygon_struct *scene_add_polygon( pvraddr_t poly_idx, int vertex_count,
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -252,7 +195,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > * @param modify_offset Offset in 32-bit words to the tex/color data. 0 for
* the normal vertex, half the vertex length for the modified vertex.
*/
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-static void <span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >pvr2_decode_render</span>_vertex( struct vertex_struct *vert, uint32_t poly1,
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+static void <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >scene_decode</span>_vertex( struct vertex_struct *vert, uint32_t poly1,
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > uint32_t poly2, uint32_t tex, uint32_t *pvr2_data,
int modify_offset )
{
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -560,7 +503,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > assert( poly != NULL );
assert( pvr2_scene.vertex_index + poly->vertex_count <= pvr2_scene.vertex_count );
for( i=0; i<poly->vertex_count; i++ ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- <span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >pvr2_decode_render</span>_vertex( &pvr2_scene.vertex_array[pvr2_scene.vertex_index++], context[0], context[1], context[2], ptr, 0 );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >scene_decode</span>_vertex( &pvr2_scene.vertex_array[pvr2_scene.vertex_index++], context[0], context[1], context[2], ptr, 0 );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > ptr += vertex_length;
}
if( is_modified ) {
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -570,7 +513,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > int mod_offset = (vertex_length - 3)>>1;
ptr = &pvr2_scene.pvr2_pbuf[poly_idx] + 5;
for( i=0; i<poly->vertex_count; i++ ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- <span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >pvr2_decode_render</span>_vertex( &pvr2_scene.vertex_array[pvr2_scene.vertex_index++], context[0], context[3], context[4], ptr, mod_offset );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >scene_decode</span>_vertex( &pvr2_scene.vertex_array[pvr2_scene.vertex_index++], context[0], context[3], context[4], ptr, mod_offset );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > ptr += vertex_length;
}
} else {
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -601,7 +544,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > ptr += (is_modified == SHADOW_FULL ? 5 : 3 );
poly->vertex_index = pvr2_scene.vertex_index;
for( i=0; i<4; i++ ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- <span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >pvr2_decode_render</span>_vertex( &quad[i], context[0], context[1], context[2], ptr, 0 );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >scene_decode</span>_vertex( &quad[i], context[0], context[1], context[2], ptr, 0 );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > ptr += vertex_length;
}
scene_compute_vertexes( &quad[3], 1, &quad[0], !POLY1_GOURAUD_SHADED(context[0]) );
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -618,7 +561,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > int mod_offset = (vertex_length - 3)>>1;
ptr = &pvr2_scene.pvr2_pbuf[poly_idx] + 5;
for( i=0; i<4; i++ ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- <span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >pvr2_decode_render</span>_vertex( &quad[4], context[0], context[3], context[4], ptr, mod_offset );
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >scene_decode</span>_vertex( &quad[4], context[0], context[3], context[4], ptr, mod_offset );
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > ptr += vertex_length;
}
scene_compute_vertexes( &quad[3], 1, &quad[0], !POLY1_GOURAUD_SHADED(context[0]) );
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -788,7 +731,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > struct vertex_struct base_vertexes[3];
uint32_t *ptr = context + context_length;
for( i=0; i<3; i++ ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- <span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >pvr2_decode_render</span>_vertex( &base_vertexes[i], context[0], context[1], context[2],
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >scene_decode</span>_vertex( &base_vertexes[i], context[0], context[1], context[2],
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > ptr, 0 );
ptr += vertex_length;
}
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -803,7 +746,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > int mod_offset = (vertex_length - 3)>>1;
ptr = context + context_length;
for( i=0; i<3; i++ ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- <span id="removedchars" style="background-color:#ff9999;font-weight:bolder;" >pvr2_decode_render</span>_vertex( &base_vertexes[i], context[0], context[3], context[4],
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >scene_decode</span>_vertex( &base_vertexes[i], context[0], context[3], context[4],
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > ptr, mod_offset );
ptr += vertex_length;
}
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -937,6 +880,11 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > vertex_buffer_unmap();
}
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+void pvr2_scene_finished( )
+{
+ vbuf->finished(vbuf);
+}
+
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > /**
* Dump the current scene to file in a (mostly) human readable form
*/
</pre></div>
<hr /><a name="file13" /><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>scene.h</b></big> <small id="info" style="color: #888888;" >2b237e3417dd -> 580436b01b6c</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/pvr2/scene.h
+++ lxdream/src/pvr2/scene.h
@@ -36,7 +36,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
struct vertex_struct {
float u,v,r,tex_mode; /* tex-coord quad */
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >- float x,y,z;
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+ float x,y,z<span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >,w</span>;
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > float rgba[4];
float offset_rgba[4];
};
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -54,6 +54,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
void pvr2_scene_init(void);
void pvr2_scene_read(void);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+void pvr2_scene_finished(void);
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > void pvr2_scene_shutdown();
uint32_t pvr2_scene_buffer_width();
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -72,6 +73,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > */
#define MAX_VERTEXES 262144
#define MAX_VERTEX_BUFFER_SIZE (MAX_VERTEXES*sizeof(struct vertex_struct))
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#define MIN_VERTEX_BUFFER_SIZE (2024*1024)
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >
/**
* Maximum polygons - smallest is 1 polygon in 48 bytes, giving
</pre></div>
<center><small>Chaos Theory</small></center>
</div></body></html>