Skip to content

Commit e54ffb9

Browse files
extension: Log used renderer.
Log which renderer-backend was actually used in the browser console.
1 parent 182ae6c commit e54ffb9

File tree

7 files changed

+34
-2
lines changed

7 files changed

+34
-2
lines changed

render/canvas/src/lib.rs

+4
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,10 @@ impl RenderBackend for WebCanvasRenderBackend {
486486
Cow::Borrowed("Renderer: Canvas")
487487
}
488488

489+
fn name(&self) -> &'static str {
490+
"canvas"
491+
}
492+
489493
fn set_quality(&mut self, _quality: StageQuality) {}
490494
}
491495

render/src/backend.rs

+4
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ pub trait RenderBackend: Downcast {
6767
fn context3d_present(&mut self, context: &mut dyn Context3D) -> Result<(), Error>;
6868

6969
fn debug_info(&self) -> Cow<'static, str>;
70+
/// An internal name that is used to identify the render-backend.
71+
/// For valid values, look at:
72+
/// web/packages/core/src/load-options.ts:RenderBackend
73+
fn name(&self) -> &'static str;
7074

7175
fn set_quality(&mut self, quality: StageQuality);
7276
}

render/src/backend/null.rs

+4
Original file line numberDiff line numberDiff line change
@@ -93,5 +93,9 @@ impl RenderBackend for NullRenderer {
9393
Cow::Borrowed("Renderer: Null")
9494
}
9595

96+
fn name(&self) -> &'static str {
97+
""
98+
}
99+
96100
fn set_quality(&mut self, _quality: StageQuality) {}
97101
}

render/webgl/src/lib.rs

+4
Original file line numberDiff line numberDiff line change
@@ -1101,6 +1101,10 @@ impl RenderBackend for WebGlRenderBackend {
11011101
Cow::Owned(result.join("\n"))
11021102
}
11031103

1104+
fn name(&self) -> &'static str {
1105+
"webgl"
1106+
}
1107+
11041108
fn set_quality(&mut self, _quality: StageQuality) {}
11051109
}
11061110

render/wgpu/src/backend.rs

+4
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,10 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
378378
Cow::Owned(result.join("\n"))
379379
}
380380

381+
fn name(&self) -> &'static str {
382+
"webgpu"
383+
}
384+
381385
fn set_quality(&mut self, quality: StageQuality) {
382386
self.surface = Surface::new(
383387
&self.descriptors,

web/packages/core/src/ruffle-player.ts

+9-2
Original file line numberDiff line numberDiff line change
@@ -511,10 +511,17 @@ export class RufflePlayer extends HTMLElement {
511511
this.loadedConfig
512512
);
513513
this._cachedDebugInfo = this.instance!.renderer_debug_info();
514+
515+
const actuallyUsedRendererName = this.instance!.renderer_name();
516+
514517
console.log(
515-
"New Ruffle instance created (WebAssembly extensions: " +
518+
"%c" +
519+
"New Ruffle instance created (WebAssembly extensions: " +
516520
(ruffleConstructor.is_wasm_simd_used() ? "ON" : "OFF") +
517-
")"
521+
" | Used renderer: " +
522+
(actuallyUsedRendererName ?? "") +
523+
")",
524+
"background: #37528C; color: #FFAD33"
518525
);
519526

520527
// In Firefox, AudioContext.state is always "suspended" when the object has just been created.

web/src/lib.rs

+5
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,11 @@ impl Ruffle {
378378
.unwrap_or(JsValue::NULL)
379379
}
380380

381+
pub fn renderer_name(&self) -> JsValue {
382+
self.with_core(|core| JsValue::from_str(core.renderer().name()))
383+
.unwrap_or(JsValue::NULL)
384+
}
385+
381386
// after the context menu is closed, remember to call `clear_custom_menu_items`!
382387
pub fn prepare_context_menu(&mut self) -> JsValue {
383388
self.with_core_mut(|core| {

0 commit comments

Comments
 (0)