diff --git a/util/test/tests/D3D12/D3D12_RGP_Capture.py b/util/test/tests/D3D12/D3D12_RGP_Capture.py new file mode 100644 index 000000000..66c4c9ed1 --- /dev/null +++ b/util/test/tests/D3D12/D3D12_RGP_Capture.py @@ -0,0 +1,34 @@ +import renderdoc as rd +import rdtest +import os +import tkinter + + +class D3D12_RGP_Capture(rdtest.TestCase): + demos_test_name = 'D3D12_Simple_Triangle' + + # Need to enable RGP mode before opening the capture + def run(self): + rd.SetConfigSetting("ExternalTool_RGPIntegration", "1") + super().run() + + 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") + diff --git a/util/test/tests/Vulkan/VK_RGP_Capture.py b/util/test/tests/Vulkan/VK_RGP_Capture.py new file mode 100644 index 000000000..4ed37044d --- /dev/null +++ b/util/test/tests/Vulkan/VK_RGP_Capture.py @@ -0,0 +1,27 @@ +import renderdoc as rd +import rdtest +import os + + +class VK_RGP_Capture(rdtest.TestCase): + demos_test_name = 'VK_Simple_Triangle' + + # Need to enable RGP mode before opening the capture + def run(self): + rd.SetConfigSetting("ExternalTool_RGPIntegration", "1") + super().run() + + def check_capture(self): + apiprops: rd.APIProperties = self.controller.GetAPIProperties() + + if not apiprops.rgpCapture: + rdtest.log.print("RGP capture not tested") + return + + path = self.controller.CreateRGPProfile(rd.CreateHeadlessWindowingData(100, 100)) + + 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") +