diff options
Diffstat (limited to 'servers/rendering_server.h')
-rw-r--r-- | servers/rendering_server.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/servers/rendering_server.h b/servers/rendering_server.h index 878b02eaf1..0208a640a5 100644 --- a/servers/rendering_server.h +++ b/servers/rendering_server.h @@ -199,6 +199,17 @@ public: virtual RID texture_get_rd_texture(RID p_texture, bool p_srgb = false) const = 0; virtual uint64_t texture_get_native_handle(RID p_texture, bool p_srgb = false) const = 0; + /* PIPELINES API */ + + enum PipelineSource { + PIPELINE_SOURCE_CANVAS, + PIPELINE_SOURCE_MESH, + PIPELINE_SOURCE_SURFACE, + PIPELINE_SOURCE_DRAW, + PIPELINE_SOURCE_SPECIALIZATION, + PIPELINE_SOURCE_MAX + }; + /* SHADER API */ enum ShaderMode { @@ -211,6 +222,7 @@ public: }; virtual RID shader_create() = 0; + virtual RID shader_create_from_code(const String &p_code, const String &p_path_hint = String()) = 0; virtual void shader_set_code(RID p_shader, const String &p_code) = 0; virtual void shader_set_path_hint(RID p_shader, const String &p_path) = 0; @@ -242,6 +254,7 @@ public: }; virtual RID material_create() = 0; + virtual RID material_create_from_shader(RID p_next_pass, int p_render_priority, RID p_shader) = 0; virtual void material_set_shader(RID p_shader_material, RID p_shader) = 0; @@ -1697,6 +1710,11 @@ public: RENDERING_INFO_TEXTURE_MEM_USED, RENDERING_INFO_BUFFER_MEM_USED, RENDERING_INFO_VIDEO_MEM_USED, + RENDERING_INFO_PIPELINE_COMPILATIONS_CANVAS, + RENDERING_INFO_PIPELINE_COMPILATIONS_MESH, + RENDERING_INFO_PIPELINE_COMPILATIONS_SURFACE, + RENDERING_INFO_PIPELINE_COMPILATIONS_DRAW, + RENDERING_INFO_PIPELINE_COMPILATIONS_SPECIALIZATION, RENDERING_INFO_MAX }; @@ -1807,6 +1825,7 @@ private: VARIANT_ENUM_CAST(RenderingServer::TextureType); VARIANT_ENUM_CAST(RenderingServer::TextureLayeredType); VARIANT_ENUM_CAST(RenderingServer::CubeMapLayer); +VARIANT_ENUM_CAST(RenderingServer::PipelineSource); VARIANT_ENUM_CAST(RenderingServer::ShaderMode); VARIANT_ENUM_CAST(RenderingServer::ArrayType); VARIANT_BITFIELD_CAST(RenderingServer::ArrayFormat); |