1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef GPU_COMMAND_BUFFER_COMMON_CONSTANTS_H_ 6#define GPU_COMMAND_BUFFER_COMMON_CONSTANTS_H_ 7 8#include <stddef.h> 9#include <stdint.h> 10 11namespace gpu { 12 13typedef int32_t CommandBufferOffset; 14const CommandBufferOffset kInvalidCommandBufferOffset = -1; 15 16// This enum must stay in sync with NPDeviceContext3DError. 17namespace error { 18 enum Error { 19 kNoError, 20 kInvalidSize, 21 kOutOfBounds, 22 kUnknownCommand, 23 kInvalidArguments, 24 kLostContext, 25 kGenericError, 26 kDeferCommandUntilLater 27 }; 28 29 // Return true if the given error code is an actual error. 30 inline bool IsError(Error error) { 31 return error != kNoError && error != kDeferCommandUntilLater; 32 } 33 34 // Provides finer grained information about why the context was lost. 35 enum ContextLostReason { 36 // This context definitely provoked the loss of context. 37 kGuilty, 38 39 // This context definitely did not provoke the loss of context. 40 kInnocent, 41 42 // It is unknown whether this context provoked the loss of context. 43 kUnknown, 44 kContextLostReasonLast = kUnknown 45 }; 46} 47 48// Invalid shared memory Id, returned by RegisterSharedMemory in case of 49// failure. 50const int32_t kInvalidSharedMemoryId = -1; 51 52// Common Command Buffer shared memory transfer buffer ID. 53const int32_t kCommandBufferSharedMemoryId = 4; 54 55// The size to set for the program cache. 56const size_t kDefaultMaxProgramCacheMemoryBytes = 6 * 1024 * 1024; 57 58} // namespace gpu 59 60#endif // GPU_COMMAND_BUFFER_COMMON_CONSTANTS_H_ 61