File: GL_Discard_Zoo.py

package info (click to toggle)
renderdoc 1.27%2Bdfsg-1
  • links: PTS, VCS
  • area: non-free
  • in suites: sid
  • size: 107,796 kB
  • sloc: cpp: 763,519; ansic: 326,847; python: 26,946; xml: 23,189; java: 11,382; cs: 7,181; makefile: 6,707; yacc: 5,682; ruby: 4,648; perl: 3,461; sh: 2,381; php: 2,119; lisp: 1,835; javascript: 1,525; tcl: 1,068; ml: 747
file content (55 lines) | stat: -rw-r--r-- 1,706 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import rdtest
import struct
import renderdoc as rd


class GL_Discard_Zoo(rdtest.Discard_Zoo):
    demos_test_name = 'GL_Discard_Zoo'
    internal = False

    def __init__(self):
        rdtest.Discard_Zoo.__init__(self)

    def check_capture(self):
        self.check_textures()

        action = self.find_action("TestStart")

        self.check(action is not None)

        self.controller.SetFrameEvent(action.eventId, True)

        # Check the buffer
        for res in self.controller.GetResources():
            if res.name == "Buffer" or res.name == "BufferSub":
                data: bytes = self.controller.GetBufferData(res.resourceId, 0, 0)

                self.check(all([b == 0x88 for b in data]))

        action = self.find_action("TestEnd")

        self.check(action is not None)

        self.controller.SetFrameEvent(action.eventId, True)

        # Check the buffer
        for res in self.controller.GetResources():
            if res.name == "Buffer":
                data: bytes = self.controller.GetBufferData(res.resourceId, 0, 0)

                data_u32 = struct.unpack_from('=256L', data, 0)

                self.check(all([u == 0xD15CAD3D for u in data_u32]))
            elif res.name == "BufferSub":
                data: bytes = self.controller.GetBufferData(res.resourceId, 0, 0)

                data_u32 = struct.unpack_from('=18L', data, 50)

                self.check(all([u == 0xD15CAD3D for u in data_u32]))

                data_u16 = struct.unpack_from('=H', data, 50+72)

                self.check(data_u16[0] == 0xAD3D)

                self.check(all([b == 0x88 for b in data[0:50]]))
                self.check(all([b == 0x88 for b in data[50+75:-1]]))