web: Add renderer type to player debug/panic info
This commit is contained in:
parent
03744d46f1
commit
97110cbecd
|
@ -1515,9 +1515,13 @@ export class RufflePlayer extends HTMLElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected debugPlayerInfo(): string {
|
protected debugPlayerInfo(): string {
|
||||||
return `Allows script access: ${
|
let result = `Allows script access: ${
|
||||||
this.options?.allowScriptAccess ?? false
|
this.options?.allowScriptAccess ?? false
|
||||||
}\n`;
|
}\n`;
|
||||||
|
if (this.instance) {
|
||||||
|
result += `Renderer: ${this.instance.renderer_name()}\n`;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private hidePreloader(): void {
|
private hidePreloader(): void {
|
||||||
|
|
|
@ -6,7 +6,7 @@ mod storage;
|
||||||
mod ui;
|
mod ui;
|
||||||
|
|
||||||
use generational_arena::{Arena, Index};
|
use generational_arena::{Arena, Index};
|
||||||
use js_sys::{Array, Function, Object, Promise, Uint8Array};
|
use js_sys::{Array, Function, JsString, Object, Promise, Uint8Array};
|
||||||
use ruffle_core::config::Letterbox;
|
use ruffle_core::config::Letterbox;
|
||||||
use ruffle_core::context::UpdateContext;
|
use ruffle_core::context::UpdateContext;
|
||||||
use ruffle_core::events::{KeyCode, MouseButton, MouseWheelDelta};
|
use ruffle_core::events::{KeyCode, MouseButton, MouseWheelDelta};
|
||||||
|
@ -66,6 +66,7 @@ struct RuffleInstance {
|
||||||
unload_callback: Option<Closure<dyn FnMut(Event)>>,
|
unload_callback: Option<Closure<dyn FnMut(Event)>>,
|
||||||
has_focus: bool,
|
has_focus: bool,
|
||||||
trace_observer: Arc<RefCell<JsValue>>,
|
trace_observer: Arc<RefCell<JsValue>>,
|
||||||
|
renderer_name: &'static str,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
|
@ -278,6 +279,12 @@ impl Ruffle {
|
||||||
let _ = self.with_core_mut(|core| core.set_volume(value));
|
let _ = self.with_core_mut(|core| core.set_volume(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn renderer_name(&self) -> JsString {
|
||||||
|
self.with_instance(|instance| instance.renderer_name)
|
||||||
|
.unwrap_or("Unknown")
|
||||||
|
.into()
|
||||||
|
}
|
||||||
|
|
||||||
// after the context menu is closed, remember to call `clear_custom_menu_items`!
|
// after the context menu is closed, remember to call `clear_custom_menu_items`!
|
||||||
pub fn prepare_context_menu(&mut self) -> JsValue {
|
pub fn prepare_context_menu(&mut self) -> JsValue {
|
||||||
self.with_core_mut(|core| {
|
self.with_core_mut(|core| {
|
||||||
|
@ -474,7 +481,7 @@ impl Ruffle {
|
||||||
let window = web_sys::window().ok_or("Expected window")?;
|
let window = web_sys::window().ok_or("Expected window")?;
|
||||||
let document = window.document().ok_or("Expected document")?;
|
let document = window.document().ok_or("Expected document")?;
|
||||||
|
|
||||||
let (mut builder, canvas) =
|
let (mut builder, canvas, renderer_name) =
|
||||||
create_renderer(PlayerBuilder::new(), &document, &config).await?;
|
create_renderer(PlayerBuilder::new(), &document, &config).await?;
|
||||||
|
|
||||||
parent
|
parent
|
||||||
|
@ -554,6 +561,7 @@ impl Ruffle {
|
||||||
timestamp: None,
|
timestamp: None,
|
||||||
has_focus: false,
|
has_focus: false,
|
||||||
trace_observer,
|
trace_observer,
|
||||||
|
renderer_name,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Prevent touch-scrolling on canvas.
|
// Prevent touch-scrolling on canvas.
|
||||||
|
@ -1226,7 +1234,7 @@ async fn create_renderer(
|
||||||
builder: PlayerBuilder,
|
builder: PlayerBuilder,
|
||||||
document: &web_sys::Document,
|
document: &web_sys::Document,
|
||||||
config: &Config,
|
config: &Config,
|
||||||
) -> Result<(PlayerBuilder, HtmlCanvasElement), Box<dyn Error>> {
|
) -> Result<(PlayerBuilder, HtmlCanvasElement, &'static str), Box<dyn Error>> {
|
||||||
#[cfg(not(any(feature = "canvas", feature = "webgpu", feature = "wgpu-webgl")))]
|
#[cfg(not(any(feature = "canvas", feature = "webgpu", feature = "wgpu-webgl")))]
|
||||||
std::compile_error!("You must enable one of the render backend features (e.g., webgl).");
|
std::compile_error!("You must enable one of the render backend features (e.g., webgl).");
|
||||||
|
|
||||||
|
@ -1252,7 +1260,7 @@ async fn create_renderer(
|
||||||
|
|
||||||
match ruffle_render_wgpu::WgpuRenderBackend::for_canvas(&canvas).await {
|
match ruffle_render_wgpu::WgpuRenderBackend::for_canvas(&canvas).await {
|
||||||
Ok(renderer) => {
|
Ok(renderer) => {
|
||||||
return Ok((builder.with_renderer(renderer), canvas));
|
return Ok((builder.with_renderer(renderer), canvas, "WebGPU"));
|
||||||
}
|
}
|
||||||
Err(error) => log::error!("Error creating wgpu webgpu renderer: {}", error),
|
Err(error) => log::error!("Error creating wgpu webgpu renderer: {}", error),
|
||||||
}
|
}
|
||||||
|
@ -1269,7 +1277,11 @@ async fn create_renderer(
|
||||||
|
|
||||||
match ruffle_render_wgpu::WgpuRenderBackend::for_canvas(&canvas).await {
|
match ruffle_render_wgpu::WgpuRenderBackend::for_canvas(&canvas).await {
|
||||||
Ok(renderer) => {
|
Ok(renderer) => {
|
||||||
return Ok((builder.with_renderer(renderer), canvas));
|
return Ok((
|
||||||
|
builder.with_renderer(renderer),
|
||||||
|
canvas,
|
||||||
|
"WebGL through wgpu",
|
||||||
|
));
|
||||||
}
|
}
|
||||||
Err(error) => log::error!("Error creating wgpu webgl renderer: {}", error),
|
Err(error) => log::error!("Error creating wgpu webgl renderer: {}", error),
|
||||||
}
|
}
|
||||||
|
@ -1288,7 +1300,7 @@ async fn create_renderer(
|
||||||
.map_err(|_| "Expected HtmlCanvasElement")?;
|
.map_err(|_| "Expected HtmlCanvasElement")?;
|
||||||
match ruffle_render_webgl::WebGlRenderBackend::new(&canvas, _is_transparent) {
|
match ruffle_render_webgl::WebGlRenderBackend::new(&canvas, _is_transparent) {
|
||||||
Ok(renderer) => {
|
Ok(renderer) => {
|
||||||
return Ok((builder.with_renderer(renderer), canvas));
|
return Ok((builder.with_renderer(renderer), canvas, "WebGL"));
|
||||||
}
|
}
|
||||||
Err(error) => log::error!("Error creating WebGL renderer: {}", error),
|
Err(error) => log::error!("Error creating WebGL renderer: {}", error),
|
||||||
}
|
}
|
||||||
|
@ -1304,7 +1316,7 @@ async fn create_renderer(
|
||||||
.map_err(|_| "Expected HtmlCanvasElement")?;
|
.map_err(|_| "Expected HtmlCanvasElement")?;
|
||||||
match ruffle_render_canvas::WebCanvasRenderBackend::new(&canvas, _is_transparent) {
|
match ruffle_render_canvas::WebCanvasRenderBackend::new(&canvas, _is_transparent) {
|
||||||
Ok(renderer) => {
|
Ok(renderer) => {
|
||||||
return Ok((builder.with_renderer(renderer), canvas));
|
return Ok((builder.with_renderer(renderer), canvas, "Canvas"));
|
||||||
}
|
}
|
||||||
Err(error) => log::error!("Error creating canvas renderer: {}", error),
|
Err(error) => log::error!("Error creating canvas renderer: {}", error),
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue