/* * Copyright 2023 Google LLC * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "tools/window/WindowContext.h" #include "include/gpu/GrDirectContext.h" #if defined(SK_GRAPHITE) #include "include/gpu/graphite/Context.h" #include "include/gpu/graphite/Recorder.h" #endif namespace skwindow { WindowContext::WindowContext(const DisplayParams& params) : fDisplayParams(params) {} WindowContext::~WindowContext() {} void WindowContext::swapBuffers() { this->onSwapBuffers(); } #if defined(SK_GRAPHITE) void WindowContext::snapRecordingAndSubmit() { if (fGraphiteContext) { SkASSERT(fGraphiteRecorder); std::unique_ptr recording = fGraphiteRecorder->snap(); if (recording) { skgpu::graphite::InsertRecordingInfo info; info.fRecording = recording.get(); fGraphiteContext->insertRecording(info); fGraphiteContext->submit(skgpu::graphite::SyncToCpu::kNo); } } } #endif } // namespace skwindow