mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-29 13:20:54 +00:00
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import renderdoc as rd
|
|
import rdtest
|
|
import os
|
|
|
|
try:
|
|
import tkinter
|
|
except ImportError as ex:
|
|
tkinter = None
|
|
|
|
class D3D12_RGP_Capture(rdtest.TestCase):
|
|
demos_test_name = 'D3D12_Simple_Triangle'
|
|
|
|
def check_support(self):
|
|
if tkinter is None:
|
|
return False, 'tkinter is required but not available'
|
|
|
|
return super().check_support()
|
|
|
|
def check_capture(self):
|
|
apiprops: rd.APIProperties = self.controller.GetAPIProperties()
|
|
|
|
if not apiprops.rgpCapture:
|
|
rdtest.log.print("RGP capture not tested")
|
|
return
|
|
|
|
|
|
# On D3D12 we need to create a real window
|
|
window = tkinter.Tk()
|
|
window.geometry("1280x720")
|
|
|
|
path = self.controller.CreateRGPProfile(rd.CreateWin32WindowingData(int(window.frame(), 16)))
|
|
|
|
rdtest.log.print("RGP capture created: '{}'".format(path))
|
|
|
|
if os.path.exists(path) and os.path.getsize(path) > 100:
|
|
rdtest.log.success("RGP capture created successfully")
|
|
else:
|
|
raise rdtest.TestFailureException("RGP capture failed")
|
|
|