Files
workinf_Blender_Wasm/blender-5.2.0/tests/python/bl_pyapi_gpu.py
2026-08-12 04:47:48 -04:00

49 lines
1.3 KiB
Python

# SPDX-FileCopyrightText: 2026 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
#
# blender -b --factory-startup --python tests/python/bl_pyapi_gpu.py
import unittest
import gpu
class TestGpuInit(unittest.TestCase):
def test_gpu_module_is_usable_after_init(self):
gpu.init()
# GPU module functions will raise SystemError if the GPU has not been initialized.
gpu.platform.vendor_get()
gpu.platform.renderer_get()
gpu.platform.version_get()
gpu.platform.device_type_get()
gpu.types.GPUTexture(size=(1024, 1024), format="RGBA8")
class TestGpuFrameBuffer(unittest.TestCase):
def test_read_color_bounds_check(self):
gpu.init()
# Setup a framebuffer.
tex = gpu.types.GPUTexture(size=(16, 16), format="RGBA8")
fb = gpu.types.GPUFrameBuffer(color_slots=[tex])
with fb.bind():
# Reading within bounds should succeed.
buf = fb.read_color(0, 0, 1, 1, 4, 0, "UBYTE")
# Reading outside bounds should raise ValueError.
with self.assertRaises(ValueError):
fb.read_color(-1, 0, 1, 1, 4, 0, "UBYTE")
if __name__ == "__main__":
import sys
sys.argv = [__file__] + (
sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
)
unittest.main()