#include "shader_gles3.h"
#ifdef GLES3_ENABLED
#include "core/io/compression.h"
#include "core/io/dir_access.h"
#include "core/io/file_access.h"
#include "drivers/gles3/rasterizer_gles3.h"
#include "drivers/gles3/storage/config.h"
static String _mkid(const String &p_id) { … }
void ShaderGLES3::_add_stage(const char *p_code, StageType p_stage_type) { … }
void ShaderGLES3::_setup(const char *p_vertex_code, const char *p_fragment_code, const char *p_name, int p_uniform_count, const char **p_uniform_names, int p_ubo_count, const UBOPair *p_ubos, int p_feedback_count, const Feedback *p_feedback, int p_texture_count, const TexUnitPair *p_tex_units, int p_specialization_count, const Specialization *p_specializations, int p_variant_count, const char **p_variants) { … }
RID ShaderGLES3::version_create() { … }
void ShaderGLES3::_build_variant_code(StringBuilder &builder, uint32_t p_variant, const Version *p_version, StageType p_stage_type, uint64_t p_specialization) { … }
static void _display_error_with_code(const String &p_error, const String &p_code) { … }
void ShaderGLES3::_get_uniform_locations(Version::Specialization &spec, Version *p_version) { … }
void ShaderGLES3::_compile_specialization(Version::Specialization &spec, uint32_t p_variant, Version *p_version, uint64_t p_specialization) { … }
RS::ShaderNativeSourceCode ShaderGLES3::version_get_native_source_code(RID p_version) { … }
String ShaderGLES3::_version_get_sha1(Version *p_version) const { … }
#ifndef WEB_ENABLED
static const char *shader_file_header = …;
static const uint32_t cache_file_version = …;
#endif
bool ShaderGLES3::_load_from_cache(Version *p_version) { … }
void ShaderGLES3::_save_to_cache(Version *p_version) { … }
void ShaderGLES3::_clear_version(Version *p_version) { … }
void ShaderGLES3::_initialize_version(Version *p_version) { … }
void ShaderGLES3::version_set_code(RID p_version, const HashMap<String, String> &p_code, const String &p_uniforms, const String &p_vertex_globals, const String &p_fragment_globals, const Vector<String> &p_custom_defines, const LocalVector<ShaderGLES3::TextureUniformData> &p_texture_uniforms, bool p_initialize) { … }
bool ShaderGLES3::version_is_valid(RID p_version) { … }
bool ShaderGLES3::version_free(RID p_version) { … }
bool ShaderGLES3::shader_cache_cleanup_on_start = …;
ShaderGLES3::ShaderGLES3() { … }
void ShaderGLES3::initialize(const String &p_general_defines, int p_base_texture_index) { … }
void ShaderGLES3::set_shader_cache_dir(const String &p_dir) { … }
void ShaderGLES3::set_shader_cache_save_compressed(bool p_enable) { … }
void ShaderGLES3::set_shader_cache_save_compressed_zstd(bool p_enable) { … }
void ShaderGLES3::set_shader_cache_save_debug(bool p_enable) { … }
String ShaderGLES3::shader_cache_dir;
bool ShaderGLES3::shader_cache_save_compressed = …;
bool ShaderGLES3::shader_cache_save_compressed_zstd = …;
bool ShaderGLES3::shader_cache_save_debug = …;
ShaderGLES3::~ShaderGLES3() { … }
#endif