diff options
| author | Pierre Krieger <pierre.krieger1708@gmail.com> | 2015-04-02 13:53:15 +0200 | 
|---|---|---|
| committer | Pierre Krieger <pierre.krieger1708@gmail.com> | 2015-04-02 13:53:15 +0200 | 
| commit | 4d81cc2df1e1a4867a8c874a39365f90b26e2cdb (patch) | |
| tree | 712ec29f4122499380732abe74f41b63e543b5db | |
| parent | 2e1fe8283f82208375737674a731d2fe3c5e4539 (diff) | |
| download | glutin-4d81cc2df1e1a4867a8c874a39365f90b26e2cdb.tar.gz glutin-4d81cc2df1e1a4867a8c874a39365f90b26e2cdb.zip  | |
Fix missing parameter for pixel formats infos on win32
| -rw-r--r-- | build.rs | 1 | ||||
| -rw-r--r-- | src/lib.rs | 4 | ||||
| -rw-r--r-- | src/win32/init.rs | 17 | 
3 files changed, 16 insertions, 6 deletions
@@ -29,6 +29,7 @@ fn main() {                                              "WGL_ARB_create_context_profile".to_string(),                                              "WGL_ARB_extensions_string".to_string(),                                              "WGL_ARB_framebuffer_sRGB".to_string(), +                                            "WGL_ARB_multisample".to_string(),                                              "WGL_ARB_pixel_format".to_string(),                                              "WGL_EXT_create_context_es2_profile".to_string(),                                              "WGL_EXT_extensions_string".to_string(), @@ -332,10 +332,6 @@ impl<'a> BuilderAttribs<'a> {                  continue;              } -            if self.multisampling.is_some() && format.multisampling.is_none() { -                continue; -            } -              current_software_result = Some((id.clone(), format.clone()));              if format.hardware_accelerated {                  current_result = Some((id, format)); diff --git a/src/win32/init.rs b/src/win32/init.rs index d0012e2..c296a9d 100644 --- a/src/win32/init.rs +++ b/src/win32/init.rs @@ -491,8 +491,21 @@ unsafe fn enumerate_arb_pixel_formats(extra: &gl::wgl_extra::Wgl, hdc: &WindowWr              stencil_bits: get_info(index, gl::wgl_extra::STENCIL_BITS_ARB) as u8,              stereoscopy: get_info(index, gl::wgl_extra::STEREO_ARB) != 0,              double_buffer: get_info(index, gl::wgl_extra::DOUBLE_BUFFER_ARB) != 0, -            multisampling: None,        // FIXME:  -            srgb: false,        // FIXME:  +            multisampling: { +                if is_extension_supported(extra, hdc, "WGL_ARB_multisample") { +                    match get_info(index, gl::wgl_extra::SAMPLES_ARB) { +                        0 => None, +                        a => Some(a as u16), +                    } +                } else { +                    None +                } +            }, +            srgb: if is_extension_supported(extra, hdc, "WGL_ARB_framebuffer_sRGB") { +                get_info(index, gl::wgl_extra::FRAMEBUFFER_SRGB_CAPABLE_ARB) != 0 +            } else { +                false +            },          }, index as libc::c_int));      }  | 
