mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-18 03:35:57 +00:00
* These come from long ago when using PyCharm with not as good type checking and with renderdoc module stubs that were incomplete so needed help identifying types.
71 lines
2.3 KiB
Python
71 lines
2.3 KiB
Python
import renderdoc as rd
|
|
import rdtest
|
|
|
|
|
|
class GL_Frame0(rdtest.TestCase):
|
|
demos_test_name = 'GL_Simple_Triangle'
|
|
demos_frame_cap = 0
|
|
|
|
def check_capture(self):
|
|
first_action = self.get_first_action()
|
|
|
|
found = False
|
|
sdfile = self.controller.GetStructuredFile()
|
|
for e in first_action.events:
|
|
c = sdfile.chunks[e.chunkIndex]
|
|
if 'glBufferData' in c.name:
|
|
found = True
|
|
|
|
if not found:
|
|
raise rdtest.TestFailureException("Expected an glBufferData() chunk in frame 0, but couldn't find it!")
|
|
|
|
last_action = self.get_last_action()
|
|
|
|
self.controller.SetFrameEvent(last_action.eventId, True)
|
|
|
|
self.check_triangle(out=last_action.copyDestination)
|
|
|
|
self.check_export(self.capture_filename)
|
|
|
|
action = self.find_action("Draw")
|
|
|
|
self.controller.SetFrameEvent(action.eventId, False)
|
|
|
|
postvs_data = self.get_postvs(action, rd.MeshDataStage.VSOut, 0, action.numIndices)
|
|
|
|
postvs_ref = {
|
|
0: {
|
|
'vtx': 0,
|
|
'idx': 0,
|
|
'gl_Position': [-0.5, -0.5, 0.0, 1.0],
|
|
'v2f_block.pos': [-0.5, -0.5, 0.0, 1.0],
|
|
'v2f_block.col': [0.0, 1.0, 0.0, 1.0],
|
|
'v2f_block.uv': [0.0, 0.0, 0.0, 1.0],
|
|
},
|
|
1: {
|
|
'vtx': 1,
|
|
'idx': 1,
|
|
'gl_Position': [0.0, 0.5, 0.0, 1.0],
|
|
'v2f_block.pos': [0.0, 0.5, 0.0, 1.0],
|
|
'v2f_block.col': [0.0, 1.0, 0.0, 1.0],
|
|
'v2f_block.uv': [0.0, 1.0, 0.0, 1.0],
|
|
},
|
|
2: {
|
|
'vtx': 2,
|
|
'idx': 2,
|
|
'gl_Position': [0.5, -0.5, 0.0, 1.0],
|
|
'v2f_block.pos': [0.5, -0.5, 0.0, 1.0],
|
|
'v2f_block.col': [0.0, 1.0, 0.0, 1.0],
|
|
'v2f_block.uv': [1.0, 0.0, 0.0, 1.0],
|
|
},
|
|
}
|
|
|
|
self.check_mesh_data(postvs_ref, postvs_data)
|
|
|
|
# Check that nothing breaks if we call typical enumeration functions on resources
|
|
for res in self.controller.GetResources():
|
|
self.controller.GetShaderEntryPoints(res.resourceId)
|
|
self.controller.GetUsage(res.resourceId)
|
|
self.controller.GetBufferData(res.resourceId, 0, 0)
|
|
self.controller.GetTextureData(res.resourceId, rd.Subresource())
|