X-Git-Url: https://git.cworth.org/git?p=apitrace-tests;a=blobdiff_plain;f=driver.py;h=871ef097ec63cc7a1f115d40f23800aa69f72760;hp=1c4904cc24b335f3672e846386ac4fd707ce89ce;hb=4f76aace96589be1d0ba65ef8aff0efaa361249a;hpb=070b2d65f8409e150dca4f61b7d8b674ebbcfabe diff --git a/driver.py b/driver.py index 1c4904c..871ef09 100755 --- a/driver.py +++ b/driver.py @@ -343,17 +343,28 @@ class TestCase: def getImage(self, callNo): state = self.getState(callNo) - framebuffer = state['framebuffer'] if self.doubleBuffer: - imageObj = framebuffer['GL_BACK'] + attachments = ['GL_BACK', 'GL_BACK_LEFT', 'GL_BACK_RIGHT', 'GL_COLOR_ATTACHMENT0'] else: - imageObj = framebuffer['GL_FRONT'] + attachments = ['GL_FRONT', 'GL_FRONT_LEFT', 'GL_FRONT_RIGHT', 'GL_COLOR_ATTACHMENT0'] + imageObj = self.getFramebufferAttachment(state, attachments) data = imageObj['__data__'] stream = StringIO(base64.b64decode(data)) im = Image.open(stream) im.save('test.png') return im + def getFramebufferAttachment(self, state, attachments): + framebufferObj = state['framebuffer'] + for attachment in attachments: + try: + attachmentObj = framebufferObj[attachment] + except KeyError: + pass + else: + return attachmentObj + raise Exception("no attachment found") + def getState(self, callNo): try: state = self.stateCache[callNo]