| // Copyright 2019 The Chromium Authors | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef GPU_COMMAND_BUFFER_SERVICE_WEBGPU_DECODER_IMPL_H_ | |
| #define GPU_COMMAND_BUFFER_SERVICE_WEBGPU_DECODER_IMPL_H_ | |
| #include "gpu/gpu_gles2_export.h" | |
| #include "base/memory/scoped_refptr.h" | |
| namespace gpu { | |
| class CommandBufferServiceBase; | |
| class DecoderClient; | |
| struct GpuPreferences; | |
| class IsolationKeyProvider; | |
| class MemoryTracker; | |
| class SharedContextState; | |
| class SharedImageManager; | |
| namespace gles2 { | |
| class Outputter; | |
| } // namespace gles2 | |
| namespace webgpu { | |
| struct DawnCacheOptions; | |
| class WebGPUDecoder; | |
| GPU_GLES2_EXPORT std::unique_ptr<WebGPUDecoder> CreateWebGPUDecoderImpl( | |
| DecoderClient* client, | |
| CommandBufferServiceBase* command_buffer_service, | |
| SharedImageManager* shared_image_manager, | |
| scoped_refptr<MemoryTracker> memory_tracker, | |
| gles2::Outputter* outputter, | |
| const GpuPreferences& gpu_preferences, | |
| scoped_refptr<SharedContextState> shared_context_state, | |
| const DawnCacheOptions& dawn_cache_options, | |
| IsolationKeyProvider* isolation_key_provider); | |
| } // namespace webgpu | |
| } // namespace gpu | |
| #endif // GPU_COMMAND_BUFFER_SERVICE_WEBGPU_DECODER_IMPL_H_ |