Merge pull request #534 from sanbox-irl/main

disabled debug_message_insert_support on apple
This commit is contained in:
Jonathan Spira 2021-09-20 10:30:25 -04:00 committed by GitHub
commit 42e482138f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 15 deletions

View File

@ -37,7 +37,7 @@ default = [
]
# Enable checking for OpenGL extensions
gl_extensions_support = []
# Support for `glPrimitiveRestartIndex`
# Support for `gl.debug_message_insert`
debug_message_insert_support = []
# Support for `glBindVertexArray`
bind_vertex_array_support = []

View File

@ -44,7 +44,7 @@
use std::{borrow::Cow, error::Error, fmt::Display, mem::size_of};
use imgui::internal::RawWrapper;
use imgui::{internal::RawWrapper, DrawCmd, DrawData, DrawVert};
use crate::versions::{GlVersion, GlslVersion};
use glow::{Context, HasContext};
@ -113,7 +113,7 @@ impl AutoRenderer {
/// Some OpenGL errors trigger an error (few are explicitly checked,
/// however)
#[inline]
pub fn render(&mut self, draw_data: &imgui::DrawData) -> Result<(), RenderError> {
pub fn render(&mut self, draw_data: &DrawData) -> Result<(), RenderError> {
self.renderer.render(&self.gl, &self.texture_map, draw_data)
}
}
@ -261,7 +261,7 @@ impl Renderer {
&mut self,
gl: &Context,
texture_map: &T,
draw_data: &imgui::DrawData,
draw_data: &DrawData,
) -> Result<(), RenderError> {
if self.is_destroyed {
return Err(Self::renderer_destroyed());
@ -296,7 +296,7 @@ impl Renderer {
gl_debug_message(gl, "start loop over commands");
for command in draw_list.commands() {
match command {
imgui::DrawCmd::Elements { count, cmd_params } => self.render_elements(
DrawCmd::Elements { count, cmd_params } => self.render_elements(
gl,
texture_map,
count,
@ -305,10 +305,10 @@ impl Renderer {
fb_width,
fb_height,
),
imgui::DrawCmd::RawCallback { callback, raw_cmd } => unsafe {
DrawCmd::RawCallback { callback, raw_cmd } => unsafe {
callback(draw_list.raw(), raw_cmd)
},
imgui::DrawCmd::ResetRenderState => {
DrawCmd::ResetRenderState => {
self.set_up_render_state(gl, draw_data, fb_width, fb_height)?
}
}
@ -332,7 +332,7 @@ impl Renderer {
pub fn set_up_render_state(
&mut self,
gl: &Context,
draw_data: &imgui::DrawData,
draw_data: &DrawData,
fb_width: f32,
fb_height: f32,
) -> Result<(), RenderError> {
@ -407,9 +407,9 @@ impl Renderer {
}
// TODO: soon it should be possible for these to be `const` functions
let position_field_offset = memoffset::offset_of!(imgui::DrawVert, pos) as _;
let uv_field_offset = memoffset::offset_of!(imgui::DrawVert, uv) as _;
let color_field_offset = memoffset::offset_of!(imgui::DrawVert, col) as _;
let position_field_offset = memoffset::offset_of!(DrawVert, pos) as _;
let uv_field_offset = memoffset::offset_of!(DrawVert, uv) as _;
let color_field_offset = memoffset::offset_of!(DrawVert, col) as _;
unsafe {
gl.bind_buffer(glow::ARRAY_BUFFER, Some(self.vbo_handle));
@ -453,7 +453,7 @@ impl Renderer {
texture_map: &T,
element_count: usize,
element_params: imgui::DrawCmdParams,
draw_data: &imgui::DrawData,
draw_data: &DrawData,
fb_width: f32,
fb_height: f32,
) {
@ -1083,7 +1083,8 @@ fn prepare_font_atlas<T: TextureMap>(
Ok(gl_texture)
}
#[cfg(feature = "debug_message_insert_support")]
// this CFG guard disables apple usage of this function -- apple only has supported up to opengl 3.3
#[cfg(all(not(target_vendor = "apple"), feature = "debug_message_insert_support"))]
fn gl_debug_message<G: glow::HasContext>(gl: &G, message: impl AsRef<str>) {
unsafe {
gl.debug_message_insert(
@ -1096,10 +1097,10 @@ fn gl_debug_message<G: glow::HasContext>(gl: &G, message: impl AsRef<str>) {
};
}
#[cfg(not(feature = "debug_message_insert_support"))]
#[cfg(any(target_vendor = "apple", not(feature = "debug_message_insert_support")))]
fn gl_debug_message<G: glow::HasContext>(_gl: &G, _message: impl AsRef<str>) {}
fn calculate_matrix(draw_data: &imgui::DrawData, clip_origin_is_lower_left: bool) -> [f32; 16] {
fn calculate_matrix(draw_data: &DrawData, clip_origin_is_lower_left: bool) -> [f32; 16] {
#![allow(clippy::deprecated_cfg_attr)]
let left = draw_data.display_pos[0];