18 #ifndef vtkWebGPUCommandEncoderDebugGroup_h
19 #define vtkWebGPUCommandEncoderDebugGroup_h
21 #include "vtkABINamespace.h"
22 #include "vtkRenderingWebGPUModule.h"
25 VTK_ABI_NAMESPACE_BEGIN
31 const wgpu::RenderPassEncoder& passEncoder,
const char* groupLabel);
33 const wgpu::RenderBundleEncoder& passEncoder,
const char* groupLabel);
35 const wgpu::CommandEncoder& commandEncoder,
const char* groupLabel);
47 const wgpu::RenderPassEncoder* PassEncoder =
nullptr;
48 const wgpu::RenderBundleEncoder* BundleEncoder =
nullptr;
49 const wgpu::CommandEncoder* CommandEncoder =
nullptr;
52 #define vtkScopedEncoderDebugGroupConcatImpl(s1, s2) s1##s2
53 #define vtkScopedEncoderDebugGroupConcat(s1, s2) vtkScopedEncoderDebugGroupConcatImpl(s1, s2)
54 #define vtkScopedEncoderDebugGroupAnonymousVariable(x) vtkScopedEncoderDebugGroupConcat(x, __LINE__)
56 #define vtkScopedEncoderDebugGroup(encoder, name) \
57 ::vtkWebGPUCommandEncoderDebugGroup vtkScopedEncoderDebugGroupAnonymousVariable( \
58 encoderDebugGroup)(encoder, name)
Convenient class that inserts annotations around draw commands within a render pass/bundle.