Hi Wojtek,

I'd be inclined to keep that hack in there for a while longer.  It
isn't doing any harm.

Robert.

On Wed, Aug 27, 2008 at 8:58 AM, Wojciech Lewandowski
<[EMAIL PROTECTED]> wrote:
> Hi All,
>
> Yesterday on Nvidia website appeared new driver version 177.92. I  made a
> check and it looks like this driver fixes the issues for which I made my
> duplicated MakeCurrentContext workaround. So it looks like we may now remove
> this workaround.
> Unfortunately this driver has Beta status and is not yet available from WHQL
> certified list. Its available through beta drivers download.
> So I would wait a little bit more until  this driver becomes official latest
> driver for GeForce 6,7,8,9,200 for WinXP.
> Let me know what is your opinion. If you prefer to act early I may send a
> submission with former workaround wrapped with #if 0 and modified comment
> saying "that new drivers exist where its not needed anymore".
>
> Cheers,
> Wojtek
>
>
>
>
>
>
>
>> Hi Robert,
>>
>> I use it and have not observed any issues. I would say its rather safe.
>>
>> I reported this bug to NVidia. And it looks like they are doing something
>> to fix the problem. In the meantime they sent me two bit cryptic emails
>> informing they verified and fixed it. Last email was also saying that fix is
>> awaiting for final verification and closure. I don't know when they make
>> fixed drivers available, though, so I would vote for merging my workaround
>> for time being.
>>
>> I promise I will let you know or even send the submission removing this
>> workaround when NVidia informs me that fixed drivers are available.
>>
>> Cheers,
>> Wojtek
>>
>>
>>
>>> Hi Wojtek,
>>>
>>> I'm just following up on your workaround for the NVidia WindowsXP
>>> multi-thread make current bug.   Others have reported problems since
>>> you posted your fix, and while I know the bug is now Nvidia have
>>> acknowledged the problem, we don't yet know how long it might be to a
>>> fix... so I'm tempted to merge your workaround.
>>>
>>> Thoughts?
>>> Robert.
>>>
>>> On Mon, May 12, 2008 at 1:28 PM, Wojciech Lewandowski
>>> <[EMAIL PROTECTED]> wrote:
>>>>
>>>> Hi again,
>>>>
>>>> I have modified GraphicsWindowWin32::makeCurrentImplementation method.
>>>> Code
>>>> attached. This modification solves both garbage in
>>>> TriangleStrip/TriangleFans and FBO problems. So a complete succes for me
>>>> ;-)
>>>>
>>>> I am posting it on osg users forum instead of osg submissions because I
>>>> expecty we want some discussion before submitting it.
>>>>
>>>> I don't know how this workaroud should be additionaly wrapped. In this
>>>> form
>>>> its alredy rather non aggressive - second wglMakeCurrent will be called
>>>> fairly seldom.  What additional conditions we would like to see tested
>>>> before applying this worakoround. Any suggestions ? Should I check
>>>> GL_VENDOR, GL_RENDERER, GL_VERSION strings ? Does OSG offer some methods
>>>> to
>>>> query OS, drivers version ?
>>>>
>>>> Maybe othe places in the code are more appriopriate for this call.
>>>>
>>>> Cheers,
>>>> Wojtek
>>>>
>>>>> Hi Everyone,
>>>>>
>>>>> Lets get back to the main topic of this thread ie garbage in Multicore
>>>>> CPU
>>>>> /
>>>>> NVidia / DualView / Window XP.
>>>>>
>>>>> I attached my OpenGL repro for those who are interested. I would be
>>>>> grateful
>>>>> if somoene could check if my threading code is OK (and maybe simplify
>>>>> it).
>>>>> If it is, I will try to submit the bug to NVidia.
>>>>>
>>>>> Check out what happens when  repeatMakeCurrent variable gets changed to
>>>>> non
>>>>> zero value. This causes repetition of wglMakeCurrent and fixes the
>>>>> issue.
>>>>> I
>>>>> will try to check this method in OSG next week.
>>>>>
>>>>> I am heading back home for the weekend. I will stay online but I don't
>>>>> have
>>>>> multicore CPU there so I won't be able to check codes till monday.
>>>>>
>>>>> Cheers,
>>>>> Wojtek Lewandowski
>>>>>
>>>>>
>>>>>> Hi Robert, Paul and J-S,
>>>>>>
>>>>>> I don't think I was clear enough. Its too early to say that
>>>>>> wglMakeCurrent
>>>>>> will be a good workaround for OSG.
>>>>>> I only said that it "relaxed" the problem in my OpenGL repro.
>>>>>>
>>>>>> It looks like first wglMakeCurrent (when renderer thread is started)
>>>>>> does
>>>>>> not initialize properly some internal OpenGL context data. If I repeat
>>>>>> it
>>>>>> in second frame everything becomes correct. So if wglMakeCurrent was a
>>>>>> solution it would be needed only once more on frame.
>>>>>>
>>>>>> But I learned all this using my open gl repro without Display Lists
>>>>>> and
>>>>>> to
>>>>>> be honest I did not checked what will happen if DisplayLists are
>>>>>> generated
>>>>>> on a first frame (like OSG does). I suspect they might stay screwed
>>>>>> even
>>>>>> if second wglMAkeCurrent gets called.  I am currently trying to check
>>>>>> this
>>>>>> out. I just need some more time to investigate.
>>>>>>
>>>>>> I got some questions regarding this issue so I decided to inform guys
>>>>>> for
>>>>>> whom this is relevant by posting on osg-users. I am certainly far from
>>>>>> proposing fixes at this moment.
>>>>>>
>>>>>> Wojtek
>>>>>>
>>>>>>
>>>>>>> Hi Wojciech,
>>>>>>>
>>>>>>> On Fri, May 9, 2008 at 2:16 PM, Wojciech Lewandowski
>>>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>>>>
>>>>>>>> Problem could be relaxed when wglMakeCurrent gets called before each
>>>>>>>> frame
>>>>>>>> rendering. I noticed that artifacts appeared when wglMakeCurrent was
>>>>>>>> called
>>>>>>>> only once while worker rendering thread initialization . When
>>>>>>>> wglMakeCurrent
>>>>>>>> was called every frame artifacts did not appear.
>>>>>>>
>>>>>>> wglMakeCurrent "shouldn't" be required if one has a thread per
>>>>>>> context, one a thread does a wglMakeCurrent() it shouldn't release
>>>>>>> the
>>>>>>> context till this thread calls release context (done with
>>>>>>> wglMakeCurrent(_hdc, NULL)).
>>>>>>>
>>>>>>> As you are finding that the wglMakeCurrent() per frame is required,
>>>>>>> this either suggests that the OpenGL driver is playing fast and loose
>>>>>>> with the graphics context behind the scenes so the app looses the
>>>>>>> context being current, in which case this is very much a driver bug,
>>>>>>> or that the OSG itself is doing makeCurrent on the context from
>>>>>>> another thread or releasing the context when it shouldn't.
>>>>>>>
>>>>>>> Could you put some debug output into GraphicsWindowWin32.cpp's
>>>>>>> makeCurrentImplementation(..) and relaseContextImplementation(..) to
>>>>>>> see if there are being called when you wouldn't expect, printing out
>>>>>>> the
>>>>>>> pointer to the current thread would be useful as well.
>>>>>>>
>>>>>>> Robert.
>>>>>>> _______________________________________________
>>>>>>> osg-users mailing list
>>>>>>> [email protected]
>>>>>>>
>>>>>>>
>>>>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>>>
>>>>>> _______________________________________________
>>>>>> osg-users mailing list
>>>>>> [email protected]
>>>>>>
>>>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>>
>>>>
>>>>
>>>>
>>>> --------------------------------------------------------------------------------
>>>>
>>>>
>>>>> _______________________________________________
>>>>> osg-users mailing list
>>>>> [email protected]
>>>>>
>>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>>
>>>>
>>>> _______________________________________________
>>>> osg-users mailing list
>>>> [email protected]
>>>>
>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>
>>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> [email protected]
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to