Bug 61455

Summary: Feature request: implement wglMakeContextCurrentARB in Gallium
Product: Mesa Reporter: Keith Kriewall <keith.kriewall>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium CC: brianp, jfonseca
Version: 9.0   
Hardware: All   
OS: Windows (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Zip of wincopy for Windows

Description Keith Kriewall 2013-02-25 18:37:02 UTC
Please implement wglMakeContextCurrentARB in the Gallium state-tracker.

The declaration would be at:

  /gallium/state_trackers/wgl/stw_getprocaddress.c
    stw_extension_entries[] :
      /* WGL_ARB_make_current_read */
      STW_EXTENSION_ENTRY( wglMakeContextCurrentARB ),

We have a need for support of glXMakeContextCurrent in the Gallium software renderers (softpipe and/or llvmpipe).

Specification docs:

(GLX 1.3, GL 1.2)
http://www.opengl.org/sdk/docs/man2/xhtml/glXMakeContextCurrent.xml

(WGL)
http://www.opengl.org/registry/specs/ARB/wgl_make_current_read.txt
Comment 1 Jose Fonseca 2013-02-28 15:30:55 UTC
This sort of WGL extensions are quite tricky to get implemented right, because we have to workaround Microsoft OpenGL runtime and cheat it.

Could you provide a simple test case for this?
Comment 2 Keith Kriewall 2013-02-28 17:28:08 UTC
The mesa demo wincopy uses glMakeContextCurrent.  If you need a test case beyond this, please let me know.
Comment 3 Jose Fonseca 2013-02-28 17:33:50 UTC
mesademos/src/xdemos/wincopy.c is an X11 sample, not WGL.  And to test this I'd really need a wglMakeContextCurrentARB.

Please note that, spite the similarties between glXMakeContextCurrent and wglMakeContextCurrentARB the implementation of these are miles apart.

A port of wincopy.c to WGL should be fine though.
Comment 4 Keith Kriewall 2013-02-28 17:50:01 UTC
OK, we'll look at porting wincopy to Windows, or writing another test application.  We're booked up for several days, but I'll get it to you ASAP.
Comment 5 Keith Kriewall 2013-03-05 22:23:04 UTC
Created attachment 75990 [details]
Zip of wincopy for Windows

Wincopy ported to Windows is attached, as a Dev Studio 2010 solution/project and source.  Build as debug or release, and run on any machine with reasonably recent video hardware to see the application run.  Then copy the gallium Mesa3D library (either softpipe or llvmpipe drivers) into the Debug or Release folder with the *.exe, and run again.  The program will fail on an assert for the missing wglMakeContextCurrentARB function.

Thanks, -Keith.
Comment 6 Keith Kriewall 2013-04-18 20:34:39 UTC
Is there an ETA for this feature?
Comment 7 GitLab Migration User 2019-09-18 20:23:05 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/974.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.