Przeglądaj źródła

Merge pull request #32389 from akien-mga/vulkan

Better format generated shader headers
Rémi Verschelde 6 lat temu
rodzic
commit
52f96abd8b

+ 12 - 16
gles_builders.py

@@ -586,6 +586,7 @@ def include_file_in_rd_header(filename, header_data, depth):
 
     return header_data
 
+
 def build_rd_header(filename):
     header_data = RDHeaderStruct()
     include_file_in_rd_header(filename, header_data, 0)
@@ -605,52 +606,47 @@ def build_rd_header(filename):
     fd.write("#define " + out_file_ifdef + "_RD\n")
 
     out_file_class = out_file_base.replace(".glsl.gen.h", "").title().replace("_", "").replace(".", "") + "ShaderRD"
-    fd.write("\n\n")
-    fd.write("#include \"servers/visual/rasterizer_rd/shader_rd.h\"\n\n\n")
+    fd.write("\n")
+    fd.write("#include \"servers/visual/rasterizer_rd/shader_rd.h\"\n\n")
     fd.write("class " + out_file_class + " : public ShaderRD {\n\n")
     fd.write("public:\n\n")
 
-
-    fd.write("\t"+out_file_class+"() {\n\n")
+    fd.write("\t" + out_file_class + "() {\n\n")
 
     if (len(header_data.compute_lines)):
 
-        fd.write("\t\tstatic const char _compute_code[]={\n")
+        fd.write("\t\tstatic const char _compute_code[] = {\n")
         for x in header_data.compute_lines:
             for c in x:
                 fd.write(str(ord(c)) + ",")
-
             fd.write(str(ord('\n')) + ",")
-
         fd.write("\t\t0};\n\n")
-        fd.write("\t\tsetup(nullptr,nullptr,_compute_code,\""+out_file_class+"\");\n")
+
+        fd.write("\t\tsetup(nullptr, nullptr, _compute_code, \"" + out_file_class + "\");\n")
         fd.write("\t}\n")
 
     else:
 
-        fd.write("\t\tstatic const char _vertex_code[]={\n")
+        fd.write("\t\tstatic const char _vertex_code[] = {\n")
         for x in header_data.vertex_lines:
             for c in x:
                 fd.write(str(ord(c)) + ",")
-    
             fd.write(str(ord('\n')) + ",")
         fd.write("\t\t0};\n\n")
     
         fd.write("\t\tstatic const char _fragment_code[]={\n")
         for x in header_data.fragment_lines:
             for c in x:
-               fd.write(str(ord(c)) + ",")
-    
+                fd.write(str(ord(c)) + ",")
             fd.write(str(ord('\n')) + ",")
-    
         fd.write("\t\t0};\n\n")
-        fd.write("\t\tsetup(_vertex_code,_fragment_code,nullptr,\""+out_file_class+"\");\n")
-        fd.write("\t}\n")
 
+        fd.write("\t\tsetup(_vertex_code, _fragment_code, nullptr, \"" + out_file_class + "\");\n")
+        fd.write("\t}\n")
 
     fd.write("};\n\n")
 
-    fd.write("#endif\n\n")
+    fd.write("#endif\n")
     fd.close()
 
 

+ 5 - 5
modules/basis_universal/SCsub

@@ -3,7 +3,7 @@
 Import('env')
 Import('env_modules')
 
-env_bu = env_modules.Clone()
+env_basisu = env_modules.Clone()
 
 # Thirdparty source files
 # Not unbundled so far since not widespread as shared library
