Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Fri, 2009-02-13 at 17:55 +, Gareth Edwards wrote: > Gareth Edwards wrote: > > Peter Clifton wrote: > >> Did you use the "master" branch of my repository, rather then the > >> "before_pours" one? > >> > > > > D'oh. It's the instruction reading blind spot again. > > > > Ok, I've built the right branch now and everything seems copasetic. I'll > use it for my layout for a while. Just be aware that it will break when the board is flipped unless you update to the latest fix I just pushed. git fetch git checkout master git branch -D before_pours git checkout -b before_pours origin/before_pours [rebuild] > (One thing I actually liked about your master branch was being able to > see where the corners of polygons were, even if they were being trimmed > by tracks. I find it really difficult to edit polygons once they are > placed if the corners are missing due to track clipping. Am I missing > something obvious?) No, that's the way it is currently. I'd avoid my master branch for any real work (I do), since it introduces non-compatible behaviours without any changes in file-format.. IE.. will produce PCB files which won't work properly in other PCB versions, but with no version number or syntax changes to hint the problem. There are also a few remaining bugs in the island detection / removal code. -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
i agree i did like that too On Feb 13, 2009, at 9:55 AM, Gareth Edwards wrote: > Gareth Edwards wrote: >> Peter Clifton wrote: >>> Did you use the "master" branch of my repository, rather then the >>> "before_pours" one? >>> >> >> D'oh. It's the instruction reading blind spot again. >> > > Ok, I've built the right branch now and everything seems copasetic. > I'll > use it for my layout for a while. > > (One thing I actually liked about your master branch was being able to > see where the corners of polygons were, even if they were being > trimmed > by tracks. I find it really difficult to edit polygons once they are > placed if the corners are missing due to track clipping. Am I missing > something obvious?) > > Gareth > > > > ___ > geda-user mailing list > geda-user@moria.seul.org > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
Gareth Edwards wrote: > Peter Clifton wrote: >> Did you use the "master" branch of my repository, rather then the >> "before_pours" one? >> > > D'oh. It's the instruction reading blind spot again. > Ok, I've built the right branch now and everything seems copasetic. I'll use it for my layout for a while. (One thing I actually liked about your master branch was being able to see where the corners of polygons were, even if they were being trimmed by tracks. I find it really difficult to edit polygons once they are placed if the corners are missing due to track clipping. Am I missing something obvious?) Gareth ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
Peter Clifton wrote: > Did you use the "master" branch of my repository, rather then the > "before_pours" one? > D'oh. It's the instruction reading blind spot again. Gareth Worlds worst alpha tester. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Wed, 2009-02-11 at 21:12 +, gdedwa...@blueyonder.co.uk wrote: > Hi Peter, > > http://www.muppetlabs.pwp.blueyonder.co.uk/geda/loop_conditioner_board.pcb.gz > > if you want to dig deeper, or let me know what I can do to investigate here. Did you use the "master" branch of my repository, rather then the "before_pours" one? The polygon renders fine on my box, where I'm using my "local_customisation_no_pours" branch. (That has some hacks, a driver for a 6DOF 3D Joystick, and the extra transparent thin-poly rendering hack). The "master" branch contains some experimental code for doing island removal, and doesn't fill polygons unless it thinks they are connected to something. (A joined track or a thermal on a pin / via ). Last I checked, I don't think it did polygon-polygon connections, which is what it looks like in your screen-shot. Best wishes, -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Wed, 2009-02-11 at 21:12 +, gdedwa...@blueyonder.co.uk wrote: > Hi Peter, > > I've been running the branch this evening and already tripped over a > rendering issue of moderate severity - one of the polygons on my board is > not being filled. > > Here's the screenshot of the HEAD build: > > http://www.muppetlabs.pwp.blueyonder.co.uk/geda/board_HEAD.png > > Note the extension of the ground fill under the two big caps top left, > then look at the render from the branch: > > http://www.muppetlabs.pwp.blueyonder.co.uk/geda/board_pcjc2.png > > That poly is not filled. Were you viewing on the backside? I just completed a board design since I added the contour culling, and discovered that I've got it wrong for the flipped coordinate systems other than a head-on view of the board. Will fix that when I get chance. > The board file is at > > http://www.muppetlabs.pwp.blueyonder.co.uk/geda/loop_conditioner_board.pcb.gz Thanks! -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Wed, Feb 11, 2009 at 03:39:23PM +, Peter Clifton wrote: > On Wed, 2009-02-11 at 09:44 -0500, Joshua Boyd wrote: > > On Mon, Feb 02, 2009 at 02:59:35PM +, Peter Clifton wrote: > > > For those testing the PCB+GL branch > > > > > > git clone git://repo.or.cz/geda-pcb/pcjc2.git > > > git checkout -b before_pours origin/before_pours > > > > Could you add a bootstrap script like a lot of other projects have? > > There is one.. "./autogen.sh" in the root directory. > > > Also, when I try to generate the configure script (aclocal && autoconf > > && automake -i --foreign) I get an error about the intl directory not > > existing. However, when I remove that entry from the DIRS variable in > > Makefile.am, I get this error: > > configure.ac:894: required file `intl/Makefile.in' not found > > Makefile.am:7: AM_GNU_GETTEXT used but `intl' not in SUBDIRS > > Might need to call intltoolize. The ./autogen.sh script will do that for > you. Yep, that got me much further. With a bit more babying, I got it built and running. Cool and thanks. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
Hi Peter, I've been running the branch this evening and already tripped over a rendering issue of moderate severity - one of the polygons on my board is not being filled. Here's the screenshot of the HEAD build: http://www.muppetlabs.pwp.blueyonder.co.uk/geda/board_HEAD.png Note the extension of the ground fill under the two big caps top left, then look at the render from the branch: http://www.muppetlabs.pwp.blueyonder.co.uk/geda/board_pcjc2.png That poly is not filled. The board file is at http://www.muppetlabs.pwp.blueyonder.co.uk/geda/loop_conditioner_board.pcb.gz if you want to dig deeper, or let me know what I can do to investigate here. Cheers Gareth ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Wed, 2009-02-11 at 07:41 -0800, Larry Doolittle wrote: > Peter - > > On Wed, Feb 11, 2009 at 03:39:23PM +, Peter Clifton wrote: > > On Wed, 2009-02-11 at 09:44 -0500, Joshua Boyd wrote: > > > Either with or without my change to Makefile.am, aclocal complains with > > > a lot of warnings: > > > > I've noticed more and more noise from aclocal on Ubuntu systems. Its > > probably nothing which will break the build, just an indication that > > we're being naughty somewhere with our use of AC_... macros. > > It's not just Ubuntu. I see that on Debian machines, too. > Would you like help cleaning it up? Help would of course be appreciated, I'm sure. Best to fix it up for the non-GL branch though then it can be pushed directly. I'm always hesitant to touch the auto-foo myself, as it always has a habit of breaking compatibility with old versions. (Since I use an up-to-date distro, and it isn't always obvious from developing to the newest doc, what works on older systems). Best wishes, -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
Peter - On Wed, Feb 11, 2009 at 03:39:23PM +, Peter Clifton wrote: > On Wed, 2009-02-11 at 09:44 -0500, Joshua Boyd wrote: > > Either with or without my change to Makefile.am, aclocal complains with > > a lot of warnings: > > I've noticed more and more noise from aclocal on Ubuntu systems. Its > probably nothing which will break the build, just an indication that > we're being naughty somewhere with our use of AC_... macros. It's not just Ubuntu. I see that on Debian machines, too. Would you like help cleaning it up? - Larry ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Wed, 2009-02-11 at 09:44 -0500, Joshua Boyd wrote: > On Mon, Feb 02, 2009 at 02:59:35PM +, Peter Clifton wrote: > > For those testing the PCB+GL branch > > > > git clone git://repo.or.cz/geda-pcb/pcjc2.git > > git checkout -b before_pours origin/before_pours > > Could you add a bootstrap script like a lot of other projects have? There is one.. "./autogen.sh" in the root directory. > Also, when I try to generate the configure script (aclocal && autoconf > && automake -i --foreign) I get an error about the intl directory not > existing. However, when I remove that entry from the DIRS variable in > Makefile.am, I get this error: > configure.ac:894: required file `intl/Makefile.in' not found > Makefile.am:7: AM_GNU_GETTEXT used but `intl' not in SUBDIRS Might need to call intltoolize. The ./autogen.sh script will do that for you. > Either with or without my change to Makefile.am, aclocal complains with > a lot of warnings: > $ aclocal > configure.ac:67: warning: AC_COMPILE_IFELSE was called before > AC_USE_SYSTEM_EXTENSIONS > ../../lib/autoconf/specific.m4:389: AC_USE_SYSTEM_EXTENSIONS is expanded > from... > /usr/share/aclocal/lock.m4:29: gl_LOCK_EARLY_BODY is expanded from... > /usr/share/aclocal/lock.m4:22: gl_LOCK_EARLY is expanded from... > /usr/share/aclocal/lock.m4:253: gl_LOCK is expanded from... > /usr/share/aclocal/intl.m4:186: gt_INTL_SUBDIR_CORE is expanded from... > /usr/share/aclocal/intl.m4:25: AM_INTL_SUBDIR is expanded from... > /usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from... > configure.ac:67: the top level > configure.ac:67: warning: AC_RUN_IFELSE was called before > AC_USE_SYSTEM_EXTENSIONS > configure.ac:67: warning: AC_COMPILE_IFELSE was called before AC_AIX > ../../lib/autoconf/specific.m4:436: AC_AIX is expanded from... > configure.ac:67: warning: AC_RUN_IFELSE was called before AC_AIX > configure.ac:67: warning: AC_COMPILE_IFELSE was called before AC_MINIX > ../../lib/autoconf/specific.m4:460: AC_MINIX is expanded from... > configure.ac:67: warning: AC_RUN_IFELSE was called before AC_MINIX > $ I've noticed more and more noise from aclocal on Ubuntu systems. Its probably nothing which will break the build, just an indication that we're being naughty somewhere with our use of AC_... macros. Best wishes, -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Wed, 2009-02-11 at 15:03 +, gdedwa...@blueyonder.co.uk wrote: > Hi Peter, > > > On Wed, 2009-02-11 at 13:44 +, Peter Clifton wrote: > >> > >> Hmm, perhaps not.. although I _thought_ I had added the right configure > >> check.. > > > > AHA... you might be missing "--enable-gl" from the ./configure command > > line. > > > > Yes, that was it - thanks. > > I've got past that problem but hit a failure at link > > /usr/bin/ld: cannot find -lglut > Adding libglut3-dev solved that but again it might point to something > missing in configure.ac. Ok, sorry.. a hold-over from when I was using glut. I've removed the flag to link with it now. -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
Hi Peter, > On Wed, 2009-02-11 at 13:44 +, Peter Clifton wrote: >> >> Hmm, perhaps not.. although I _thought_ I had added the right configure >> check.. > > AHA... you might be missing "--enable-gl" from the ./configure command > line. > Yes, that was it - thanks. I've got past that problem but hit a failure at link /usr/bin/ld: cannot find -lglut Adding libglut3-dev solved that but again it might point to something missing in configure.ac. Now it's built, I'll have a play. Initial impression is that I like the look of it! Cheers Gareth ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Mon, Feb 02, 2009 at 02:59:35PM +, Peter Clifton wrote: > For those testing the PCB+GL branch > > git clone git://repo.or.cz/geda-pcb/pcjc2.git > git checkout -b before_pours origin/before_pours Could you add a bootstrap script like a lot of other projects have? Also, when I try to generate the configure script (aclocal && autoconf && automake -i --foreign) I get an error about the intl directory not existing. However, when I remove that entry from the DIRS variable in Makefile.am, I get this error: configure.ac:894: required file `intl/Makefile.in' not found Makefile.am:7: AM_GNU_GETTEXT used but `intl' not in SUBDIRS Either with or without my change to Makefile.am, aclocal complains with a lot of warnings: $ aclocal configure.ac:67: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS ../../lib/autoconf/specific.m4:389: AC_USE_SYSTEM_EXTENSIONS is expanded from... /usr/share/aclocal/lock.m4:29: gl_LOCK_EARLY_BODY is expanded from... /usr/share/aclocal/lock.m4:22: gl_LOCK_EARLY is expanded from... /usr/share/aclocal/lock.m4:253: gl_LOCK is expanded from... /usr/share/aclocal/intl.m4:186: gt_INTL_SUBDIR_CORE is expanded from... /usr/share/aclocal/intl.m4:25: AM_INTL_SUBDIR is expanded from... /usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from... configure.ac:67: the top level configure.ac:67: warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS configure.ac:67: warning: AC_COMPILE_IFELSE was called before AC_AIX ../../lib/autoconf/specific.m4:436: AC_AIX is expanded from... configure.ac:67: warning: AC_RUN_IFELSE was called before AC_AIX configure.ac:67: warning: AC_COMPILE_IFELSE was called before AC_MINIX ../../lib/autoconf/specific.m4:460: AC_MINIX is expanded from... configure.ac:67: warning: AC_RUN_IFELSE was called before AC_MINIX $ This is on Ubuntu 8.10 AMD64. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Wed, 2009-02-11 at 13:44 +, Peter Clifton wrote: > On Wed, 2009-02-11 at 12:20 +, gdedwa...@blueyonder.co.uk wrote: > > I'm getting errors at build: > > > > In file included from hid/gtk/gtkhid-main.c:34: > > hid/gtk/gui.h:213: error: expected specifier-qualifier-list before > > GdkGLConfig > > Hmm, perhaps not.. although I _thought_ I had added the right configure > check.. AHA... you might be missing "--enable-gl" from the ./configure command line. The branch won't build properly without that. The longer term goal it to make that configure flag do what you might expect, and have it fallback to the old rendering code when it isn't given. Once --enable-gl is passed, the following configure test ought to trigger if you're missing GtkGLExt : if test "x$enable_gl" = "xyes"; then # Check for GtkGLExt PKG_CHECK_MODULES(GTKGLEXT, gtkglext-1.0 >= 1.0.0, , [AC_MSG_ERROR([ *** Required version of gtkglext is not installed - please install first *** Please review the following errors: $GTKGLEXT_PKG_ERRORS])] ) GTKGLEXT_VER=`$PKG_CONFIG gtkglext-1.0 --modversion` fi -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Wed, 2009-02-11 at 12:20 +, gdedwa...@blueyonder.co.uk wrote: > Hi Peter, > > >> Peter Clifton wrote: > >> > For those testing the PCB+GL branch > > > I'm getting errors at build: > > In file included from hid/gtk/gtkhid-main.c:34: > hid/gtk/gui.h:213: error: expected specifier-qualifier-list before > GdkGLConfig Hmm, perhaps not.. although I _thought_ I had added the right configure check.. What you want it GtkGlExt. On Debian / Ubuntu systems, this is the "libgtkglext1" package > hid/gtk/gtkhid-main.c: In function Vx: > hid/gtk/gtkhid-main.c:78: error: GHidPort has no member named view_x0 > hid/gtk/gtkhid-main.c:78: error: GHidPort has no member named zoom > ... Those are internal to PCB, and should exist. > I guess configure is not checking for a openGL prerequisite that I don't > have? I think you're right though.. the fact that it couldn't recognise the GdkGLConfig type probably threw off the rest of the header-file, resulting in those compile errors for our own structure members (which should exist!) -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
Hi Peter, >> Peter Clifton wrote: >> > For those testing the PCB+GL branch I'm getting errors at build: In file included from hid/gtk/gtkhid-main.c:34: hid/gtk/gui.h:213: error: expected specifier-qualifier-list before GdkGLConfig hid/gtk/gtkhid-main.c: In function Vx: hid/gtk/gtkhid-main.c:78: error: GHidPort has no member named view_x0 hid/gtk/gtkhid-main.c:78: error: GHidPort has no member named zoom ... I guess configure is not checking for a openGL prerequisite that I don't have? Cheers Gareth ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
On Wed, 2009-02-11 at 08:06 +0100, Bert Timmerman wrote: > Hi Peter and all, > > Peter Clifton wrote: > > For those testing the PCB+GL branch > > > > git clone git://repo.or.cz/geda-pcb/pcjc2.git > > git checkout -b before_pours origin/before_pours > > > > And to update (easiest I think.. but discards local changes): > > > > git fetch > > git checkout master > > git branch -D before_pours > > git checkout -b before_pours origin/before_pours > > > > What is: > > git clone git://repo.or.cz/geda-pcb/pcjc2.git > git checkout --track -b before_pours origin/before_pours I think the --track is usually implicit in the above, but the command you're suggesting implies that the local "before_pours" branch doesn't exist. I'm not sure how well that plays with a mirrored stgit branch (when I push, and you fetch.. it won't result in a fast-forward merge). Hence suggesting the delete local branch / re-checkout. It isn't expensive in terms of fetching data (since it is already there). > ?? > > BTW: Peter, I just recently got a replacement DSL router from the phone > company, so I'm behind on testing your stuff. Still have to reconnect > the Fedora box. Wireless laptop with Vista (bweerk, cough, cough, ... > hairball) has to do for now. > > BTW2: IMHO, now would be a good time to get your OpenGL branch in the > gplgeda.org/pcb.git repo as a separate HID and/or branch as to lower the > treshold for testing. (just swap branches and recompile :-) I would have to split it up from the other random crap that I'm carrying in that branch, and would probably also have to transition to the "merge" workflow, giving up stgit (which I don't want to do). I'm loving stgit for the ability to go back, edit patches and produce a sensible and small working patch series. Once I'm pushing anywhere official, it would be bad form to do much other than the linear log history, which I think would end up with a really messy history, given the way I've been working on this code until now. But.. it is a possibility that it could live in a branch on gpleda.org before it is merged. It is not a separate HID, and I don't think it wants to be. To take the freedesktop.org hosting model, I could ask if I could get a ~pcjc2/pcb.git repository on gpleda, but that would be almost no different to what I've got setup on repo.or.cz. -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: PCB + GL latest (patch for indirect rendering support)
Hi Peter and all, Peter Clifton wrote: > For those testing the PCB+GL branch > > git clone git://repo.or.cz/geda-pcb/pcjc2.git > git checkout -b before_pours origin/before_pours > > And to update (easiest I think.. but discards local changes): > > git fetch > git checkout master > git branch -D before_pours > git checkout -b before_pours origin/before_pours > What is: git clone git://repo.or.cz/geda-pcb/pcjc2.git git checkout --track -b before_pours origin/before_pours ?? BTW: Peter, I just recently got a replacement DSL router from the phone company, so I'm behind on testing your stuff. Still have to reconnect the Fedora box. Wireless laptop with Vista (bweerk, cough, cough, ... hairball) has to do for now. BTW2: IMHO, now would be a good time to get your OpenGL branch in the gplgeda.org/pcb.git repo as a separate HID and/or branch as to lower the treshold for testing. (just swap branches and recompile :-) Kind regards, Bert Timmerman. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: PCB + GL latest (patch for indirect rendering support)
For those testing the PCB+GL branch git clone git://repo.or.cz/geda-pcb/pcjc2.git git checkout -b before_pours origin/before_pours And to update (easiest I think.. but discards local changes): git fetch git checkout master git branch -D before_pours git checkout -b before_pours origin/before_pours The last update I made breaks support for non direct rendering. Turns out mapping a VBO fails in that case, and I print the error message: "Couldn't map VBO.. sorry, don't know how best to handle this gracefully" (I've not added a fall-back case yet) If this affects you, please apply the attached patch, which reverts to the (slightly slower) non VBO uploading of the vertex array. Testing with a critical eye to performance, rendering quality, visual artefacts will be warmly received. Best wishes, -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) >From a29308975ae41dde8351d87b0455058749587948 Mon Sep 17 00:00:00 2001 From: Peter Clifton Date: Mon, 2 Feb 2009 14:40:54 + Subject: [PATCH] Don't use a VBO --- src/hid/common/hidgl.c | 35 --- src/hid/common/hidgl.h |4 +--- src/hid/gtk/gui-output-events.c |9 - src/hid/gtk/gui-pinout-preview.c |4 4 files changed, 5 insertions(+), 47 deletions(-) diff --git a/src/hid/common/hidgl.c b/src/hid/common/hidgl.c index eb1044f..875a138 100644 --- a/src/hid/common/hidgl.c +++ b/src/hid/common/hidgl.c @@ -60,28 +60,10 @@ hidgl_new_triangle_array (void) void hidgl_init_triangle_array (triangle_buffer *buffer) { - GLenum errCode; - const GLubyte *errString; - + glEnableClientState (GL_VERTEX_ARRAY); + glVertexPointer (2, GL_FLOAT, 0, buffer->triangle_array); buffer->triangle_count = 0; buffer->coord_comp_count = 0; - - glEnableClientState (GL_VERTEX_ARRAY); - glGenBuffers (1, &buffer->vbo_name); - glBindBuffer (GL_ARRAY_BUFFER, buffer->vbo_name); - glBufferData (GL_ARRAY_BUFFER, TRIANGLE_ARRAY_BYTES, NULL, GL_STATIC_DRAW); - - buffer->triangle_array = glMapBuffer (GL_ARRAY_BUFFER, GL_WRITE_ONLY); - - if ((errCode = glGetError()) != GL_NO_ERROR) { - errString = gluErrorString(errCode); - fprintf (stderr, "OpenGL Error: %s\n", errString); - } - - if (buffer->triangle_array == NULL) { -printf ("Couldn't map VBO.. sorry, don't know how best to handle this gracefully\n"); -exit (1); - } } void @@ -90,18 +72,9 @@ hidgl_flush_triangles (triangle_buffer *buffer) if (buffer->triangle_count == 0) return; - glUnmapBuffer (GL_ARRAY_BUFFER); - - glVertexPointer (2, GL_FLOAT, 0, NULL); // buffer->triangle_array); glDrawArrays (GL_TRIANGLES, 0, buffer->triangle_count * 3); - -// buffer->triangle_count = 0; -// buffer->coord_comp_count = 0; - - glBindBuffer(GL_ARRAY_BUFFER, 0); - glDeleteBuffers (1, &buffer->vbo_name); - - hidgl_init_triangle_array (buffer); + buffer->triangle_count = 0; + buffer->coord_comp_count = 0; } void diff --git a/src/hid/common/hidgl.h b/src/hid/common/hidgl.h index f82056a..1f15d3f 100644 --- a/src/hid/common/hidgl.h +++ b/src/hid/common/hidgl.h @@ -31,11 +31,9 @@ 4 * 5461 * 2 * 3 = 109464 */ #define TRIANGLE_ARRAY_BYTES 131072 typedef struct { -// GLfloat triangle_array [2 * 3 * TRIANGLE_ARRAY_SIZE]; - GLfloat *triangle_array; + GLfloat triangle_array [2 * 3 * TRIANGLE_ARRAY_SIZE]; unsigned int triangle_count; unsigned int coord_comp_count; - GLuint vbo_name; } triangle_buffer; extern triangle_buffer buffer; diff --git a/src/hid/gtk/gui-output-events.c b/src/hid/gtk/gui-output-events.c index 849741e..4cf470a 100644 --- a/src/hid/gtk/gui-output-events.c +++ b/src/hid/gtk/gui-output-events.c @@ -1079,11 +1079,6 @@ ghid_port_drawing_area_expose_event_cb (GtkWidget * widget, hidgl_flush_triangles (&buffer); glPopMatrix (); - - glUnmapBuffer (GL_ARRAY_BUFFER); - glBindBuffer(GL_ARRAY_BUFFER, 0); - glDeleteBuffers (1, &buffer.vbo_name); - draw_grid (); hidgl_init_triangle_array (&buffer); @@ -1104,10 +1099,6 @@ ghid_port_drawing_area_expose_event_cb (GtkWidget * widget, hidgl_flush_triangles (&buffer); - glUnmapBuffer (GL_ARRAY_BUFFER); - glBindBuffer(GL_ARRAY_BUFFER, 0); - glDeleteBuffers (1, &buffer.vbo_name); - if (gdk_gl_drawable_is_double_buffered (pGlDrawable)) gdk_gl_drawable_swap_buffers (pGlDrawable); else diff --git a/src/hid/gtk/gui-pinout-preview.c b/src/hid/gtk/gui-pinout-preview.c index bebaf96..137471f 100644 --- a/src/hid/gtk/gui-pinout-preview.c +++ b/src/hid/gtk/gui-pinout-preview.c @@ -236,10 +236,6 @@ ghid_pinout_preview_expose (GtkWidget * widget, GdkEventExpose * ev) hidgl_flush_triangles (&buffer); glPopMatrix (); - glUnmapBuffer (GL_ARRAY_BUFFER); - glBindBuffer(GL_ARRAY_BUFFER, 0); - glDeleteBuffers (1, &buffer.vbo_name); - if (gdk_gl_drawable_is_double_buffered (pGlDrawabl