Add globa_alpha_test.py for DRM per plane "alpha" property testing
authorJyri Sarha <jsarha@ti.com>
Tue, 4 Sep 2018 18:23:57 +0000 (21:23 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 10 Oct 2018 13:43:14 +0000 (16:43 +0300)
py/tests/global_alpha_test.py [new file with mode: 0755]

diff --git a/py/tests/global_alpha_test.py b/py/tests/global_alpha_test.py
new file mode 100755 (executable)
index 0000000..6981b72
--- /dev/null
@@ -0,0 +1,46 @@
+#!/usr/bin/python3
+
+import pykms
+import time
+
+card = pykms.Card()
+res = pykms.ResourceManager(card)
+conn = res.reserve_connector("")
+crtc = res.reserve_crtc(conn)
+mode = conn.get_default_mode()
+modeb = mode.to_blob(card)
+format = pykms.PixelFormat.ARGB8888
+plane1 = res.reserve_generic_plane(crtc, format)
+plane2 = res.reserve_generic_plane(crtc, format)
+
+print("Got plane1 %d %d plane2 %d %d" %
+      (plane1.idx, plane1.id, plane2.idx, plane2.id))
+
+fb1 = pykms.DumbFramebuffer(card, mode.hdisplay, mode.vdisplay, format);
+pykms.draw_test_pattern(fb1);
+
+fb2 = pykms.DumbFramebuffer(card, mode.hdisplay >> 1, mode.vdisplay >> 1, format);
+pykms.draw_test_pattern(fb2);
+
+alpha = 0
+
+req = pykms.AtomicReq(card)
+req.add(conn, "CRTC_ID", crtc.id)
+req.add(crtc, {"ACTIVE": 1,
+              "MODE_ID": modeb.id})
+req.add_plane(plane1, fb1, crtc)
+req.add_plane(plane2, fb2, crtc)
+
+r = req.commit_sync(allow_modeset = True)
+assert r == 0, "Initial commit failed: %d" % r
+
+while alpha <= 0xFFFF:
+       print("alpha %d" % (alpha >>  8))
+       req = pykms.AtomicReq(card)
+       req.add(plane2, {"alpha": alpha })
+       r = req.commit_sync()
+       assert r == 0, "alpha change commit failed: %d" % r
+       alpha = alpha + 0xFF
+       time.sleep(0.1)
+
+input("press enter exit\n")