1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Copyright (c) 2013 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef GPU_CONFIG_GPU_DRIVER_BUG_LIST_H_
- #define GPU_CONFIG_GPU_DRIVER_BUG_LIST_H_
- #include <memory>
- #include <set>
- #include "base/command_line.h"
- #include "gpu/config/gpu_control_list.h"
- #include "gpu/gpu_export.h"
- namespace gpu {
- class GPU_EXPORT GpuDriverBugList : public GpuControlList {
- public:
- GpuDriverBugList(const GpuDriverBugList&) = delete;
- GpuDriverBugList& operator=(const GpuDriverBugList&) = delete;
- ~GpuDriverBugList() override;
- static std::unique_ptr<GpuDriverBugList> Create();
- static std::unique_ptr<GpuDriverBugList> Create(
- const GpuControlListData& data);
- // Append |workarounds| with these passed in through the
- // |command_line|.
- static void AppendWorkaroundsFromCommandLine(
- std::set<int>* workarounds,
- const base::CommandLine& command_line);
- // Append |workarounds| with the full list of workarounds.
- // This is needed for correctly passing flags down from
- // the browser process to the GPU process.
- static void AppendAllWorkarounds(std::vector<const char*>* workarounds);
- static bool AreEntryIndicesValid(const std::vector<uint32_t>& entry_indices);
- private:
- explicit GpuDriverBugList(const GpuControlListData& data);
- };
- } // namespace gpu
- #endif // GPU_CONFIG_GPU_DRIVER_BUG_LIST_H_
|