mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-24 14:45:53 +00:00
Refactor and optimise D3D11 refcounting implementation
* In heavy D3D11 workloads the refcounting overhead especially during fast binding changes was significant. Refactoring the refcounting to work on a different model and deferring destruction of objects removes most of the overhead.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import struct
|
||||
import math
|
||||
import renderdoc as rd
|
||||
import rdtest
|
||||
|
||||
|
||||
class D3D11_Refcount_Check(rdtest.TestCase):
|
||||
demos_test_name = 'D3D11_Refcount_Check'
|
||||
|
||||
def get_capture_options(self):
|
||||
# Ensure we enable API validation since the test relies on being able to query it
|
||||
ret = rd.CaptureOptions()
|
||||
|
||||
ret.apiValidation = True
|
||||
ret.debugOutputMute = False
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
def check_capture(self):
|
||||
draw = self.find_draw("Color Draw")
|
||||
|
||||
self.check(draw is not None)
|
||||
|
||||
draw = draw.next
|
||||
|
||||
self.controller.SetFrameEvent(draw.eventId, False)
|
||||
|
||||
pipe: rd.PipeState = self.controller.GetPipelineState()
|
||||
|
||||
self.check_pixel_value(pipe.GetOutputTargets()[0].resourceId, 0.5, 0.5, [0.0, 1.0, 0.0, 1.0])
|
||||
|
||||
rdtest.log.success("Captured loaded with color as expected")
|
||||
Reference in New Issue
Block a user