Home | History | Annotate | Download | only in common
      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.
     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