basis_universal: Use proper basisu_transcoder.h header, fixes Clang build

Also renames bu to basisu to be more explicit and match upstream name.
This commit is contained in:
Rémi Verschelde 2019-09-27 14:43:04 +02:00
parent af6a3a419a
commit 3695c08782
4 changed files with 38 additions and 39 deletions

View file

@ -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")

View file

@ -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() {

View file

@ -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);
};

View file

@ -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();
};