#ifdef GLES3_ENABLED
#include "core/config/project_settings.h"
#include "config.h"
#include "material_storage.h"
#include "particles_storage.h"
#include "texture_storage.h"
#include "drivers/gles3/rasterizer_canvas_gles3.h"
#include "drivers/gles3/rasterizer_gles3.h"
#include "servers/rendering/storage/variant_converters.h"
usingnamespaceGLES3;
static void _fill_std140_variant_ubo_value(ShaderLanguage::DataType type, int p_array_size, const Variant &value, uint8_t *data) { … }
_FORCE_INLINE_ static void _fill_std140_ubo_value(ShaderLanguage::DataType type, const Vector<ShaderLanguage::Scalar> &value, uint8_t *data) { … }
_FORCE_INLINE_ static void _fill_std140_ubo_empty(ShaderLanguage::DataType type, int p_array_size, uint8_t *data) { … }
void ShaderData::set_path_hint(const String &p_hint) { … }
void ShaderData::set_default_texture_parameter(const StringName &p_name, RID p_texture, int p_index) { … }
Variant ShaderData::get_default_parameter(const StringName &p_parameter) const { … }
void ShaderData::get_shader_uniform_list(List<PropertyInfo> *p_param_list) const { … }
void ShaderData::get_instance_param_list(List<RendererMaterialStorage::InstanceShaderParam> *p_param_list) const { … }
bool ShaderData::is_parameter_texture(const StringName &p_param) const { … }
static const GLenum target_from_type[ShaderLanguage::TYPE_MAX] = …;
static const RS::CanvasItemTextureRepeat repeat_from_uniform[ShaderLanguage::REPEAT_DEFAULT + 1] = …;
static const RS::CanvasItemTextureRepeat repeat_from_uniform_canvas[ShaderLanguage::REPEAT_DEFAULT + 1] = …;
static const RS::CanvasItemTextureFilter filter_from_uniform[ShaderLanguage::FILTER_DEFAULT + 1] = …;
static const RS::CanvasItemTextureFilter filter_from_uniform_canvas[ShaderLanguage::FILTER_DEFAULT + 1] = …;
void MaterialData::update_uniform_buffer(const HashMap<StringName, ShaderLanguage::ShaderNode::Uniform> &p_uniforms, const uint32_t *p_uniform_offsets, const HashMap<StringName, Variant> &p_parameters, uint8_t *p_buffer, uint32_t p_buffer_size) { … }
MaterialData::~MaterialData() { … }
void MaterialData::update_textures(const HashMap<StringName, Variant> &p_parameters, const HashMap<StringName, HashMap<int, RID>> &p_default_textures, const Vector<ShaderCompiler::GeneratedCode::Texture> &p_texture_uniforms, RID *p_textures, bool p_is_3d_shader_type) { … }
void MaterialData::update_parameters_internal(const HashMap<StringName, Variant> &p_parameters, bool p_uniform_dirty, bool p_textures_dirty, const HashMap<StringName, ShaderLanguage::ShaderNode::Uniform> &p_uniforms, const uint32_t *p_uniform_offsets, const Vector<ShaderCompiler::GeneratedCode::Texture> &p_texture_uniforms, const HashMap<StringName, HashMap<int, RID>> &p_default_texture_params, uint32_t p_ubo_size, bool p_is_3d_shader_type) { … }
MaterialStorage *MaterialStorage::singleton = …;
MaterialStorage *MaterialStorage::get_singleton() { … }
MaterialStorage::MaterialStorage() { … }
MaterialStorage::~MaterialStorage() { … }
int32_t MaterialStorage::_global_shader_uniform_allocate(uint32_t p_elements) { … }
void MaterialStorage::_global_shader_uniform_store_in_buffer(int32_t p_index, RS::GlobalShaderParameterType p_type, const Variant &p_value) { … }
void MaterialStorage::_global_shader_uniform_mark_buffer_dirty(int32_t p_index, int32_t p_elements) { … }
void MaterialStorage::global_shader_parameter_add(const StringName &p_name, RS::GlobalShaderParameterType p_type, const Variant &p_value) { … }
void MaterialStorage::global_shader_parameter_remove(const StringName &p_name) { … }
Vector<StringName> MaterialStorage::global_shader_parameter_get_list() const { … }
void MaterialStorage::global_shader_parameter_set(const StringName &p_name, const Variant &p_value) { … }
void MaterialStorage::global_shader_parameter_set_override(const StringName &p_name, const Variant &p_value) { … }
Variant MaterialStorage::global_shader_parameter_get(const StringName &p_name) const { … }
RS::GlobalShaderParameterType MaterialStorage::global_shader_parameter_get_type_internal(const StringName &p_name) const { … }
RS::GlobalShaderParameterType MaterialStorage::global_shader_parameter_get_type(const StringName &p_name) const { … }
void MaterialStorage::global_shader_parameters_load_settings(bool p_load_textures) { … }
void MaterialStorage::global_shader_parameters_clear() { … }
GLuint MaterialStorage::global_shader_parameters_get_uniform_buffer() const { … }
int32_t MaterialStorage::global_shader_parameters_instance_allocate(RID p_instance) { … }
void MaterialStorage::global_shader_parameters_instance_free(RID p_instance) { … }
void MaterialStorage::global_shader_parameters_instance_update(RID p_instance, int p_index, const Variant &p_value, int p_flags_count) { … }
void MaterialStorage::_update_global_shader_uniforms() { … }
RID MaterialStorage::shader_allocate() { … }
void MaterialStorage::shader_initialize(RID p_rid) { … }
void MaterialStorage::shader_free(RID p_rid) { … }
void MaterialStorage::shader_set_code(RID p_shader, const String &p_code) { … }
void MaterialStorage::shader_set_path_hint(RID p_shader, const String &p_path) { … }
String MaterialStorage::shader_get_code(RID p_shader) const { … }
void MaterialStorage::get_shader_parameter_list(RID p_shader, List<PropertyInfo> *p_param_list) const { … }
void MaterialStorage::shader_set_default_texture_parameter(RID p_shader, const StringName &p_name, RID p_texture, int p_index) { … }
RID MaterialStorage::shader_get_default_texture_parameter(RID p_shader, const StringName &p_name, int p_index) const { … }
Variant MaterialStorage::shader_get_parameter_default(RID p_shader, const StringName &p_param) const { … }
RS::ShaderNativeSourceCode MaterialStorage::shader_get_native_source_code(RID p_shader) const { … }
void MaterialStorage::_material_queue_update(GLES3::Material *material, bool p_uniform, bool p_texture) { … }
void MaterialStorage::_update_queued_materials() { … }
RID MaterialStorage::material_allocate() { … }
void MaterialStorage::material_initialize(RID p_rid) { … }
void MaterialStorage::material_free(RID p_rid) { … }
void MaterialStorage::material_set_shader(RID p_material, RID p_shader) { … }
void MaterialStorage::material_set_param(RID p_material, const StringName &p_param, const Variant &p_value) { … }
Variant MaterialStorage::material_get_param(RID p_material, const StringName &p_param) const { … }
void MaterialStorage::material_set_next_pass(RID p_material, RID p_next_material) { … }
void MaterialStorage::material_set_render_priority(RID p_material, int priority) { … }
bool MaterialStorage::material_is_animated(RID p_material) { … }
bool MaterialStorage::material_casts_shadows(RID p_material) { … }
void MaterialStorage::material_get_instance_shader_parameters(RID p_material, List<InstanceShaderParam> *r_parameters) { … }
void MaterialStorage::material_update_dependency(RID p_material, DependencyTracker *p_instance) { … }
LocalVector<ShaderGLES3::TextureUniformData> get_texture_uniform_data(const Vector<ShaderCompiler::GeneratedCode::Texture> &texture_uniforms) { … }
void CanvasShaderData::set_code(const String &p_code) { … }
bool CanvasShaderData::is_animated() const { … }
bool CanvasShaderData::casts_shadows() const { … }
RS::ShaderNativeSourceCode CanvasShaderData::get_native_source_code() const { … }
CanvasShaderData::CanvasShaderData() { … }
CanvasShaderData::~CanvasShaderData() { … }
GLES3::ShaderData *GLES3::_create_canvas_shader_func() { … }
void CanvasMaterialData::update_parameters(const HashMap<StringName, Variant> &p_parameters, bool p_uniform_dirty, bool p_textures_dirty) { … }
static void bind_uniforms_generic(const Vector<RID> &p_textures, const Vector<ShaderCompiler::GeneratedCode::Texture> &p_texture_uniforms, int texture_offset = 0, const RS::CanvasItemTextureFilter *filter_mapping = filter_from_uniform, const RS::CanvasItemTextureRepeat *repeat_mapping = repeat_from_uniform) { … }
void CanvasMaterialData::bind_uniforms() { … }
CanvasMaterialData::~CanvasMaterialData() { … }
GLES3::MaterialData *GLES3::_create_canvas_material_func(ShaderData *p_shader) { … }
void SkyShaderData::set_code(const String &p_code) { … }
bool SkyShaderData::is_animated() const { … }
bool SkyShaderData::casts_shadows() const { … }
RS::ShaderNativeSourceCode SkyShaderData::get_native_source_code() const { … }
SkyShaderData::SkyShaderData() { … }
SkyShaderData::~SkyShaderData() { … }
GLES3::ShaderData *GLES3::_create_sky_shader_func() { … }
void SkyMaterialData::update_parameters(const HashMap<StringName, Variant> &p_parameters, bool p_uniform_dirty, bool p_textures_dirty) { … }
SkyMaterialData::~SkyMaterialData() { … }
GLES3::MaterialData *GLES3::_create_sky_material_func(ShaderData *p_shader) { … }
void SkyMaterialData::bind_uniforms() { … }
void SceneShaderData::set_code(const String &p_code) { … }
bool SceneShaderData::is_animated() const { … }
bool SceneShaderData::casts_shadows() const { … }
RS::ShaderNativeSourceCode SceneShaderData::get_native_source_code() const { … }
SceneShaderData::SceneShaderData() { … }
SceneShaderData::~SceneShaderData() { … }
GLES3::ShaderData *GLES3::_create_scene_shader_func() { … }
void SceneMaterialData::set_render_priority(int p_priority) { … }
void SceneMaterialData::set_next_pass(RID p_pass) { … }
void SceneMaterialData::update_parameters(const HashMap<StringName, Variant> &p_parameters, bool p_uniform_dirty, bool p_textures_dirty) { … }
SceneMaterialData::~SceneMaterialData() { … }
GLES3::MaterialData *GLES3::_create_scene_material_func(ShaderData *p_shader) { … }
void SceneMaterialData::bind_uniforms() { … }
void ParticlesShaderData::set_code(const String &p_code) { … }
bool ParticlesShaderData::is_animated() const { … }
bool ParticlesShaderData::casts_shadows() const { … }
RS::ShaderNativeSourceCode ParticlesShaderData::get_native_source_code() const { … }
ParticlesShaderData::~ParticlesShaderData() { … }
GLES3::ShaderData *GLES3::_create_particles_shader_func() { … }
void ParticleProcessMaterialData::update_parameters(const HashMap<StringName, Variant> &p_parameters, bool p_uniform_dirty, bool p_textures_dirty) { … }
ParticleProcessMaterialData::~ParticleProcessMaterialData() { … }
GLES3::MaterialData *GLES3::_create_particles_material_func(ShaderData *p_shader) { … }
void ParticleProcessMaterialData::bind_uniforms() { … }
#endif