Add Chromium-only Blender WebEngine parity work
This commit is contained in:
48
blender-5.2.0/tests/python/bl_pyapi_gpu.py
Normal file
48
blender-5.2.0/tests/python/bl_pyapi_gpu.py
Normal file
@@ -0,0 +1,48 @@
|
||||
# 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()
|
||||
Reference in New Issue
Block a user