mirror of
https://github.com/BinomialLLC/basis_universal.git
synced 2026-06-08 00:23:52 +00:00
71 lines
2.1 KiB
Python
71 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
import numpy as np
|
|
from PIL import Image
|
|
|
|
from basisu_py.codec import Encoder, EncoderBackend
|
|
from basisu_py.constants import BasisTexFormat
|
|
|
|
print("========== BACKEND LOADING TEST ==========\n")
|
|
|
|
# --------------------------------------------------------------
|
|
# 1. Test native backend (if available)
|
|
# --------------------------------------------------------------
|
|
print("Testing native backend...")
|
|
|
|
try:
|
|
enc_native = Encoder(backend=EncoderBackend.NATIVE)
|
|
print(" [OK] Native backend loaded")
|
|
except Exception as e:
|
|
print(" [FAIL] Native backend failed to load:", e)
|
|
enc_native = None
|
|
|
|
# If native loaded, test very basic functionality
|
|
if enc_native:
|
|
try:
|
|
version = enc_native._native.get_version()
|
|
print(f" Native get_version() ? {version}")
|
|
|
|
ptr = enc_native._native.alloc(16)
|
|
print(f" Native alloc() returned ptr = {ptr}")
|
|
|
|
enc_native._native.free(ptr)
|
|
print(f" Native free() OK")
|
|
|
|
print(" [OK] Native basic operations working.\n")
|
|
except Exception as e:
|
|
print(" [FAIL] Native operations error:", e)
|
|
else:
|
|
print(" Skipping native basic operations.\n")
|
|
|
|
# --------------------------------------------------------------
|
|
# 2. Test WASM backend
|
|
# --------------------------------------------------------------
|
|
print("\nTesting WASM backend...")
|
|
|
|
try:
|
|
enc_wasm = Encoder(backend=EncoderBackend.WASM)
|
|
print(" [OK] WASM backend loaded")
|
|
except Exception as e:
|
|
print(" [FAIL] WASM backend failed to load:", e)
|
|
enc_wasm = None
|
|
|
|
# If WASM loaded, test basic methods
|
|
if enc_wasm and enc_wasm._wasm is not None:
|
|
try:
|
|
version = enc_wasm._wasm.get_version()
|
|
print(f" WASM get_version() ? {version}")
|
|
|
|
ptr = enc_wasm._wasm.alloc(16)
|
|
print(f" WASM alloc() returned ptr = {ptr}")
|
|
|
|
enc_wasm._wasm.free(ptr)
|
|
print(f" WASM free() OK")
|
|
|
|
print(" [OK] WASM basic operations working.\n")
|
|
except Exception as e:
|
|
print(" [FAIL] WASM operations error:", e)
|
|
else:
|
|
print(" Skipping WASM basic operations.\n")
|
|
|
|
print("\n========== DONE ==========\n")
|