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 11 namespace gpu { 12 13 typedef int32_t CommandBufferOffset; 14 const CommandBufferOffset kInvalidCommandBufferOffset = -1; 15 16 // This enum must stay in sync with NPDeviceContext3DError. 17 namespace 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. IsError(Error 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. 50 const int32_t kInvalidSharedMemoryId = -1; 51 52 // Common Command Buffer shared memory transfer buffer ID. 53 const int32_t kCommandBufferSharedMemoryId = 4; 54 55 // The size to set for the program cache. 56 const size_t kDefaultMaxProgramCacheMemoryBytes = 6 * 1024 * 1024; 57 58 } // namespace gpu 59 60 #endif // GPU_COMMAND_BUFFER_COMMON_CONSTANTS_H_ 61