| Index: o3d/gpu_plugin/command_buffer.h
|
| ===================================================================
|
| --- o3d/gpu_plugin/command_buffer.h (revision 26879)
|
| +++ o3d/gpu_plugin/command_buffer.h (working copy)
|
| @@ -22,14 +22,6 @@
|
| // API to manage the put and get pointers.
|
| class CommandBuffer : public DefaultNPObject<NPObject> {
|
| public:
|
| - enum {
|
| - ERROR_NO_ERROR,
|
| - ERROR_INVALID_SIZE,
|
| - ERROR_OUT_OF_BOUNDS,
|
| - ERROR_UNKNOWN_COMMAND,
|
| - ERROR_INVALID_ARGUMENTS,
|
| - };
|
| -
|
| explicit CommandBuffer(NPP npp);
|
| virtual ~CommandBuffer();
|
|
|
| @@ -95,27 +87,40 @@
|
| token_ = token;
|
| }
|
|
|
| - // Get the current error status and reset it to ERROR_NO_ERROR.
|
| - // The default error status is ERROR_NO_ERROR.
|
| - int32 ResetError();
|
| + // Get the current parse error and reset it to zero. Zero means no error. Non-
|
| + // zero means error. The default error status is zero.
|
| + int32 ResetParseError();
|
|
|
| - // Allows the reader to set the current error status.
|
| - void SetError(int32 error) {
|
| - error_ = error;
|
| + // Allows the reader to set the current parse error.
|
| + void SetParseError(int32 parse_error) {
|
| + parse_error_ = parse_error;
|
| }
|
|
|
| + // Returns whether the command buffer is in the error state.
|
| + bool GetErrorStatus() {
|
| + return error_status_;
|
| + }
|
| +
|
| + // Allows the reader to set the error status. Once in an error state, the
|
| + // command buffer cannot recover and ceases to process commands.
|
| + void RaiseErrorStatus() {
|
| + error_status_ = true;
|
| + }
|
| +
|
| NP_UTILS_BEGIN_DISPATCHER_CHAIN(CommandBuffer, DefaultNPObject<NPObject>)
|
| - NP_UTILS_DISPATCHER(Initialize, bool(int32))
|
| + NP_UTILS_DISPATCHER(Initialize, bool(int32 size))
|
| NP_UTILS_DISPATCHER(GetRingBuffer, NPObjectPointer<CHRSharedMemory>())
|
| NP_UTILS_DISPATCHER(GetSize, int32())
|
| - NP_UTILS_DISPATCHER(SyncOffsets, int32(int32))
|
| + NP_UTILS_DISPATCHER(SyncOffsets, int32(int32 get_offset))
|
| NP_UTILS_DISPATCHER(GetGetOffset, int32());
|
| NP_UTILS_DISPATCHER(GetPutOffset, int32());
|
| - NP_UTILS_DISPATCHER(RegisterObject, int32(NPObjectPointer<NPObject>));
|
| + NP_UTILS_DISPATCHER(RegisterObject,
|
| + int32(NPObjectPointer<NPObject> object));
|
| NP_UTILS_DISPATCHER(UnregisterObject,
|
| - void(NPObjectPointer<NPObject>, int32));
|
| + void(NPObjectPointer<NPObject> object, int32 handle));
|
| NP_UTILS_DISPATCHER(GetToken, int32());
|
| - NP_UTILS_DISPATCHER(ResetError, int32());
|
| + NP_UTILS_DISPATCHER(ResetParseError, int32());
|
| + NP_UTILS_DISPATCHER(GetErrorStatus, bool());
|
| NP_UTILS_END_DISPATCHER_CHAIN
|
|
|
| private:
|
| @@ -128,7 +133,8 @@
|
| std::vector<NPObjectPointer<NPObject> > registered_objects_;
|
| std::set<int32> unused_registered_object_elements_;
|
| int32 token_;
|
| - int32 error_;
|
| + int32 parse_error_;
|
| + bool error_status_;
|
| };
|
|
|
| } // namespace gpu_plugin
|
|
|