Thread: [PyOpenGL-Devel] [ pyopengl-Bugs-777869 ] Feedback mode is broken
Brought to you by:
mcfletch
From: SourceForge.net <no...@so...> - 2003-07-26 01:28:30
|
Bugs item #777869, was opened at 2003-07-25 23:27 Message generated for change (Comment added) made by bsder You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Andrew P. Lentvorski, Jr. (bsder) Assigned to: Nobody/Anonymous (nobody) Summary: Feedback mode is broken Initial Comment: Feedback mode is broken in several ways. I'll try to send a patch after I dig through it. -a ---------------------------------------------------------------------- >Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-26 01:28 Message: Logged In: YES user_id=752864 Here is a patch to fix feedback mode for 2.0.0.44. However, I can't compile everything forward from SWIG source, so it applies against the .inc file. Someone else is going to have to apply it to the generator files. Thanks, -a ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 |
From: SourceForge.net <no...@so...> - 2003-07-26 02:02:08
|
Bugs item #777869, was opened at 2003-07-25 23:27 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Andrew P. Lentvorski, Jr. (bsder) Assigned to: Nobody/Anonymous (nobody) Summary: Feedback mode is broken Initial Comment: Feedback mode is broken in several ways. I'll try to send a patch after I dig through it. -a ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 |
From: SourceForge.net <no...@so...> - 2003-07-26 02:11:47
|
Bugs item #777869, was opened at 2003-07-25 23:27 Message generated for change (Comment added) made by bsder You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Andrew P. Lentvorski, Jr. (bsder) Assigned to: Nobody/Anonymous (nobody) Summary: Feedback mode is broken Initial Comment: Feedback mode is broken in several ways. I'll try to send a patch after I dig through it. -a ---------------------------------------------------------------------- >Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-26 01:32 Message: Logged In: YES user_id=752864 As an information note: feedback mode is broken in the version of Mesa which ships with XFree86 4.3.0 (not clear if its broken in DRI as well). This is not the fault of PyOpenGL. Updating to Mesa 5.0.1 fixes feedback mode at the C level. Then, you need to apply the PyOpenGL patch to get things working the rest of the way. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-26 01:28 Message: Logged In: YES user_id=752864 Here is a patch to fix feedback mode for 2.0.0.44. However, I can't compile everything forward from SWIG source, so it applies against the .inc file. Someone else is going to have to apply it to the generator files. Thanks, -a ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 |
From: SourceForge.net <no...@so...> - 2003-08-09 15:42:29
|
Bugs item #777869, was opened at 2003-07-25 19:27 Message generated for change (Comment added) made by mcfletch You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Andrew P. Lentvorski, Jr. (bsder) Assigned to: Nobody/Anonymous (nobody) Summary: Feedback mode is broken Initial Comment: Feedback mode is broken in several ways. I'll try to send a patch after I dig through it. -a ---------------------------------------------------------------------- >Comment By: Mike C. Fletcher (mcfletch) Date: 2003-08-09 11:42 Message: Logged In: YES user_id=34901 Okay, I'm having trouble following the logic of this patch. Seems as though there's at least three patches in there, one that's taking colour and texture length into account, another that touches just about every line of GetItem, and another that eliminates a check for memory-allocation failure (though admitedly, a rather ugly check), and a last one that looks as though it's enabling feedback mode in the first place, which, at least in 2.0.1 (the current bug-fix release), is already working. Are you sure you did a diff against the same version you started working from? If I'm going to port this to 2.0.1 (which is the upcoming bug-fix release), I'd like to know what was actually needed. A simple description ("made texture and colour sizes variables instead of macros"), or whatever, would be very helpful. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-25 21:32 Message: Logged In: YES user_id=752864 As an information note: feedback mode is broken in the version of Mesa which ships with XFree86 4.3.0 (not clear if its broken in DRI as well). This is not the fault of PyOpenGL. Updating to Mesa 5.0.1 fixes feedback mode at the C level. Then, you need to apply the PyOpenGL patch to get things working the rest of the way. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-25 21:28 Message: Logged In: YES user_id=752864 Here is a patch to fix feedback mode for 2.0.0.44. However, I can't compile everything forward from SWIG source, so it applies against the .inc file. Someone else is going to have to apply it to the generator files. Thanks, -a ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 |
From: SourceForge.net <no...@so...> - 2003-08-10 03:40:33
|
Bugs item #777869, was opened at 2003-07-25 23:27 Message generated for change (Comment added) made by bsder You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Andrew P. Lentvorski, Jr. (bsder) Assigned to: Nobody/Anonymous (nobody) Summary: Feedback mode is broken Initial Comment: Feedback mode is broken in several ways. I'll try to send a patch after I dig through it. -a ---------------------------------------------------------------------- >Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-08-10 03:40 Message: Logged In: YES user_id=752864 There were several issues the patch covers. The problem in PyFeedbackBuffer_GetItem is that the line: int pos = ((PyFeedbackBuffer*)self)->pos[i], dims[2]; segfaults when FeedbackMode returns no objects. Consequently, it needs to be moved inside an if statement as a shield. The indentation of the function inside the new shield is causing all of the line changes. glFeedbackBuffer(0, type, NULL); creates a GLError. I don't remember why I made the color and texture lengths into variables. I believe that the changes to the PyMem_Resize loop were to avoid segfaulting on no return objects. The: PyErr_SetString(PyExc_Exception, "Buffer too small to hold return information"); changes are there to force an exception up into Python so that feedback mode can be retried with a larger buffer. Otherwise, there is no way to signal at the app level that something went wrong and needs to be retried (it simply returned Py_None before). The big thing is to please check the system for the cases when A) Feedback mode returns no objects (this is valid) and B) provide a mechanism so the the Python app can figure out that it needs to allocate a bigger buffer and retry. If you can provide me with a snapshot that doesn't require SWIG and autoconf to build (does the CVS already have the .inc files and the ./configure script?), I will rebuild the patch for the new version (if required). I seem to recall that I tried to build 2.0.1.04, but it failed on SWIG issues. Unfortunately, I do not have any Linux boxen (I only have Solaris and FreeBSD); consequently, there is no possibility of generating the source from the .i files via SWIG (version compatibility issue) or of creating the ./configure script from autogen.sh (too many Linux specific macros). Thanks, -a ---------------------------------------------------------------------- Comment By: Mike C. Fletcher (mcfletch) Date: 2003-08-09 15:42 Message: Logged In: YES user_id=34901 Okay, I'm having trouble following the logic of this patch. Seems as though there's at least three patches in there, one that's taking colour and texture length into account, another that touches just about every line of GetItem, and another that eliminates a check for memory-allocation failure (though admitedly, a rather ugly check), and a last one that looks as though it's enabling feedback mode in the first place, which, at least in 2.0.1 (the current bug-fix release), is already working. Are you sure you did a diff against the same version you started working from? If I'm going to port this to 2.0.1 (which is the upcoming bug-fix release), I'd like to know what was actually needed. A simple description ("made texture and colour sizes variables instead of macros"), or whatever, would be very helpful. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-26 01:32 Message: Logged In: YES user_id=752864 As an information note: feedback mode is broken in the version of Mesa which ships with XFree86 4.3.0 (not clear if its broken in DRI as well). This is not the fault of PyOpenGL. Updating to Mesa 5.0.1 fixes feedback mode at the C level. Then, you need to apply the PyOpenGL patch to get things working the rest of the way. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-26 01:28 Message: Logged In: YES user_id=752864 Here is a patch to fix feedback mode for 2.0.0.44. However, I can't compile everything forward from SWIG source, so it applies against the .inc file. Someone else is going to have to apply it to the generator files. Thanks, -a ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 |
From: SourceForge.net <no...@so...> - 2003-10-20 01:50:45
|
Bugs item #777869, was opened at 2003-07-25 19:27 Message generated for change (Comment added) made by mcfletch You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 >Category: GL >Group: v2.0.1 Status: Open Resolution: None >Priority: 8 Submitted By: Andrew P. Lentvorski, Jr. (bsder) >Assigned to: Mike C. Fletcher (mcfletch) Summary: Feedback mode is broken Initial Comment: Feedback mode is broken in several ways. I'll try to send a patch after I dig through it. -a ---------------------------------------------------------------------- >Comment By: Mike C. Fletcher (mcfletch) Date: 2003-10-19 19:16 Message: Logged In: YES user_id=34901 I seem to have dropped the ball on this one. Need to deal with it ASAP. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-08-09 23:40 Message: Logged In: YES user_id=752864 There were several issues the patch covers. The problem in PyFeedbackBuffer_GetItem is that the line: int pos = ((PyFeedbackBuffer*)self)->pos[i], dims[2]; segfaults when FeedbackMode returns no objects. Consequently, it needs to be moved inside an if statement as a shield. The indentation of the function inside the new shield is causing all of the line changes. glFeedbackBuffer(0, type, NULL); creates a GLError. I don't remember why I made the color and texture lengths into variables. I believe that the changes to the PyMem_Resize loop were to avoid segfaulting on no return objects. The: PyErr_SetString(PyExc_Exception, "Buffer too small to hold return information"); changes are there to force an exception up into Python so that feedback mode can be retried with a larger buffer. Otherwise, there is no way to signal at the app level that something went wrong and needs to be retried (it simply returned Py_None before). The big thing is to please check the system for the cases when A) Feedback mode returns no objects (this is valid) and B) provide a mechanism so the the Python app can figure out that it needs to allocate a bigger buffer and retry. If you can provide me with a snapshot that doesn't require SWIG and autoconf to build (does the CVS already have the .inc files and the ./configure script?), I will rebuild the patch for the new version (if required). I seem to recall that I tried to build 2.0.1.04, but it failed on SWIG issues. Unfortunately, I do not have any Linux boxen (I only have Solaris and FreeBSD); consequently, there is no possibility of generating the source from the .i files via SWIG (version compatibility issue) or of creating the ./configure script from autogen.sh (too many Linux specific macros). Thanks, -a ---------------------------------------------------------------------- Comment By: Mike C. Fletcher (mcfletch) Date: 2003-08-09 11:42 Message: Logged In: YES user_id=34901 Okay, I'm having trouble following the logic of this patch. Seems as though there's at least three patches in there, one that's taking colour and texture length into account, another that touches just about every line of GetItem, and another that eliminates a check for memory-allocation failure (though admitedly, a rather ugly check), and a last one that looks as though it's enabling feedback mode in the first place, which, at least in 2.0.1 (the current bug-fix release), is already working. Are you sure you did a diff against the same version you started working from? If I'm going to port this to 2.0.1 (which is the upcoming bug-fix release), I'd like to know what was actually needed. A simple description ("made texture and colour sizes variables instead of macros"), or whatever, would be very helpful. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-25 21:32 Message: Logged In: YES user_id=752864 As an information note: feedback mode is broken in the version of Mesa which ships with XFree86 4.3.0 (not clear if its broken in DRI as well). This is not the fault of PyOpenGL. Updating to Mesa 5.0.1 fixes feedback mode at the C level. Then, you need to apply the PyOpenGL patch to get things working the rest of the way. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-25 21:28 Message: Logged In: YES user_id=752864 Here is a patch to fix feedback mode for 2.0.0.44. However, I can't compile everything forward from SWIG source, so it applies against the .inc file. Someone else is going to have to apply it to the generator files. Thanks, -a ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 |
From: SourceForge.net <no...@so...> - 2003-10-24 04:53:37
|
Bugs item #777869, was opened at 2003-07-25 23:27 Message generated for change (Comment added) made by bsder You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 Category: GL Group: v2.0.1 Status: Open Resolution: None Priority: 8 Submitted By: Andrew P. Lentvorski, Jr. (bsder) Assigned to: Mike C. Fletcher (mcfletch) Summary: Feedback mode is broken Initial Comment: Feedback mode is broken in several ways. I'll try to send a patch after I dig through it. -a ---------------------------------------------------------------------- >Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-10-24 04:53 Message: Logged In: YES user_id=752864 Yup. Feedback mode is still broken as of the 2.0.1.06 snapshot. ---------------------------------------------------------------------- Comment By: Mike C. Fletcher (mcfletch) Date: 2003-10-19 23:16 Message: Logged In: YES user_id=34901 I seem to have dropped the ball on this one. Need to deal with it ASAP. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-08-10 03:40 Message: Logged In: YES user_id=752864 There were several issues the patch covers. The problem in PyFeedbackBuffer_GetItem is that the line: int pos = ((PyFeedbackBuffer*)self)->pos[i], dims[2]; segfaults when FeedbackMode returns no objects. Consequently, it needs to be moved inside an if statement as a shield. The indentation of the function inside the new shield is causing all of the line changes. glFeedbackBuffer(0, type, NULL); creates a GLError. I don't remember why I made the color and texture lengths into variables. I believe that the changes to the PyMem_Resize loop were to avoid segfaulting on no return objects. The: PyErr_SetString(PyExc_Exception, "Buffer too small to hold return information"); changes are there to force an exception up into Python so that feedback mode can be retried with a larger buffer. Otherwise, there is no way to signal at the app level that something went wrong and needs to be retried (it simply returned Py_None before). The big thing is to please check the system for the cases when A) Feedback mode returns no objects (this is valid) and B) provide a mechanism so the the Python app can figure out that it needs to allocate a bigger buffer and retry. If you can provide me with a snapshot that doesn't require SWIG and autoconf to build (does the CVS already have the .inc files and the ./configure script?), I will rebuild the patch for the new version (if required). I seem to recall that I tried to build 2.0.1.04, but it failed on SWIG issues. Unfortunately, I do not have any Linux boxen (I only have Solaris and FreeBSD); consequently, there is no possibility of generating the source from the .i files via SWIG (version compatibility issue) or of creating the ./configure script from autogen.sh (too many Linux specific macros). Thanks, -a ---------------------------------------------------------------------- Comment By: Mike C. Fletcher (mcfletch) Date: 2003-08-09 15:42 Message: Logged In: YES user_id=34901 Okay, I'm having trouble following the logic of this patch. Seems as though there's at least three patches in there, one that's taking colour and texture length into account, another that touches just about every line of GetItem, and another that eliminates a check for memory-allocation failure (though admitedly, a rather ugly check), and a last one that looks as though it's enabling feedback mode in the first place, which, at least in 2.0.1 (the current bug-fix release), is already working. Are you sure you did a diff against the same version you started working from? If I'm going to port this to 2.0.1 (which is the upcoming bug-fix release), I'd like to know what was actually needed. A simple description ("made texture and colour sizes variables instead of macros"), or whatever, would be very helpful. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-26 01:32 Message: Logged In: YES user_id=752864 As an information note: feedback mode is broken in the version of Mesa which ships with XFree86 4.3.0 (not clear if its broken in DRI as well). This is not the fault of PyOpenGL. Updating to Mesa 5.0.1 fixes feedback mode at the C level. Then, you need to apply the PyOpenGL patch to get things working the rest of the way. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-26 01:28 Message: Logged In: YES user_id=752864 Here is a patch to fix feedback mode for 2.0.0.44. However, I can't compile everything forward from SWIG source, so it applies against the .inc file. Someone else is going to have to apply it to the generator files. Thanks, -a ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 |
From: SourceForge.net <no...@so...> - 2003-10-25 23:34:39
|
Bugs item #777869, was opened at 2003-07-25 19:27 Message generated for change (Comment added) made by mcfletch You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 Category: GL Group: v2.0.1 >Status: Closed >Resolution: Accepted Priority: 8 Submitted By: Andrew P. Lentvorski, Jr. (bsder) Assigned to: Mike C. Fletcher (mcfletch) Summary: Feedback mode is broken Initial Comment: Feedback mode is broken in several ways. I'll try to send a patch after I dig through it. -a ---------------------------------------------------------------------- >Comment By: Mike C. Fletcher (mcfletch) Date: 2003-10-25 19:34 Message: Logged In: YES user_id=34901 Okay, this should all be fixed now. I made a few cosmetic changes (e.g. I just fixed the ->count field's definition rather than altering the logic in GetItem), but all-in-all, it's the code you've included here. The error return code is also a little more involved, but overall, it should work. I've also checked in some testing code so that the error can be tracked against reoccurence. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-10-24 00:53 Message: Logged In: YES user_id=752864 Yup. Feedback mode is still broken as of the 2.0.1.06 snapshot. ---------------------------------------------------------------------- Comment By: Mike C. Fletcher (mcfletch) Date: 2003-10-19 19:16 Message: Logged In: YES user_id=34901 I seem to have dropped the ball on this one. Need to deal with it ASAP. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-08-09 23:40 Message: Logged In: YES user_id=752864 There were several issues the patch covers. The problem in PyFeedbackBuffer_GetItem is that the line: int pos = ((PyFeedbackBuffer*)self)->pos[i], dims[2]; segfaults when FeedbackMode returns no objects. Consequently, it needs to be moved inside an if statement as a shield. The indentation of the function inside the new shield is causing all of the line changes. glFeedbackBuffer(0, type, NULL); creates a GLError. I don't remember why I made the color and texture lengths into variables. I believe that the changes to the PyMem_Resize loop were to avoid segfaulting on no return objects. The: PyErr_SetString(PyExc_Exception, "Buffer too small to hold return information"); changes are there to force an exception up into Python so that feedback mode can be retried with a larger buffer. Otherwise, there is no way to signal at the app level that something went wrong and needs to be retried (it simply returned Py_None before). The big thing is to please check the system for the cases when A) Feedback mode returns no objects (this is valid) and B) provide a mechanism so the the Python app can figure out that it needs to allocate a bigger buffer and retry. If you can provide me with a snapshot that doesn't require SWIG and autoconf to build (does the CVS already have the .inc files and the ./configure script?), I will rebuild the patch for the new version (if required). I seem to recall that I tried to build 2.0.1.04, but it failed on SWIG issues. Unfortunately, I do not have any Linux boxen (I only have Solaris and FreeBSD); consequently, there is no possibility of generating the source from the .i files via SWIG (version compatibility issue) or of creating the ./configure script from autogen.sh (too many Linux specific macros). Thanks, -a ---------------------------------------------------------------------- Comment By: Mike C. Fletcher (mcfletch) Date: 2003-08-09 11:42 Message: Logged In: YES user_id=34901 Okay, I'm having trouble following the logic of this patch. Seems as though there's at least three patches in there, one that's taking colour and texture length into account, another that touches just about every line of GetItem, and another that eliminates a check for memory-allocation failure (though admitedly, a rather ugly check), and a last one that looks as though it's enabling feedback mode in the first place, which, at least in 2.0.1 (the current bug-fix release), is already working. Are you sure you did a diff against the same version you started working from? If I'm going to port this to 2.0.1 (which is the upcoming bug-fix release), I'd like to know what was actually needed. A simple description ("made texture and colour sizes variables instead of macros"), or whatever, would be very helpful. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-25 21:32 Message: Logged In: YES user_id=752864 As an information note: feedback mode is broken in the version of Mesa which ships with XFree86 4.3.0 (not clear if its broken in DRI as well). This is not the fault of PyOpenGL. Updating to Mesa 5.0.1 fixes feedback mode at the C level. Then, you need to apply the PyOpenGL patch to get things working the rest of the way. ---------------------------------------------------------------------- Comment By: Andrew P. Lentvorski, Jr. (bsder) Date: 2003-07-25 21:28 Message: Logged In: YES user_id=752864 Here is a patch to fix feedback mode for 2.0.0.44. However, I can't compile everything forward from SWIG source, so it applies against the .inc file. Someone else is going to have to apply it to the generator files. Thanks, -a ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=777869&group_id=5988 |