mirror of
https://github.com/eliasstepanik/imgui-rs.git
synced 2026-01-11 05:28:35 +00:00
Merge pull request #534 from sanbox-irl/main
disabled debug_message_insert_support on apple
This commit is contained in:
commit
42e482138f
@ -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 = []
|
||||
|
||||
@ -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];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user