@@ -28,16 +28,16 @@ tool_sources = [
 tool_sources = [thirdparty_dir + file for file in tool_sources]
 transcoder_sources = [thirdparty_dir + "transcoder/basisu_transcoder.cpp"]
 
-env_bu.Append(CPPPATH=[thirdparty_dir, thirdparty_dir + "transcoder"])
+env_basisu.Append(CPPPATH=[thirdparty_dir, thirdparty_dir + "transcoder"])
 
 if env['target'] == "debug":
-	env_bu.Append(CPPFLAGS=["-DBASISU_DEVEL_MESSAGES=1", "-DBASISD_ENABLE_DEBUG_FLAGS=1"])
+	env_basisu.Append(CPPFLAGS=["-DBASISU_DEVEL_MESSAGES=1", "-DBASISD_ENABLE_DEBUG_FLAGS=1"])
 
-env_thirdparty = env_bu.Clone()
+env_thirdparty = env_basisu.Clone()
 env_thirdparty.disable_warnings()
 if env['tools']:
     env_thirdparty.add_source_files(env.modules_sources, tool_sources)
 env_thirdparty.add_source_files(env.modules_sources, transcoder_sources)
 
 # Godot source files
-env_bu.add_source_files(env.modules_sources, "*.cpp")
+env_basisu.add_source_files(env.modules_sources, "*.cpp")

+ 5 - 6
modules/basis_universal/register_types.cpp

@@ -1,15 +1,14 @@
 #include "register_types.h"
 
 #include "core/os/os.h"
-#include "texture_bu.h"
+#include "servers/visual_server.h"
+#include "texture_basisu.h"
 
 #ifdef TOOLS_ENABLED
-#include "thirdparty/basis_universal/basisu_comp.h"
+#include <basisu_comp.h>
 #endif
 
-#include "thirdparty/basis_universal/transcoder/basisu.h"
-
-#include "servers/visual_server.h"
+#include <transcoder/basisu_transcoder.h>
 
 enum BasisDecompressFormat {
 	BASIS_DECOMPRESS_RG,
@@ -250,7 +249,7 @@ void register_basis_universal_types() {
 	Image::basis_universal_packer = basis_universal_packer;
 #endif
 	Image::basis_universal_unpacker = basis_universal_unpacker;
-	//	ClassDB::register_class<TextureBU>();
+	//ClassDB::register_class<TextureBasisU>();
 }
 
 void unregister_basis_universal_types() {

+ 20 - 20
modules/basis_universal/texture_bu.cpp → modules/basis_universal/texture_basisu.cpp

@@ -1,57 +1,57 @@
-#include "texture_bu.h"
+#include "texture_basisu.h"
 #if 0
 #include "core/os/os.h"
 
 #ifdef TOOLS_ENABLED
-#include "basisu_comp.h"
+#include <basisu_comp.h>
 #endif
 
-#include "transcoder/basisu.h"
+#include <transcoder/basisu_transcoder.h>
 
-void TextureBU::_bind_methods() {
+void TextureBasisU::_bind_methods() {
 
-	ClassDB::bind_method(D_METHOD("set_bu_data", "data"), &TextureBU::set_bu_data);
-	ClassDB::bind_method(D_METHOD("get_bu_data"), &TextureBU::get_data);
-	ClassDB::bind_method(D_METHOD("import"), &TextureBU::import);
+	ClassDB::bind_method(D_METHOD("set_basisu_data", "data"), &TextureBasisU::set_basisu_data);
+	ClassDB::bind_method(D_METHOD("get_basisu_data"), &TextureBasisU::get_data);
+	ClassDB::bind_method(D_METHOD("import"), &TextureBasisU::import);
 
-	ADD_PROPERTY(PropertyInfo(Variant::POOL_BYTE_ARRAY, "bu_data"), "set_bu_data", "get_bu_data");
+	ADD_PROPERTY(PropertyInfo(Variant::POOL_BYTE_ARRAY, "basisu_data"), "set_basisu_data", "get_basisu_data");
 
 };
 
-int TextureBU::get_width() const {
+int TextureBasisU::get_width() const {
 
 	return tex_size.x;
 };
 
-int TextureBU::get_height() const {
+int TextureBasisU::get_height() const {
 
 	return tex_size.y;
 };
 
-RID TextureBU::get_rid() const {
+RID TextureBasisU::get_rid() const {
 
 	return texture;
 };
 
 
-bool TextureBU::has_alpha() const {
+bool TextureBasisU::has_alpha() const {
 
 	return false;
 };
 
-void TextureBU::set_flags(uint32_t p_flags) {
+void TextureBasisU::set_flags(uint32_t p_flags) {
 
 	flags = p_flags;
 	VisualServer::get_singleton()->texture_set_flags(texture, p_flags);
 };
 
-uint32_t TextureBU::get_flags() const {
+uint32_t TextureBasisU::get_flags() const {
 
 	return flags;
 };
 
 
-void TextureBU::set_bu_data(const PoolVector<uint8_t>& p_data) {
+void TextureBasisU::set_basisu_data(const PoolVector<uint8_t>& p_data) {
 
 #ifdef TOOLS_ENABLED
 	data = p_data;
@@ -118,7 +118,7 @@ void TextureBU::set_bu_data(const PoolVector<uint8_t>& p_data) {
 	VisualServer::get_singleton()->texture_set_data(texture, img);
 };
 
-Error TextureBU::import(const Ref<Image>& p_img) {
+Error TextureBasisU::import(const Ref<Image>& p_img) {
 
 #ifdef TOOLS_ENABLED
 
@@ -173,7 +173,7 @@ Error TextureBU::import(const Ref<Image>& p_img) {
 		};
 	};
 
-	set_bu_data(budata);
+	set_basisu_data(budata);
 
 	return OK;
 #else
@@ -183,19 +183,19 @@ Error TextureBU::import(const Ref<Image>& p_img) {
 };
 
 
-PoolVector<uint8_t> TextureBU::get_bu_data() const {
+PoolVector<uint8_t> TextureBasisU::get_basisu_data() const {
 
 	return data;
 };
 
-TextureBU::TextureBU() {
+TextureBasisU::TextureBasisU() {
 
 	flags = FLAGS_DEFAULT;
 	texture = VisualServer::get_singleton()->texture_create();
 };
 
 
-TextureBU::~TextureBU() {
+TextureBasisU::~TextureBasisU() {
 
 	VisualServer::get_singleton()->free(texture);
 };

+ 8 - 8
modules/basis_universal/texture_bu.h → modules/basis_universal/texture_basisu.h

@@ -1,15 +1,15 @@
 #include "scene/resources/texture.h"
 
 #ifdef TOOLS_ENABLED
-#include "thirdparty/basis_universal/basisu_comp.h"
+#include <basisu_comp.h>
 #endif
 
-#include "thirdparty/basis_universal/transcoder/basisu.h"
+#include <transcoder/basisu_transcoder.h>
 
 #if 0
-class TextureBU : public Texture {
+class TextureBasisU : public Texture {
 
-	GDCLASS(TextureBU, Texture);
+	GDCLASS(TextureBasisU, Texture);
 	RES_BASE_EXTENSION("butex");
 
 	RID texture;
@@ -34,13 +34,13 @@ public:
 
 	Error import(const Ref<Image> &p_img);
 
-	void set_bu_data(const PoolVector<uint8_t>& p_data);
+	void set_basisu_data(const PoolVector<uint8_t>& p_data);
 
-	PoolVector<uint8_t> get_bu_data() const;
+	PoolVector<uint8_t> get_basisu_data() const;
 	String get_img_path() const;
 
-	TextureBU();
-	~TextureBU();
+	TextureBasisU();
+	~TextureBasisU();
 
 };