texture_create_from_native_handle() should return RID for texture from RenderingServer, not RenderingDevice
This commit is contained in:
@ -3725,7 +3725,7 @@
|
|||||||
<param index="7" name="layered_type" type="int" enum="RenderingServer.TextureLayeredType" default="0" />
|
<param index="7" name="layered_type" type="int" enum="RenderingServer.TextureLayeredType" default="0" />
|
||||||
<description>
|
<description>
|
||||||
Creates a texture based on a native handle that was created outside of Godot's renderer.
|
Creates a texture based on a native handle that was created outside of Godot's renderer.
|
||||||
[b]Note:[/b] If using the rendering device renderer, using [method RenderingDevice.texture_create_from_extension] rather than this method is recommended. It will give you much more control over the texture's format and usage.
|
[b]Note:[/b] If using only the rendering device renderer, it's recommend to use [method RenderingDevice.texture_create_from_extension] together with [method RenderingServer.texture_rd_create], rather than this method. It will give you much more control over the texture's format and usage.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="texture_get_format" qualifiers="const">
|
<method name="texture_get_format" qualifiers="const">
|
||||||
|
|||||||
@ -1292,7 +1292,12 @@ RID TextureStorage::texture_create_from_native_handle(RS::TextureType p_type, Im
|
|||||||
// Assumed to be a color attachment - see note above.
|
// Assumed to be a color attachment - see note above.
|
||||||
uint64_t usage_flags = RD::TEXTURE_USAGE_SAMPLING_BIT | RD::TEXTURE_USAGE_COLOR_ATTACHMENT_BIT;
|
uint64_t usage_flags = RD::TEXTURE_USAGE_SAMPLING_BIT | RD::TEXTURE_USAGE_COLOR_ATTACHMENT_BIT;
|
||||||
|
|
||||||
return RD::get_singleton()->texture_create_from_extension(type, format, RD::TEXTURE_SAMPLES_1, usage_flags, p_native_handle, p_width, p_height, p_depth, p_layers);
|
RID rd_texture = RD::get_singleton()->texture_create_from_extension(type, format, RD::TEXTURE_SAMPLES_1, usage_flags, p_native_handle, p_width, p_height, p_depth, p_layers);
|
||||||
|
|
||||||
|
RID texture = texture_allocate();
|
||||||
|
texture_rd_initialize(texture, rd_texture, p_layered_type);
|
||||||
|
|
||||||
|
return texture;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextureStorage::_texture_2d_update(RID p_texture, const Ref<Image> &p_image, int p_layer, bool p_immediate) {
|
void TextureStorage::_texture_2d_update(RID p_texture, const Ref<Image> &p_image, int p_layer, bool p_immediate) {
|
||||||
|
|||||||
Reference in New Issue
Block a user