Patch for OpenGL 3+ contexts via OSMesa
Matthew Matl <[email protected]> Sat, 19 Jan 2019 15:42:06 -0800
| Newsgroups | gmane.comp.python.opengl.devel |
|---|---|
| Message-ID | <CAOu37t0-2KiaUbCRytDDmGH_pdzYLxjByb_vv524P7oxHCZSRg@mail.gmail.com> |
--0000000000008aa8d5057fd82d2a Content-Type: multipart/alternative; boundary="0000000000008aa8d0057fd82d28" --0000000000008aa8d0057fd82d28 Content-Type: text/plain; charset="UTF-8" Hi Mike, Big fan of PyOpenGL! Just wanted to offer this simple patch for the most recent version of master, which adds a handle for OSMesa's OSMesaCreateContextAttribs <https://github.com/anholt/mesa/blob/01e511233b24872b08bff862ff692dfb5b22c1f4/include/GL/osmesa.h#L167> function. This function allows for users to create OSMesa contexts with core profiles, which is hugely useful for supporting offscreen rendering with modern (>=3.3) shaders. My only concern is that this function is new in Mesa 11.2, which was released on April 4, 2016, so this might not work with older Mesa versions. Not sure if the compilation system will handle this smoothly or not. Suggestions are welcome, happy to help modify this as needed. Best, Matthew Matl UC Berkeley EECS PhD Candidate --0000000000008aa8d0057fd82d28 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi Mike,<div><br></div><div>Big fan of PyOpenGL! Just want= ed to offer this simple patch for the most recent version of master, which = adds a handle for OSMesa's=C2=A0<a href=3D"https://github.com/anholt/me= sa/blob/01e511233b24872b08bff862ff692dfb5b22c1f4/include/GL/osmesa.h#L167" = target=3D"_blank">OSMesaCreateContextAttribs</a>=C2=A0function. This functi= on allows for users to create OSMesa contexts with core profiles, which is = hugely useful for supporting offscreen rendering with modern (>=3D3.3) s= haders.</div><div><br></div><div>My only concern is that this function is n= ew in Mesa 11.2, which was released on April 4, 2016, so this might not wor= k with older Mesa versions. Not sure if the compilation system will handle = this smoothly or not. Suggestions are welcome, happy to help modify this as= needed.</div><div><br></div><div>Best,<br>Matthew Matl</div><div>UC Berkel= ey EECS PhD Candidate</div></div> --0000000000008aa8d0057fd82d28-- --0000000000008aa8d5057fd82d2a Content-Type: text/x-patch; charset="US-ASCII"; name="Add_OSMesaCreateContextAttribs.diff" Content-Disposition: attachment; filename="Add_OSMesaCreateContextAttribs.diff" Content-Transfer-Encoding: base64 Content-ID: <f_jr44amsv0> X-Attachment-Id: f_jr44amsv0 IyBCYXphYXIgbWVyZ2UgZGlyZWN0aXZlIGZvcm1hdCAyIChCYXphYXIgMC45MCkKIyByZXZpc2lv bl9pZDogbWF0dGhld2NtYXRsQGdtYWlsLmNvbS0yMDE5MDExOTIzMzY0NS0yaW5mamoxMHpwZHEw dDJnCiMgdGFyZ2V0X2JyYW5jaDogaHR0cDovL2JhemFhci5sYXVuY2hwYWQubmV0L35tY2ZsZXRj aC9weW9wZW5nbC90cnVuay8KIyB0ZXN0YW1lbnRfc2hhMTogYjg1ZjYyMDMwYjI5NDQyY2ZmOTE2 MjM2ZmE5OGJlMWE1ZGQwODY0YgojIHRpbWVzdGFtcDogMjAxOS0wMS0xOSAxNTozODo0NiAtMDgw MAojIGJhc2VfcmV2aXNpb25faWQ6IG1jZmxldGNoQHZycGx1bWJlci5jb20tMjAxODExMDUwNzEx NDMtXAojICAgcjF2dWJqaHJ1d2Q0cm41ZAojIAojIEJlZ2luIHBhdGNoCj09PSBtb2RpZmllZCBm aWxlICdPcGVuR0wvcmF3L29zbWVzYS9tZXNhLnB5JwotLS0gT3BlbkdML3Jhdy9vc21lc2EvbWVz YS5weQkyMDE0LTAyLTI0IDE2OjA3OjQyICswMDAwCisrKyBPcGVuR0wvcmF3L29zbWVzYS9tZXNh LnB5CTIwMTktMDEtMTkgMjM6MzY6NDUgKzAwMDAKQEAgLTEsMyArMSw0IEBACitmcm9tIE9wZW5H TCBpbXBvcnQgYXJyYXlzCiBmcm9tIE9wZW5HTC5yYXcuR0wuX3R5cGVzIGltcG9ydCBHTGVudW0s R0xib29sZWFuLEdMc2l6ZWksR0xpbnQKIGZyb20gT3BlbkdMLnJhdy5vc21lc2EuX3R5cGVzIGlt cG9ydCAqCiBmcm9tIE9wZW5HTC5jb25zdGFudCBpbXBvcnQgQ29uc3RhbnQgYXMgX0MKQEAgLTI2 LDYgKzI3LDE0IEBACiBPU01FU0FfVFlQRSA9IF9DKCdPU01FU0FfVFlQRScsIDB4MjMpCiBPU01F U0FfTUFYX1dJRFRIID0gX0MoJ09TTUVTQV9NQVhfV0lEVEgnLCAweDI0KQogT1NNRVNBX01BWF9I RUlHSFQgPSBfQygnT1NNRVNBX01BWF9IRUlHSFQnLCAweDI1KQorT1NNRVNBX0RFUFRIX0JJVFMg PSBfQygnT1NNRVNBX0RFUFRIX0JJVFMnLCAweDMwKQorT1NNRVNBX1NURU5DSUxfQklUUyA9IF9D KCdPU01FU0FfU1RFTkNJTF9CSVRTJywgMHgzMSkKK09TTUVTQV9BQ0NVTV9CSVRTID0gX0MoJ09T TUVTQV9BQ0NVTV9CSVRTJywgMHgzMikKK09TTUVTQV9QUk9GSUxFID0gX0MoJ09TTUVTQV9QUk9G SUxFJywgMHgzMykKK09TTUVTQV9DT1JFX1BST0ZJTEUgPSBfQygnT1NNRVNBX0NPUkVfUFJPRklM RScsIDB4MzQpCitPU01FU0FfQ09NUEFUX1BST0ZJTEUgPSBfQygnT1NNRVNBX0NPUkVfUFJPRklM RScsIDB4MzUpCitPU01FU0FfQ09OVEVYVF9NQUpPUl9WRVJTSU9OID0gX0MoJ09TTUVTQV9DT05U RVhUX01BSk9SX1ZFUlNJT04nLCAweDM2KQorT1NNRVNBX0NPTlRFWFRfTUlOT1JfVkVSU0lPTiA9 IF9DKCdPU01FU0FfQ09OVEVYVF9NSU5PUl9WRVJTSU9OJywgMHgzNykKIAogT1NNZXNhR2V0Q3Vy cmVudENvbnRleHQgPSBfcC5HZXRDdXJyZW50Q29udGV4dAogCkBAIC0zOCw2ICs0NywxMCBAQAog ZGVmIE9TTWVzYUNyZWF0ZUNvbnRleHRFeHQoZm9ybWF0LCBkZXB0aEJpdHMsIHN0ZW5jaWxCaXRz LGFjY3VtQml0cyxzaGFyZWxpc3QgKTogcGFzcwogCiBAX2YKK0BfcC50eXBlcyhPU01lc2FDb250 ZXh0LGFycmF5cy5HTGludEFycmF5LCBPU01lc2FDb250ZXh0KQorZGVmIE9TTWVzYUNyZWF0ZUNv bnRleHRBdHRyaWJzKGF0dHJpYkxpc3Qsc2hhcmVsaXN0ICk6IHBhc3MKKworQF9mCiBAX3AudHlw ZXMoTm9uZSwgT1NNZXNhQ29udGV4dCkKIGRlZiBPU01lc2FEZXN0cm95Q29udGV4dChjdHgpOiBw YXNzCiAKQEAgLTczLDcgKzg2LDcgQEAKICAgICB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQgPSBHTGlu dCgpLCBHTGludCgpLCBHTGludCgpCiAgICAgYnVmZmVyID0gY3R5cGVzLmNfdm9pZF9wKCkKIAot ICAgIGlmIEdMLk9TTWVzYUdldENvbG9yQnVmZmVyKGMsIGN0eXBlcy5ieXJlZih3aWR0aCksCisg ICAgaWYgX3AuUExBVEZPUk0uR0wuT1NNZXNhR2V0Q29sb3JCdWZmZXIoYywgY3R5cGVzLmJ5cmVm KHdpZHRoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eXBlcy5ieXJl ZihoZWlnaHQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R5cGVzLmJ5 cmVmKGZvcm1hdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHlwZXMu YnlyZWYoYnVmZmVyKSk6CkBAIC04Niw5ICs5OSwxMiBAQAogICAgICdPU01lc2FDcmVhdGVDb250 ZXh0JywKICAgICAnT1NNZXNhQ3JlYXRlQ29udGV4dEV4dCcsICdPU01lc2FNYWtlQ3VycmVudCcs ICdPU01lc2FHZXRJbnRlZ2VydicsCiAgICAgJ09TTWVzYUdldEN1cnJlbnRDb250ZXh0JywgJ09T TWVzYURlc3Ryb3lDb250ZXh0JywgJ09TTWVzYVBpeGVsU3RvcmUnLAotICAgICdPU01lc2FHZXRE ZXB0aEJ1ZmZlcicsICdPU01lc2FHZXRDb2xvckJ1ZmZlcicsCisgICAgJ09TTWVzYUdldERlcHRo QnVmZmVyJywgJ09TTWVzYUdldENvbG9yQnVmZmVyJywgJ09TTWVzYUNyZWF0ZUNvbnRleHRBdHRy aWJzJywKICAgICAnT1NNRVNBX0NPTE9SX0lOREVYJywgJ09TTUVTQV9SR0JBJywgJ09TTUVTQV9C R1JBJywgJ09TTUVTQV9BUkdCJywKICAgICAnT1NNRVNBX1JHQicsICdPU01FU0FfQkdSJywgJ09T TUVTQV9CR1InLCAnT1NNRVNBX1JPV19MRU5HVEgnLAogICAgICdPU01FU0FfWV9VUCcsICdPU01F U0FfV0lEVEgnLCAnT1NNRVNBX0hFSUdIVCcsICdPU01FU0FfRk9STUFUJywKICAgICAnT1NNRVNB X1RZUEUnLCAnT1NNRVNBX01BWF9XSURUSCcsICdPU01FU0FfTUFYX0hFSUdIVCcsCisgICAgJ09T TUVTQV9ERVBUSF9CSVRTJywgJ09TTUVTQV9TVEVOQ0lMX0JJVFMnLCAnT1NNRVNBX0FDQ1VNX0JJ VFMnLAorICAgICdPU01FU0FfUFJPRklMRScsICdPU01FU0FfQ09SRV9QUk9GSUxFJywgJ09TTUVT QV9DT01QQVRfUFJPRklMRScsCisgICAgJ09TTUVTQV9DT05URVhUX01BSk9SX1ZFUlNJT04nLCAn T1NNRVNBX0NPTlRFWFRfTUlOT1JfVkVSU0lPTicKIF0KCiMgQmVnaW4gYnVuZGxlCkl5QkNZWHBo WVhJZ2NtVjJhWE5wYjI0Z1luVnVaR3hsSUhZMENpTUtRbHBvT1RGQldTWlRXU3psRGVrQUFncmZn RUFRVU8vLzkzLzMKMzBDLy8vL3dVQVR0VXcwWGlqdWdidHJkb1NTVXhQVTB5TVRDYVpGUEl5YW5w UFV3bWdiVUQxTkRRQkpVd21KaUJDbnFmb3A2VGFtagpRTkEwQU5BRFFCSWswU0dwdE5LZWllcHZV Sm8wQTAwMEF5RElBQU9ZQWpCTVFEQUpnbWpJYUdBVEJHSmhGSWlrL1JUOFRSVFpUeW1RCnpTRFI1 UVkxREVNbUdqMVFjajhHaDdmREdZdWVieE5GVk9HRnFneTF1bHRaR2hpRUUxa2NUVzRZaDg1c29t MmpkU1ZFUWxuL0czM0cKTEY5YkFkWWJIZFl6VHNldDBtM21wQkJGUEZOQW5OTzNQMjk1Nmh6Tisv bFBxek41Y0FIYzYrcm05dkwreVcrV25Ga2Y1d2M3UEV6bAoyUGlOUEhsNDQ3S2hveXV5eUhSeGdO UXFIZjVuelJEYklabWN6RHZBQjQrRFR1MjVPSERiVDFVMzlNa1BxNHFaa2xiMXZKcm9EZUk0ClRD aE9qRDFyTGtXS2ZIUEh5bTZ2MDdRSEZKNmdybWszN2JvUlhNblR1ZGZTSm1wQy9JeUFPZ3VHeDRu T1d4UGs4Z3JGaVNPZndTbmIKRnZXSzhCd3JCSFRrKys2czRSVFQydDV0cDBjdldMRlg4Vm1LMkR5 UmEram11Y0d0VUxWdmpoaDZZcmcxTUZBQ1V4b3hwcGxzSXJTVgpwWkY3TnFFME5tNVhDc2ZCK1pE VmhTMEtFdTRLQ1VaNlVkZTlxL3JGRk96bGpORWlpcmwxRmZxck8zQ1RhK0hzRnhuZWRMSEUwdFVO Ci9nbWl4RmZzZ3h3eEdRMTlpMFg4VmFXYXhaQm5qemx5ck9ZU2lYbHZGWDFibkMrY3RaWTRXVEZm anVXL1hsbXE1M3Y4OVF4VlExNnMKU1VvRktLaEtWRFBiS3hpbVRyZ1FJayttTmRsYUdBOUJ5WlpO Rk5tdXNKanRHazVZdHNpdXUvVk5OVHNLMEV3bk5vcVhCTno5cGdndQo0OGNzSVp2L2pWZ01pNmd2 ZGJyN2pZQTJoWVlJSVBJaHM5MkdKZ2ZwK3pJSG1jQnBNTERRenNRbzJ2VStJNHdHWStBZUNFdEJ5 RmJOCjdVTFdweWo3ME1qM09mYURMa3haV29CaHVQRjA2NlVLQmNLMEtCWmtHb29KaU1mM3dESDIr c2JiR3h0TmpZNEt6cmxJalBFak1UeG8KV3RxYnFFaGtQblFrQTNETkFLWEcyRG1xY2lGNHpQTTd0 UStVYUcyLzF5aVJFc1lGQ3R3N2tTaVVpQ0c0Yi9Ud2NNQlZSMmV5azU1agpxS0EyYzNLVWdmN2xQ ckw3aUgxaDJwU3pUelE4WnNhSXZOMkk4SlU1clhKTXlXK05kbVlPVmhQN0xqelhCMWZKZDJDNlBL QmgyRGRTCmtwaExUUUdSczYwcUpGZENGbDE5MS9LalhqVWthZW1wTUN2c0xHaW5nUHVtRkVmYlg0 MXRHZmpaY2FxRGI5b2FHbzNhdWQ3WlFkbHkKQk50Q3NvME5uelpXeE93Mng0NW13L3h4RmFtUDht WDFvVlFTVlU2OFNyUFN5WURTNCtpcENVTGFtU2pRUmV5ajBSdTAwVjZEZEJWQwpqcGViMS90Vy84 ck1MWURZQ1NGbmVsSFNob2V4TERXeUdiU2h6MkE0VWNGSUJYQ2Z0YmRLTkxaUFBTbWtmL054U2xj b0NzNndzRlA3Cis2NnlCNW5Da05yOXNHQzBXUmJFd3AxZVo3QXNVdXRLOEkxV0Zjd3BXbDExaFJu eVJ3KzB3SEdFZ2FseE55OTV0SXo2TUlRRitzdFoKemliZHk2U1NnWHA0ajRyWDJDWmhLdTl5UlIx RTA1a3k2S3E5a2tmSWRTQ2VMakFqQkJJMmN4QkdzNmNvNmNzVnhWRFUwTWQ4ekVQWQpWRnBhRk5o bU1PWFl5djRCNDk3Y0EzbUN3ZE5qb2JabmlrMlZFZG9XWHlyaW9MNGE5d2NwUjVHMnRNdWlhV1Nu Q3hBN0F3bFY2emVlCkh2NUFpNWIrNFlaN0R6QnV1K3ZhT2NwbDZCVmlWbVVRVmFEbTJLajBTT1ps ZHJuZ1czMHFiM0lMYWhjb2haU0xGaEJCWXRVZHkwS2IKeFYrWUd5a3FsVTFJZHdkNmNnNkZyOWVv dHhhN3dPMVNRV3F2RFN3WWIxeXQ0SEcwYlBjbThoT292K0x1U0tjS0VnV2NvYjBnCg== --0000000000008aa8d5057fd82d2a Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --0000000000008aa8d5057fd82d2a Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ PyOpenGL Homepage http://pyopengl.sourceforge.net _______________________________________________ PyOpenGL-Devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/pyopengl-devel --0000000000008aa8d5057fd82d2a--