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 "gpu/command_buffer/common/types.h" 9 10 namespace gpu { 11 12 typedef int32 CommandBufferOffset; 13 const CommandBufferOffset kInvalidCommandBufferOffset = -1; 14 15 // This enum must stay in sync with NPDeviceContext3DError. 16 namespace error { 17 enum Error { 18 kNoError, 19 kInvalidSize, 20 kOutOfBounds, 21 kUnknownCommand, 22 kInvalidArguments, 23 kLostContext, 24 kGenericError, 25 kDeferCommandUntilLater 26 }; 27 28 // Return true if the given error code is an actual error. 29 inline bool IsError(Error error) { 30 return error != kNoError && error != kDeferCommandUntilLater; 31 } 32 33 // Provides finer grained information about why the context was lost. 34 enum ContextLostReason { 35 // This context definitely provoked the loss of context. 36 kGuilty, 37 38 // This context definitely did not provoke the loss of context. 39 kInnocent, 40 41 // It is unknown whether this context provoked the loss of context. 42 kUnknown 43 }; 44 } 45 46 // Invalid shared memory Id, returned by RegisterSharedMemory in case of 47 // failure. 48 const int32 kInvalidSharedMemoryId = -1; 49 50 // Common Command Buffer shared memory transfer buffer ID. 51 const int32 kCommandBufferSharedMemoryId = 4; 52 53 // The size to set for the program cache. 54 const size_t kDefaultMaxProgramCacheMemoryBytes = 6 * 1024 * 1024; 55 56 } // namespace gpu 57 58 #endif // GPU_COMMAND_BUFFER_COMMON_CONSTANTS_H_ 59