mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-24 06:11:30 +11:00
Merge pull request #652 from tomaka/rem-gl-common
[Breaking change] Remove public exports of gl_common and libc
This commit is contained in:
commit
bfc46c5670
24
Cargo.toml
24
Cargo.toml
|
@ -13,11 +13,11 @@ build = "build.rs"
|
|||
[dependencies]
|
||||
gl_common = "0.1.0"
|
||||
lazy_static = "0.1.10"
|
||||
libc = "0.1"
|
||||
libc = "0.2"
|
||||
shared_library = "0.1.0"
|
||||
|
||||
[build-dependencies]
|
||||
gl_generator = "0.1.0"
|
||||
gl_generator = "0.2.0"
|
||||
khronos_api = "0.0.8"
|
||||
|
||||
[dev-dependencies]
|
||||
|
@ -27,22 +27,22 @@ clock_ticks = "0.1.0"
|
|||
version = "0.1"
|
||||
|
||||
[target.i386-apple-ios.dependencies]
|
||||
objc = ">=0.1.0, <=0.1.7"
|
||||
objc = "0.1.8"
|
||||
|
||||
[target.x86_64-apple-ios.dependencies]
|
||||
objc = ">=0.1.0, <=0.1.7"
|
||||
objc = "0.1.8"
|
||||
|
||||
[target.aarch64-apple-ios.dependencies]
|
||||
objc = ">=0.1.0, <=0.1.7"
|
||||
objc = "0.1.8"
|
||||
|
||||
[target.armv7s-apple-ios.dependencies]
|
||||
objc = ">=0.1.0, <=0.1.7"
|
||||
objc = "0.1.8"
|
||||
|
||||
[target.armv7-apple-ios.dependencies]
|
||||
objc = ">=0.1.0, <=0.1.7"
|
||||
objc = "0.1.8"
|
||||
|
||||
[target.x86_64-apple-darwin.dependencies]
|
||||
objc = ">=0.1.0, <=0.1.7"
|
||||
objc = "0.1.8"
|
||||
cgl = "0.1"
|
||||
cocoa = "0.1.4"
|
||||
core-foundation = "0"
|
||||
|
@ -53,7 +53,7 @@ winapi = "0.2"
|
|||
shell32-sys = "0.1"
|
||||
gdi32-sys = "0.1"
|
||||
user32-sys = "~0.1.2"
|
||||
kernel32-sys = "0.1"
|
||||
kernel32-sys = "0.2"
|
||||
dwmapi-sys = "0.1"
|
||||
|
||||
[target.i686-pc-windows-msvc.dependencies]
|
||||
|
@ -61,7 +61,7 @@ winapi = "0.2"
|
|||
shell32-sys = "0.1"
|
||||
gdi32-sys = "0.1"
|
||||
user32-sys = "~0.1.2"
|
||||
kernel32-sys = "0.1"
|
||||
kernel32-sys = "0.2"
|
||||
dwmapi-sys = "0.1"
|
||||
|
||||
[target.x86_64-pc-windows-gnu.dependencies]
|
||||
|
@ -69,7 +69,7 @@ winapi = "0.2"
|
|||
shell32-sys = "0.1"
|
||||
gdi32-sys = "0.1"
|
||||
user32-sys = "~0.1.2"
|
||||
kernel32-sys = "0.1"
|
||||
kernel32-sys = "0.2"
|
||||
dwmapi-sys = "0.1"
|
||||
|
||||
[target.x86_64-pc-windows-msvc.dependencies]
|
||||
|
@ -77,7 +77,7 @@ winapi = "0.2"
|
|||
shell32-sys = "0.1"
|
||||
gdi32-sys = "0.1"
|
||||
user32-sys = "~0.1.2"
|
||||
kernel32-sys = "0.1"
|
||||
kernel32-sys = "0.2"
|
||||
dwmapi-sys = "0.1"
|
||||
|
||||
[target.i686-unknown-linux-gnu.dependencies]
|
||||
|
|
|
@ -13,7 +13,7 @@ pub struct Context {
|
|||
}
|
||||
|
||||
pub fn load(window: &glutin::Window) -> Context {
|
||||
let gl = gl::Gl::load(window);
|
||||
let gl = gl::Gl::load_with(|ptr| window.get_proc_address(ptr) as *const _);
|
||||
|
||||
let version = unsafe {
|
||||
let data = CStr::from_ptr(gl.GetString(gl::VERSION) as *const _).to_bytes().to_vec();
|
||||
|
|
|
@ -263,7 +263,7 @@ impl GlContext for Window {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.context.get_proc_address(addr)
|
||||
}
|
||||
|
||||
|
@ -323,7 +323,7 @@ impl GlContext for HeadlessContext {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.0.get_proc_address(addr)
|
||||
}
|
||||
|
||||
|
|
|
@ -252,7 +252,7 @@ impl GlContext for Window {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.opengl.get_proc_address(addr)
|
||||
}
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ impl GlContext for HeadlessContext {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, _addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, _addr: &str) -> *const () {
|
||||
let symbol_name: CFString = _addr.parse().unwrap();
|
||||
let framework_name: CFString = "com.apple.opengl".parse().unwrap();
|
||||
let framework = unsafe {
|
||||
|
@ -100,7 +100,7 @@ impl GlContext for HeadlessContext {
|
|||
let symbol = unsafe {
|
||||
CFBundleGetFunctionPointerForName(framework, symbol_name.as_concrete_TypeRef())
|
||||
};
|
||||
symbol as *const libc::c_void
|
||||
symbol as *const ()
|
||||
}
|
||||
|
||||
#[inline]
|
||||
|
|
|
@ -777,7 +777,7 @@ impl GlContext for Window {
|
|||
}
|
||||
}
|
||||
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
let symbol_name: CFString = FromStr::from_str(addr).unwrap();
|
||||
let framework_name: CFString = FromStr::from_str("com.apple.opengl").unwrap();
|
||||
let framework = unsafe {
|
||||
|
|
|
@ -284,7 +284,7 @@ impl GlContext for Context {
|
|||
unsafe { self.egl.GetCurrentContext() == self.context }
|
||||
}
|
||||
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
let addr = CString::new(addr.as_bytes()).unwrap();
|
||||
let addr = addr.as_ptr();
|
||||
unsafe {
|
||||
|
|
|
@ -221,7 +221,7 @@ impl GlContext for Window {
|
|||
true // FIXME:
|
||||
}
|
||||
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
let addr = CString::new(addr.as_bytes()).unwrap();
|
||||
let addr = addr.as_ptr();
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ impl GlContext for Context {
|
|||
unsafe { self.glx.GetCurrentContext() == self.context }
|
||||
}
|
||||
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
let addr = CString::new(addr.as_bytes()).unwrap();
|
||||
let addr = addr.as_ptr();
|
||||
unsafe {
|
||||
|
|
|
@ -384,12 +384,12 @@ impl GlContext for Window {
|
|||
false
|
||||
}
|
||||
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
let addr_c = CString::new(addr).unwrap();
|
||||
let path = CString::new("/System/Library/Frameworks/OpenGLES.framework/OpenGLES").unwrap();
|
||||
unsafe {
|
||||
let lib = dlopen(path.as_ptr(), RTLD_LAZY | RTLD_GLOBAL);
|
||||
dlsym(lib, addr_c.as_ptr())
|
||||
dlsym(lib, addr_c.as_ptr()) as *const _
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ impl GlContext for OsMesaContext {
|
|||
unsafe { osmesa_sys::OSMesaGetCurrentContext() == self.context }
|
||||
}
|
||||
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
unsafe {
|
||||
let c_str = CString::new(addr.as_bytes().to_vec()).unwrap();
|
||||
mem::transmute(osmesa_sys::OSMesaGetProcAddress(mem::transmute(c_str.as_ptr())))
|
||||
|
|
|
@ -456,7 +456,7 @@ impl GlContext for Window {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.context.get_proc_address(addr)
|
||||
}
|
||||
|
||||
|
|
|
@ -171,7 +171,7 @@ impl GlContext for Context {
|
|||
unsafe { gl::wgl::GetCurrentContext() == self.context.0 as *const libc::c_void }
|
||||
}
|
||||
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
let addr = CString::new(addr.as_bytes()).unwrap();
|
||||
let addr = addr.as_ptr();
|
||||
|
||||
|
|
|
@ -365,7 +365,7 @@ impl GlContext for Window {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
match self.context {
|
||||
Context::Wgl(ref c) => c.get_proc_address(addr),
|
||||
Context::Egl(ref c) => c.get_proc_address(addr),
|
||||
|
|
|
@ -807,7 +807,7 @@ impl GlContext for Window {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
match self.x.context {
|
||||
Context::Glx(ref ctxt) => ctxt.get_proc_address(addr),
|
||||
Context::Egl(ref ctxt) => ctxt.get_proc_address(addr),
|
||||
|
|
|
@ -8,9 +8,6 @@ use PixelFormat;
|
|||
use PixelFormatRequirements;
|
||||
use Robustness;
|
||||
|
||||
use gl_common;
|
||||
use libc;
|
||||
|
||||
use platform;
|
||||
|
||||
/// Object that allows you to build headless contexts.
|
||||
|
@ -103,8 +100,8 @@ impl HeadlessContext {
|
|||
///
|
||||
/// Contrary to `wglGetProcAddress`, all available OpenGL functions return an address.
|
||||
#[inline]
|
||||
pub fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
self.context.get_proc_address(addr) as *const libc::c_void
|
||||
pub fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.context.get_proc_address(addr)
|
||||
}
|
||||
|
||||
/// Returns the API that is currently provided by this window.
|
||||
|
@ -120,13 +117,6 @@ impl HeadlessContext {
|
|||
}
|
||||
}
|
||||
|
||||
impl gl_common::GlFunctionsSource for HeadlessContext {
|
||||
#[inline]
|
||||
fn get_proc_addr(&self, addr: &str) -> *const libc::c_void {
|
||||
self.get_proc_address(addr)
|
||||
}
|
||||
}
|
||||
|
||||
impl GlContext for HeadlessContext {
|
||||
#[inline]
|
||||
unsafe fn make_current(&self) -> Result<(), ContextError> {
|
||||
|
@ -139,7 +129,7 @@ impl GlContext for HeadlessContext {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.context.get_proc_address(addr)
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,6 @@ extern crate lazy_static;
|
|||
#[macro_use]
|
||||
extern crate shared_library;
|
||||
|
||||
extern crate gl_common;
|
||||
extern crate libc;
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
|
@ -112,7 +111,7 @@ pub trait GlContext {
|
|||
fn is_current(&self) -> bool;
|
||||
|
||||
/// Returns the address of an OpenGL function.
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void;
|
||||
fn get_proc_address(&self, addr: &str) -> *const ();
|
||||
|
||||
/// Swaps the buffers in case of double or triple buffering.
|
||||
///
|
||||
|
|
|
@ -28,7 +28,7 @@ impl GlContext for HeadlessContext {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.0.get_proc_address(addr)
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#![cfg(target_os = "ios")]
|
||||
use libc::c_void;
|
||||
|
||||
use GlAttributes;
|
||||
use CreationError;
|
||||
|
@ -33,7 +32,7 @@ impl HeadlessContext {
|
|||
}
|
||||
|
||||
/// See the docs in the crate root file.
|
||||
pub fn get_proc_address(&self, _addr: &str) -> *const c_void {
|
||||
pub fn get_proc_address(&self, _addr: &str) -> *const () {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
|
|
|
@ -359,7 +359,7 @@ impl GlContext for Window {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
match self {
|
||||
&Window::X(ref w) => w.get_proc_address(addr),
|
||||
&Window::Wayland(ref w) => w.get_proc_address(addr)
|
||||
|
|
|
@ -7,7 +7,6 @@ use GlAttributes;
|
|||
use GlContext;
|
||||
use PixelFormat;
|
||||
use PixelFormatRequirements;
|
||||
use libc;
|
||||
|
||||
use api::osmesa::{self, OsMesaContext};
|
||||
|
||||
|
@ -45,7 +44,7 @@ impl GlContext for HeadlessContext {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.0.get_proc_address(addr)
|
||||
}
|
||||
|
||||
|
|
|
@ -4,8 +4,6 @@ pub use api::win32;
|
|||
pub use api::win32::{MonitorId, get_available_monitors, get_primary_monitor};
|
||||
pub use api::win32::{WindowProxy, PollEventsIterator, WaitEventsIterator};
|
||||
|
||||
use libc;
|
||||
|
||||
use Api;
|
||||
use ContextError;
|
||||
use CreationError;
|
||||
|
@ -134,7 +132,7 @@ impl GlContext for HeadlessContext {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
match self {
|
||||
&HeadlessContext::HiddenWindow(ref ctxt) => ctxt.get_proc_address(addr),
|
||||
&HeadlessContext::EglPbuffer(ref ctxt) => ctxt.get_proc_address(addr),
|
||||
|
|
|
@ -18,9 +18,7 @@ use Window;
|
|||
use WindowAttributes;
|
||||
use native_monitor::NativeMonitorId;
|
||||
|
||||
use gl_common;
|
||||
use libc;
|
||||
|
||||
use platform;
|
||||
|
||||
/// Object that allows you to build windows.
|
||||
|
@ -397,8 +395,8 @@ impl Window {
|
|||
///
|
||||
/// Contrary to `wglGetProcAddress`, all available OpenGL functions return an address.
|
||||
#[inline]
|
||||
pub fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
self.window.get_proc_address(addr) as *const libc::c_void
|
||||
pub fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.window.get_proc_address(addr)
|
||||
}
|
||||
|
||||
/// Swaps the buffers in case of double or triple buffering.
|
||||
|
@ -492,13 +490,6 @@ impl Window {
|
|||
}
|
||||
}
|
||||
|
||||
impl gl_common::GlFunctionsSource for Window {
|
||||
#[inline]
|
||||
fn get_proc_addr(&self, addr: &str) -> *const libc::c_void {
|
||||
self.get_proc_address(addr)
|
||||
}
|
||||
}
|
||||
|
||||
impl GlContext for Window {
|
||||
#[inline]
|
||||
unsafe fn make_current(&self) -> Result<(), ContextError> {
|
||||
|
@ -511,7 +502,7 @@ impl GlContext for Window {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn get_proc_address(&self, addr: &str) -> *const libc::c_void {
|
||||
fn get_proc_address(&self, addr: &str) -> *const () {
|
||||
self.get_proc_address(addr)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue