mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-24 22:31:30 +11:00
Fix OpenGL profile selection
This commit is contained in:
parent
e90f377b9f
commit
26139f8c5c
|
@ -500,6 +500,10 @@ impl Window {
|
||||||
|
|
||||||
fn create_context(view: id, builder: &BuilderAttribs) -> Result<(IdRef, PixelFormat), CreationError> {
|
fn create_context(view: id, builder: &BuilderAttribs) -> Result<(IdRef, PixelFormat), CreationError> {
|
||||||
let profile = match (builder.gl_version, builder.gl_version.to_gl_version(), builder.gl_profile) {
|
let profile = match (builder.gl_version, builder.gl_version.to_gl_version(), builder.gl_profile) {
|
||||||
|
|
||||||
|
// Note: we are not using ranges because of a rust bug that should be fixed here:
|
||||||
|
// https://github.com/rust-lang/rust/pull/27050
|
||||||
|
|
||||||
(GlRequest::Latest, _, Some(GlProfile::Compatibility)) => NSOpenGLProfileVersionLegacy as u32,
|
(GlRequest::Latest, _, Some(GlProfile::Compatibility)) => NSOpenGLProfileVersionLegacy as u32,
|
||||||
(GlRequest::Latest, _, _) => {
|
(GlRequest::Latest, _, _) => {
|
||||||
if NSAppKitVersionNumber.floor() >= NSAppKitVersionNumber10_9 {
|
if NSAppKitVersionNumber.floor() >= NSAppKitVersionNumber10_9 {
|
||||||
|
@ -510,12 +514,16 @@ impl Window {
|
||||||
NSOpenGLProfileVersionLegacy as u32
|
NSOpenGLProfileVersionLegacy as u32
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
(_, Some((1 ... 2, _)), Some(GlProfile::Core)) |
|
|
||||||
(_, Some((3 ... 4, _)), Some(GlProfile::Compatibility)) =>
|
(_, Some((1, _)), _) => NSOpenGLProfileVersionLegacy as u32,
|
||||||
return Err(CreationError::OpenGlVersionNotSupported),
|
(_, Some((2, _)), _) => NSOpenGLProfileVersionLegacy as u32,
|
||||||
(_, Some((1 ... 2, _)), _) => NSOpenGLProfileVersionLegacy as u32,
|
(_, Some((3, 0)), _) => NSOpenGLProfileVersionLegacy as u32,
|
||||||
(_, Some((3, 0 ... 2)), _) => NSOpenGLProfileVersion3_2Core as u32,
|
(_, Some((3, 1)), _) => NSOpenGLProfileVersionLegacy as u32,
|
||||||
(_, Some((3 ... 4, _)), _) => NSOpenGLProfileVersion4_1Core as u32,
|
(_, Some((3, 2)), _) => NSOpenGLProfileVersion3_2Core as u32,
|
||||||
|
(_, Some((3, _)), Some(GlProfile::Compatibility)) => return Err(CreationError::OpenGlVersionNotSupported),
|
||||||
|
(_, Some((3, _)), _) => NSOpenGLProfileVersion4_1Core as u32,
|
||||||
|
(_, Some((4, _)), Some(GlProfile::Compatibility)) => return Err(CreationError::OpenGlVersionNotSupported),
|
||||||
|
(_, Some((4, _)), _) => NSOpenGLProfileVersion4_1Core as u32,
|
||||||
_ => return Err(CreationError::OpenGlVersionNotSupported),
|
_ => return Err(CreationError::OpenGlVersionNotSupported),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue