You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Godot v4.2.dev (4714e95) - Windows 10.0.22621 - Vulkan (Compatibility) - Radeon RX 580 Series (Advanced Micro Devices, Inc.; 31.0.21023.2010) - Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz (6 Threads)
Issue description
When trying to compile the export templates for 32 bit windows (using MSVC), it fails and then hangs, until Ctrl+C is pressed (or until it terminates itself). Below is a screenshot of the issue. This does not happen if you compile the templates for 64-bit windows.
Steps to reproduce
Go to the root of the folder where the godot source is at.
Run scons platform=windows target=template_debug/template_release arch=x86_32
Wait until it tries to compile modules\openxr\extensions\openxr_extension_wrapper_extension.cpp
However, after looking at the lines of code in question:
// Below code is on line 129voidOpenXRExtensionWrapperExtension::on_instance_created(const XrInstance p_instance) {
uint64_t instance = reinterpret_cast<uint64_t>(p_instance);
GDVIRTUAL_CALL(_on_instance_created, instance);
}
// Below code is on line 138voidOpenXRExtensionWrapperExtension::on_session_created(const XrSession p_session) {
uint64_t session = reinterpret_cast<uint64_t>(p_session);
GDVIRTUAL_CALL(_on_session_created, session);
}
I would think the uint64_t type is causing it to fail, since is not available in a 32-bit environment (according to the screenshot).
Minimal reproduction project
N/A
The text was updated successfully, but these errors were encountered:
I would think the uint64_t type is causing it to fail, since is not available in a 32-bit environment (according to the screenshot).
uint64_t is available on any platform. It's failing since XrInstance is defined as pointer on 64-bit platforms and as integer on 32-bit, therefore the cast should be C-cast to work in both cases.
cc @konczg was there a specific reason for casting it the way you did? We probably want to keep it exporting a 64bit value, even on 32bit because that is what GDExtension expects, but just insure it casts properly.
@BastiaanOlij With 32-bit platforms in mind, the best solution is probably to use C-style casts (as noted by @bruvzg above). The only reason I used reinterpret_cast was to make the specific type of cast applied clear, but 32-bit builds were not taken into account
cc @kisg
Godot version
v4.2.dev.custom_build [4714e95]
System information
Godot v4.2.dev (4714e95) - Windows 10.0.22621 - Vulkan (Compatibility) - Radeon RX 580 Series (Advanced Micro Devices, Inc.; 31.0.21023.2010) - Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz (6 Threads)
Issue description
When trying to compile the export templates for 32 bit windows (using MSVC), it fails and then hangs, until Ctrl+C is pressed (or until it terminates itself). Below is a screenshot of the issue. This does not happen if you compile the templates for 64-bit windows.
Steps to reproduce
scons platform=windows target=template_debug/template_release arch=x86_32
modules\openxr\extensions\openxr_extension_wrapper_extension.cpp
However, after looking at the lines of code in question:
I would think the
uint64_t
type is causing it to fail, since is not available in a 32-bit environment (according to the screenshot).Minimal reproduction project
N/A
The text was updated successfully, but these errors were encountered: