File: D3D12_Discard_Zoo.py

package info (click to toggle)
renderdoc 1.24%2Bdfsg-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 105,156 kB
  • sloc: cpp: 759,405; ansic: 309,460; python: 26,606; xml: 22,599; java: 11,365; cs: 7,181; makefile: 6,707; yacc: 5,682; ruby: 4,648; perl: 3,461; sh: 2,354; php: 2,119; lisp: 1,835; javascript: 1,524; tcl: 1,068; ml: 747
file content (42 lines) | stat: -rw-r--r-- 1,174 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
import rdtest
import struct
import renderdoc as rd


class D3D12_Discard_Zoo(rdtest.Discard_Zoo):
    demos_test_name = 'D3D12_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":
                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]))