summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-10-04 12:58:38 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-10-04 12:58:38 +0200
commitf032af74536b317b23c7fca3bc7318ced5537344 (patch)
tree77b09b5656f1053e66abfd4a8e4fe731e5f71243
parent36837bfb5d3630a968ea9cf25090add889842199 (diff)
parent0ad1820b1a7af28f32773e25a938931f3f8fb5e4 (diff)
downloadredot-engine-f032af74536b317b23c7fca3bc7318ced5537344.tar.gz
Merge pull request #97304 from kroketio/metal-return-logical-device-handle
Metal: Implement `texture_create_from_extension`
-rw-r--r--drivers/metal/rendering_device_driver_metal.mm6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/metal/rendering_device_driver_metal.mm b/drivers/metal/rendering_device_driver_metal.mm
index 9d691a0d23..0f7faaddf0 100644
--- a/drivers/metal/rendering_device_driver_metal.mm
+++ b/drivers/metal/rendering_device_driver_metal.mm
@@ -358,7 +358,11 @@ RDD::TextureID RenderingDeviceDriverMetal::texture_create(const TextureFormat &p
}
RDD::TextureID RenderingDeviceDriverMetal::texture_create_from_extension(uint64_t p_native_texture, TextureType p_type, DataFormat p_format, uint32_t p_array_layers, bool p_depth_stencil) {
- ERR_FAIL_V_MSG(RDD::TextureID(), "not implemented");
+ id<MTLTexture> obj = (__bridge id<MTLTexture>)(void *)(uintptr_t)p_native_texture;
+
+ // We only need to create a RDD::TextureID for an existing, natively-provided texture.
+
+ return rid::make(obj);
}
RDD::TextureID RenderingDeviceDriverMetal::texture_create_shared(TextureID p_original_texture, const TextureView &p_view) {