Skip to content

Commit 9e33ef1

Browse files
committed
Run benchmarks only if not focused; several other cleanups
1 parent 0d4670f commit 9e33ef1

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

godot-core/src/builtin/meta/signature.rs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,7 @@ macro_rules! impl_varcall_signature_for_tuple {
152152
func: fn(sys::GDExtensionClassInstancePtr, Self::Params) -> Self::Ret,
153153
method_name: &str,
154154
) {
155-
$crate::out!("varcall: {}", method_name);
156-
155+
//$crate::out!("in_varcall: {method_name}");
157156
let args = ($(
158157
unsafe { varcall_arg::<$Pn, $n>(args_ptr, method_name) },
159158
)*) ;
@@ -170,7 +169,8 @@ macro_rules! impl_varcall_signature_for_tuple {
170169
args: Self::Params,
171170
varargs: &[Variant],
172171
) -> Self::Ret {
173-
eprintln!("varcall: {method_name}");
172+
//$crate::out!("out_class_varcall: {method_name}");
173+
174174
// Note: varcalls are not safe from failing, if the happen through an object pointer -> validity check necessary.
175175
if let Some(instance_id) = maybe_instance_id {
176176
crate::engine::ensure_object_alive(instance_id, object_ptr, method_name);
@@ -211,6 +211,7 @@ macro_rules! impl_varcall_signature_for_tuple {
211211
args: Self::Params,
212212
varargs: &[Variant],
213213
) -> Self::Ret {
214+
//$crate::out!("out_utility_ptrcall_varargs: {method_name}");
214215
let explicit_args: [Variant; $PARAM_COUNT] = [
215216
$(
216217
<$Pn as ToVariant>::to_variant(&args.$n),
@@ -262,8 +263,7 @@ macro_rules! impl_ptrcall_signature_for_tuple {
262263
method_name: &'static str,
263264
call_type: sys::PtrcallType,
264265
) {
265-
// $crate::out!("ptrcall: {}", method_name);
266-
266+
// $crate::out!("in_ptrcall: {method_name}");
267267
let args = ($(
268268
unsafe { ptrcall_arg::<$Pn, $n>(args_ptr, method_name, call_type) },
269269
)*) ;
@@ -282,6 +282,7 @@ macro_rules! impl_ptrcall_signature_for_tuple {
282282
maybe_instance_id: Option<InstanceId>, // if not static
283283
args: Self::Params,
284284
) -> Self::Ret {
285+
// $crate::out!("out_class_ptrcall: {method_name}");
285286
if let Some(instance_id) = maybe_instance_id {
286287
crate::engine::ensure_object_alive(instance_id, object_ptr, method_name);
287288
}
@@ -312,6 +313,7 @@ macro_rules! impl_ptrcall_signature_for_tuple {
312313
type_ptr: sys::GDExtensionTypePtr,
313314
args: Self::Params,
314315
) -> Self::Ret {
316+
// $crate::out!("out_builtin_ptrcall: {method_name}");
315317
#[allow(clippy::let_unit_value)]
316318
let marshalled_args = (
317319
$(
@@ -335,6 +337,7 @@ macro_rules! impl_ptrcall_signature_for_tuple {
335337
utility_fn: UtilityFunctionBind,
336338
args: Self::Params,
337339
) -> Self::Ret {
340+
// $crate::out!("out_utility_ptrcall: {method_name}");
338341
#[allow(clippy::let_unit_value)]
339342
let marshalled_args = (
340343
$(
@@ -364,9 +367,10 @@ unsafe fn varcall_arg<P: FromVariant, const N: isize>(
364367
args_ptr: *const sys::GDExtensionConstVariantPtr,
365368
method_name: &str,
366369
) -> P {
367-
let variant = &*(*args_ptr.offset(N) as *mut Variant); // TODO from_var_sys
368-
P::try_from_variant(variant)
369-
.unwrap_or_else(|_| param_error::<P>(method_name, N as i32, variant))
370+
let variant_ref = &*Variant::ptr_from_sys(*args_ptr.offset(N));
371+
372+
P::try_from_variant(variant_ref)
373+
.unwrap_or_else(|_| param_error::<P>(method_name, N as i32, variant_ref))
370374
}
371375

372376
/// Moves `ret_val` into `ret`.
@@ -380,7 +384,7 @@ unsafe fn varcall_return<R: ToVariant>(
380384
ret: sys::GDExtensionVariantPtr,
381385
err: *mut sys::GDExtensionCallError,
382386
) {
383-
let ret_variant = ret_val.to_variant(); // TODO write_sys
387+
let ret_variant = ret_val.to_variant();
384388
*(ret as *mut Variant) = ret_variant;
385389
(*err).error = sys::GDEXTENSION_CALL_OK;
386390
}

godot-core/src/builtin/variant/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@
66

77
use crate::builtin::{GodotString, StringName};
88
use godot_ffi as sys;
9-
use godot_ffi::GodotFfi;
109
use std::{fmt, ptr};
1110
use sys::types::OpaqueVariant;
12-
use sys::{ffi_methods, interface_fn};
11+
use sys::{ffi_methods, interface_fn, GodotFfi};
1312

1413
mod impls;
1514
mod variant_traits;

itest/rust/src/framework/runner.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,11 @@ impl IntegrationTests {
8282

8383
#[func]
8484
fn run_all_benchmarks(&mut self, scene_tree: Gd<Node>) {
85+
if self.focus_run {
86+
println!(" Benchmarks skipped (focused run).");
87+
return;
88+
}
89+
8590
println!("\n\n{}Run{} Godot benchmarks...", FMT_CYAN_BOLD, FMT_END);
8691

8792
self.warn_if_debug();

0 commit comments

Comments
 (0)