diff options
Diffstat (limited to 'chromium/third_party/dawn/src/dawn_native/Commands.cpp')
-rw-r--r-- | chromium/third_party/dawn/src/dawn_native/Commands.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/chromium/third_party/dawn/src/dawn_native/Commands.cpp b/chromium/third_party/dawn/src/dawn_native/Commands.cpp index fbc9172153a..eb1179103df 100644 --- a/chromium/third_party/dawn/src/dawn_native/Commands.cpp +++ b/chromium/third_party/dawn/src/dawn_native/Commands.cpp @@ -18,6 +18,7 @@ #include "dawn_native/Buffer.h" #include "dawn_native/CommandAllocator.h" #include "dawn_native/ComputePipeline.h" +#include "dawn_native/RenderBundle.h" #include "dawn_native/RenderPipeline.h" #include "dawn_native/Texture.h" @@ -86,6 +87,14 @@ namespace dawn_native { EndRenderPassCmd* cmd = commands->NextCommand<EndRenderPassCmd>(); cmd->~EndRenderPassCmd(); } break; + case Command::ExecuteBundles: { + ExecuteBundlesCmd* cmd = commands->NextCommand<ExecuteBundlesCmd>(); + auto bundles = commands->NextData<Ref<RenderBundleBase>>(cmd->count); + for (size_t i = 0; i < cmd->count; ++i) { + (&bundles[i])->~Ref<RenderBundleBase>(); + } + cmd->~ExecuteBundlesCmd(); + } break; case Command::InsertDebugMarker: { InsertDebugMarkerCmd* cmd = commands->NextCommand<InsertDebugMarkerCmd>(); commands->NextData<char>(cmd->length + 1); @@ -207,6 +216,11 @@ namespace dawn_native { commands->NextCommand<EndRenderPassCmd>(); break; + case Command::ExecuteBundles: { + auto* cmd = commands->NextCommand<ExecuteBundlesCmd>(); + commands->NextData<Ref<RenderBundleBase>>(cmd->count); + } break; + case Command::InsertDebugMarker: { InsertDebugMarkerCmd* cmd = commands->NextCommand<InsertDebugMarkerCmd>(); commands->NextData<char>(cmd->length + 1); |