summaryrefslogtreecommitdiff
path: root/py/alpha-test.py
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2016-03-17 18:47:47 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2016-03-17 19:25:03 +0200
commit2d658a3d17e512f4ea71dc144d38f3c5774a3792 (patch)
treee2d347fd79bf159876c2599e3f64fae11c7273ef /py/alpha-test.py
parent6f6fe27ac6a49d7570a11ceccaa122dd01c27828 (diff)
py: add transparency key and alpha tests
Diffstat (limited to 'py/alpha-test.py')
-rwxr-xr-xpy/alpha-test.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/py/alpha-test.py b/py/alpha-test.py
new file mode 100755
index 0000000..15ba045
--- /dev/null
+++ b/py/alpha-test.py
@@ -0,0 +1,67 @@
+#!/usr/bin/python3.4
+
+import pykms
+from helpers import *
+import time
+
+# This hack makes drm initialize the fbcon, setting up the default connector
+card = pykms.Card()
+card = 0
+
+card = pykms.Card()
+
+conn = card.get_first_connected_connector()
+mode = conn.get_default_mode()
+crtc = conn.get_current_crtc()
+
+planes = []
+for p in card.get_planes():
+ if p.supports_crtc(crtc) == False:
+ continue
+ planes.append(p)
+
+if len(planes) != 3:
+ print("Need 3 planes!")
+ exit(1)
+
+disable_planes(card)
+
+w = mode.hdisplay
+h = mode.vdisplay
+
+fbs=[]
+
+for i in range(len(planes)):
+ fbs.append(pykms.DumbFramebuffer(card, w, h, "AR24"))
+
+pykms.draw_rect(fbs[0], 50, 50, 200, 200, pykms.RGB(128, 255, 0, 0))
+pykms.draw_rect(fbs[1], 150, 50, 200, 200, pykms.RGB(128, 0, 255, 0))
+pykms.draw_rect(fbs[2], 50, 150, 200, 200, pykms.RGB(128, 0, 0, 255))
+
+
+set_props(crtc, {
+ "trans-key-mode": 0,
+ "trans-key": 0,
+ "background": 0,
+ "alpha_blender": 1,
+})
+
+for i in range(len(planes)):
+ plane = planes[i]
+ fb = fbs[i]
+
+ print("set crtc {}, plane {}, fb {}".format(crtc.id(), p.id(), fbs[i].id()))
+
+ set_props(plane, {
+ "FB_ID": fb.id(),
+ "CRTC_ID": crtc.id(),
+ "SRC_W": fb.width() << 16,
+ "SRC_H": fb.height() << 16,
+ "CRTC_W": fb.width(),
+ "CRTC_H": fb.height(),
+ "zorder": i,
+ })
+
+ time.sleep(1)
+
+input("press enter to exit\n")