blob: 16e067a912e84556ed2ca426551c512951be5ee8 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_VIZ_COMMON_GPU_CONTEXT_LOST_REASON_H_
#define COMPONENTS_VIZ_COMMON_GPU_CONTEXT_LOST_REASON_H_
#include "components/viz/common/viz_common_export.h"
#include "gpu/command_buffer/common/constants.h"
namespace viz {
enum ContextLostReason {
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
CONTEXT_INIT_FAILED = 0,
CONTEXT_LOST_GPU_CHANNEL_ERROR = 1,
CONTEXT_PARSE_ERROR_INVALID_SIZE = 2,
CONTEXT_PARSE_ERROR_OUT_OF_BOUNDS = 3,
CONTEXT_PARSE_ERROR_UNKNOWN_COMMAND = 4,
CONTEXT_PARSE_ERROR_INVALID_ARGS = 5,
CONTEXT_PARSE_ERROR_GENERIC_ERROR = 6,
CONTEXT_LOST_GUILTY = 7,
CONTEXT_LOST_INNOCENT = 8,
CONTEXT_LOST_UNKNOWN = 9,
CONTEXT_LOST_OUT_OF_MEMORY = 10,
CONTEXT_LOST_MAKECURRENT_FAILED = 11,
CONTEXT_LOST_INVALID_GPU_MESSAGE = 12,
// SkiaRenderer marked context as lost because of failed Reshape call
CONTEXT_LOST_RESHAPE_FAILED = 13,
CONTEXT_LOST_SET_DRAW_RECTANGLE_FAILED [[deprecated]] = 14,
CONTEXT_LOST_DIRECT_COMPOSITION_OVERLAY_FAILED = 15,
CONTEXT_LOST_SWAP_FAILED = 16,
CONTEXT_LOST_BEGIN_PAINT_FAILED = 17,
CONTEXT_LOST_ALLOCATE_FRAME_BUFFERS_FAILED = 18,
// Update kMaxValue here and <enum name="ContextLostReason"> in
// tools/metrics/histograms/enums.xml when adding new values.
kMaxValue = CONTEXT_LOST_ALLOCATE_FRAME_BUFFERS_FAILED
};
VIZ_COMMON_EXPORT ContextLostReason
GetContextLostReason(gpu::error::Error error,
gpu::error::ContextLostReason reason);
} // namespace viz
#endif // COMPONENTS_VIZ_COMMON_GPU_CONTEXT_LOST_REASON_H_