Merge "Making sure stranded objects are not left behind."
diff --git a/include/ui/Input.h b/include/ui/Input.h
deleted file mode 100644
index c2cbe1d..0000000
--- a/include/ui/Input.h
+++ /dev/null
@@ -1,897 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _UI_INPUT_H
-#define _UI_INPUT_H
-
-/**
- * Native input event structures.
- */
-
-#include <android/input.h>
-#include <utils/Vector.h>
-#include <utils/KeyedVector.h>
-#include <utils/Timers.h>
-#include <utils/RefBase.h>
-#include <utils/String8.h>
-#include <utils/BitSet.h>
-
-#ifdef HAVE_ANDROID_OS
-class SkMatrix;
-#endif
-
-/*
- * Additional private constants not defined in ndk/ui/input.h.
- */
-enum {
- /* Private control to determine when an app is tracking a key sequence. */
- AKEY_EVENT_FLAG_START_TRACKING = 0x40000000,
-
- /* Key event is inconsistent with previously sent key events. */
- AKEY_EVENT_FLAG_TAINTED = 0x80000000,
-};
-
-enum {
- /* Motion event is inconsistent with previously sent motion events. */
- AMOTION_EVENT_FLAG_TAINTED = 0x80000000,
-};
-
-enum {
- /*
- * Indicates that an input device has switches.
- * This input source flag is hidden from the API because switches are only used by the system
- * and applications have no way to interact with them.
- */
- AINPUT_SOURCE_SWITCH = 0x80000000,
-};
-
-/*
- * SystemUiVisibility constants from View.
- */
-enum {
- ASYSTEM_UI_VISIBILITY_STATUS_BAR_VISIBLE = 0,
- ASYSTEM_UI_VISIBILITY_STATUS_BAR_HIDDEN = 0x00000001,
-};
-
-/*
- * Maximum number of pointers supported per motion event.
- * Smallest number of pointers is 1.
- * (We want at least 10 but some touch controllers obstensibly configured for 10 pointers
- * will occasionally emit 11. There is not much harm making this constant bigger.)
- */
-#define MAX_POINTERS 16
-
-/*
- * Maximum pointer id value supported in a motion event.
- * Smallest pointer id is 0.
- * (This is limited by our use of BitSet32 to track pointer assignments.)
- */
-#define MAX_POINTER_ID 31
-
-/*
- * Declare a concrete type for the NDK's input event forward declaration.
- */
-struct AInputEvent {
- virtual ~AInputEvent() { }
-};
-
-/*
- * Declare a concrete type for the NDK's input device forward declaration.
- */
-struct AInputDevice {
- virtual ~AInputDevice() { }
-};
-
-
-namespace android {
-
-#ifdef HAVE_ANDROID_OS
-class Parcel;
-#endif
-
-/*
- * Flags that flow alongside events in the input dispatch system to help with certain
- * policy decisions such as waking from device sleep.
- *
- * These flags are also defined in frameworks/base/core/java/android/view/WindowManagerPolicy.java.
- */
-enum {
- /* These flags originate in RawEvents and are generally set in the key map.
- * NOTE: If you edit these flags, also edit labels in KeycodeLabels.h. */
-
- POLICY_FLAG_WAKE = 0x00000001,
- POLICY_FLAG_WAKE_DROPPED = 0x00000002,
- POLICY_FLAG_SHIFT = 0x00000004,
- POLICY_FLAG_CAPS_LOCK = 0x00000008,
- POLICY_FLAG_ALT = 0x00000010,
- POLICY_FLAG_ALT_GR = 0x00000020,
- POLICY_FLAG_MENU = 0x00000040,
- POLICY_FLAG_LAUNCHER = 0x00000080,
- POLICY_FLAG_VIRTUAL = 0x00000100,
- POLICY_FLAG_FUNCTION = 0x00000200,
-
- POLICY_FLAG_RAW_MASK = 0x0000ffff,
-
- /* These flags are set by the input dispatcher. */
-
- // Indicates that the input event was injected.
- POLICY_FLAG_INJECTED = 0x01000000,
-
- // Indicates that the input event is from a trusted source such as a directly attached
- // input device or an application with system-wide event injection permission.
- POLICY_FLAG_TRUSTED = 0x02000000,
-
- // Indicates that the input event has passed through an input filter.
- POLICY_FLAG_FILTERED = 0x04000000,
-
- // Disables automatic key repeating behavior.
- POLICY_FLAG_DISABLE_KEY_REPEAT = 0x08000000,
-
- /* These flags are set by the input reader policy as it intercepts each event. */
-
- // Indicates that the screen was off when the event was received and the event
- // should wake the device.
- POLICY_FLAG_WOKE_HERE = 0x10000000,
-
- // Indicates that the screen was dim when the event was received and the event
- // should brighten the device.
- POLICY_FLAG_BRIGHT_HERE = 0x20000000,
-
- // Indicates that the event should be dispatched to applications.
- // The input event should still be sent to the InputDispatcher so that it can see all
- // input events received include those that it will not deliver.
- POLICY_FLAG_PASS_TO_USER = 0x40000000,
-};
-
-/*
- * Describes the basic configuration of input devices that are present.
- */
-struct InputConfiguration {
- enum {
- TOUCHSCREEN_UNDEFINED = 0,
- TOUCHSCREEN_NOTOUCH = 1,
- TOUCHSCREEN_STYLUS = 2,
- TOUCHSCREEN_FINGER = 3
- };
-
- enum {
- KEYBOARD_UNDEFINED = 0,
- KEYBOARD_NOKEYS = 1,
- KEYBOARD_QWERTY = 2,
- KEYBOARD_12KEY = 3
- };
-
- enum {
- NAVIGATION_UNDEFINED = 0,
- NAVIGATION_NONAV = 1,
- NAVIGATION_DPAD = 2,
- NAVIGATION_TRACKBALL = 3,
- NAVIGATION_WHEEL = 4
- };
-
- int32_t touchScreen;
- int32_t keyboard;
- int32_t navigation;
-};
-
-/*
- * Pointer coordinate data.
- */
-struct PointerCoords {
- enum { MAX_AXES = 14 }; // 14 so that sizeof(PointerCoords) == 64
-
- // Bitfield of axes that are present in this structure.
- uint64_t bits;
-
- // Values of axes that are stored in this structure packed in order by axis id
- // for each axis that is present in the structure according to 'bits'.
- float values[MAX_AXES];
-
- inline void clear() {
- bits = 0;
- }
-
- float getAxisValue(int32_t axis) const;
- status_t setAxisValue(int32_t axis, float value);
-
- void scale(float scale);
-
- inline float getX() const {
- return getAxisValue(AMOTION_EVENT_AXIS_X);
- }
-
- inline float getY() const {
- return getAxisValue(AMOTION_EVENT_AXIS_Y);
- }
-
-#ifdef HAVE_ANDROID_OS
- status_t readFromParcel(Parcel* parcel);
- status_t writeToParcel(Parcel* parcel) const;
-#endif
-
- bool operator==(const PointerCoords& other) const;
- inline bool operator!=(const PointerCoords& other) const {
- return !(*this == other);
- }
-
- void copyFrom(const PointerCoords& other);
-
-private:
- void tooManyAxes(int axis);
-};
-
-/*
- * Pointer property data.
- */
-struct PointerProperties {
- // The id of the pointer.
- int32_t id;
-
- // The pointer tool type.
- int32_t toolType;
-
- inline void clear() {
- id = -1;
- toolType = 0;
- }
-
- bool operator==(const PointerProperties& other) const;
- inline bool operator!=(const PointerProperties& other) const {
- return !(*this == other);
- }
-
- void copyFrom(const PointerProperties& other);
-};
-
-/*
- * Input events.
- */
-class InputEvent : public AInputEvent {
-public:
- virtual ~InputEvent() { }
-
- virtual int32_t getType() const = 0;
-
- inline int32_t getDeviceId() const { return mDeviceId; }
-
- inline int32_t getSource() const { return mSource; }
-
- inline void setSource(int32_t source) { mSource = source; }
-
-protected:
- void initialize(int32_t deviceId, int32_t source);
- void initialize(const InputEvent& from);
-
- int32_t mDeviceId;
- int32_t mSource;
-};
-
-/*
- * Key events.
- */
-class KeyEvent : public InputEvent {
-public:
- virtual ~KeyEvent() { }
-
- virtual int32_t getType() const { return AINPUT_EVENT_TYPE_KEY; }
-
- inline int32_t getAction() const { return mAction; }
-
- inline int32_t getFlags() const { return mFlags; }
-
- inline int32_t getKeyCode() const { return mKeyCode; }
-
- inline int32_t getScanCode() const { return mScanCode; }
-
- inline int32_t getMetaState() const { return mMetaState; }
-
- inline int32_t getRepeatCount() const { return mRepeatCount; }
-
- inline nsecs_t getDownTime() const { return mDownTime; }
-
- inline nsecs_t getEventTime() const { return mEventTime; }
-
- // Return true if this event may have a default action implementation.
- static bool hasDefaultAction(int32_t keyCode);
- bool hasDefaultAction() const;
-
- // Return true if this event represents a system key.
- static bool isSystemKey(int32_t keyCode);
- bool isSystemKey() const;
-
- void initialize(
- int32_t deviceId,
- int32_t source,
- int32_t action,
- int32_t flags,
- int32_t keyCode,
- int32_t scanCode,
- int32_t metaState,
- int32_t repeatCount,
- nsecs_t downTime,
- nsecs_t eventTime);
- void initialize(const KeyEvent& from);
-
-protected:
- int32_t mAction;
- int32_t mFlags;
- int32_t mKeyCode;
- int32_t mScanCode;
- int32_t mMetaState;
- int32_t mRepeatCount;
- nsecs_t mDownTime;
- nsecs_t mEventTime;
-};
-
-/*
- * Motion events.
- */
-class MotionEvent : public InputEvent {
-public:
- virtual ~MotionEvent() { }
-
- virtual int32_t getType() const { return AINPUT_EVENT_TYPE_MOTION; }
-
- inline int32_t getAction() const { return mAction; }
-
- inline int32_t getActionMasked() const { return mAction & AMOTION_EVENT_ACTION_MASK; }
-
- inline int32_t getActionIndex() const {
- return (mAction & AMOTION_EVENT_ACTION_POINTER_INDEX_MASK)
- >> AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT;
- }
-
- inline void setAction(int32_t action) { mAction = action; }
-
- inline int32_t getFlags() const { return mFlags; }
-
- inline void setFlags(int32_t flags) { mFlags = flags; }
-
- inline int32_t getEdgeFlags() const { return mEdgeFlags; }
-
- inline void setEdgeFlags(int32_t edgeFlags) { mEdgeFlags = edgeFlags; }
-
- inline int32_t getMetaState() const { return mMetaState; }
-
- inline void setMetaState(int32_t metaState) { mMetaState = metaState; }
-
- inline int32_t getButtonState() const { return mButtonState; }
-
- inline float getXOffset() const { return mXOffset; }
-
- inline float getYOffset() const { return mYOffset; }
-
- inline float getXPrecision() const { return mXPrecision; }
-
- inline float getYPrecision() const { return mYPrecision; }
-
- inline nsecs_t getDownTime() const { return mDownTime; }
-
- inline void setDownTime(nsecs_t downTime) { mDownTime = downTime; }
-
- inline size_t getPointerCount() const { return mPointerProperties.size(); }
-
- inline const PointerProperties* getPointerProperties(size_t pointerIndex) const {
- return &mPointerProperties[pointerIndex];
- }
-
- inline int32_t getPointerId(size_t pointerIndex) const {
- return mPointerProperties[pointerIndex].id;
- }
-
- inline int32_t getToolType(size_t pointerIndex) const {
- return mPointerProperties[pointerIndex].toolType;
- }
-
- inline nsecs_t getEventTime() const { return mSampleEventTimes[getHistorySize()]; }
-
- const PointerCoords* getRawPointerCoords(size_t pointerIndex) const;
-
- float getRawAxisValue(int32_t axis, size_t pointerIndex) const;
-
- inline float getRawX(size_t pointerIndex) const {
- return getRawAxisValue(AMOTION_EVENT_AXIS_X, pointerIndex);
- }
-
- inline float getRawY(size_t pointerIndex) const {
- return getRawAxisValue(AMOTION_EVENT_AXIS_Y, pointerIndex);
- }
-
- float getAxisValue(int32_t axis, size_t pointerIndex) const;
-
- inline float getX(size_t pointerIndex) const {
- return getAxisValue(AMOTION_EVENT_AXIS_X, pointerIndex);
- }
-
- inline float getY(size_t pointerIndex) const {
- return getAxisValue(AMOTION_EVENT_AXIS_Y, pointerIndex);
- }
-
- inline float getPressure(size_t pointerIndex) const {
- return getAxisValue(AMOTION_EVENT_AXIS_PRESSURE, pointerIndex);
- }
-
- inline float getSize(size_t pointerIndex) const {
- return getAxisValue(AMOTION_EVENT_AXIS_SIZE, pointerIndex);
- }
-
- inline float getTouchMajor(size_t pointerIndex) const {
- return getAxisValue(AMOTION_EVENT_AXIS_TOUCH_MAJOR, pointerIndex);
- }
-
- inline float getTouchMinor(size_t pointerIndex) const {
- return getAxisValue(AMOTION_EVENT_AXIS_TOUCH_MINOR, pointerIndex);
- }
-
- inline float getToolMajor(size_t pointerIndex) const {
- return getAxisValue(AMOTION_EVENT_AXIS_TOOL_MAJOR, pointerIndex);
- }
-
- inline float getToolMinor(size_t pointerIndex) const {
- return getAxisValue(AMOTION_EVENT_AXIS_TOOL_MINOR, pointerIndex);
- }
-
- inline float getOrientation(size_t pointerIndex) const {
- return getAxisValue(AMOTION_EVENT_AXIS_ORIENTATION, pointerIndex);
- }
-
- inline size_t getHistorySize() const { return mSampleEventTimes.size() - 1; }
-
- inline nsecs_t getHistoricalEventTime(size_t historicalIndex) const {
- return mSampleEventTimes[historicalIndex];
- }
-
- const PointerCoords* getHistoricalRawPointerCoords(
- size_t pointerIndex, size_t historicalIndex) const;
-
- float getHistoricalRawAxisValue(int32_t axis, size_t pointerIndex,
- size_t historicalIndex) const;
-
- inline float getHistoricalRawX(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalRawAxisValue(
- AMOTION_EVENT_AXIS_X, pointerIndex, historicalIndex);
- }
-
- inline float getHistoricalRawY(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalRawAxisValue(
- AMOTION_EVENT_AXIS_Y, pointerIndex, historicalIndex);
- }
-
- float getHistoricalAxisValue(int32_t axis, size_t pointerIndex, size_t historicalIndex) const;
-
- inline float getHistoricalX(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalAxisValue(
- AMOTION_EVENT_AXIS_X, pointerIndex, historicalIndex);
- }
-
- inline float getHistoricalY(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalAxisValue(
- AMOTION_EVENT_AXIS_Y, pointerIndex, historicalIndex);
- }
-
- inline float getHistoricalPressure(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalAxisValue(
- AMOTION_EVENT_AXIS_PRESSURE, pointerIndex, historicalIndex);
- }
-
- inline float getHistoricalSize(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalAxisValue(
- AMOTION_EVENT_AXIS_SIZE, pointerIndex, historicalIndex);
- }
-
- inline float getHistoricalTouchMajor(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalAxisValue(
- AMOTION_EVENT_AXIS_TOUCH_MAJOR, pointerIndex, historicalIndex);
- }
-
- inline float getHistoricalTouchMinor(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalAxisValue(
- AMOTION_EVENT_AXIS_TOUCH_MINOR, pointerIndex, historicalIndex);
- }
-
- inline float getHistoricalToolMajor(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalAxisValue(
- AMOTION_EVENT_AXIS_TOOL_MAJOR, pointerIndex, historicalIndex);
- }
-
- inline float getHistoricalToolMinor(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalAxisValue(
- AMOTION_EVENT_AXIS_TOOL_MINOR, pointerIndex, historicalIndex);
- }
-
- inline float getHistoricalOrientation(size_t pointerIndex, size_t historicalIndex) const {
- return getHistoricalAxisValue(
- AMOTION_EVENT_AXIS_ORIENTATION, pointerIndex, historicalIndex);
- }
-
- ssize_t findPointerIndex(int32_t pointerId) const;
-
- void initialize(
- int32_t deviceId,
- int32_t source,
- int32_t action,
- int32_t flags,
- int32_t edgeFlags,
- int32_t metaState,
- int32_t buttonState,
- float xOffset,
- float yOffset,
- float xPrecision,
- float yPrecision,
- nsecs_t downTime,
- nsecs_t eventTime,
- size_t pointerCount,
- const PointerProperties* pointerProperties,
- const PointerCoords* pointerCoords);
-
- void copyFrom(const MotionEvent* other, bool keepHistory);
-
- void addSample(
- nsecs_t eventTime,
- const PointerCoords* pointerCoords);
-
- void offsetLocation(float xOffset, float yOffset);
-
- void scale(float scaleFactor);
-
-#ifdef HAVE_ANDROID_OS
- void transform(const SkMatrix* matrix);
-
- status_t readFromParcel(Parcel* parcel);
- status_t writeToParcel(Parcel* parcel) const;
-#endif
-
- static bool isTouchEvent(int32_t source, int32_t action);
- inline bool isTouchEvent() const {
- return isTouchEvent(mSource, mAction);
- }
-
- // Low-level accessors.
- inline const PointerProperties* getPointerProperties() const {
- return mPointerProperties.array();
- }
- inline const nsecs_t* getSampleEventTimes() const { return mSampleEventTimes.array(); }
- inline const PointerCoords* getSamplePointerCoords() const {
- return mSamplePointerCoords.array();
- }
-
-protected:
- int32_t mAction;
- int32_t mFlags;
- int32_t mEdgeFlags;
- int32_t mMetaState;
- int32_t mButtonState;
- float mXOffset;
- float mYOffset;
- float mXPrecision;
- float mYPrecision;
- nsecs_t mDownTime;
- Vector<PointerProperties> mPointerProperties;
- Vector<nsecs_t> mSampleEventTimes;
- Vector<PointerCoords> mSamplePointerCoords;
-};
-
-/*
- * Input event factory.
- */
-class InputEventFactoryInterface {
-protected:
- virtual ~InputEventFactoryInterface() { }
-
-public:
- InputEventFactoryInterface() { }
-
- virtual KeyEvent* createKeyEvent() = 0;
- virtual MotionEvent* createMotionEvent() = 0;
-};
-
-/*
- * A simple input event factory implementation that uses a single preallocated instance
- * of each type of input event that are reused for each request.
- */
-class PreallocatedInputEventFactory : public InputEventFactoryInterface {
-public:
- PreallocatedInputEventFactory() { }
- virtual ~PreallocatedInputEventFactory() { }
-
- virtual KeyEvent* createKeyEvent() { return & mKeyEvent; }
- virtual MotionEvent* createMotionEvent() { return & mMotionEvent; }
-
-private:
- KeyEvent mKeyEvent;
- MotionEvent mMotionEvent;
-};
-
-/*
- * Calculates the velocity of pointer movements over time.
- */
-class VelocityTracker {
-public:
- // Default polynomial degree. (used by getVelocity)
- static const uint32_t DEFAULT_DEGREE = 2;
-
- // Default sample horizon. (used by getVelocity)
- // We don't use too much history by default since we want to react to quick
- // changes in direction.
- static const nsecs_t DEFAULT_HORIZON = 100 * 1000000; // 100 ms
-
- struct Position {
- float x, y;
- };
-
- struct Estimator {
- static const size_t MAX_DEGREE = 2;
-
- // Polynomial coefficients describing motion in X and Y.
- float xCoeff[MAX_DEGREE + 1], yCoeff[MAX_DEGREE + 1];
-
- // Polynomial degree (number of coefficients), or zero if no information is
- // available.
- uint32_t degree;
-
- // Confidence (coefficient of determination), between 0 (no fit) and 1 (perfect fit).
- float confidence;
-
- inline void clear() {
- degree = 0;
- confidence = 0;
- for (size_t i = 0; i <= MAX_DEGREE; i++) {
- xCoeff[i] = 0;
- yCoeff[i] = 0;
- }
- }
- };
-
- VelocityTracker();
-
- // Resets the velocity tracker state.
- void clear();
-
- // Resets the velocity tracker state for specific pointers.
- // Call this method when some pointers have changed and may be reusing
- // an id that was assigned to a different pointer earlier.
- void clearPointers(BitSet32 idBits);
-
- // Adds movement information for a set of pointers.
- // The idBits bitfield specifies the pointer ids of the pointers whose positions
- // are included in the movement.
- // The positions array contains position information for each pointer in order by
- // increasing id. Its size should be equal to the number of one bits in idBits.
- void addMovement(nsecs_t eventTime, BitSet32 idBits, const Position* positions);
-
- // Adds movement information for all pointers in a MotionEvent, including historical samples.
- void addMovement(const MotionEvent* event);
-
- // Gets the velocity of the specified pointer id in position units per second.
- // Returns false and sets the velocity components to zero if there is
- // insufficient movement information for the pointer.
- bool getVelocity(uint32_t id, float* outVx, float* outVy) const;
-
- // Gets a quadratic estimator for the movements of the specified pointer id.
- // Returns false and clears the estimator if there is no information available
- // about the pointer.
- bool getEstimator(uint32_t id, uint32_t degree, nsecs_t horizon,
- Estimator* outEstimator) const;
-
- // Gets the active pointer id, or -1 if none.
- inline int32_t getActivePointerId() const { return mActivePointerId; }
-
- // Gets a bitset containing all pointer ids from the most recent movement.
- inline BitSet32 getCurrentPointerIdBits() const { return mMovements[mIndex].idBits; }
-
-private:
- // Number of samples to keep.
- static const uint32_t HISTORY_SIZE = 20;
-
- struct Movement {
- nsecs_t eventTime;
- BitSet32 idBits;
- Position positions[MAX_POINTERS];
-
- inline const Position& getPosition(uint32_t id) const {
- return positions[idBits.getIndexOfBit(id)];
- }
- };
-
- uint32_t mIndex;
- Movement mMovements[HISTORY_SIZE];
- int32_t mActivePointerId;
-};
-
-
-/*
- * Specifies parameters that govern pointer or wheel acceleration.
- */
-struct VelocityControlParameters {
- // A scale factor that is multiplied with the raw velocity deltas
- // prior to applying any other velocity control factors. The scale
- // factor should be used to adapt the input device resolution
- // (eg. counts per inch) to the output device resolution (eg. pixels per inch).
- //
- // Must be a positive value.
- // Default is 1.0 (no scaling).
- float scale;
-
- // The scaled speed at which acceleration begins to be applied.
- // This value establishes the upper bound of a low speed regime for
- // small precise motions that are performed without any acceleration.
- //
- // Must be a non-negative value.
- // Default is 0.0 (no low threshold).
- float lowThreshold;
-
- // The scaled speed at which maximum acceleration is applied.
- // The difference between highThreshold and lowThreshold controls
- // the range of speeds over which the acceleration factor is interpolated.
- // The wider the range, the smoother the acceleration.
- //
- // Must be a non-negative value greater than or equal to lowThreshold.
- // Default is 0.0 (no high threshold).
- float highThreshold;
-
- // The acceleration factor.
- // When the speed is above the low speed threshold, the velocity will scaled
- // by an interpolated value between 1.0 and this amount.
- //
- // Must be a positive greater than or equal to 1.0.
- // Default is 1.0 (no acceleration).
- float acceleration;
-
- VelocityControlParameters() :
- scale(1.0f), lowThreshold(0.0f), highThreshold(0.0f), acceleration(1.0f) {
- }
-
- VelocityControlParameters(float scale, float lowThreshold,
- float highThreshold, float acceleration) :
- scale(scale), lowThreshold(lowThreshold),
- highThreshold(highThreshold), acceleration(acceleration) {
- }
-};
-
-/*
- * Implements mouse pointer and wheel speed control and acceleration.
- */
-class VelocityControl {
-public:
- VelocityControl();
-
- /* Sets the various parameters. */
- void setParameters(const VelocityControlParameters& parameters);
-
- /* Resets the current movement counters to zero.
- * This has the effect of nullifying any acceleration. */
- void reset();
-
- /* Translates a raw movement delta into an appropriately
- * scaled / accelerated delta based on the current velocity. */
- void move(nsecs_t eventTime, float* deltaX, float* deltaY);
-
-private:
- // If no movements are received within this amount of time,
- // we assume the movement has stopped and reset the movement counters.
- static const nsecs_t STOP_TIME = 500 * 1000000; // 500 ms
-
- VelocityControlParameters mParameters;
-
- nsecs_t mLastMovementTime;
- VelocityTracker::Position mRawPosition;
- VelocityTracker mVelocityTracker;
-};
-
-
-/*
- * Describes the characteristics and capabilities of an input device.
- */
-class InputDeviceInfo {
-public:
- InputDeviceInfo();
- InputDeviceInfo(const InputDeviceInfo& other);
- ~InputDeviceInfo();
-
- struct MotionRange {
- int32_t axis;
- uint32_t source;
- float min;
- float max;
- float flat;
- float fuzz;
- };
-
- void initialize(int32_t id, const String8& name);
-
- inline int32_t getId() const { return mId; }
- inline const String8 getName() const { return mName; }
- inline uint32_t getSources() const { return mSources; }
-
- const MotionRange* getMotionRange(int32_t axis, uint32_t source) const;
-
- void addSource(uint32_t source);
- void addMotionRange(int32_t axis, uint32_t source,
- float min, float max, float flat, float fuzz);
- void addMotionRange(const MotionRange& range);
-
- inline void setKeyboardType(int32_t keyboardType) { mKeyboardType = keyboardType; }
- inline int32_t getKeyboardType() const { return mKeyboardType; }
-
- inline void setKeyCharacterMapFile(const String8& value) { mKeyCharacterMapFile = value; }
- inline const String8& getKeyCharacterMapFile() const { return mKeyCharacterMapFile; }
-
- inline const Vector<MotionRange>& getMotionRanges() const {
- return mMotionRanges;
- }
-
-private:
- int32_t mId;
- String8 mName;
- uint32_t mSources;
- int32_t mKeyboardType;
- String8 mKeyCharacterMapFile;
-
- Vector<MotionRange> mMotionRanges;
-};
-
-/*
- * Identifies a device.
- */
-struct InputDeviceIdentifier {
- inline InputDeviceIdentifier() :
- bus(0), vendor(0), product(0), version(0) {
- }
-
- String8 name;
- String8 location;
- String8 uniqueId;
- uint16_t bus;
- uint16_t vendor;
- uint16_t product;
- uint16_t version;
-};
-
-/* Types of input device configuration files. */
-enum InputDeviceConfigurationFileType {
- INPUT_DEVICE_CONFIGURATION_FILE_TYPE_CONFIGURATION = 0, /* .idc file */
- INPUT_DEVICE_CONFIGURATION_FILE_TYPE_KEY_LAYOUT = 1, /* .kl file */
- INPUT_DEVICE_CONFIGURATION_FILE_TYPE_KEY_CHARACTER_MAP = 2, /* .kcm file */
-};
-
-/*
- * Gets the path of an input device configuration file, if one is available.
- * Considers both system provided and user installed configuration files.
- *
- * The device identifier is used to construct several default configuration file
- * names to try based on the device name, vendor, product, and version.
- *
- * Returns an empty string if not found.
- */
-extern String8 getInputDeviceConfigurationFilePathByDeviceIdentifier(
- const InputDeviceIdentifier& deviceIdentifier,
- InputDeviceConfigurationFileType type);
-
-/*
- * Gets the path of an input device configuration file, if one is available.
- * Considers both system provided and user installed configuration files.
- *
- * The name is case-sensitive and is used to construct the filename to resolve.
- * All characters except 'a'-'z', 'A'-'Z', '0'-'9', '-', and '_' are replaced by underscores.
- *
- * Returns an empty string if not found.
- */
-extern String8 getInputDeviceConfigurationFilePathByName(
- const String8& name, InputDeviceConfigurationFileType type);
-
-} // namespace android
-
-#endif // _UI_INPUT_H
diff --git a/include/ui/InputTransport.h b/include/ui/InputTransport.h
deleted file mode 100644
index 0facce3..0000000
--- a/include/ui/InputTransport.h
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _UI_INPUT_TRANSPORT_H
-#define _UI_INPUT_TRANSPORT_H
-
-/**
- * Native input transport.
- *
- * The InputChannel provides a mechanism for exchanging InputMessage structures across processes.
- *
- * The InputPublisher and InputConsumer each handle one end-point of an input channel.
- * The InputPublisher is used by the input dispatcher to send events to the application.
- * The InputConsumer is used by the application to receive events from the input dispatcher.
- */
-
-#include <ui/Input.h>
-#include <utils/Errors.h>
-#include <utils/Timers.h>
-#include <utils/RefBase.h>
-#include <utils/String8.h>
-
-namespace android {
-
-/*
- * Intermediate representation used to send input events and related signals.
- */
-struct InputMessage {
- enum {
- TYPE_KEY = 1,
- TYPE_MOTION = 2,
- TYPE_FINISHED = 3,
- };
-
- struct Header {
- uint32_t type;
- uint32_t padding; // 8 byte alignment for the body that follows
- } header;
-
- union Body {
- struct Key {
- uint32_t seq;
- nsecs_t eventTime;
- int32_t deviceId;
- int32_t source;
- int32_t action;
- int32_t flags;
- int32_t keyCode;
- int32_t scanCode;
- int32_t metaState;
- int32_t repeatCount;
- nsecs_t downTime;
-
- inline size_t size() const {
- return sizeof(Key);
- }
- } key;
-
- struct Motion {
- uint32_t seq;
- nsecs_t eventTime;
- int32_t deviceId;
- int32_t source;
- int32_t action;
- int32_t flags;
- int32_t metaState;
- int32_t buttonState;
- int32_t edgeFlags;
- nsecs_t downTime;
- float xOffset;
- float yOffset;
- float xPrecision;
- float yPrecision;
- size_t pointerCount;
- struct Pointer {
- PointerProperties properties;
- PointerCoords coords;
- } pointers[MAX_POINTERS];
-
- inline size_t size() const {
- return sizeof(Motion) - sizeof(Pointer) * MAX_POINTERS
- + sizeof(Pointer) * pointerCount;
- }
- } motion;
-
- struct Finished {
- uint32_t seq;
- bool handled;
-
- inline size_t size() const {
- return sizeof(Finished);
- }
- } finished;
- } body;
-
- bool isValid(size_t actualSize) const;
- size_t size() const;
-};
-
-/*
- * An input channel consists of a local unix domain socket used to send and receive
- * input messages across processes. Each channel has a descriptive name for debugging purposes.
- *
- * Each endpoint has its own InputChannel object that specifies its file descriptor.
- *
- * The input channel is closed when all references to it are released.
- */
-class InputChannel : public RefBase {
-protected:
- virtual ~InputChannel();
-
-public:
- InputChannel(const String8& name, int fd);
-
- /* Creates a pair of input channels.
- *
- * Returns OK on success.
- */
- static status_t openInputChannelPair(const String8& name,
- sp<InputChannel>& outServerChannel, sp<InputChannel>& outClientChannel);
-
- inline String8 getName() const { return mName; }
- inline int getFd() const { return mFd; }
-
- /* Sends a message to the other endpoint.
- *
- * If the channel is full then the message is guaranteed not to have been sent at all.
- * Try again after the consumer has sent a finished signal indicating that it has
- * consumed some of the pending messages from the channel.
- *
- * Returns OK on success.
- * Returns WOULD_BLOCK if the channel is full.
- * Returns DEAD_OBJECT if the channel's peer has been closed.
- * Other errors probably indicate that the channel is broken.
- */
- status_t sendMessage(const InputMessage* msg);
-
- /* Receives a message sent by the other endpoint.
- *
- * If there is no message present, try again after poll() indicates that the fd
- * is readable.
- *
- * Returns OK on success.
- * Returns WOULD_BLOCK if there is no message present.
- * Returns DEAD_OBJECT if the channel's peer has been closed.
- * Other errors probably indicate that the channel is broken.
- */
- status_t receiveMessage(InputMessage* msg);
-
-private:
- String8 mName;
- int mFd;
-};
-
-/*
- * Publishes input events to an input channel.
- */
-class InputPublisher {
-public:
- /* Creates a publisher associated with an input channel. */
- explicit InputPublisher(const sp<InputChannel>& channel);
-
- /* Destroys the publisher and releases its input channel. */
- ~InputPublisher();
-
- /* Gets the underlying input channel. */
- inline sp<InputChannel> getChannel() { return mChannel; }
-
- /* Publishes a key event to the input channel.
- *
- * Returns OK on success.
- * Returns WOULD_BLOCK if the channel is full.
- * Returns DEAD_OBJECT if the channel's peer has been closed.
- * Returns BAD_VALUE if seq is 0.
- * Other errors probably indicate that the channel is broken.
- */
- status_t publishKeyEvent(
- uint32_t seq,
- int32_t deviceId,
- int32_t source,
- int32_t action,
- int32_t flags,
- int32_t keyCode,
- int32_t scanCode,
- int32_t metaState,
- int32_t repeatCount,
- nsecs_t downTime,
- nsecs_t eventTime);
-
- /* Publishes a motion event to the input channel.
- *
- * Returns OK on success.
- * Returns WOULD_BLOCK if the channel is full.
- * Returns DEAD_OBJECT if the channel's peer has been closed.
- * Returns BAD_VALUE if seq is 0 or if pointerCount is less than 1 or greater than MAX_POINTERS.
- * Other errors probably indicate that the channel is broken.
- */
- status_t publishMotionEvent(
- uint32_t seq,
- int32_t deviceId,
- int32_t source,
- int32_t action,
- int32_t flags,
- int32_t edgeFlags,
- int32_t metaState,
- int32_t buttonState,
- float xOffset,
- float yOffset,
- float xPrecision,
- float yPrecision,
- nsecs_t downTime,
- nsecs_t eventTime,
- size_t pointerCount,
- const PointerProperties* pointerProperties,
- const PointerCoords* pointerCoords);
-
- /* Receives the finished signal from the consumer in reply to the original dispatch signal.
- * If a signal was received, returns the message sequence number,
- * and whether the consumer handled the message.
- *
- * The returned sequence number is never 0 unless the operation failed.
- *
- * Returns OK on success.
- * Returns WOULD_BLOCK if there is no signal present.
- * Returns DEAD_OBJECT if the channel's peer has been closed.
- * Other errors probably indicate that the channel is broken.
- */
- status_t receiveFinishedSignal(uint32_t* outSeq, bool* outHandled);
-
-private:
- sp<InputChannel> mChannel;
-};
-
-/*
- * Consumes input events from an input channel.
- */
-class InputConsumer {
-public:
- /* Creates a consumer associated with an input channel. */
- explicit InputConsumer(const sp<InputChannel>& channel);
-
- /* Destroys the consumer and releases its input channel. */
- ~InputConsumer();
-
- /* Gets the underlying input channel. */
- inline sp<InputChannel> getChannel() { return mChannel; }
-
- /* Consumes an input event from the input channel and copies its contents into
- * an InputEvent object created using the specified factory.
- *
- * Tries to combine a series of move events into larger batches whenever possible.
- *
- * If consumeBatches is false, then defers consuming pending batched events if it
- * is possible for additional samples to be added to them later. Call hasPendingBatch()
- * to determine whether a pending batch is available to be consumed.
- *
- * If consumeBatches is true, then events are still batched but they are consumed
- * immediately as soon as the input channel is exhausted.
- *
- * The returned sequence number is never 0 unless the operation failed.
- *
- * Returns OK on success.
- * Returns WOULD_BLOCK if there is no event present.
- * Returns DEAD_OBJECT if the channel's peer has been closed.
- * Returns NO_MEMORY if the event could not be created.
- * Other errors probably indicate that the channel is broken.
- */
- status_t consume(InputEventFactoryInterface* factory, bool consumeBatches,
- uint32_t* outSeq, InputEvent** outEvent);
-
- /* Sends a finished signal to the publisher to inform it that the message
- * with the specified sequence number has finished being process and whether
- * the message was handled by the consumer.
- *
- * Returns OK on success.
- * Returns BAD_VALUE if seq is 0.
- * Other errors probably indicate that the channel is broken.
- */
- status_t sendFinishedSignal(uint32_t seq, bool handled);
-
- /* Returns true if there is a pending batch. */
- bool hasPendingBatch() const;
-
-private:
- sp<InputChannel> mChannel;
-
- // The current input message.
- InputMessage mMsg;
-
- // True if mMsg contains a valid input message that was deferred from the previous
- // call to consume and that still needs to be handled.
- bool mMsgDeferred;
-
- // Batched motion events per device and source.
- struct Batch {
- uint32_t seq; // sequence number of last input message batched in the event
- MotionEvent event;
- };
- Vector<Batch> mBatches;
-
- // Chain of batched sequence numbers. When multiple input messages are combined into
- // a batch, we append a record here that associates the last sequence number in the
- // batch with the previous one. When the finished signal is sent, we traverse the
- // chain to individually finish all input messages that were part of the batch.
- struct SeqChain {
- uint32_t seq; // sequence number of batched input message
- uint32_t chain; // sequence number of previous batched input message
- };
- Vector<SeqChain> mSeqChains;
-
- ssize_t findBatch(int32_t deviceId, int32_t source) const;
- status_t sendUnchainedFinishedSignal(uint32_t seq, bool handled);
-
- static void initializeKeyEvent(KeyEvent* event, const InputMessage* msg);
- static void initializeMotionEvent(MotionEvent* event, const InputMessage* msg);
- static bool canAppendSamples(const MotionEvent* event, const InputMessage* msg);
- static void appendSamples(MotionEvent* event, const InputMessage* msg);
-};
-
-} // namespace android
-
-#endif // _UI_INPUT_TRANSPORT_H
diff --git a/include/ui/KeyCharacterMap.h b/include/ui/KeyCharacterMap.h
deleted file mode 100644
index be14432..0000000
--- a/include/ui/KeyCharacterMap.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _UI_KEY_CHARACTER_MAP_H
-#define _UI_KEY_CHARACTER_MAP_H
-
-#include <stdint.h>
-
-#include <ui/Input.h>
-#include <utils/Errors.h>
-#include <utils/KeyedVector.h>
-#include <utils/Tokenizer.h>
-#include <utils/String8.h>
-#include <utils/Unicode.h>
-
-namespace android {
-
-/**
- * Describes a mapping from Android key codes to characters.
- * Also specifies other functions of the keyboard such as the keyboard type
- * and key modifier semantics.
- */
-class KeyCharacterMap {
-public:
- enum KeyboardType {
- KEYBOARD_TYPE_UNKNOWN = 0,
- KEYBOARD_TYPE_NUMERIC = 1,
- KEYBOARD_TYPE_PREDICTIVE = 2,
- KEYBOARD_TYPE_ALPHA = 3,
- KEYBOARD_TYPE_FULL = 4,
- KEYBOARD_TYPE_SPECIAL_FUNCTION = 5,
- };
-
- // Substitute key code and meta state for fallback action.
- struct FallbackAction {
- int32_t keyCode;
- int32_t metaState;
- };
-
- ~KeyCharacterMap();
-
- static status_t load(const String8& filename, KeyCharacterMap** outMap);
-
- /* Gets the keyboard type. */
- int32_t getKeyboardType() const;
-
- /* Gets the primary character for this key as in the label physically printed on it.
- * Returns 0 if none (eg. for non-printing keys). */
- char16_t getDisplayLabel(int32_t keyCode) const;
-
- /* Gets the Unicode character for the number or symbol generated by the key
- * when the keyboard is used as a dialing pad.
- * Returns 0 if no number or symbol is generated.
- */
- char16_t getNumber(int32_t keyCode) const;
-
- /* Gets the Unicode character generated by the key and meta key modifiers.
- * Returns 0 if no character is generated.
- */
- char16_t getCharacter(int32_t keyCode, int32_t metaState) const;
-
- /* Gets the fallback action to use by default if the application does not
- * handle the specified key.
- * Returns true if an action was available, false if none.
- */
- bool getFallbackAction(int32_t keyCode, int32_t metaState,
- FallbackAction* outFallbackAction) const;
-
- /* Gets the first matching Unicode character that can be generated by the key,
- * preferring the one with the specified meta key modifiers.
- * Returns 0 if no matching character is generated.
- */
- char16_t getMatch(int32_t keyCode, const char16_t* chars,
- size_t numChars, int32_t metaState) const;
-
- /* Gets a sequence of key events that could plausibly generate the specified
- * character sequence. Returns false if some of the characters cannot be generated.
- */
- bool getEvents(int32_t deviceId, const char16_t* chars, size_t numChars,
- Vector<KeyEvent>& outEvents) const;
-
-private:
- struct Behavior {
- Behavior();
-
- /* The next behavior in the list, or NULL if none. */
- Behavior* next;
-
- /* The meta key modifiers for this behavior. */
- int32_t metaState;
-
- /* The character to insert. */
- char16_t character;
-
- /* The fallback keycode if the key is not handled. */
- int32_t fallbackKeyCode;
- };
-
- struct Key {
- Key();
- ~Key();
-
- /* The single character label printed on the key, or 0 if none. */
- char16_t label;
-
- /* The number or symbol character generated by the key, or 0 if none. */
- char16_t number;
-
- /* The list of key behaviors sorted from most specific to least specific
- * meta key binding. */
- Behavior* firstBehavior;
- };
-
- class Parser {
- enum State {
- STATE_TOP = 0,
- STATE_KEY = 1,
- };
-
- enum {
- PROPERTY_LABEL = 1,
- PROPERTY_NUMBER = 2,
- PROPERTY_META = 3,
- };
-
- struct Property {
- inline Property(int32_t property = 0, int32_t metaState = 0) :
- property(property), metaState(metaState) { }
-
- int32_t property;
- int32_t metaState;
- };
-
- KeyCharacterMap* mMap;
- Tokenizer* mTokenizer;
- State mState;
- int32_t mKeyCode;
-
- public:
- Parser(KeyCharacterMap* map, Tokenizer* tokenizer);
- ~Parser();
- status_t parse();
-
- private:
- status_t parseType();
- status_t parseKey();
- status_t parseKeyProperty();
- status_t parseModifier(const String8& token, int32_t* outMetaState);
- status_t parseCharacterLiteral(char16_t* outCharacter);
- };
-
- KeyedVector<int32_t, Key*> mKeys;
- int mType;
-
- KeyCharacterMap();
-
- bool getKey(int32_t keyCode, const Key** outKey) const;
- bool getKeyBehavior(int32_t keyCode, int32_t metaState,
- const Key** outKey, const Behavior** outBehavior) const;
-
- bool findKey(char16_t ch, int32_t* outKeyCode, int32_t* outMetaState) const;
-
- static void addKey(Vector<KeyEvent>& outEvents,
- int32_t deviceId, int32_t keyCode, int32_t metaState, bool down, nsecs_t time);
- static void addMetaKeys(Vector<KeyEvent>& outEvents,
- int32_t deviceId, int32_t metaState, bool down, nsecs_t time,
- int32_t* currentMetaState);
- static bool addSingleEphemeralMetaKey(Vector<KeyEvent>& outEvents,
- int32_t deviceId, int32_t metaState, bool down, nsecs_t time,
- int32_t keyCode, int32_t keyMetaState,
- int32_t* currentMetaState);
- static void addDoubleEphemeralMetaKey(Vector<KeyEvent>& outEvents,
- int32_t deviceId, int32_t metaState, bool down, nsecs_t time,
- int32_t leftKeyCode, int32_t leftKeyMetaState,
- int32_t rightKeyCode, int32_t rightKeyMetaState,
- int32_t eitherKeyMetaState,
- int32_t* currentMetaState);
- static void addLockedMetaKey(Vector<KeyEvent>& outEvents,
- int32_t deviceId, int32_t metaState, nsecs_t time,
- int32_t keyCode, int32_t keyMetaState,
- int32_t* currentMetaState);
-};
-
-} // namespace android
-
-#endif // _UI_KEY_CHARACTER_MAP_H
diff --git a/include/ui/KeyLayoutMap.h b/include/ui/KeyLayoutMap.h
deleted file mode 100644
index d82d0c8..0000000
--- a/include/ui/KeyLayoutMap.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _UI_KEY_LAYOUT_MAP_H
-#define _UI_KEY_LAYOUT_MAP_H
-
-#include <stdint.h>
-#include <utils/Errors.h>
-#include <utils/KeyedVector.h>
-#include <utils/Tokenizer.h>
-
-namespace android {
-
-struct AxisInfo {
- enum Mode {
- // Axis value is reported directly.
- MODE_NORMAL = 0,
- // Axis value should be inverted before reporting.
- MODE_INVERT = 1,
- // Axis value should be split into two axes
- MODE_SPLIT = 2,
- };
-
- // Axis mode.
- Mode mode;
-
- // Axis id.
- // When split, this is the axis used for values smaller than the split position.
- int32_t axis;
-
- // When split, this is the axis used for values after higher than the split position.
- int32_t highAxis;
-
- // The split value, or 0 if not split.
- int32_t splitValue;
-
- // The flat value, or -1 if none.
- int32_t flatOverride;
-
- AxisInfo() : mode(MODE_NORMAL), axis(-1), highAxis(-1), splitValue(0), flatOverride(-1) {
- }
-};
-
-/**
- * Describes a mapping from keyboard scan codes and joystick axes to Android key codes and axes.
- */
-class KeyLayoutMap {
-public:
- ~KeyLayoutMap();
-
- static status_t load(const String8& filename, KeyLayoutMap** outMap);
-
- status_t mapKey(int32_t scanCode, int32_t* keyCode, uint32_t* flags) const;
- status_t findScanCodesForKey(int32_t keyCode, Vector<int32_t>* outScanCodes) const;
-
- status_t mapAxis(int32_t scanCode, AxisInfo* outAxisInfo) const;
-
-private:
- struct Key {
- int32_t keyCode;
- uint32_t flags;
- };
-
- KeyedVector<int32_t, Key> mKeys;
- KeyedVector<int32_t, AxisInfo> mAxes;
-
- KeyLayoutMap();
-
- class Parser {
- KeyLayoutMap* mMap;
- Tokenizer* mTokenizer;
-
- public:
- Parser(KeyLayoutMap* map, Tokenizer* tokenizer);
- ~Parser();
- status_t parse();
-
- private:
- status_t parseKey();
- status_t parseAxis();
- };
-};
-
-} // namespace android
-
-#endif // _UI_KEY_LAYOUT_MAP_H
diff --git a/include/ui/Keyboard.h b/include/ui/Keyboard.h
deleted file mode 100644
index 274f526..0000000
--- a/include/ui/Keyboard.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _UI_KEYBOARD_H
-#define _UI_KEYBOARD_H
-
-#include <ui/Input.h>
-#include <utils/Errors.h>
-#include <utils/String8.h>
-#include <utils/PropertyMap.h>
-
-namespace android {
-
-enum {
- /* Device id of the built in keyboard. */
- DEVICE_ID_BUILT_IN_KEYBOARD = 0,
-
- /* Device id of a generic virtual keyboard with a full layout that can be used
- * to synthesize key events. */
- DEVICE_ID_VIRTUAL_KEYBOARD = -1,
-};
-
-class KeyLayoutMap;
-class KeyCharacterMap;
-
-/**
- * Loads the key layout map and key character map for a keyboard device.
- */
-class KeyMap {
-public:
- String8 keyLayoutFile;
- KeyLayoutMap* keyLayoutMap;
-
- String8 keyCharacterMapFile;
- KeyCharacterMap* keyCharacterMap;
-
- KeyMap();
- ~KeyMap();
-
- status_t load(const InputDeviceIdentifier& deviceIdenfier,
- const PropertyMap* deviceConfiguration);
-
- inline bool haveKeyLayout() const {
- return !keyLayoutFile.isEmpty();
- }
-
- inline bool haveKeyCharacterMap() const {
- return !keyCharacterMapFile.isEmpty();
- }
-
- inline bool isComplete() const {
- return haveKeyLayout() && haveKeyCharacterMap();
- }
-
-private:
- bool probeKeyMap(const InputDeviceIdentifier& deviceIdentifier, const String8& name);
- status_t loadKeyLayout(const InputDeviceIdentifier& deviceIdentifier, const String8& name);
- status_t loadKeyCharacterMap(const InputDeviceIdentifier& deviceIdentifier,
- const String8& name);
- String8 getPath(const InputDeviceIdentifier& deviceIdentifier,
- const String8& name, InputDeviceConfigurationFileType type);
-};
-
-/**
- * Returns true if the keyboard is eligible for use as a built-in keyboard.
- */
-extern bool isEligibleBuiltInKeyboard(const InputDeviceIdentifier& deviceIdentifier,
- const PropertyMap* deviceConfiguration, const KeyMap* keyMap);
-
-/**
- * Gets a key code by its short form label, eg. "HOME".
- * Returns 0 if unknown.
- */
-extern int32_t getKeyCodeByLabel(const char* label);
-
-/**
- * Gets a key flag by its short form label, eg. "WAKE".
- * Returns 0 if unknown.
- */
-extern uint32_t getKeyFlagByLabel(const char* label);
-
-/**
- * Gets a axis by its short form label, eg. "X".
- * Returns -1 if unknown.
- */
-extern int32_t getAxisByLabel(const char* label);
-
-/**
- * Gets a axis label by its id.
- * Returns NULL if unknown.
- */
-extern const char* getAxisLabel(int32_t axisId);
-
-/**
- * Updates a meta state field when a key is pressed or released.
- */
-extern int32_t updateMetaState(int32_t keyCode, bool down, int32_t oldMetaState);
-
-/**
- * Returns true if a key is a meta key like ALT or CAPS_LOCK.
- */
-extern bool isMetaKey(int32_t keyCode);
-
-} // namespace android
-
-#endif // _UI_KEYBOARD_H
diff --git a/include/ui/KeycodeLabels.h b/include/ui/KeycodeLabels.h
deleted file mode 100755
index c5bd0c5..0000000
--- a/include/ui/KeycodeLabels.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _UI_KEYCODE_LABELS_H
-#define _UI_KEYCODE_LABELS_H
-
-#include <android/keycodes.h>
-
-struct KeycodeLabel {
- const char *literal;
- int value;
-};
-
-static const KeycodeLabel KEYCODES[] = {
- { "SOFT_LEFT", 1 },
- { "SOFT_RIGHT", 2 },
- { "HOME", 3 },
- { "BACK", 4 },
- { "CALL", 5 },
- { "ENDCALL", 6 },
- { "0", 7 },
- { "1", 8 },
- { "2", 9 },
- { "3", 10 },
- { "4", 11 },
- { "5", 12 },
- { "6", 13 },
- { "7", 14 },
- { "8", 15 },
- { "9", 16 },
- { "STAR", 17 },
- { "POUND", 18 },
- { "DPAD_UP", 19 },
- { "DPAD_DOWN", 20 },
- { "DPAD_LEFT", 21 },
- { "DPAD_RIGHT", 22 },
- { "DPAD_CENTER", 23 },
- { "VOLUME_UP", 24 },
- { "VOLUME_DOWN", 25 },
- { "POWER", 26 },
- { "CAMERA", 27 },
- { "CLEAR", 28 },
- { "A", 29 },
- { "B", 30 },
- { "C", 31 },
- { "D", 32 },
- { "E", 33 },
- { "F", 34 },
- { "G", 35 },
- { "H", 36 },
- { "I", 37 },
- { "J", 38 },
- { "K", 39 },
- { "L", 40 },
- { "M", 41 },
- { "N", 42 },
- { "O", 43 },
- { "P", 44 },
- { "Q", 45 },
- { "R", 46 },
- { "S", 47 },
- { "T", 48 },
- { "U", 49 },
- { "V", 50 },
- { "W", 51 },
- { "X", 52 },
- { "Y", 53 },
- { "Z", 54 },
- { "COMMA", 55 },
- { "PERIOD", 56 },
- { "ALT_LEFT", 57 },
- { "ALT_RIGHT", 58 },
- { "SHIFT_LEFT", 59 },
- { "SHIFT_RIGHT", 60 },
- { "TAB", 61 },
- { "SPACE", 62 },
- { "SYM", 63 },
- { "EXPLORER", 64 },
- { "ENVELOPE", 65 },
- { "ENTER", 66 },
- { "DEL", 67 },
- { "GRAVE", 68 },
- { "MINUS", 69 },
- { "EQUALS", 70 },
- { "LEFT_BRACKET", 71 },
- { "RIGHT_BRACKET", 72 },
- { "BACKSLASH", 73 },
- { "SEMICOLON", 74 },
- { "APOSTROPHE", 75 },
- { "SLASH", 76 },
- { "AT", 77 },
- { "NUM", 78 },
- { "HEADSETHOOK", 79 },
- { "FOCUS", 80 },
- { "PLUS", 81 },
- { "MENU", 82 },
- { "NOTIFICATION", 83 },
- { "SEARCH", 84 },
- { "MEDIA_PLAY_PAUSE", 85 },
- { "MEDIA_STOP", 86 },
- { "MEDIA_NEXT", 87 },
- { "MEDIA_PREVIOUS", 88 },
- { "MEDIA_REWIND", 89 },
- { "MEDIA_FAST_FORWARD", 90 },
- { "MUTE", 91 },
- { "PAGE_UP", 92 },
- { "PAGE_DOWN", 93 },
- { "PICTSYMBOLS", 94 },
- { "SWITCH_CHARSET", 95 },
- { "BUTTON_A", 96 },
- { "BUTTON_B", 97 },
- { "BUTTON_C", 98 },
- { "BUTTON_X", 99 },
- { "BUTTON_Y", 100 },
- { "BUTTON_Z", 101 },
- { "BUTTON_L1", 102 },
- { "BUTTON_R1", 103 },
- { "BUTTON_L2", 104 },
- { "BUTTON_R2", 105 },
- { "BUTTON_THUMBL", 106 },
- { "BUTTON_THUMBR", 107 },
- { "BUTTON_START", 108 },
- { "BUTTON_SELECT", 109 },
- { "BUTTON_MODE", 110 },
- { "ESCAPE", 111 },
- { "FORWARD_DEL", 112 },
- { "CTRL_LEFT", 113 },
- { "CTRL_RIGHT", 114 },
- { "CAPS_LOCK", 115 },
- { "SCROLL_LOCK", 116 },
- { "META_LEFT", 117 },
- { "META_RIGHT", 118 },
- { "FUNCTION", 119 },
- { "SYSRQ", 120 },
- { "BREAK", 121 },
- { "MOVE_HOME", 122 },
- { "MOVE_END", 123 },
- { "INSERT", 124 },
- { "FORWARD", 125 },
- { "MEDIA_PLAY", 126 },
- { "MEDIA_PAUSE", 127 },
- { "MEDIA_CLOSE", 128 },
- { "MEDIA_EJECT", 129 },
- { "MEDIA_RECORD", 130 },
- { "F1", 131 },
- { "F2", 132 },
- { "F3", 133 },
- { "F4", 134 },
- { "F5", 135 },
- { "F6", 136 },
- { "F7", 137 },
- { "F8", 138 },
- { "F9", 139 },
- { "F10", 140 },
- { "F11", 141 },
- { "F12", 142 },
- { "NUM_LOCK", 143 },
- { "NUMPAD_0", 144 },
- { "NUMPAD_1", 145 },
- { "NUMPAD_2", 146 },
- { "NUMPAD_3", 147 },
- { "NUMPAD_4", 148 },
- { "NUMPAD_5", 149 },
- { "NUMPAD_6", 150 },
- { "NUMPAD_7", 151 },
- { "NUMPAD_8", 152 },
- { "NUMPAD_9", 153 },
- { "NUMPAD_DIVIDE", 154 },
- { "NUMPAD_MULTIPLY", 155 },
- { "NUMPAD_SUBTRACT", 156 },
- { "NUMPAD_ADD", 157 },
- { "NUMPAD_DOT", 158 },
- { "NUMPAD_COMMA", 159 },
- { "NUMPAD_ENTER", 160 },
- { "NUMPAD_EQUALS", 161 },
- { "NUMPAD_LEFT_PAREN", 162 },
- { "NUMPAD_RIGHT_PAREN", 163 },
- { "VOLUME_MUTE", 164 },
- { "INFO", 165 },
- { "CHANNEL_UP", 166 },
- { "CHANNEL_DOWN", 167 },
- { "ZOOM_IN", 168 },
- { "ZOOM_OUT", 169 },
- { "TV", 170 },
- { "WINDOW", 171 },
- { "GUIDE", 172 },
- { "DVR", 173 },
- { "BOOKMARK", 174 },
- { "CAPTIONS", 175 },
- { "SETTINGS", 176 },
- { "TV_POWER", 177 },
- { "TV_INPUT", 178 },
- { "STB_POWER", 179 },
- { "STB_INPUT", 180 },
- { "AVR_POWER", 181 },
- { "AVR_INPUT", 182 },
- { "PROG_RED", 183 },
- { "PROG_GREEN", 184 },
- { "PROG_YELLOW", 185 },
- { "PROG_BLUE", 186 },
- { "APP_SWITCH", 187 },
- { "BUTTON_1", 188 },
- { "BUTTON_2", 189 },
- { "BUTTON_3", 190 },
- { "BUTTON_4", 191 },
- { "BUTTON_5", 192 },
- { "BUTTON_6", 193 },
- { "BUTTON_7", 194 },
- { "BUTTON_8", 195 },
- { "BUTTON_9", 196 },
- { "BUTTON_10", 197 },
- { "BUTTON_11", 198 },
- { "BUTTON_12", 199 },
- { "BUTTON_13", 200 },
- { "BUTTON_14", 201 },
- { "BUTTON_15", 202 },
- { "BUTTON_16", 203 },
- { "LANGUAGE_SWITCH", 204 },
- { "MANNER_MODE", 205 },
- { "3D_MODE", 206 },
- { "CONTACTS", 207 },
- { "CALENDAR", 208 },
- { "MUSIC", 209 },
- { "CALCULATOR", 210 },
-
- // NOTE: If you add a new keycode here you must also add it to several other files.
- // Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.
-
- { NULL, 0 }
-};
-
-// NOTE: If you edit these flags, also edit policy flags in Input.h.
-static const KeycodeLabel FLAGS[] = {
- { "WAKE", 0x00000001 },
- { "WAKE_DROPPED", 0x00000002 },
- { "SHIFT", 0x00000004 },
- { "CAPS_LOCK", 0x00000008 },
- { "ALT", 0x00000010 },
- { "ALT_GR", 0x00000020 },
- { "MENU", 0x00000040 },
- { "LAUNCHER", 0x00000080 },
- { "VIRTUAL", 0x00000100 },
- { "FUNCTION", 0x00000200 },
- { NULL, 0 }
-};
-
-static const KeycodeLabel AXES[] = {
- { "X", 0 },
- { "Y", 1 },
- { "PRESSURE", 2 },
- { "SIZE", 3 },
- { "TOUCH_MAJOR", 4 },
- { "TOUCH_MINOR", 5 },
- { "TOOL_MAJOR", 6 },
- { "TOOL_MINOR", 7 },
- { "ORIENTATION", 8 },
- { "VSCROLL", 9 },
- { "HSCROLL", 10 },
- { "Z", 11 },
- { "RX", 12 },
- { "RY", 13 },
- { "RZ", 14 },
- { "HAT_X", 15 },
- { "HAT_Y", 16 },
- { "LTRIGGER", 17 },
- { "RTRIGGER", 18 },
- { "THROTTLE", 19 },
- { "RUDDER", 20 },
- { "WHEEL", 21 },
- { "GAS", 22 },
- { "BRAKE", 23 },
- { "DISTANCE", 24 },
- { "TILT", 25 },
- { "GENERIC_1", 32 },
- { "GENERIC_2", 33 },
- { "GENERIC_3", 34 },
- { "GENERIC_4", 35 },
- { "GENERIC_5", 36 },
- { "GENERIC_6", 37 },
- { "GENERIC_7", 38 },
- { "GENERIC_8", 39 },
- { "GENERIC_9", 40 },
- { "GENERIC_10", 41 },
- { "GENERIC_11", 42 },
- { "GENERIC_12", 43 },
- { "GENERIC_13", 44 },
- { "GENERIC_14", 45 },
- { "GENERIC_15", 46 },
- { "GENERIC_16", 47 },
-
- // NOTE: If you add a new axis here you must also add it to several other files.
- // Refer to frameworks/base/core/java/android/view/MotionEvent.java for the full list.
-
- { NULL, -1 }
-};
-
-#endif // _UI_KEYCODE_LABELS_H
diff --git a/include/ui/PowerManager.h b/include/ui/PowerManager.h
deleted file mode 100644
index dd80318..0000000
--- a/include/ui/PowerManager.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _UI_POWER_MANAGER_H
-#define _UI_POWER_MANAGER_H
-
-
-namespace android {
-
-enum {
- POWER_MANAGER_OTHER_EVENT = 0,
- POWER_MANAGER_BUTTON_EVENT = 1,
- POWER_MANAGER_TOUCH_EVENT = 2,
-
- POWER_MANAGER_LAST_EVENT = POWER_MANAGER_TOUCH_EVENT, // Last valid event code.
-};
-
-} // namespace android
-
-#endif // _UI_POWER_MANAGER_H
diff --git a/include/ui/VirtualKeyMap.h b/include/ui/VirtualKeyMap.h
deleted file mode 100644
index 7813d9d..0000000
--- a/include/ui/VirtualKeyMap.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _UI_VIRTUAL_KEY_MAP_H
-#define _UI_VIRTUAL_KEY_MAP_H
-
-#include <stdint.h>
-
-#include <ui/Input.h>
-#include <utils/Errors.h>
-#include <utils/KeyedVector.h>
-#include <utils/Tokenizer.h>
-#include <utils/String8.h>
-#include <utils/Unicode.h>
-
-namespace android {
-
-/* Describes a virtual key. */
-struct VirtualKeyDefinition {
- int32_t scanCode;
-
- // configured position data, specified in display coords
- int32_t centerX;
- int32_t centerY;
- int32_t width;
- int32_t height;
-};
-
-
-/**
- * Describes a collection of virtual keys on a touch screen in terms of
- * virtual scan codes and hit rectangles.
- */
-class VirtualKeyMap {
-public:
- ~VirtualKeyMap();
-
- static status_t load(const String8& filename, VirtualKeyMap** outMap);
-
- inline const Vector<VirtualKeyDefinition>& getVirtualKeys() const {
- return mVirtualKeys;
- }
-
-private:
- class Parser {
- VirtualKeyMap* mMap;
- Tokenizer* mTokenizer;
-
- public:
- Parser(VirtualKeyMap* map, Tokenizer* tokenizer);
- ~Parser();
- status_t parse();
-
- private:
- bool consumeFieldDelimiterAndSkipWhitespace();
- bool parseNextIntField(int32_t* outValue);
- };
-
- Vector<VirtualKeyDefinition> mVirtualKeys;
-
- VirtualKeyMap();
-};
-
-} // namespace android
-
-#endif // _UI_KEY_CHARACTER_MAP_H
diff --git a/include/utils/Asset.h b/include/utils/Asset.h
deleted file mode 100644
index 1fe0e06..0000000
--- a/include/utils/Asset.h
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-//
-// Class providing access to a read-only asset. Asset objects are NOT
-// thread-safe, and should not be shared across threads.
-//
-#ifndef __LIBS_ASSET_H
-#define __LIBS_ASSET_H
-
-#include <stdio.h>
-#include <sys/types.h>
-
-#include <utils/Compat.h>
-#include <utils/Errors.h>
-#include <utils/FileMap.h>
-#include <utils/String8.h>
-
-namespace android {
-
-/*
- * Instances of this class provide read-only operations on a byte stream.
- *
- * Access may be optimized for streaming, random, or whole buffer modes. All
- * operations are supported regardless of how the file was opened, but some
- * things will be less efficient. [pass that in??]
- *
- * "Asset" is the base class for all types of assets. The classes below
- * provide most of the implementation. The AssetManager uses one of the
- * static "create" functions defined here to create a new instance.
- */
-class Asset {
-public:
- virtual ~Asset(void);
-
- static int32_t getGlobalCount();
- static String8 getAssetAllocations();
-
- /* used when opening an asset */
- typedef enum AccessMode {
- ACCESS_UNKNOWN = 0,
-
- /* read chunks, and seek forward and backward */
- ACCESS_RANDOM,
-
- /* read sequentially, with an occasional forward seek */
- ACCESS_STREAMING,
-
- /* caller plans to ask for a read-only buffer with all data */
- ACCESS_BUFFER,
- } AccessMode;
-
- /*
- * Read data from the current offset. Returns the actual number of
- * bytes read, 0 on EOF, or -1 on error.
- */
- virtual ssize_t read(void* buf, size_t count) = 0;
-
- /*
- * Seek to the specified offset. "whence" uses the same values as
- * lseek/fseek. Returns the new position on success, or (off64_t) -1
- * on failure.
- */
- virtual off64_t seek(off64_t offset, int whence) = 0;
-
- /*
- * Close the asset, freeing all associated resources.
- */
- virtual void close(void) = 0;
-
- /*
- * Get a pointer to a buffer with the entire contents of the file.
- */
- virtual const void* getBuffer(bool wordAligned) = 0;
-
- /*
- * Get the total amount of data that can be read.
- */
- virtual off64_t getLength(void) const = 0;
-
- /*
- * Get the total amount of data that can be read from the current position.
- */
- virtual off64_t getRemainingLength(void) const = 0;
-
- /*
- * Open a new file descriptor that can be used to read this asset.
- * Returns -1 if you can not use the file descriptor (for example if the
- * asset is compressed).
- */
- virtual int openFileDescriptor(off64_t* outStart, off64_t* outLength) const = 0;
-
- /*
- * Return whether this asset's buffer is allocated in RAM (not mmapped).
- * Note: not virtual so it is safe to call even when being destroyed.
- */
- virtual bool isAllocated(void) const { return false; }
-
- /*
- * Get a string identifying the asset's source. This might be a full
- * path, it might be a colon-separated list of identifiers.
- *
- * This is NOT intended to be used for anything except debug output.
- * DO NOT try to parse this or use it to open a file.
- */
- const char* getAssetSource(void) const { return mAssetSource.string(); }
-
-protected:
- Asset(void); // constructor; only invoked indirectly
-
- /* handle common seek() housekeeping */
- off64_t handleSeek(off64_t offset, int whence, off64_t curPosn, off64_t maxPosn);
-
- /* set the asset source string */
- void setAssetSource(const String8& path) { mAssetSource = path; }
-
- AccessMode getAccessMode(void) const { return mAccessMode; }
-
-private:
- /* these operations are not implemented */
- Asset(const Asset& src);
- Asset& operator=(const Asset& src);
-
- /* AssetManager needs access to our "create" functions */
- friend class AssetManager;
-
- /*
- * Create the asset from a named file on disk.
- */
- static Asset* createFromFile(const char* fileName, AccessMode mode);
-
- /*
- * Create the asset from a named, compressed file on disk (e.g. ".gz").
- */
- static Asset* createFromCompressedFile(const char* fileName,
- AccessMode mode);
-
-#if 0
- /*
- * Create the asset from a segment of an open file. This will fail
- * if "offset" and "length" don't fit within the bounds of the file.
- *
- * The asset takes ownership of the file descriptor.
- */
- static Asset* createFromFileSegment(int fd, off64_t offset, size_t length,
- AccessMode mode);
-
- /*
- * Create from compressed data. "fd" should be seeked to the start of
- * the compressed data. This could be inside a gzip file or part of a
- * Zip archive.
- *
- * The asset takes ownership of the file descriptor.
- *
- * This may not verify the validity of the compressed data until first
- * use.
- */
- static Asset* createFromCompressedData(int fd, off64_t offset,
- int compressionMethod, size_t compressedLength,
- size_t uncompressedLength, AccessMode mode);
-#endif
-
- /*
- * Create the asset from a memory-mapped file segment.
- *
- * The asset takes ownership of the FileMap.
- */
- static Asset* createFromUncompressedMap(FileMap* dataMap, AccessMode mode);
-
- /*
- * Create the asset from a memory-mapped file segment with compressed
- * data. "method" is a Zip archive compression method constant.
- *
- * The asset takes ownership of the FileMap.
- */
- static Asset* createFromCompressedMap(FileMap* dataMap, int method,
- size_t uncompressedLen, AccessMode mode);
-
-
- /*
- * Create from a reference-counted chunk of shared memory.
- */
- // TODO
-
- AccessMode mAccessMode; // how the asset was opened
- String8 mAssetSource; // debug string
-
- Asset* mNext; // linked list.
- Asset* mPrev;
-};
-
-
-/*
- * ===========================================================================
- *
- * Innards follow. Do not use these classes directly.
- */
-
-/*
- * An asset based on an uncompressed file on disk. It may encompass the
- * entire file or just a piece of it. Access is through fread/fseek.
- */
-class _FileAsset : public Asset {
-public:
- _FileAsset(void);
- virtual ~_FileAsset(void);
-
- /*
- * Use a piece of an already-open file.
- *
- * On success, the object takes ownership of "fd".
- */
- status_t openChunk(const char* fileName, int fd, off64_t offset, size_t length);
-
- /*
- * Use a memory-mapped region.
- *
- * On success, the object takes ownership of "dataMap".
- */
- status_t openChunk(FileMap* dataMap);
-
- /*
- * Standard Asset interfaces.
- */
- virtual ssize_t read(void* buf, size_t count);
- virtual off64_t seek(off64_t offset, int whence);
- virtual void close(void);
- virtual const void* getBuffer(bool wordAligned);
- virtual off64_t getLength(void) const { return mLength; }
- virtual off64_t getRemainingLength(void) const { return mLength-mOffset; }
- virtual int openFileDescriptor(off64_t* outStart, off64_t* outLength) const;
- virtual bool isAllocated(void) const { return mBuf != NULL; }
-
-private:
- off64_t mStart; // absolute file offset of start of chunk
- off64_t mLength; // length of the chunk
- off64_t mOffset; // current local offset, 0 == mStart
- FILE* mFp; // for read/seek
- char* mFileName; // for opening
-
- /*
- * To support getBuffer() we either need to read the entire thing into
- * a buffer or memory-map it. For small files it's probably best to
- * just read them in.
- */
- enum { kReadVsMapThreshold = 4096 };
-
- FileMap* mMap; // for memory map
- unsigned char* mBuf; // for read
-
- const void* ensureAlignment(FileMap* map);
-};
-
-
-/*
- * An asset based on compressed data in a file.
- */
-class _CompressedAsset : public Asset {
-public:
- _CompressedAsset(void);
- virtual ~_CompressedAsset(void);
-
- /*
- * Use a piece of an already-open file.
- *
- * On success, the object takes ownership of "fd".
- */
- status_t openChunk(int fd, off64_t offset, int compressionMethod,
- size_t uncompressedLen, size_t compressedLen);
-
- /*
- * Use a memory-mapped region.
- *
- * On success, the object takes ownership of "fd".
- */
- status_t openChunk(FileMap* dataMap, int compressionMethod,
- size_t uncompressedLen);
-
- /*
- * Standard Asset interfaces.
- */
- virtual ssize_t read(void* buf, size_t count);
- virtual off64_t seek(off64_t offset, int whence);
- virtual void close(void);
- virtual const void* getBuffer(bool wordAligned);
- virtual off64_t getLength(void) const { return mUncompressedLen; }
- virtual off64_t getRemainingLength(void) const { return mUncompressedLen-mOffset; }
- virtual int openFileDescriptor(off64_t* outStart, off64_t* outLength) const { return -1; }
- virtual bool isAllocated(void) const { return mBuf != NULL; }
-
-private:
- off64_t mStart; // offset to start of compressed data
- off64_t mCompressedLen; // length of the compressed data
- off64_t mUncompressedLen; // length of the uncompressed data
- off64_t mOffset; // current offset, 0 == start of uncomp data
-
- FileMap* mMap; // for memory-mapped input
- int mFd; // for file input
-
- class StreamingZipInflater* mZipInflater; // for streaming large compressed assets
-
- unsigned char* mBuf; // for getBuffer()
-};
-
-// need: shared mmap version?
-
-}; // namespace android
-
-#endif // __LIBS_ASSET_H
diff --git a/include/utils/AssetDir.h b/include/utils/AssetDir.h
deleted file mode 100644
index abf8a35..0000000
--- a/include/utils/AssetDir.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-//
-// Access a chunk of the asset hierarchy as if it were a single directory.
-//
-#ifndef __LIBS_ASSETDIR_H
-#define __LIBS_ASSETDIR_H
-
-#include <utils/String8.h>
-#include <utils/Vector.h>
-#include <utils/SortedVector.h>
-#include <utils/misc.h>
-#include <sys/types.h>
-
-namespace android {
-
-/*
- * This provides vector-style access to a directory. We do this rather
- * than modeling opendir/readdir access because it's simpler and the
- * nature of the operation requires us to have all data on hand anyway.
- *
- * The list of files will be sorted in ascending order by ASCII value.
- *
- * The contents are populated by our friend, the AssetManager.
- */
-class AssetDir {
-public:
- AssetDir(void)
- : mFileInfo(NULL)
- {}
- virtual ~AssetDir(void) {
- delete mFileInfo;
- }
-
- /*
- * Vector-style access.
- */
- size_t getFileCount(void) { return mFileInfo->size(); }
- const String8& getFileName(int idx) {
- return mFileInfo->itemAt(idx).getFileName();
- }
- const String8& getSourceName(int idx) {
- return mFileInfo->itemAt(idx).getSourceName();
- }
-
- /*
- * Get the type of a file (usually regular or directory).
- */
- FileType getFileType(int idx) {
- return mFileInfo->itemAt(idx).getFileType();
- }
-
-private:
- /* these operations are not implemented */
- AssetDir(const AssetDir& src);
- const AssetDir& operator=(const AssetDir& src);
-
- friend class AssetManager;
-
- /*
- * This holds information about files in the asset hierarchy.
- */
- class FileInfo {
- public:
- FileInfo(void) {}
- FileInfo(const String8& path) // useful for e.g. svect.indexOf
- : mFileName(path), mFileType(kFileTypeUnknown)
- {}
- ~FileInfo(void) {}
- FileInfo(const FileInfo& src) {
- copyMembers(src);
- }
- const FileInfo& operator= (const FileInfo& src) {
- if (this != &src)
- copyMembers(src);
- return *this;
- }
-
- void copyMembers(const FileInfo& src) {
- mFileName = src.mFileName;
- mFileType = src.mFileType;
- mSourceName = src.mSourceName;
- }
-
- /* need this for SortedVector; must compare only on file name */
- bool operator< (const FileInfo& rhs) const {
- return mFileName < rhs.mFileName;
- }
-
- /* used by AssetManager */
- bool operator== (const FileInfo& rhs) const {
- return mFileName == rhs.mFileName;
- }
-
- void set(const String8& path, FileType type) {
- mFileName = path;
- mFileType = type;
- }
-
- const String8& getFileName(void) const { return mFileName; }
- void setFileName(const String8& path) { mFileName = path; }
-
- FileType getFileType(void) const { return mFileType; }
- void setFileType(FileType type) { mFileType = type; }
-
- const String8& getSourceName(void) const { return mSourceName; }
- void setSourceName(const String8& path) { mSourceName = path; }
-
- /*
- * Handy utility for finding an entry in a sorted vector of FileInfo.
- * Returns the index of the matching entry, or -1 if none found.
- */
- static int findEntry(const SortedVector<FileInfo>* pVector,
- const String8& fileName);
-
- private:
- String8 mFileName; // filename only
- FileType mFileType; // regular, directory, etc
-
- String8 mSourceName; // currently debug-only
- };
-
- /* AssetManager uses this to initialize us */
- void setFileList(SortedVector<FileInfo>* list) { mFileInfo = list; }
-
- SortedVector<FileInfo>* mFileInfo;
-};
-
-}; // namespace android
-
-#endif // __LIBS_ASSETDIR_H
diff --git a/include/utils/AssetManager.h b/include/utils/AssetManager.h
deleted file mode 100644
index a8c7ddb..0000000
--- a/include/utils/AssetManager.h
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-//
-// Asset management class. AssetManager objects are thread-safe.
-//
-#ifndef __LIBS_ASSETMANAGER_H
-#define __LIBS_ASSETMANAGER_H
-
-#include <utils/Asset.h>
-#include <utils/AssetDir.h>
-#include <utils/KeyedVector.h>
-#include <utils/String8.h>
-#include <utils/Vector.h>
-#include <utils/String16.h>
-#include <utils/ZipFileRO.h>
-#include <utils/threads.h>
-
-/*
- * Native-app access is via the opaque typedef struct AAssetManager in the C namespace.
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct AAssetManager { };
-
-#ifdef __cplusplus
-};
-#endif
-
-
-/*
- * Now the proper C++ android-namespace definitions
- */
-
-namespace android {
-
-class Asset; // fwd decl for things that include Asset.h first
-class ResTable;
-struct ResTable_config;
-
-/*
- * Every application that uses assets needs one instance of this. A
- * single instance may be shared across multiple threads, and a single
- * thread may have more than one instance (the latter is discouraged).
- *
- * The purpose of the AssetManager is to create Asset objects. To do
- * this efficiently it may cache information about the locations of
- * files it has seen. This can be controlled with the "cacheMode"
- * argument.
- *
- * The asset hierarchy may be examined like a filesystem, using
- * AssetDir objects to peruse a single directory.
- */
-class AssetManager : public AAssetManager {
-public:
- typedef enum CacheMode {
- CACHE_UNKNOWN = 0,
- CACHE_OFF, // don't try to cache file locations
- CACHE_DEFER, // construct cache as pieces are needed
- //CACHE_SCAN, // scan full(!) asset hierarchy at init() time
- } CacheMode;
-
- AssetManager(CacheMode cacheMode = CACHE_OFF);
- virtual ~AssetManager(void);
-
- static int32_t getGlobalCount();
-
- /*
- * Add a new source for assets. This can be called multiple times to
- * look in multiple places for assets. It can be either a directory (for
- * finding assets as raw files on the disk) or a ZIP file. This newly
- * added asset path will be examined first when searching for assets,
- * before any that were previously added.
- *
- * Returns "true" on success, "false" on failure. If 'cookie' is non-NULL,
- * then on success, *cookie is set to the value corresponding to the
- * newly-added asset source.
- */
- bool addAssetPath(const String8& path, void** cookie);
-
- /*
- * Convenience for adding the standard system assets. Uses the
- * ANDROID_ROOT environment variable to find them.
- */
- bool addDefaultAssets();
-
- /*
- * Iterate over the asset paths in this manager. (Previously
- * added via addAssetPath() and addDefaultAssets().) On first call,
- * 'cookie' must be NULL, resulting in the first cookie being returned.
- * Each next cookie will be returned there-after, until NULL indicating
- * the end has been reached.
- */
- void* nextAssetPath(void* cookie) const;
-
- /*
- * Return an asset path in the manager. 'which' must be between 0 and
- * countAssetPaths().
- */
- String8 getAssetPath(void* cookie) const;
-
- /*
- * Set the current locale and vendor. The locale can change during
- * the lifetime of an AssetManager if the user updates the device's
- * language setting. The vendor is less likely to change.
- *
- * Pass in NULL to indicate no preference.
- */
- void setLocale(const char* locale);
- void setVendor(const char* vendor);
-
- /*
- * Choose screen orientation for resources values returned.
- */
- void setConfiguration(const ResTable_config& config, const char* locale = NULL);
-
- void getConfiguration(ResTable_config* outConfig) const;
-
- typedef Asset::AccessMode AccessMode; // typing shortcut
-
- /*
- * Open an asset.
- *
- * This will search through locale-specific and vendor-specific
- * directories and packages to find the file.
- *
- * The object returned does not depend on the AssetManager. It should
- * be freed by calling Asset::close().
- */
- Asset* open(const char* fileName, AccessMode mode);
-
- /*
- * Open a non-asset file as an asset.
- *
- * This is for opening files that are included in an asset package
- * but aren't assets. These sit outside the usual "locale/vendor"
- * path hierarchy, and will not be seen by "AssetDir" or included
- * in our filename cache.
- */
- Asset* openNonAsset(const char* fileName, AccessMode mode);
-
- /*
- * Explicit non-asset file. The file explicitly named by the cookie (the
- * resource set to look in) and fileName will be opened and returned.
- */
- Asset* openNonAsset(void* cookie, const char* fileName, AccessMode mode);
-
- /*
- * Open a directory within the asset hierarchy.
- *
- * The contents of the directory are an amalgam of vendor-specific,
- * locale-specific, and generic assets stored loosely or in asset
- * packages. Depending on the cache setting and previous accesses,
- * this call may incur significant disk overhead.
- *
- * To open the top-level directory, pass in "".
- */
- AssetDir* openDir(const char* dirName);
-
- /*
- * Open a directory within a particular path of the asset manager.
- *
- * The contents of the directory are an amalgam of vendor-specific,
- * locale-specific, and generic assets stored loosely or in asset
- * packages. Depending on the cache setting and previous accesses,
- * this call may incur significant disk overhead.
- *
- * To open the top-level directory, pass in "".
- */
- AssetDir* openNonAssetDir(void* cookie, const char* dirName);
-
- /*
- * Get the type of a file in the asset hierarchy. They will either
- * be "regular" or "directory". [Currently only works for "regular".]
- *
- * Can also be used as a quick test for existence of a file.
- */
- FileType getFileType(const char* fileName);
-
- /*
- * Return the complete resource table to find things in the package.
- */
- const ResTable& getResources(bool required = true) const;
-
- /*
- * Discard cached filename information. This only needs to be called
- * if somebody has updated the set of "loose" files, and we want to
- * discard our cached notion of what's where.
- */
- void purge(void) { purgeFileNameCacheLocked(); }
-
- /*
- * Return true if the files this AssetManager references are all
- * up-to-date (have not been changed since it was created). If false
- * is returned, you will need to create a new AssetManager to get
- * the current data.
- */
- bool isUpToDate();
-
- /**
- * Get the known locales for this asset manager object.
- */
- void getLocales(Vector<String8>* locales) const;
-
-private:
- struct asset_path
- {
- String8 path;
- FileType type;
- String8 idmap;
- };
-
- Asset* openInPathLocked(const char* fileName, AccessMode mode,
- const asset_path& path);
- Asset* openNonAssetInPathLocked(const char* fileName, AccessMode mode,
- const asset_path& path);
- Asset* openInLocaleVendorLocked(const char* fileName, AccessMode mode,
- const asset_path& path, const char* locale, const char* vendor);
- String8 createPathNameLocked(const asset_path& path, const char* locale,
- const char* vendor);
- String8 createPathNameLocked(const asset_path& path, const char* rootDir);
- String8 createZipSourceNameLocked(const String8& zipFileName,
- const String8& dirName, const String8& fileName);
-
- ZipFileRO* getZipFileLocked(const asset_path& path);
- Asset* openAssetFromFileLocked(const String8& fileName, AccessMode mode);
- Asset* openAssetFromZipLocked(const ZipFileRO* pZipFile,
- const ZipEntryRO entry, AccessMode mode, const String8& entryName);
-
- bool scanAndMergeDirLocked(SortedVector<AssetDir::FileInfo>* pMergedInfo,
- const asset_path& path, const char* rootDir, const char* dirName);
- SortedVector<AssetDir::FileInfo>* scanDirLocked(const String8& path);
- bool scanAndMergeZipLocked(SortedVector<AssetDir::FileInfo>* pMergedInfo,
- const asset_path& path, const char* rootDir, const char* dirName);
- void mergeInfoLocked(SortedVector<AssetDir::FileInfo>* pMergedInfo,
- const SortedVector<AssetDir::FileInfo>* pContents);
-
- void loadFileNameCacheLocked(void);
- void fncScanLocked(SortedVector<AssetDir::FileInfo>* pMergedInfo,
- const char* dirName);
- bool fncScanAndMergeDirLocked(
- SortedVector<AssetDir::FileInfo>* pMergedInfo,
- const asset_path& path, const char* locale, const char* vendor,
- const char* dirName);
- void purgeFileNameCacheLocked(void);
-
- const ResTable* getResTable(bool required = true) const;
- void setLocaleLocked(const char* locale);
- void updateResourceParamsLocked() const;
-
- bool createIdmapFileLocked(const String8& originalPath, const String8& overlayPath,
- const String8& idmapPath);
-
- bool isIdmapStaleLocked(const String8& originalPath, const String8& overlayPath,
- const String8& idmapPath);
-
- Asset* openIdmapLocked(const struct asset_path& ap) const;
-
- bool getZipEntryCrcLocked(const String8& zipPath, const char* entryFilename, uint32_t* pCrc);
-
- class SharedZip : public RefBase {
- public:
- static sp<SharedZip> get(const String8& path);
-
- ZipFileRO* getZip();
-
- Asset* getResourceTableAsset();
- Asset* setResourceTableAsset(Asset* asset);
-
- ResTable* getResourceTable();
- ResTable* setResourceTable(ResTable* res);
-
- bool isUpToDate();
-
- protected:
- ~SharedZip();
-
- private:
- SharedZip(const String8& path, time_t modWhen);
- SharedZip(); // <-- not implemented
-
- String8 mPath;
- ZipFileRO* mZipFile;
- time_t mModWhen;
-
- Asset* mResourceTableAsset;
- ResTable* mResourceTable;
-
- static Mutex gLock;
- static DefaultKeyedVector<String8, wp<SharedZip> > gOpen;
- };
-
- /*
- * Manage a set of Zip files. For each file we need a pointer to the
- * ZipFile and a time_t with the file's modification date.
- *
- * We currently only have two zip files (current app, "common" app).
- * (This was originally written for 8, based on app/locale/vendor.)
- */
- class ZipSet {
- public:
- ZipSet(void);
- ~ZipSet(void);
-
- /*
- * Return a ZipFileRO structure for a ZipFileRO with the specified
- * parameters.
- */
- ZipFileRO* getZip(const String8& path);
-
- Asset* getZipResourceTableAsset(const String8& path);
- Asset* setZipResourceTableAsset(const String8& path, Asset* asset);
-
- ResTable* getZipResourceTable(const String8& path);
- ResTable* setZipResourceTable(const String8& path, ResTable* res);
-
- // generate path, e.g. "common/en-US-noogle.zip"
- static String8 getPathName(const char* path);
-
- bool isUpToDate();
-
- private:
- void closeZip(int idx);
-
- int getIndex(const String8& zip) const;
- mutable Vector<String8> mZipPath;
- mutable Vector<sp<SharedZip> > mZipFile;
- };
-
- // Protect all internal state.
- mutable Mutex mLock;
-
- ZipSet mZipSet;
-
- Vector<asset_path> mAssetPaths;
- char* mLocale;
- char* mVendor;
-
- mutable ResTable* mResources;
- ResTable_config* mConfig;
-
- /*
- * Cached data for "loose" files. This lets us avoid poking at the
- * filesystem when searching for loose assets. Each entry is the
- * "extended partial" path, e.g. "default/default/foo/bar.txt". The
- * full set of files is present, including ".EXCLUDE" entries.
- *
- * We do not cache directory names. We don't retain the ".gz",
- * because to our clients "foo" and "foo.gz" both look like "foo".
- */
- CacheMode mCacheMode; // is the cache enabled?
- bool mCacheValid; // clear when locale or vendor changes
- SortedVector<AssetDir::FileInfo> mCache;
-};
-
-}; // namespace android
-
-#endif // __LIBS_ASSETMANAGER_H
diff --git a/include/utils/BackupHelpers.h b/include/utils/BackupHelpers.h
deleted file mode 100644
index 1bb04a7..0000000
--- a/include/utils/BackupHelpers.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _UTILS_BACKUP_HELPERS_H
-#define _UTILS_BACKUP_HELPERS_H
-
-#include <utils/Errors.h>
-#include <utils/String8.h>
-#include <utils/KeyedVector.h>
-
-namespace android {
-
-enum {
- BACKUP_HEADER_ENTITY_V1 = 0x61746144, // Data (little endian)
-};
-
-typedef struct {
- int type; // BACKUP_HEADER_ENTITY_V1
- int keyLen; // length of the key name, not including the null terminator
- int dataSize; // size of the data, not including the padding, -1 means delete
-} entity_header_v1;
-
-struct SnapshotHeader {
- int magic0;
- int fileCount;
- int magic1;
- int totalSize;
-};
-
-struct FileState {
- int modTime_sec;
- int modTime_nsec;
- int mode;
- int size;
- int crc32;
- int nameLen;
-};
-
-struct FileRec {
- String8 file;
- bool deleted;
- FileState s;
-};
-
-
-/**
- * Writes the data.
- *
- * If an error occurs, it poisons this object and all write calls will fail
- * with the error that occurred.
- */
-class BackupDataWriter
-{
-public:
- BackupDataWriter(int fd);
- // does not close fd
- ~BackupDataWriter();
-
- status_t WriteEntityHeader(const String8& key, size_t dataSize);
-
- /* Note: WriteEntityData will write arbitrary data into the file without
- * validation or a previously-supplied header. The full backup implementation
- * uses it this way to generate a controlled binary stream that is not
- * entity-structured. If the implementation here is changed, either this
- * use case must remain valid, or the full backup implementation should be
- * adjusted to use some other appropriate mechanism.
- */
- status_t WriteEntityData(const void* data, size_t size);
-
- void SetKeyPrefix(const String8& keyPrefix);
-
-private:
- explicit BackupDataWriter();
- status_t write_padding_for(int n);
-
- int m_fd;
- status_t m_status;
- ssize_t m_pos;
- int m_entityCount;
- String8 m_keyPrefix;
-};
-
-/**
- * Reads the data.
- *
- * If an error occurs, it poisons this object and all write calls will fail
- * with the error that occurred.
- */
-class BackupDataReader
-{
-public:
- BackupDataReader(int fd);
- // does not close fd
- ~BackupDataReader();
-
- status_t Status();
- status_t ReadNextHeader(bool* done, int* type);
-
- bool HasEntities();
- status_t ReadEntityHeader(String8* key, size_t* dataSize);
- status_t SkipEntityData(); // must be called with the pointer at the beginning of the data.
- ssize_t ReadEntityData(void* data, size_t size);
-
-private:
- explicit BackupDataReader();
- status_t skip_padding();
-
- int m_fd;
- bool m_done;
- status_t m_status;
- ssize_t m_pos;
- ssize_t m_dataEndPos;
- int m_entityCount;
- union {
- int type;
- entity_header_v1 entity;
- } m_header;
- String8 m_key;
-};
-
-int back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapshotFD,
- char const* const* files, char const* const *keys, int fileCount);
-
-int write_tarfile(const String8& packageName, const String8& domain,
- const String8& rootPath, const String8& filePath, BackupDataWriter* outputStream);
-
-class RestoreHelperBase
-{
-public:
- RestoreHelperBase();
- ~RestoreHelperBase();
-
- status_t WriteFile(const String8& filename, BackupDataReader* in);
- status_t WriteSnapshot(int fd);
-
-private:
- void* m_buf;
- bool m_loggedUnknownMetadata;
- KeyedVector<String8,FileRec> m_files;
-};
-
-#define TEST_BACKUP_HELPERS 1
-
-#if TEST_BACKUP_HELPERS
-int backup_helper_test_empty();
-int backup_helper_test_four();
-int backup_helper_test_files();
-int backup_helper_test_null_base();
-int backup_helper_test_missing_file();
-int backup_helper_test_data_writer();
-int backup_helper_test_data_reader();
-#endif
-
-} // namespace android
-
-#endif // _UTILS_BACKUP_HELPERS_H
diff --git a/include/utils/ObbFile.h b/include/utils/ObbFile.h
deleted file mode 100644
index 47559cd..0000000
--- a/include/utils/ObbFile.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef OBBFILE_H_
-#define OBBFILE_H_
-
-#include <stdint.h>
-#include <strings.h>
-
-#include <utils/RefBase.h>
-#include <utils/String8.h>
-
-namespace android {
-
-// OBB flags (bit 0)
-#define OBB_OVERLAY (1 << 0)
-#define OBB_SALTED (1 << 1)
-
-class ObbFile : public RefBase {
-protected:
- virtual ~ObbFile();
-
-public:
- ObbFile();
-
- bool readFrom(const char* filename);
- bool readFrom(int fd);
- bool writeTo(const char* filename);
- bool writeTo(int fd);
- bool removeFrom(const char* filename);
- bool removeFrom(int fd);
-
- const char* getFileName() const {
- return mFileName;
- }
-
- const String8 getPackageName() const {
- return mPackageName;
- }
-
- void setPackageName(String8 packageName) {
- mPackageName = packageName;
- }
-
- int32_t getVersion() const {
- return mVersion;
- }
-
- void setVersion(int32_t version) {
- mVersion = version;
- }
-
- int32_t getFlags() const {
- return mFlags;
- }
-
- void setFlags(int32_t flags) {
- mFlags = flags;
- }
-
- const unsigned char* getSalt(size_t* length) const {
- if ((mFlags & OBB_SALTED) == 0) {
- *length = 0;
- return NULL;
- }
-
- *length = sizeof(mSalt);
- return mSalt;
- }
-
- bool setSalt(const unsigned char* salt, size_t length) {
- if (length != sizeof(mSalt)) {
- return false;
- }
-
- memcpy(mSalt, salt, sizeof(mSalt));
- mFlags |= OBB_SALTED;
- return true;
- }
-
- bool isOverlay() {
- return (mFlags & OBB_OVERLAY) == OBB_OVERLAY;
- }
-
- void setOverlay(bool overlay) {
- if (overlay) {
- mFlags |= OBB_OVERLAY;
- } else {
- mFlags &= ~OBB_OVERLAY;
- }
- }
-
- static inline uint32_t get4LE(const unsigned char* buf) {
- return buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
- }
-
- static inline void put4LE(unsigned char* buf, uint32_t val) {
- buf[0] = val & 0xFF;
- buf[1] = (val >> 8) & 0xFF;
- buf[2] = (val >> 16) & 0xFF;
- buf[3] = (val >> 24) & 0xFF;
- }
-
-private:
- /* Package name this ObbFile is associated with */
- String8 mPackageName;
-
- /* Package version this ObbFile is associated with */
- int32_t mVersion;
-
- /* Flags for this OBB type. */
- int32_t mFlags;
-
- /* Whether the file is salted. */
- bool mSalted;
-
- /* The encryption salt. */
- unsigned char mSalt[8];
-
- const char* mFileName;
-
- size_t mFileSize;
-
- size_t mFooterStart;
-
- unsigned char* mReadBuf;
-
- bool parseObbFile(int fd);
-};
-
-}
-#endif /* OBBFILE_H_ */
diff --git a/include/utils/ResourceTypes.h b/include/utils/ResourceTypes.h
deleted file mode 100644
index c496da6..0000000
--- a/include/utils/ResourceTypes.h
+++ /dev/null
@@ -1,1592 +0,0 @@
-/*
- * Copyright (C) 2005 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-//
-// Definitions of resource data structures.
-//
-#ifndef _LIBS_UTILS_RESOURCE_TYPES_H
-#define _LIBS_UTILS_RESOURCE_TYPES_H
-
-#include <utils/Asset.h>
-#include <utils/ByteOrder.h>
-#include <utils/Errors.h>
-#include <utils/String16.h>
-#include <utils/Vector.h>
-
-#include <utils/threads.h>
-
-#include <stdint.h>
-#include <sys/types.h>
-
-#include <android/configuration.h>
-
-namespace android {
-
-/** ********************************************************************
- * PNG Extensions
- *
- * New private chunks that may be placed in PNG images.
- *
- *********************************************************************** */
-
-/**
- * This chunk specifies how to split an image into segments for
- * scaling.
- *
- * There are J horizontal and K vertical segments. These segments divide
- * the image into J*K regions as follows (where J=4 and K=3):
- *
- * F0 S0 F1 S1
- * +-----+----+------+-------+
- * S2| 0 | 1 | 2 | 3 |
- * +-----+----+------+-------+
- * | | | | |
- * | | | | |
- * F2| 4 | 5 | 6 | 7 |
- * | | | | |
- * | | | | |
- * +-----+----+------+-------+
- * S3| 8 | 9 | 10 | 11 |
- * +-----+----+------+-------+
- *
- * Each horizontal and vertical segment is considered to by either
- * stretchable (marked by the Sx labels) or fixed (marked by the Fy
- * labels), in the horizontal or vertical axis, respectively. In the
- * above example, the first is horizontal segment (F0) is fixed, the
- * next is stretchable and then they continue to alternate. Note that
- * the segment list for each axis can begin or end with a stretchable
- * or fixed segment.
- *
- * The relative sizes of the stretchy segments indicates the relative
- * amount of stretchiness of the regions bordered by the segments. For
- * example, regions 3, 7 and 11 above will take up more horizontal space
- * than regions 1, 5 and 9 since the horizontal segment associated with
- * the first set of regions is larger than the other set of regions. The
- * ratios of the amount of horizontal (or vertical) space taken by any
- * two stretchable slices is exactly the ratio of their corresponding
- * segment lengths.
- *
- * xDivs and yDivs point to arrays of horizontal and vertical pixel
- * indices. The first pair of Divs (in either array) indicate the
- * starting and ending points of the first stretchable segment in that
- * axis. The next pair specifies the next stretchable segment, etc. So
- * in the above example xDiv[0] and xDiv[1] specify the horizontal
- * coordinates for the regions labeled 1, 5 and 9. xDiv[2] and
- * xDiv[3] specify the coordinates for regions 3, 7 and 11. Note that
- * the leftmost slices always start at x=0 and the rightmost slices
- * always end at the end of the image. So, for example, the regions 0,
- * 4 and 8 (which are fixed along the X axis) start at x value 0 and
- * go to xDiv[0] and slices 2, 6 and 10 start at xDiv[1] and end at
- * xDiv[2].
- *
- * The array pointed to by the colors field lists contains hints for
- * each of the regions. They are ordered according left-to-right and
- * top-to-bottom as indicated above. For each segment that is a solid
- * color the array entry will contain that color value; otherwise it
- * will contain NO_COLOR. Segments that are completely transparent
- * will always have the value TRANSPARENT_COLOR.
- *
- * The PNG chunk type is "npTc".
- */
-struct Res_png_9patch
-{
- Res_png_9patch() : wasDeserialized(false), xDivs(NULL),
- yDivs(NULL), colors(NULL) { }
-
- int8_t wasDeserialized;
- int8_t numXDivs;
- int8_t numYDivs;
- int8_t numColors;
-
- // These tell where the next section of a patch starts.
- // For example, the first patch includes the pixels from
- // 0 to xDivs[0]-1 and the second patch includes the pixels
- // from xDivs[0] to xDivs[1]-1.
- // Note: allocation/free of these pointers is left to the caller.
- int32_t* xDivs;
- int32_t* yDivs;
-
- int32_t paddingLeft, paddingRight;
- int32_t paddingTop, paddingBottom;
-
- enum {
- // The 9 patch segment is not a solid color.
- NO_COLOR = 0x00000001,
-
- // The 9 patch segment is completely transparent.
- TRANSPARENT_COLOR = 0x00000000
- };
- // Note: allocation/free of this pointer is left to the caller.
- uint32_t* colors;
-
- // Convert data from device representation to PNG file representation.
- void deviceToFile();
- // Convert data from PNG file representation to device representation.
- void fileToDevice();
- // Serialize/Marshall the patch data into a newly malloc-ed block
- void* serialize();
- // Serialize/Marshall the patch data
- void serialize(void* outData);
- // Deserialize/Unmarshall the patch data
- static Res_png_9patch* deserialize(const void* data);
- // Compute the size of the serialized data structure
- size_t serializedSize();
-};
-
-/** ********************************************************************
- * Base Types
- *
- * These are standard types that are shared between multiple specific
- * resource types.
- *
- *********************************************************************** */
-
-/**
- * Header that appears at the front of every data chunk in a resource.
- */
-struct ResChunk_header
-{
- // Type identifier for this chunk. The meaning of this value depends
- // on the containing chunk.
- uint16_t type;
-
- // Size of the chunk header (in bytes). Adding this value to
- // the address of the chunk allows you to find its associated data
- // (if any).
- uint16_t headerSize;
-
- // Total size of this chunk (in bytes). This is the chunkSize plus
- // the size of any data associated with the chunk. Adding this value
- // to the chunk allows you to completely skip its contents (including
- // any child chunks). If this value is the same as chunkSize, there is
- // no data associated with the chunk.
- uint32_t size;
-};
-
-enum {
- RES_NULL_TYPE = 0x0000,
- RES_STRING_POOL_TYPE = 0x0001,
- RES_TABLE_TYPE = 0x0002,
- RES_XML_TYPE = 0x0003,
-
- // Chunk types in RES_XML_TYPE
- RES_XML_FIRST_CHUNK_TYPE = 0x0100,
- RES_XML_START_NAMESPACE_TYPE= 0x0100,
- RES_XML_END_NAMESPACE_TYPE = 0x0101,
- RES_XML_START_ELEMENT_TYPE = 0x0102,
- RES_XML_END_ELEMENT_TYPE = 0x0103,
- RES_XML_CDATA_TYPE = 0x0104,
- RES_XML_LAST_CHUNK_TYPE = 0x017f,
- // This contains a uint32_t array mapping strings in the string
- // pool back to resource identifiers. It is optional.
- RES_XML_RESOURCE_MAP_TYPE = 0x0180,
-
- // Chunk types in RES_TABLE_TYPE
- RES_TABLE_PACKAGE_TYPE = 0x0200,
- RES_TABLE_TYPE_TYPE = 0x0201,
- RES_TABLE_TYPE_SPEC_TYPE = 0x0202
-};
-
-/**
- * Macros for building/splitting resource identifiers.
- */
-#define Res_VALIDID(resid) (resid != 0)
-#define Res_CHECKID(resid) ((resid&0xFFFF0000) != 0)
-#define Res_MAKEID(package, type, entry) \
- (((package+1)<<24) | (((type+1)&0xFF)<<16) | (entry&0xFFFF))
-#define Res_GETPACKAGE(id) ((id>>24)-1)
-#define Res_GETTYPE(id) (((id>>16)&0xFF)-1)
-#define Res_GETENTRY(id) (id&0xFFFF)
-
-#define Res_INTERNALID(resid) ((resid&0xFFFF0000) != 0 && (resid&0xFF0000) == 0)
-#define Res_MAKEINTERNAL(entry) (0x01000000 | (entry&0xFFFF))
-#define Res_MAKEARRAY(entry) (0x02000000 | (entry&0xFFFF))
-
-#define Res_MAXPACKAGE 255
-
-/**
- * Representation of a value in a resource, supplying type
- * information.
- */
-struct Res_value
-{
- // Number of bytes in this structure.
- uint16_t size;
-
- // Always set to 0.
- uint8_t res0;
-
- // Type of the data value.
- enum {
- // Contains no data.
- TYPE_NULL = 0x00,
- // The 'data' holds a ResTable_ref, a reference to another resource
- // table entry.
- TYPE_REFERENCE = 0x01,
- // The 'data' holds an attribute resource identifier.
- TYPE_ATTRIBUTE = 0x02,
- // The 'data' holds an index into the containing resource table's
- // global value string pool.
- TYPE_STRING = 0x03,
- // The 'data' holds a single-precision floating point number.
- TYPE_FLOAT = 0x04,
- // The 'data' holds a complex number encoding a dimension value,
- // such as "100in".
- TYPE_DIMENSION = 0x05,
- // The 'data' holds a complex number encoding a fraction of a
- // container.
- TYPE_FRACTION = 0x06,
-
- // Beginning of integer flavors...
- TYPE_FIRST_INT = 0x10,
-
- // The 'data' is a raw integer value of the form n..n.
- TYPE_INT_DEC = 0x10,
- // The 'data' is a raw integer value of the form 0xn..n.
- TYPE_INT_HEX = 0x11,
- // The 'data' is either 0 or 1, for input "false" or "true" respectively.
- TYPE_INT_BOOLEAN = 0x12,
-
- // Beginning of color integer flavors...
- TYPE_FIRST_COLOR_INT = 0x1c,
-
- // The 'data' is a raw integer value of the form #aarrggbb.
- TYPE_INT_COLOR_ARGB8 = 0x1c,
- // The 'data' is a raw integer value of the form #rrggbb.
- TYPE_INT_COLOR_RGB8 = 0x1d,
- // The 'data' is a raw integer value of the form #argb.
- TYPE_INT_COLOR_ARGB4 = 0x1e,
- // The 'data' is a raw integer value of the form #rgb.
- TYPE_INT_COLOR_RGB4 = 0x1f,
-
- // ...end of integer flavors.
- TYPE_LAST_COLOR_INT = 0x1f,
-
- // ...end of integer flavors.
- TYPE_LAST_INT = 0x1f
- };
- uint8_t dataType;
-
- // Structure of complex data values (TYPE_UNIT and TYPE_FRACTION)
- enum {
- // Where the unit type information is. This gives us 16 possible
- // types, as defined below.
- COMPLEX_UNIT_SHIFT = 0,
- COMPLEX_UNIT_MASK = 0xf,
-
- // TYPE_DIMENSION: Value is raw pixels.
- COMPLEX_UNIT_PX = 0,
- // TYPE_DIMENSION: Value is Device Independent Pixels.
- COMPLEX_UNIT_DIP = 1,
- // TYPE_DIMENSION: Value is a Scaled device independent Pixels.
- COMPLEX_UNIT_SP = 2,
- // TYPE_DIMENSION: Value is in points.
- COMPLEX_UNIT_PT = 3,
- // TYPE_DIMENSION: Value is in inches.
- COMPLEX_UNIT_IN = 4,
- // TYPE_DIMENSION: Value is in millimeters.
- COMPLEX_UNIT_MM = 5,
-
- // TYPE_FRACTION: A basic fraction of the overall size.
- COMPLEX_UNIT_FRACTION = 0,
- // TYPE_FRACTION: A fraction of the parent size.
- COMPLEX_UNIT_FRACTION_PARENT = 1,
-
- // Where the radix information is, telling where the decimal place
- // appears in the mantissa. This give us 4 possible fixed point
- // representations as defined below.
- COMPLEX_RADIX_SHIFT = 4,
- COMPLEX_RADIX_MASK = 0x3,
-
- // The mantissa is an integral number -- i.e., 0xnnnnnn.0
- COMPLEX_RADIX_23p0 = 0,
- // The mantissa magnitude is 16 bits -- i.e, 0xnnnn.nn
- COMPLEX_RADIX_16p7 = 1,
- // The mantissa magnitude is 8 bits -- i.e, 0xnn.nnnn
- COMPLEX_RADIX_8p15 = 2,
- // The mantissa magnitude is 0 bits -- i.e, 0x0.nnnnnn
- COMPLEX_RADIX_0p23 = 3,
-
- // Where the actual value is. This gives us 23 bits of
- // precision. The top bit is the sign.
- COMPLEX_MANTISSA_SHIFT = 8,
- COMPLEX_MANTISSA_MASK = 0xffffff
- };
-
- // The data for this item, as interpreted according to dataType.
- uint32_t data;
-
- void copyFrom_dtoh(const Res_value& src);
-};
-
-/**
- * This is a reference to a unique entry (a ResTable_entry structure)
- * in a resource table. The value is structured as: 0xpptteeee,
- * where pp is the package index, tt is the type index in that
- * package, and eeee is the entry index in that type. The package
- * and type values start at 1 for the first item, to help catch cases
- * where they have not been supplied.
- */
-struct ResTable_ref
-{
- uint32_t ident;
-};
-
-/**
- * Reference to a string in a string pool.
- */
-struct ResStringPool_ref
-{
- // Index into the string pool table (uint32_t-offset from the indices
- // immediately after ResStringPool_header) at which to find the location
- // of the string data in the pool.
- uint32_t index;
-};
-
-/** ********************************************************************
- * String Pool
- *
- * A set of strings that can be references by others through a
- * ResStringPool_ref.
- *
- *********************************************************************** */
-
-/**
- * Definition for a pool of strings. The data of this chunk is an
- * array of uint32_t providing indices into the pool, relative to
- * stringsStart. At stringsStart are all of the UTF-16 strings
- * concatenated together; each starts with a uint16_t of the string's
- * length and each ends with a 0x0000 terminator. If a string is >
- * 32767 characters, the high bit of the length is set meaning to take
- * those 15 bits as a high word and it will be followed by another
- * uint16_t containing the low word.
- *
- * If styleCount is not zero, then immediately following the array of
- * uint32_t indices into the string table is another array of indices
- * into a style table starting at stylesStart. Each entry in the
- * style table is an array of ResStringPool_span structures.
- */
-struct ResStringPool_header
-{
- struct ResChunk_header header;
-
- // Number of strings in this pool (number of uint32_t indices that follow
- // in the data).
- uint32_t stringCount;
-
- // Number of style span arrays in the pool (number of uint32_t indices
- // follow the string indices).
- uint32_t styleCount;
-
- // Flags.
- enum {
- // If set, the string index is sorted by the string values (based
- // on strcmp16()).
- SORTED_FLAG = 1<<0,
-
- // String pool is encoded in UTF-8
- UTF8_FLAG = 1<<8
- };
- uint32_t flags;
-
- // Index from header of the string data.
- uint32_t stringsStart;
-
- // Index from header of the style data.
- uint32_t stylesStart;
-};
-
-/**
- * This structure defines a span of style information associated with
- * a string in the pool.
- */
-struct ResStringPool_span
-{
- enum {
- END = 0xFFFFFFFF
- };
-
- // This is the name of the span -- that is, the name of the XML
- // tag that defined it. The special value END (0xFFFFFFFF) indicates
- // the end of an array of spans.
- ResStringPool_ref name;
-
- // The range of characters in the string that this span applies to.
- uint32_t firstChar, lastChar;
-};
-
-/**
- * Convenience class for accessing data in a ResStringPool resource.
- */
-class ResStringPool
-{
-public:
- ResStringPool();
- ResStringPool(const void* data, size_t size, bool copyData=false);
- ~ResStringPool();
-
- status_t setTo(const void* data, size_t size, bool copyData=false);
-
- status_t getError() const;
-
- void uninit();
-
- // Return string entry as UTF16; if the pool is UTF8, the string will
- // be converted before returning.
- inline const char16_t* stringAt(const ResStringPool_ref& ref, size_t* outLen) const {
- return stringAt(ref.index, outLen);
- }
- const char16_t* stringAt(size_t idx, size_t* outLen) const;
-
- // Note: returns null if the string pool is not UTF8.
- const char* string8At(size_t idx, size_t* outLen) const;
-
- // Return string whether the pool is UTF8 or UTF16. Does not allow you
- // to distinguish null.
- const String8 string8ObjectAt(size_t idx) const;
-
- const ResStringPool_span* styleAt(const ResStringPool_ref& ref) const;
- const ResStringPool_span* styleAt(size_t idx) const;
-
- ssize_t indexOfString(const char16_t* str, size_t strLen) const;
-
- size_t size() const;
- size_t styleCount() const;
- size_t bytes() const;
-
- bool isSorted() const;
- bool isUTF8() const;
-
-private:
- status_t mError;
- void* mOwnedData;
- const ResStringPool_header* mHeader;
- size_t mSize;
- mutable Mutex mDecodeLock;
- const uint32_t* mEntries;
- const uint32_t* mEntryStyles;
- const void* mStrings;
- char16_t** mCache;
- uint32_t mStringPoolSize; // number of uint16_t
- const uint32_t* mStyles;
- uint32_t mStylePoolSize; // number of uint32_t
-};
-
-/** ********************************************************************
- * XML Tree
- *
- * Binary representation of an XML document. This is designed to
- * express everything in an XML document, in a form that is much
- * easier to parse on the device.
- *
- *********************************************************************** */
-
-/**
- * XML tree header. This appears at the front of an XML tree,
- * describing its content. It is followed by a flat array of
- * ResXMLTree_node structures; the hierarchy of the XML document
- * is described by the occurrance of RES_XML_START_ELEMENT_TYPE
- * and corresponding RES_XML_END_ELEMENT_TYPE nodes in the array.
- */
-struct ResXMLTree_header
-{
- struct ResChunk_header header;
-};
-
-/**
- * Basic XML tree node. A single item in the XML document. Extended info
- * about the node can be found after header.headerSize.
- */
-struct ResXMLTree_node
-{
- struct ResChunk_header header;
-
- // Line number in original source file at which this element appeared.
- uint32_t lineNumber;
-
- // Optional XML comment that was associated with this element; -1 if none.
- struct ResStringPool_ref comment;
-};
-
-/**
- * Extended XML tree node for CDATA tags -- includes the CDATA string.
- * Appears header.headerSize bytes after a ResXMLTree_node.
- */
-struct ResXMLTree_cdataExt
-{
- // The raw CDATA character data.
- struct ResStringPool_ref data;
-
- // The typed value of the character data if this is a CDATA node.
- struct Res_value typedData;
-};
-
-/**
- * Extended XML tree node for namespace start/end nodes.
- * Appears header.headerSize bytes after a ResXMLTree_node.
- */
-struct ResXMLTree_namespaceExt
-{
- // The prefix of the namespace.
- struct ResStringPool_ref prefix;
-
- // The URI of the namespace.
- struct ResStringPool_ref uri;
-};
-
-/**
- * Extended XML tree node for element start/end nodes.
- * Appears header.headerSize bytes after a ResXMLTree_node.
- */
-struct ResXMLTree_endElementExt
-{
- // String of the full namespace of this element.
- struct ResStringPool_ref ns;
-
- // String name of this node if it is an ELEMENT; the raw
- // character data if this is a CDATA node.
- struct ResStringPool_ref name;
-};
-
-/**
- * Extended XML tree node for start tags -- includes attribute
- * information.
- * Appears header.headerSize bytes after a ResXMLTree_node.
- */
-struct ResXMLTree_attrExt
-{
- // String of the full namespace of this element.
- struct ResStringPool_ref ns;
-
- // String name of this node if it is an ELEMENT; the raw
- // character data if this is a CDATA node.
- struct ResStringPool_ref name;
-
- // Byte offset from the start of this structure where the attributes start.
- uint16_t attributeStart;
-
- // Size of the ResXMLTree_attribute structures that follow.
- uint16_t attributeSize;
-
- // Number of attributes associated with an ELEMENT. These are
- // available as an array of ResXMLTree_attribute structures
- // immediately following this node.
- uint16_t attributeCount;
-
- // Index (1-based) of the "id" attribute. 0 if none.
- uint16_t idIndex;
-
- // Index (1-based) of the "class" attribute. 0 if none.
- uint16_t classIndex;
-
- // Index (1-based) of the "style" attribute. 0 if none.
- uint16_t styleIndex;
-};
-
-struct ResXMLTree_attribute
-{
- // Namespace of this attribute.
- struct ResStringPool_ref ns;
-
- // Name of this attribute.
- struct ResStringPool_ref name;
-
- // The original raw string value of this attribute.
- struct ResStringPool_ref rawValue;
-
- // Processesd typed value of this attribute.
- struct Res_value typedValue;
-};
-
-class ResXMLTree;
-
-class ResXMLParser
-{
-public:
- ResXMLParser(const ResXMLTree& tree);
-
- enum event_code_t {
- BAD_DOCUMENT = -1,
- START_DOCUMENT = 0,
- END_DOCUMENT = 1,
-
- FIRST_CHUNK_CODE = RES_XML_FIRST_CHUNK_TYPE,
-
- START_NAMESPACE = RES_XML_START_NAMESPACE_TYPE,
- END_NAMESPACE = RES_XML_END_NAMESPACE_TYPE,
- START_TAG = RES_XML_START_ELEMENT_TYPE,
- END_TAG = RES_XML_END_ELEMENT_TYPE,
- TEXT = RES_XML_CDATA_TYPE
- };
-
- struct ResXMLPosition
- {
- event_code_t eventCode;
- const ResXMLTree_node* curNode;
- const void* curExt;
- };
-
- void restart();
-
- const ResStringPool& getStrings() const;
-
- event_code_t getEventType() const;
- // Note, unlike XmlPullParser, the first call to next() will return
- // START_TAG of the first element.
- event_code_t next();
-
- // These are available for all nodes:
- int32_t getCommentID() const;
- const uint16_t* getComment(size_t* outLen) const;
- uint32_t getLineNumber() const;
-
- // This is available for TEXT:
- int32_t getTextID() const;
- const uint16_t* getText(size_t* outLen) const;
- ssize_t getTextValue(Res_value* outValue) const;
-
- // These are available for START_NAMESPACE and END_NAMESPACE:
- int32_t getNamespacePrefixID() const;
- const uint16_t* getNamespacePrefix(size_t* outLen) const;
- int32_t getNamespaceUriID() const;
- const uint16_t* getNamespaceUri(size_t* outLen) const;
-
- // These are available for START_TAG and END_TAG:
- int32_t getElementNamespaceID() const;
- const uint16_t* getElementNamespace(size_t* outLen) const;
- int32_t getElementNameID() const;
- const uint16_t* getElementName(size_t* outLen) const;
-
- // Remaining methods are for retrieving information about attributes
- // associated with a START_TAG:
-
- size_t getAttributeCount() const;
-
- // Returns -1 if no namespace, -2 if idx out of range.
- int32_t getAttributeNamespaceID(size_t idx) const;
- const uint16_t* getAttributeNamespace(size_t idx, size_t* outLen) const;
-
- int32_t getAttributeNameID(size_t idx) const;
- const uint16_t* getAttributeName(size_t idx, size_t* outLen) const;
- uint32_t getAttributeNameResID(size_t idx) const;
-
- int32_t getAttributeValueStringID(size_t idx) const;
- const uint16_t* getAttributeStringValue(size_t idx, size_t* outLen) const;
-
- int32_t getAttributeDataType(size_t idx) const;
- int32_t getAttributeData(size_t idx) const;
- ssize_t getAttributeValue(size_t idx, Res_value* outValue) const;
-
- ssize_t indexOfAttribute(const char* ns, const char* attr) const;
- ssize_t indexOfAttribute(const char16_t* ns, size_t nsLen,
- const char16_t* attr, size_t attrLen) const;
-
- ssize_t indexOfID() const;
- ssize_t indexOfClass() const;
- ssize_t indexOfStyle() const;
-
- void getPosition(ResXMLPosition* pos) const;
- void setPosition(const ResXMLPosition& pos);
-
-private:
- friend class ResXMLTree;
-
- event_code_t nextNode();
-
- const ResXMLTree& mTree;
- event_code_t mEventCode;
- const ResXMLTree_node* mCurNode;
- const void* mCurExt;
-};
-
-/**
- * Convenience class for accessing data in a ResXMLTree resource.
- */
-class ResXMLTree : public ResXMLParser
-{
-public:
- ResXMLTree();
- ResXMLTree(const void* data, size_t size, bool copyData=false);
- ~ResXMLTree();
-
- status_t setTo(const void* data, size_t size, bool copyData=false);
-
- status_t getError() const;
-
- void uninit();
-
-private:
- friend class ResXMLParser;
-
- status_t validateNode(const ResXMLTree_node* node) const;
-
- status_t mError;
- void* mOwnedData;
- const ResXMLTree_header* mHeader;
- size_t mSize;
- const uint8_t* mDataEnd;
- ResStringPool mStrings;
- const uint32_t* mResIds;
- size_t mNumResIds;
- const ResXMLTree_node* mRootNode;
- const void* mRootExt;
- event_code_t mRootCode;
-};
-
-/** ********************************************************************
- * RESOURCE TABLE
- *
- *********************************************************************** */
-
-/**
- * Header for a resource table. Its data contains a series of
- * additional chunks:
- * * A ResStringPool_header containing all table values. This string pool
- * contains all of the string values in the entire resource table (not
- * the names of entries or type identifiers however).
- * * One or more ResTable_package chunks.
- *
- * Specific entries within a resource table can be uniquely identified
- * with a single integer as defined by the ResTable_ref structure.
- */
-struct ResTable_header
-{
- struct ResChunk_header header;
-
- // The number of ResTable_package structures.
- uint32_t packageCount;
-};
-
-/**
- * A collection of resource data types within a package. Followed by
- * one or more ResTable_type and ResTable_typeSpec structures containing the
- * entry values for each resource type.
- */
-struct ResTable_package
-{
- struct ResChunk_header header;
-
- // If this is a base package, its ID. Package IDs start
- // at 1 (corresponding to the value of the package bits in a
- // resource identifier). 0 means this is not a base package.
- uint32_t id;
-
- // Actual name of this package, \0-terminated.
- char16_t name[128];
-
- // Offset to a ResStringPool_header defining the resource
- // type symbol table. If zero, this package is inheriting from
- // another base package (overriding specific values in it).
- uint32_t typeStrings;
-
- // Last index into typeStrings that is for public use by others.
- uint32_t lastPublicType;
-
- // Offset to a ResStringPool_header defining the resource
- // key symbol table. If zero, this package is inheriting from
- // another base package (overriding specific values in it).
- uint32_t keyStrings;
-
- // Last index into keyStrings that is for public use by others.
- uint32_t lastPublicKey;
-};
-
-/**
- * Describes a particular resource configuration.
- */
-struct ResTable_config
-{
- // Number of bytes in this structure.
- uint32_t size;
-
- union {
- struct {
- // Mobile country code (from SIM). 0 means "any".
- uint16_t mcc;
- // Mobile network code (from SIM). 0 means "any".
- uint16_t mnc;
- };
- uint32_t imsi;
- };
-
- union {
- struct {
- // \0\0 means "any". Otherwise, en, fr, etc.
- char language[2];
-
- // \0\0 means "any". Otherwise, US, CA, etc.
- char country[2];
- };
- uint32_t locale;
- };
-
- enum {
- ORIENTATION_ANY = ACONFIGURATION_ORIENTATION_ANY,
- ORIENTATION_PORT = ACONFIGURATION_ORIENTATION_PORT,
- ORIENTATION_LAND = ACONFIGURATION_ORIENTATION_LAND,
- ORIENTATION_SQUARE = ACONFIGURATION_ORIENTATION_SQUARE,
- };
-
- enum {
- TOUCHSCREEN_ANY = ACONFIGURATION_TOUCHSCREEN_ANY,
- TOUCHSCREEN_NOTOUCH = ACONFIGURATION_TOUCHSCREEN_NOTOUCH,
- TOUCHSCREEN_STYLUS = ACONFIGURATION_TOUCHSCREEN_STYLUS,
- TOUCHSCREEN_FINGER = ACONFIGURATION_TOUCHSCREEN_FINGER,
- };
-
- enum {
- DENSITY_DEFAULT = ACONFIGURATION_DENSITY_DEFAULT,
- DENSITY_LOW = ACONFIGURATION_DENSITY_LOW,
- DENSITY_MEDIUM = ACONFIGURATION_DENSITY_MEDIUM,
- DENSITY_TV = ACONFIGURATION_DENSITY_TV,
- DENSITY_HIGH = ACONFIGURATION_DENSITY_HIGH,
- DENSITY_XHIGH = ACONFIGURATION_DENSITY_XHIGH,
- DENSITY_XXHIGH = ACONFIGURATION_DENSITY_XXHIGH,
- DENSITY_NONE = ACONFIGURATION_DENSITY_NONE
- };
-
- union {
- struct {
- uint8_t orientation;
- uint8_t touchscreen;
- uint16_t density;
- };
- uint32_t screenType;
- };
-
- enum {
- KEYBOARD_ANY = ACONFIGURATION_KEYBOARD_ANY,
- KEYBOARD_NOKEYS = ACONFIGURATION_KEYBOARD_NOKEYS,
- KEYBOARD_QWERTY = ACONFIGURATION_KEYBOARD_QWERTY,
- KEYBOARD_12KEY = ACONFIGURATION_KEYBOARD_12KEY,
- };
-
- enum {
- NAVIGATION_ANY = ACONFIGURATION_NAVIGATION_ANY,
- NAVIGATION_NONAV = ACONFIGURATION_NAVIGATION_NONAV,
- NAVIGATION_DPAD = ACONFIGURATION_NAVIGATION_DPAD,
- NAVIGATION_TRACKBALL = ACONFIGURATION_NAVIGATION_TRACKBALL,
- NAVIGATION_WHEEL = ACONFIGURATION_NAVIGATION_WHEEL,
- };
-
- enum {
- MASK_KEYSHIDDEN = 0x0003,
- KEYSHIDDEN_ANY = ACONFIGURATION_KEYSHIDDEN_ANY,
- KEYSHIDDEN_NO = ACONFIGURATION_KEYSHIDDEN_NO,
- KEYSHIDDEN_YES = ACONFIGURATION_KEYSHIDDEN_YES,
- KEYSHIDDEN_SOFT = ACONFIGURATION_KEYSHIDDEN_SOFT,
- };
-
- enum {
- MASK_NAVHIDDEN = 0x000c,
- SHIFT_NAVHIDDEN = 2,
- NAVHIDDEN_ANY = ACONFIGURATION_NAVHIDDEN_ANY << SHIFT_NAVHIDDEN,
- NAVHIDDEN_NO = ACONFIGURATION_NAVHIDDEN_NO << SHIFT_NAVHIDDEN,
- NAVHIDDEN_YES = ACONFIGURATION_NAVHIDDEN_YES << SHIFT_NAVHIDDEN,
- };
-
- union {
- struct {
- uint8_t keyboard;
- uint8_t navigation;
- uint8_t inputFlags;
- uint8_t inputPad0;
- };
- uint32_t input;
- };
-
- enum {
- SCREENWIDTH_ANY = 0
- };
-
- enum {
- SCREENHEIGHT_ANY = 0
- };
-
- union {
- struct {
- uint16_t screenWidth;
- uint16_t screenHeight;
- };
- uint32_t screenSize;
- };
-
- enum {
- SDKVERSION_ANY = 0
- };
-
- enum {
- MINORVERSION_ANY = 0
- };
-
- union {
- struct {
- uint16_t sdkVersion;
- // For now minorVersion must always be 0!!! Its meaning
- // is currently undefined.
- uint16_t minorVersion;
- };
- uint32_t version;
- };
-
- enum {
- // screenLayout bits for screen size class.
- MASK_SCREENSIZE = 0x0f,
- SCREENSIZE_ANY = ACONFIGURATION_SCREENSIZE_ANY,
- SCREENSIZE_SMALL = ACONFIGURATION_SCREENSIZE_SMALL,
- SCREENSIZE_NORMAL = ACONFIGURATION_SCREENSIZE_NORMAL,
- SCREENSIZE_LARGE = ACONFIGURATION_SCREENSIZE_LARGE,
- SCREENSIZE_XLARGE = ACONFIGURATION_SCREENSIZE_XLARGE,
-
- // screenLayout bits for wide/long screen variation.
- MASK_SCREENLONG = 0x30,
- SHIFT_SCREENLONG = 4,
- SCREENLONG_ANY = ACONFIGURATION_SCREENLONG_ANY << SHIFT_SCREENLONG,
- SCREENLONG_NO = ACONFIGURATION_SCREENLONG_NO << SHIFT_SCREENLONG,
- SCREENLONG_YES = ACONFIGURATION_SCREENLONG_YES << SHIFT_SCREENLONG,
- };
-
- enum {
- // uiMode bits for the mode type.
- MASK_UI_MODE_TYPE = 0x0f,
- UI_MODE_TYPE_ANY = ACONFIGURATION_UI_MODE_TYPE_ANY,
- UI_MODE_TYPE_NORMAL = ACONFIGURATION_UI_MODE_TYPE_NORMAL,
- UI_MODE_TYPE_DESK = ACONFIGURATION_UI_MODE_TYPE_DESK,
- UI_MODE_TYPE_CAR = ACONFIGURATION_UI_MODE_TYPE_CAR,
- UI_MODE_TYPE_TELEVISION = ACONFIGURATION_UI_MODE_TYPE_TELEVISION,
- UI_MODE_TYPE_APPLIANCE = ACONFIGURATION_UI_MODE_TYPE_APPLIANCE,
-
- // uiMode bits for the night switch.
- MASK_UI_MODE_NIGHT = 0x30,
- SHIFT_UI_MODE_NIGHT = 4,
- UI_MODE_NIGHT_ANY = ACONFIGURATION_UI_MODE_NIGHT_ANY << SHIFT_UI_MODE_NIGHT,
- UI_MODE_NIGHT_NO = ACONFIGURATION_UI_MODE_NIGHT_NO << SHIFT_UI_MODE_NIGHT,
- UI_MODE_NIGHT_YES = ACONFIGURATION_UI_MODE_NIGHT_YES << SHIFT_UI_MODE_NIGHT,
- };
-
- union {
- struct {
- uint8_t screenLayout;
- uint8_t uiMode;
- uint16_t smallestScreenWidthDp;
- };
- uint32_t screenConfig;
- };
-
- union {
- struct {
- uint16_t screenWidthDp;
- uint16_t screenHeightDp;
- };
- uint32_t screenSizeDp;
- };
-
- void copyFromDeviceNoSwap(const ResTable_config& o);
-
- void copyFromDtoH(const ResTable_config& o);
-
- void swapHtoD();
-
- int compare(const ResTable_config& o) const;
- int compareLogical(const ResTable_config& o) const;
-
- // Flags indicating a set of config values. These flag constants must
- // match the corresponding ones in android.content.pm.ActivityInfo and
- // attrs_manifest.xml.
- enum {
- CONFIG_MCC = ACONFIGURATION_MCC,
- CONFIG_MNC = ACONFIGURATION_MCC,
- CONFIG_LOCALE = ACONFIGURATION_LOCALE,
- CONFIG_TOUCHSCREEN = ACONFIGURATION_TOUCHSCREEN,
- CONFIG_KEYBOARD = ACONFIGURATION_KEYBOARD,
- CONFIG_KEYBOARD_HIDDEN = ACONFIGURATION_KEYBOARD_HIDDEN,
- CONFIG_NAVIGATION = ACONFIGURATION_NAVIGATION,
- CONFIG_ORIENTATION = ACONFIGURATION_ORIENTATION,
- CONFIG_DENSITY = ACONFIGURATION_DENSITY,
- CONFIG_SCREEN_SIZE = ACONFIGURATION_SCREEN_SIZE,
- CONFIG_SMALLEST_SCREEN_SIZE = ACONFIGURATION_SMALLEST_SCREEN_SIZE,
- CONFIG_VERSION = ACONFIGURATION_VERSION,
- CONFIG_SCREEN_LAYOUT = ACONFIGURATION_SCREEN_LAYOUT,
- CONFIG_UI_MODE = ACONFIGURATION_UI_MODE
- };
-
- // Compare two configuration, returning CONFIG_* flags set for each value
- // that is different.
- int diff(const ResTable_config& o) const;
-
- // Return true if 'this' is more specific than 'o'.
- bool isMoreSpecificThan(const ResTable_config& o) const;
-
- // Return true if 'this' is a better match than 'o' for the 'requested'
- // configuration. This assumes that match() has already been used to
- // remove any configurations that don't match the requested configuration
- // at all; if they are not first filtered, non-matching results can be
- // considered better than matching ones.
- // The general rule per attribute: if the request cares about an attribute
- // (it normally does), if the two (this and o) are equal it's a tie. If
- // they are not equal then one must be generic because only generic and
- // '==requested' will pass the match() call. So if this is not generic,
- // it wins. If this IS generic, o wins (return false).
- bool isBetterThan(const ResTable_config& o, const ResTable_config* requested) const;
-
- // Return true if 'this' can be considered a match for the parameters in
- // 'settings'.
- // Note this is asymetric. A default piece of data will match every request
- // but a request for the default should not match odd specifics
- // (ie, request with no mcc should not match a particular mcc's data)
- // settings is the requested settings
- bool match(const ResTable_config& settings) const;
-
- void getLocale(char str[6]) const;
-
- String8 toString() const;
-};
-
-/**
- * A specification of the resources defined by a particular type.
- *
- * There should be one of these chunks for each resource type.
- *
- * This structure is followed by an array of integers providing the set of
- * configuation change flags (ResTable_config::CONFIG_*) that have multiple
- * resources for that configuration. In addition, the high bit is set if that
- * resource has been made public.
- */
-struct ResTable_typeSpec
-{
- struct ResChunk_header header;
-
- // The type identifier this chunk is holding. Type IDs start
- // at 1 (corresponding to the value of the type bits in a
- // resource identifier). 0 is invalid.
- uint8_t id;
-
- // Must be 0.
- uint8_t res0;
- // Must be 0.
- uint16_t res1;
-
- // Number of uint32_t entry configuration masks that follow.
- uint32_t entryCount;
-
- enum {
- // Additional flag indicating an entry is public.
- SPEC_PUBLIC = 0x40000000
- };
-};
-
-/**
- * A collection of resource entries for a particular resource data
- * type. Followed by an array of uint32_t defining the resource
- * values, corresponding to the array of type strings in the
- * ResTable_package::typeStrings string block. Each of these hold an
- * index from entriesStart; a value of NO_ENTRY means that entry is
- * not defined.
- *
- * There may be multiple of these chunks for a particular resource type,
- * supply different configuration variations for the resource values of
- * that type.
- *
- * It would be nice to have an additional ordered index of entries, so
- * we can do a binary search if trying to find a resource by string name.
- */
-struct ResTable_type
-{
- struct ResChunk_header header;
-
- enum {
- NO_ENTRY = 0xFFFFFFFF
- };
-
- // The type identifier this chunk is holding. Type IDs start
- // at 1 (corresponding to the value of the type bits in a
- // resource identifier). 0 is invalid.
- uint8_t id;
-
- // Must be 0.
- uint8_t res0;
- // Must be 0.
- uint16_t res1;
-
- // Number of uint32_t entry indices that follow.
- uint32_t entryCount;
-
- // Offset from header where ResTable_entry data starts.
- uint32_t entriesStart;
-
- // Configuration this collection of entries is designed for.
- ResTable_config config;
-};
-
-/**
- * This is the beginning of information about an entry in the resource
- * table. It holds the reference to the name of this entry, and is
- * immediately followed by one of:
- * * A Res_value structure, if FLAG_COMPLEX is -not- set.
- * * An array of ResTable_map structures, if FLAG_COMPLEX is set.
- * These supply a set of name/value mappings of data.
- */
-struct ResTable_entry
-{
- // Number of bytes in this structure.
- uint16_t size;
-
- enum {
- // If set, this is a complex entry, holding a set of name/value
- // mappings. It is followed by an array of ResTable_map structures.
- FLAG_COMPLEX = 0x0001,
- // If set, this resource has been declared public, so libraries
- // are allowed to reference it.
- FLAG_PUBLIC = 0x0002
- };
- uint16_t flags;
-
- // Reference into ResTable_package::keyStrings identifying this entry.
- struct ResStringPool_ref key;
-};
-
-/**
- * Extended form of a ResTable_entry for map entries, defining a parent map
- * resource from which to inherit values.
- */
-struct ResTable_map_entry : public ResTable_entry
-{
- // Resource identifier of the parent mapping, or 0 if there is none.
- ResTable_ref parent;
- // Number of name/value pairs that follow for FLAG_COMPLEX.
- uint32_t count;
-};
-
-/**
- * A single name/value mapping that is part of a complex resource
- * entry.
- */
-struct ResTable_map
-{
- // The resource identifier defining this mapping's name. For attribute
- // resources, 'name' can be one of the following special resource types
- // to supply meta-data about the attribute; for all other resource types
- // it must be an attribute resource.
- ResTable_ref name;
-
- // Special values for 'name' when defining attribute resources.
- enum {
- // This entry holds the attribute's type code.
- ATTR_TYPE = Res_MAKEINTERNAL(0),
-
- // For integral attributes, this is the minimum value it can hold.
- ATTR_MIN = Res_MAKEINTERNAL(1),
-
- // For integral attributes, this is the maximum value it can hold.
- ATTR_MAX = Res_MAKEINTERNAL(2),
-
- // Localization of this resource is can be encouraged or required with
- // an aapt flag if this is set
- ATTR_L10N = Res_MAKEINTERNAL(3),
-
- // for plural support, see android.content.res.PluralRules#attrForQuantity(int)
- ATTR_OTHER = Res_MAKEINTERNAL(4),
- ATTR_ZERO = Res_MAKEINTERNAL(5),
- ATTR_ONE = Res_MAKEINTERNAL(6),
- ATTR_TWO = Res_MAKEINTERNAL(7),
- ATTR_FEW = Res_MAKEINTERNAL(8),
- ATTR_MANY = Res_MAKEINTERNAL(9)
-
- };
-
- // Bit mask of allowed types, for use with ATTR_TYPE.
- enum {
- // No type has been defined for this attribute, use generic
- // type handling. The low 16 bits are for types that can be
- // handled generically; the upper 16 require additional information
- // in the bag so can not be handled generically for TYPE_ANY.
- TYPE_ANY = 0x0000FFFF,
-
- // Attribute holds a references to another resource.
- TYPE_REFERENCE = 1<<0,
-
- // Attribute holds a generic string.
- TYPE_STRING = 1<<1,
-
- // Attribute holds an integer value. ATTR_MIN and ATTR_MIN can
- // optionally specify a constrained range of possible integer values.
- TYPE_INTEGER = 1<<2,
-
- // Attribute holds a boolean integer.
- TYPE_BOOLEAN = 1<<3,
-
- // Attribute holds a color value.
- TYPE_COLOR = 1<<4,
-
- // Attribute holds a floating point value.
- TYPE_FLOAT = 1<<5,
-
- // Attribute holds a dimension value, such as "20px".
- TYPE_DIMENSION = 1<<6,
-
- // Attribute holds a fraction value, such as "20%".
- TYPE_FRACTION = 1<<7,
-
- // Attribute holds an enumeration. The enumeration values are
- // supplied as additional entries in the map.
- TYPE_ENUM = 1<<16,
-
- // Attribute holds a bitmaks of flags. The flag bit values are
- // supplied as additional entries in the map.
- TYPE_FLAGS = 1<<17
- };
-
- // Enum of localization modes, for use with ATTR_L10N.
- enum {
- L10N_NOT_REQUIRED = 0,
- L10N_SUGGESTED = 1
- };
-
- // This mapping's value.
- Res_value value;
-};
-
-/**
- * Convenience class for accessing data in a ResTable resource.
- */
-class ResTable
-{
-public:
- ResTable();
- ResTable(const void* data, size_t size, void* cookie,
- bool copyData=false);
- ~ResTable();
-
- status_t add(const void* data, size_t size, void* cookie,
- bool copyData=false, const void* idmap = NULL);
- status_t add(Asset* asset, void* cookie,
- bool copyData=false, const void* idmap = NULL);
- status_t add(ResTable* src);
-
- status_t getError() const;
-
- void uninit();
-
- struct resource_name
- {
- const char16_t* package;
- size_t packageLen;
- const char16_t* type;
- size_t typeLen;
- const char16_t* name;
- size_t nameLen;
- };
-
- bool getResourceName(uint32_t resID, resource_name* outName) const;
-
- /**
- * Retrieve the value of a resource. If the resource is found, returns a
- * value >= 0 indicating the table it is in (for use with
- * getTableStringBlock() and getTableCookie()) and fills in 'outValue'. If
- * not found, returns a negative error code.
- *
- * Note that this function does not do reference traversal. If you want
- * to follow references to other resources to get the "real" value to
- * use, you need to call resolveReference() after this function.
- *
- * @param resID The desired resoruce identifier.
- * @param outValue Filled in with the resource data that was found.
- *
- * @return ssize_t Either a >= 0 table index or a negative error code.
- */
- ssize_t getResource(uint32_t resID, Res_value* outValue, bool mayBeBag = false,
- uint16_t density = 0,
- uint32_t* outSpecFlags = NULL,
- ResTable_config* outConfig = NULL) const;
-
- inline ssize_t getResource(const ResTable_ref& res, Res_value* outValue,
- uint32_t* outSpecFlags=NULL) const {
- return getResource(res.ident, outValue, false, 0, outSpecFlags, NULL);
- }
-
- ssize_t resolveReference(Res_value* inOutValue,
- ssize_t blockIndex,
- uint32_t* outLastRef = NULL,
- uint32_t* inoutTypeSpecFlags = NULL,
- ResTable_config* outConfig = NULL) const;
-
- enum {
- TMP_BUFFER_SIZE = 16
- };
- const char16_t* valueToString(const Res_value* value, size_t stringBlock,
- char16_t tmpBuffer[TMP_BUFFER_SIZE],
- size_t* outLen);
-
- struct bag_entry {
- ssize_t stringBlock;
- ResTable_map map;
- };
-
- /**
- * Retrieve the bag of a resource. If the resoruce is found, returns the
- * number of bags it contains and 'outBag' points to an array of their
- * values. If not found, a negative error code is returned.
- *
- * Note that this function -does- do reference traversal of the bag data.
- *
- * @param resID The desired resource identifier.
- * @param outBag Filled inm with a pointer to the bag mappings.
- *
- * @return ssize_t Either a >= 0 bag count of negative error code.
- */
- ssize_t lockBag(uint32_t resID, const bag_entry** outBag) const;
-
- void unlockBag(const bag_entry* bag) const;
-
- void lock() const;
-
- ssize_t getBagLocked(uint32_t resID, const bag_entry** outBag,
- uint32_t* outTypeSpecFlags=NULL) const;
-
- void unlock() const;
-
- class Theme {
- public:
- Theme(const ResTable& table);
- ~Theme();
-
- inline const ResTable& getResTable() const { return mTable; }
-
- status_t applyStyle(uint32_t resID, bool force=false);
- status_t setTo(const Theme& other);
-
- /**
- * Retrieve a value in the theme. If the theme defines this
- * value, returns a value >= 0 indicating the table it is in
- * (for use with getTableStringBlock() and getTableCookie) and
- * fills in 'outValue'. If not found, returns a negative error
- * code.
- *
- * Note that this function does not do reference traversal. If you want
- * to follow references to other resources to get the "real" value to
- * use, you need to call resolveReference() after this function.
- *
- * @param resID A resource identifier naming the desired theme
- * attribute.
- * @param outValue Filled in with the theme value that was
- * found.
- *
- * @return ssize_t Either a >= 0 table index or a negative error code.
- */
- ssize_t getAttribute(uint32_t resID, Res_value* outValue,
- uint32_t* outTypeSpecFlags = NULL) const;
-
- /**
- * This is like ResTable::resolveReference(), but also takes
- * care of resolving attribute references to the theme.
- */
- ssize_t resolveAttributeReference(Res_value* inOutValue,
- ssize_t blockIndex, uint32_t* outLastRef = NULL,
- uint32_t* inoutTypeSpecFlags = NULL,
- ResTable_config* inoutConfig = NULL) const;
-
- void dumpToLog() const;
-
- private:
- Theme(const Theme&);
- Theme& operator=(const Theme&);
-
- struct theme_entry {
- ssize_t stringBlock;
- uint32_t typeSpecFlags;
- Res_value value;
- };
- struct type_info {
- size_t numEntries;
- theme_entry* entries;
- };
- struct package_info {
- size_t numTypes;
- type_info types[];
- };
-
- void free_package(package_info* pi);
- package_info* copy_package(package_info* pi);
-
- const ResTable& mTable;
- package_info* mPackages[Res_MAXPACKAGE];
- };
-
- void setParameters(const ResTable_config* params);
- void getParameters(ResTable_config* params) const;
-
- // Retrieve an identifier (which can be passed to getResource)
- // for a given resource name. The 'name' can be fully qualified
- // (<package>:<type>.<basename>) or the package or type components
- // can be dropped if default values are supplied here.
- //
- // Returns 0 if no such resource was found, else a valid resource ID.
- uint32_t identifierForName(const char16_t* name, size_t nameLen,
- const char16_t* type = 0, size_t typeLen = 0,
- const char16_t* defPackage = 0,
- size_t defPackageLen = 0,
- uint32_t* outTypeSpecFlags = NULL) const;
-
- static bool expandResourceRef(const uint16_t* refStr, size_t refLen,
- String16* outPackage,
- String16* outType,
- String16* outName,
- const String16* defType = NULL,
- const String16* defPackage = NULL,
- const char** outErrorMsg = NULL,
- bool* outPublicOnly = NULL);
-
- static bool stringToInt(const char16_t* s, size_t len, Res_value* outValue);
- static bool stringToFloat(const char16_t* s, size_t len, Res_value* outValue);
-
- // Used with stringToValue.
- class Accessor
- {
- public:
- inline virtual ~Accessor() { }
-
- virtual uint32_t getCustomResource(const String16& package,
- const String16& type,
- const String16& name) const = 0;
- virtual uint32_t getCustomResourceWithCreation(const String16& package,
- const String16& type,
- const String16& name,
- const bool createIfNeeded = false) = 0;
- virtual uint32_t getRemappedPackage(uint32_t origPackage) const = 0;
- virtual bool getAttributeType(uint32_t attrID, uint32_t* outType) = 0;
- virtual bool getAttributeMin(uint32_t attrID, uint32_t* outMin) = 0;
- virtual bool getAttributeMax(uint32_t attrID, uint32_t* outMax) = 0;
- virtual bool getAttributeEnum(uint32_t attrID,
- const char16_t* name, size_t nameLen,
- Res_value* outValue) = 0;
- virtual bool getAttributeFlags(uint32_t attrID,
- const char16_t* name, size_t nameLen,
- Res_value* outValue) = 0;
- virtual uint32_t getAttributeL10N(uint32_t attrID) = 0;
- virtual bool getLocalizationSetting() = 0;
- virtual void reportError(void* accessorCookie, const char* fmt, ...) = 0;
- };
-
- // Convert a string to a resource value. Handles standard "@res",
- // "#color", "123", and "0x1bd" types; performs escaping of strings.
- // The resulting value is placed in 'outValue'; if it is a string type,
- // 'outString' receives the string. If 'attrID' is supplied, the value is
- // type checked against this attribute and it is used to perform enum
- // evaluation. If 'acccessor' is supplied, it will be used to attempt to
- // resolve resources that do not exist in this ResTable. If 'attrType' is
- // supplied, the value will be type checked for this format if 'attrID'
- // is not supplied or found.
- bool stringToValue(Res_value* outValue, String16* outString,
- const char16_t* s, size_t len,
- bool preserveSpaces, bool coerceType,
- uint32_t attrID = 0,
- const String16* defType = NULL,
- const String16* defPackage = NULL,
- Accessor* accessor = NULL,
- void* accessorCookie = NULL,
- uint32_t attrType = ResTable_map::TYPE_ANY,
- bool enforcePrivate = true) const;
-
- // Perform processing of escapes and quotes in a string.
- static bool collectString(String16* outString,
- const char16_t* s, size_t len,
- bool preserveSpaces,
- const char** outErrorMsg = NULL,
- bool append = false);
-
- size_t getBasePackageCount() const;
- const char16_t* getBasePackageName(size_t idx) const;
- uint32_t getBasePackageId(size_t idx) const;
-
- // Return the number of resource tables that the object contains.
- size_t getTableCount() const;
- // Return the values string pool for the resource table at the given
- // index. This string pool contains all of the strings for values
- // contained in the resource table -- that is the item values themselves,
- // but not the names their entries or types.
- const ResStringPool* getTableStringBlock(size_t index) const;
- // Return unique cookie identifier for the given resource table.
- void* getTableCookie(size_t index) const;
-
- // Return the configurations (ResTable_config) that we know about
- void getConfigurations(Vector<ResTable_config>* configs) const;
-
- void getLocales(Vector<String8>* locales) const;
-
- // Generate an idmap.
- //
- // Return value: on success: NO_ERROR; caller is responsible for free-ing
- // outData (using free(3)). On failure, any status_t value other than
- // NO_ERROR; the caller should not free outData.
- status_t createIdmap(const ResTable& overlay, uint32_t originalCrc, uint32_t overlayCrc,
- void** outData, size_t* outSize) const;
-
- enum {
- IDMAP_HEADER_SIZE_BYTES = 3 * sizeof(uint32_t),
- };
- // Retrieve idmap meta-data.
- //
- // This function only requires the idmap header (the first
- // IDMAP_HEADER_SIZE_BYTES) bytes of an idmap file.
- static bool getIdmapInfo(const void* idmap, size_t size,
- uint32_t* pOriginalCrc, uint32_t* pOverlayCrc);
-
-#ifndef HAVE_ANDROID_OS
- void print(bool inclValues) const;
- static String8 normalizeForOutput(const char* input);
-#endif
-
-private:
- struct Header;
- struct Type;
- struct Package;
- struct PackageGroup;
- struct bag_set;
-
- status_t add(const void* data, size_t size, void* cookie,
- Asset* asset, bool copyData, const Asset* idmap);
-
- ssize_t getResourcePackageIndex(uint32_t resID) const;
- ssize_t getEntry(
- const Package* package, int typeIndex, int entryIndex,
- const ResTable_config* config,
- const ResTable_type** outType, const ResTable_entry** outEntry,
- const Type** outTypeClass) const;
- status_t parsePackage(
- const ResTable_package* const pkg, const Header* const header, uint32_t idmap_id);
-
- void print_value(const Package* pkg, const Res_value& value) const;
-
- mutable Mutex mLock;
-
- status_t mError;
-
- ResTable_config mParams;
-
- // Array of all resource tables.
- Vector<Header*> mHeaders;
-
- // Array of packages in all resource tables.
- Vector<PackageGroup*> mPackageGroups;
-
- // Mapping from resource package IDs to indices into the internal
- // package array.
- uint8_t mPackageMap[256];
-};
-
-} // namespace android
-
-#endif // _LIBS_UTILS_RESOURCE_TYPES_H
diff --git a/include/utils/StreamingZipInflater.h b/include/utils/StreamingZipInflater.h
deleted file mode 100644
index 3ace5d5..0000000
--- a/include/utils/StreamingZipInflater.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __LIBS_STREAMINGZIPINFLATER_H
-#define __LIBS_STREAMINGZIPINFLATER_H
-
-#include <unistd.h>
-#include <inttypes.h>
-#include <zlib.h>
-
-#include <utils/Compat.h>
-
-namespace android {
-
-class StreamingZipInflater {
-public:
- static const size_t INPUT_CHUNK_SIZE = 64 * 1024;
- static const size_t OUTPUT_CHUNK_SIZE = 64 * 1024;
-
- // Flavor that pages in the compressed data from a fd
- StreamingZipInflater(int fd, off64_t compDataStart, size_t uncompSize, size_t compSize);
-
- // Flavor that gets the compressed data from an in-memory buffer
- StreamingZipInflater(class FileMap* dataMap, size_t uncompSize);
-
- ~StreamingZipInflater();
-
- // read 'count' bytes of uncompressed data from the current position. outBuf may
- // be NULL, in which case the data is consumed and discarded.
- ssize_t read(void* outBuf, size_t count);
-
- // seeking backwards requires uncompressing fom the beginning, so is very
- // expensive. seeking forwards only requires uncompressing from the current
- // position to the destination.
- off64_t seekAbsolute(off64_t absoluteInputPosition);
-
-private:
- void initInflateState();
- int readNextChunk();
-
- // where to find the uncompressed data
- int mFd;
- off64_t mInFileStart; // where the compressed data lives in the file
- class FileMap* mDataMap;
-
- z_stream mInflateState;
- bool mStreamNeedsInit;
-
- // output invariants for this asset
- uint8_t* mOutBuf; // output buf for decompressed bytes
- size_t mOutBufSize; // allocated size of mOutBuf
- size_t mOutTotalSize; // total uncompressed size of the blob
-
- // current output state bookkeeping
- off64_t mOutCurPosition; // current position in total offset
- size_t mOutLastDecoded; // last decoded byte + 1 in mOutbuf
- size_t mOutDeliverable; // next undelivered byte of decoded output in mOutBuf
-
- // input invariants
- uint8_t* mInBuf;
- size_t mInBufSize; // allocated size of mInBuf;
- size_t mInTotalSize; // total size of compressed data for this blob
-
- // input state bookkeeping
- size_t mInNextChunkOffset; // offset from start of blob at which the next input chunk lies
- // the z_stream contains state about input block consumption
-};
-
-}
-
-#endif
diff --git a/include/utils/ZipFileCRO.h b/include/utils/ZipFileCRO.h
deleted file mode 100644
index 3e42a95..0000000
--- a/include/utils/ZipFileCRO.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-//
-// C API for ead-only access to Zip archives, with minimal heap allocation.
-//
-#ifndef __LIBS_ZIPFILECRO_H
-#define __LIBS_ZIPFILECRO_H
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <utils/Compat.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Trivial typedef to ensure that ZipFileCRO is not treated as a simple integer.
- */
-typedef void* ZipFileCRO;
-
-/*
- * Trivial typedef to ensure that ZipEntryCRO is not treated as a simple
- * integer. We use NULL to indicate an invalid value.
- */
-typedef void* ZipEntryCRO;
-
-extern ZipFileCRO ZipFileXRO_open(const char* path);
-
-extern void ZipFileCRO_destroy(ZipFileCRO zip);
-
-extern ZipEntryCRO ZipFileCRO_findEntryByName(ZipFileCRO zip,
- const char* fileName);
-
-extern bool ZipFileCRO_getEntryInfo(ZipFileCRO zip, ZipEntryCRO entry,
- int* pMethod, size_t* pUncompLen,
- size_t* pCompLen, off64_t* pOffset, long* pModWhen, long* pCrc32);
-
-extern bool ZipFileCRO_uncompressEntry(ZipFileCRO zip, ZipEntryCRO entry, int fd);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /*__LIBS_ZIPFILECRO_H*/
diff --git a/include/utils/ZipFileRO.h b/include/utils/ZipFileRO.h
deleted file mode 100644
index 547e36a..0000000
--- a/include/utils/ZipFileRO.h
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Read-only access to Zip archives, with minimal heap allocation.
- *
- * This is similar to the more-complete ZipFile class, but no attempt
- * has been made to make them interchangeable. This class operates under
- * a very different set of assumptions and constraints.
- *
- * One such assumption is that if you're getting file descriptors for
- * use with this class as a child of a fork() operation, you must be on
- * a pread() to guarantee correct operation. This is because pread() can
- * atomically read at a file offset without worrying about a lock around an
- * lseek() + read() pair.
- */
-#ifndef __LIBS_ZIPFILERO_H
-#define __LIBS_ZIPFILERO_H
-
-#include <utils/Compat.h>
-#include <utils/Errors.h>
-#include <utils/FileMap.h>
-#include <utils/threads.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <time.h>
-
-namespace android {
-
-/*
- * Trivial typedef to ensure that ZipEntryRO is not treated as a simple
- * integer. We use NULL to indicate an invalid value.
- */
-typedef void* ZipEntryRO;
-
-/*
- * Open a Zip archive for reading.
- *
- * We want "open" and "find entry by name" to be fast operations, and we
- * want to use as little memory as possible. We memory-map the file,
- * and load a hash table with pointers to the filenames (which aren't
- * null-terminated). The other fields are at a fixed offset from the
- * filename, so we don't need to extract those (but we do need to byte-read
- * and endian-swap them every time we want them).
- *
- * To speed comparisons when doing a lookup by name, we could make the mapping
- * "private" (copy-on-write) and null-terminate the filenames after verifying
- * the record structure. However, this requires a private mapping of
- * every page that the Central Directory touches. Easier to tuck a copy
- * of the string length into the hash table entry.
- *
- * NOTE: If this is used on file descriptors inherited from a fork() operation,
- * you must be on a platform that implements pread() to guarantee correctness
- * on the shared file descriptors.
- */
-class ZipFileRO {
-public:
- ZipFileRO()
- : mFd(-1), mFileName(NULL), mFileLength(-1),
- mDirectoryMap(NULL),
- mNumEntries(-1), mDirectoryOffset(-1),
- mHashTableSize(-1), mHashTable(NULL)
- {}
-
- ~ZipFileRO();
-
- /*
- * Open an archive.
- */
- status_t open(const char* zipFileName);
-
- /*
- * Find an entry, by name. Returns the entry identifier, or NULL if
- * not found.
- *
- * If two entries have the same name, one will be chosen at semi-random.
- */
- ZipEntryRO findEntryByName(const char* fileName) const;
-
- /*
- * Return the #of entries in the Zip archive.
- */
- int getNumEntries(void) const {
- return mNumEntries;
- }
-
- /*
- * Return the Nth entry. Zip file entries are not stored in sorted
- * order, and updated entries may appear at the end, so anyone walking
- * the archive needs to avoid making ordering assumptions. We take
- * that further by returning the Nth non-empty entry in the hash table
- * rather than the Nth entry in the archive.
- *
- * Valid values are [0..numEntries).
- *
- * [This is currently O(n). If it needs to be fast we can allocate an
- * additional data structure or provide an iterator interface.]
- */
- ZipEntryRO findEntryByIndex(int idx) const;
-
- /*
- * Copy the filename into the supplied buffer. Returns 0 on success,
- * -1 if "entry" is invalid, or the filename length if it didn't fit. The
- * length, and the returned string, include the null-termination.
- */
- int getEntryFileName(ZipEntryRO entry, char* buffer, int bufLen) const;
-
- /*
- * Get the vital stats for an entry. Pass in NULL pointers for anything
- * you don't need.
- *
- * "*pOffset" holds the Zip file offset of the entry's data.
- *
- * Returns "false" if "entry" is bogus or if the data in the Zip file
- * appears to be bad.
- */
- bool getEntryInfo(ZipEntryRO entry, int* pMethod, size_t* pUncompLen,
- size_t* pCompLen, off64_t* pOffset, long* pModWhen, long* pCrc32) const;
-
- /*
- * Create a new FileMap object that maps a subset of the archive. For
- * an uncompressed entry this effectively provides a pointer to the
- * actual data, for a compressed entry this provides the input buffer
- * for inflate().
- */
- FileMap* createEntryFileMap(ZipEntryRO entry) const;
-
- /*
- * Uncompress the data into a buffer. Depending on the compression
- * format, this is either an "inflate" operation or a memcpy.
- *
- * Use "uncompLen" from getEntryInfo() to determine the required
- * buffer size.
- *
- * Returns "true" on success.
- */
- bool uncompressEntry(ZipEntryRO entry, void* buffer) const;
-
- /*
- * Uncompress the data to an open file descriptor.
- */
- bool uncompressEntry(ZipEntryRO entry, int fd) const;
-
- /* Zip compression methods we support */
- enum {
- kCompressStored = 0, // no compression
- kCompressDeflated = 8, // standard deflate
- };
-
- /*
- * Utility function: uncompress deflated data, buffer to buffer.
- */
- static bool inflateBuffer(void* outBuf, const void* inBuf,
- size_t uncompLen, size_t compLen);
-
- /*
- * Utility function: uncompress deflated data, buffer to fd.
- */
- static bool inflateBuffer(int fd, const void* inBuf,
- size_t uncompLen, size_t compLen);
-
- /*
- * Utility function to convert ZIP's time format to a timespec struct.
- */
- static inline void zipTimeToTimespec(long when, struct tm* timespec) {
- const long date = when >> 16;
- timespec->tm_year = ((date >> 9) & 0x7F) + 80; // Zip is years since 1980
- timespec->tm_mon = (date >> 5) & 0x0F;
- timespec->tm_mday = date & 0x1F;
-
- timespec->tm_hour = (when >> 11) & 0x1F;
- timespec->tm_min = (when >> 5) & 0x3F;
- timespec->tm_sec = (when & 0x1F) << 1;
- }
-
- /*
- * Some basic functions for raw data manipulation. "LE" means
- * Little Endian.
- */
- static inline unsigned short get2LE(const unsigned char* buf) {
- return buf[0] | (buf[1] << 8);
- }
- static inline unsigned long get4LE(const unsigned char* buf) {
- return buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
- }
-
-private:
- /* these are private and not defined */
- ZipFileRO(const ZipFileRO& src);
- ZipFileRO& operator=(const ZipFileRO& src);
-
- /* locate and parse the central directory */
- bool mapCentralDirectory(void);
-
- /* parse the archive, prepping internal structures */
- bool parseZipArchive(void);
-
- /* add a new entry to the hash table */
- void addToHash(const char* str, int strLen, unsigned int hash);
-
- /* compute string hash code */
- static unsigned int computeHash(const char* str, int len);
-
- /* convert a ZipEntryRO back to a hash table index */
- int entryToIndex(const ZipEntryRO entry) const;
-
- /*
- * One entry in the hash table.
- */
- typedef struct HashEntry {
- const char* name;
- unsigned short nameLen;
- //unsigned int hash;
- } HashEntry;
-
- /* open Zip archive */
- int mFd;
-
- /* Lock for handling the file descriptor (seeks, etc) */
- mutable Mutex mFdLock;
-
- /* zip file name */
- char* mFileName;
-
- /* length of file */
- size_t mFileLength;
-
- /* mapped file */
- FileMap* mDirectoryMap;
-
- /* number of entries in the Zip archive */
- int mNumEntries;
-
- /* CD directory offset in the Zip archive */
- off64_t mDirectoryOffset;
-
- /*
- * We know how many entries are in the Zip archive, so we have a
- * fixed-size hash table. We probe for an empty slot.
- */
- int mHashTableSize;
- HashEntry* mHashTable;
-};
-
-}; // namespace android
-
-#endif /*__LIBS_ZIPFILERO_H*/
diff --git a/include/utils/ZipUtils.h b/include/utils/ZipUtils.h
deleted file mode 100644
index 42c42b6..0000000
--- a/include/utils/ZipUtils.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-//
-// Miscellaneous zip/gzip utility functions.
-//
-#ifndef __LIBS_ZIPUTILS_H
-#define __LIBS_ZIPUTILS_H
-
-#include <stdio.h>
-
-namespace android {
-
-/*
- * Container class for utility functions, primarily for namespace reasons.
- */
-class ZipUtils {
-public:
- /*
- * General utility function for uncompressing "deflate" data from a file
- * to a buffer.
- */
- static bool inflateToBuffer(int fd, void* buf, long uncompressedLen,
- long compressedLen);
- static bool inflateToBuffer(FILE* fp, void* buf, long uncompressedLen,
- long compressedLen);
-
- /*
- * Someday we might want to make this generic and handle bzip2 ".bz2"
- * files too.
- *
- * We could declare gzip to be a sub-class of zip that has exactly
- * one always-compressed entry, but we currently want to treat Zip
- * and gzip as distinct, so there's no value.
- *
- * The zlib library has some gzip utilities, but it has no interface
- * for extracting the uncompressed length of the file (you do *not*
- * want to gzseek to the end).
- *
- * Pass in a seeked file pointer for the gzip file. If this is a gzip
- * file, we set our return values appropriately and return "true" with
- * the file seeked to the start of the compressed data.
- */
- static bool examineGzip(FILE* fp, int* pCompressionMethod,
- long* pUncompressedLen, long* pCompressedLen, unsigned long* pCRC32);
-
-private:
- ZipUtils() {}
- ~ZipUtils() {}
-};
-
-}; // namespace android
-
-#endif /*__LIBS_ZIPUTILS_H*/
diff --git a/libs/ui/Input.cpp b/libs/ui/Input.cpp
index 263c8d9..ca09caf 100644
--- a/libs/ui/Input.cpp
+++ b/libs/ui/Input.cpp
@@ -24,7 +24,7 @@
#include <unistd.h>
#include <ctype.h>
-#include <ui/Input.h>
+#include <androidfw/Input.h>
#include <math.h>
#include <limits.h>
diff --git a/libs/ui/InputTransport.cpp b/libs/ui/InputTransport.cpp
index ecb3fb5..1ebd75c 100644
--- a/libs/ui/InputTransport.cpp
+++ b/libs/ui/InputTransport.cpp
@@ -20,7 +20,7 @@
#include <cutils/log.h>
#include <errno.h>
#include <fcntl.h>
-#include <ui/InputTransport.h>
+#include <androidfw/InputTransport.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
diff --git a/libs/ui/KeyCharacterMap.cpp b/libs/ui/KeyCharacterMap.cpp
index 485234c..6984084 100644
--- a/libs/ui/KeyCharacterMap.cpp
+++ b/libs/ui/KeyCharacterMap.cpp
@@ -19,8 +19,8 @@
#include <stdlib.h>
#include <string.h>
#include <android/keycodes.h>
-#include <ui/Keyboard.h>
-#include <ui/KeyCharacterMap.h>
+#include <androidfw/Keyboard.h>
+#include <androidfw/KeyCharacterMap.h>
#include <utils/Log.h>
#include <utils/Errors.h>
#include <utils/Tokenizer.h>
diff --git a/libs/ui/KeyLayoutMap.cpp b/libs/ui/KeyLayoutMap.cpp
index 44a9420..15d81ee 100644
--- a/libs/ui/KeyLayoutMap.cpp
+++ b/libs/ui/KeyLayoutMap.cpp
@@ -18,8 +18,8 @@
#include <stdlib.h>
#include <android/keycodes.h>
-#include <ui/Keyboard.h>
-#include <ui/KeyLayoutMap.h>
+#include <androidfw/Keyboard.h>
+#include <androidfw/KeyLayoutMap.h>
#include <utils/Log.h>
#include <utils/Errors.h>
#include <utils/Tokenizer.h>
diff --git a/libs/ui/Keyboard.cpp b/libs/ui/Keyboard.cpp
index e4611f7..e97a5eb 100644
--- a/libs/ui/Keyboard.cpp
+++ b/libs/ui/Keyboard.cpp
@@ -20,10 +20,10 @@
#include <unistd.h>
#include <limits.h>
-#include <ui/Keyboard.h>
-#include <ui/KeycodeLabels.h>
-#include <ui/KeyLayoutMap.h>
-#include <ui/KeyCharacterMap.h>
+#include <androidfw/Keyboard.h>
+#include <androidfw/KeycodeLabels.h>
+#include <androidfw/KeyLayoutMap.h>
+#include <androidfw/KeyCharacterMap.h>
#include <utils/Errors.h>
#include <utils/Log.h>
#include <cutils/properties.h>
diff --git a/libs/ui/VirtualKeyMap.cpp b/libs/ui/VirtualKeyMap.cpp
index 62d5b59..2ba1673 100644
--- a/libs/ui/VirtualKeyMap.cpp
+++ b/libs/ui/VirtualKeyMap.cpp
@@ -18,7 +18,7 @@
#include <stdlib.h>
#include <string.h>
-#include <ui/VirtualKeyMap.h>
+#include <androidfw/VirtualKeyMap.h>
#include <utils/Log.h>
#include <utils/Errors.h>
#include <utils/Tokenizer.h>
diff --git a/libs/ui/tests/InputChannel_test.cpp b/libs/ui/tests/InputChannel_test.cpp
index ee422fe..0e5d19d 100644
--- a/libs/ui/tests/InputChannel_test.cpp
+++ b/libs/ui/tests/InputChannel_test.cpp
@@ -14,9 +14,10 @@
* limitations under the License.
*/
-#include <ui/InputTransport.h>
+#include <androidfw/InputTransport.h>
#include <utils/Timers.h>
#include <utils/StopWatch.h>
+#include <utils/StrongPointer.h>
#include <gtest/gtest.h>
#include <unistd.h>
#include <time.h>
diff --git a/libs/ui/tests/InputEvent_test.cpp b/libs/ui/tests/InputEvent_test.cpp
index e21c464..ac5549c 100644
--- a/libs/ui/tests/InputEvent_test.cpp
+++ b/libs/ui/tests/InputEvent_test.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include <ui/Input.h>
+#include <androidfw/Input.h>
#include <gtest/gtest.h>
#include <binder/Parcel.h>
diff --git a/libs/ui/tests/InputPublisherAndConsumer_test.cpp b/libs/ui/tests/InputPublisherAndConsumer_test.cpp
index 3303053..bb45247 100644
--- a/libs/ui/tests/InputPublisherAndConsumer_test.cpp
+++ b/libs/ui/tests/InputPublisherAndConsumer_test.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include <ui/InputTransport.h>
+#include <androidfw/InputTransport.h>
#include <utils/Timers.h>
#include <utils/StopWatch.h>
#include <gtest/gtest.h>
diff --git a/libs/utils/Asset.cpp b/libs/utils/Asset.cpp
index 50e701a..cb7628d 100644
--- a/libs/utils/Asset.cpp
+++ b/libs/utils/Asset.cpp
@@ -21,23 +21,23 @@
#define LOG_TAG "asset"
//#define NDEBUG 0
-#include <utils/Asset.h>
+#include <androidfw/Asset.h>
+#include <androidfw/StreamingZipInflater.h>
+#include <androidfw/ZipFileRO.h>
+#include <androidfw/ZipUtils.h>
#include <utils/Atomic.h>
#include <utils/FileMap.h>
-#include <utils/StreamingZipInflater.h>
-#include <utils/ZipUtils.h>
-#include <utils/ZipFileRO.h>
#include <utils/Log.h>
#include <utils/threads.h>
-#include <string.h>
-#include <memory.h>
-#include <fcntl.h>
-#include <errno.h>
#include <assert.h>
-#include <unistd.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <memory.h>
+#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <unistd.h>
using namespace android;
diff --git a/libs/utils/AssetDir.cpp b/libs/utils/AssetDir.cpp
index c5f664e..475f521 100644
--- a/libs/utils/AssetDir.cpp
+++ b/libs/utils/AssetDir.cpp
@@ -19,7 +19,7 @@
// implementation is in the header file or in friend functions in
// AssetManager.
//
-#include <utils/AssetDir.h>
+#include <androidfw/AssetDir.h>
using namespace android;
diff --git a/libs/utils/AssetManager.cpp b/libs/utils/AssetManager.cpp
index 47a2b99..4829add 100644
--- a/libs/utils/AssetManager.cpp
+++ b/libs/utils/AssetManager.cpp
@@ -21,23 +21,23 @@
#define LOG_TAG "asset"
//#define LOG_NDEBUG 0
-#include <utils/AssetManager.h>
-#include <utils/AssetDir.h>
-#include <utils/Asset.h>
+#include <androidfw/Asset.h>
+#include <androidfw/AssetDir.h>
+#include <androidfw/AssetManager.h>
+#include <androidfw/ResourceTypes.h>
+#include <androidfw/ZipFileRO.h>
#include <utils/Atomic.h>
-#include <utils/String8.h>
-#include <utils/ResourceTypes.h>
-#include <utils/String8.h>
-#include <utils/ZipFileRO.h>
#include <utils/Log.h>
-#include <utils/Timers.h>
+#include <utils/String8.h>
+#include <utils/String8.h>
#include <utils/threads.h>
+#include <utils/Timers.h>
+#include <assert.h>
#include <dirent.h>
#include <errno.h>
-#include <assert.h>
-#include <strings.h>
#include <fcntl.h>
+#include <strings.h>
#include <sys/stat.h>
#include <unistd.h>
diff --git a/libs/utils/BackupData.cpp b/libs/utils/BackupData.cpp
index f956306..7b1bcba 100644
--- a/libs/utils/BackupData.cpp
+++ b/libs/utils/BackupData.cpp
@@ -16,7 +16,7 @@
#define LOG_TAG "backup_data"
-#include <utils/BackupHelpers.h>
+#include <androidfw/BackupHelpers.h>
#include <utils/ByteOrder.h>
#include <stdio.h>
diff --git a/libs/utils/BackupHelpers.cpp b/libs/utils/BackupHelpers.cpp
index f77a891..7a817a7 100644
--- a/libs/utils/BackupHelpers.cpp
+++ b/libs/utils/BackupHelpers.cpp
@@ -16,7 +16,7 @@
#define LOG_TAG "file_backup_helper"
-#include <utils/BackupHelpers.h>
+#include <androidfw/BackupHelpers.h>
#include <utils/KeyedVector.h>
#include <utils/ByteOrder.h>
@@ -546,7 +546,7 @@
// read/write up to this much at a time.
const size_t BUFSIZE = 32 * 1024;
- char* buf = new char[BUFSIZE];
+ char* buf = (char *)calloc(1,BUFSIZE);
char* paxHeader = buf + 512; // use a different chunk of it as separate scratch
char* paxData = buf + 1024;
@@ -556,9 +556,6 @@
goto cleanup;
}
- // Good to go -- first construct the standard tar header at the start of the buffer
- memset(buf, 0, BUFSIZE);
-
// Magic fields for the ustar file format
strcat(buf + 257, "ustar");
strcat(buf + 263, "00");
diff --git a/libs/utils/ObbFile.cpp b/libs/utils/ObbFile.cpp
index ddf5991..21e06c8 100644
--- a/libs/utils/ObbFile.cpp
+++ b/libs/utils/ObbFile.cpp
@@ -23,9 +23,9 @@
#define LOG_TAG "ObbFile"
+#include <androidfw/ObbFile.h>
#include <utils/Compat.h>
#include <utils/Log.h>
-#include <utils/ObbFile.h>
//#define DEBUG 1
diff --git a/libs/utils/ResourceTypes.cpp b/libs/utils/ResourceTypes.cpp
index 3fa562e..07f3b16 100644
--- a/libs/utils/ResourceTypes.cpp
+++ b/libs/utils/ResourceTypes.cpp
@@ -17,14 +17,14 @@
#define LOG_TAG "ResourceType"
//#define LOG_NDEBUG 0
+#include <androidfw/ResourceTypes.h>
#include <utils/Atomic.h>
#include <utils/ByteOrder.h>
#include <utils/Debug.h>
-#include <utils/ResourceTypes.h>
+#include <utils/Log.h>
#include <utils/String16.h>
#include <utils/String8.h>
#include <utils/TextOutput.h>
-#include <utils/Log.h>
#include <stdlib.h>
#include <string.h>
@@ -379,8 +379,7 @@
size_t charSize;
if (mHeader->flags&ResStringPool_header::UTF8_FLAG) {
charSize = sizeof(uint8_t);
- mCache = (char16_t**)malloc(sizeof(char16_t**)*mHeader->stringCount);
- memset(mCache, 0, sizeof(char16_t**)*mHeader->stringCount);
+ mCache = (char16_t**)calloc(mHeader->stringCount, sizeof(char16_t**));
} else {
charSize = sizeof(char16_t);
}
@@ -3252,16 +3251,14 @@
// Bag not found, we need to compute it!
if (!grp->bags) {
- grp->bags = (bag_set***)malloc(sizeof(bag_set*)*grp->typeCount);
+ grp->bags = (bag_set***)calloc(grp->typeCount, sizeof(bag_set*));
if (!grp->bags) return NO_MEMORY;
- memset(grp->bags, 0, sizeof(bag_set*)*grp->typeCount);
}
bag_set** typeSet = grp->bags[t];
if (!typeSet) {
- typeSet = (bag_set**)malloc(sizeof(bag_set*)*NENTRY);
+ typeSet = (bag_set**)calloc(NENTRY, sizeof(bag_set*));
if (!typeSet) return NO_MEMORY;
- memset(typeSet, 0, sizeof(bag_set*)*NENTRY);
grp->bags[t] = typeSet;
}
diff --git a/libs/utils/StreamingZipInflater.cpp b/libs/utils/StreamingZipInflater.cpp
index 8512170..d3fb98d 100644
--- a/libs/utils/StreamingZipInflater.cpp
+++ b/libs/utils/StreamingZipInflater.cpp
@@ -18,8 +18,8 @@
#define LOG_TAG "szipinf"
#include <utils/Log.h>
+#include <androidfw/StreamingZipInflater.h>
#include <utils/FileMap.h>
-#include <utils/StreamingZipInflater.h>
#include <string.h>
#include <stddef.h>
#include <assert.h>
diff --git a/libs/utils/ZipFileCRO.cpp b/libs/utils/ZipFileCRO.cpp
index 55dfd9f..c8df845 100644
--- a/libs/utils/ZipFileCRO.cpp
+++ b/libs/utils/ZipFileCRO.cpp
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#include <utils/ZipFileCRO.h>
-#include <utils/ZipFileRO.h>
+#include <androidfw/ZipFileCRO.h>
+#include <androidfw/ZipFileRO.h>
using namespace android;
diff --git a/libs/utils/ZipFileRO.cpp b/libs/utils/ZipFileRO.cpp
index 1498aac..4b7f1e7 100644
--- a/libs/utils/ZipFileRO.cpp
+++ b/libs/utils/ZipFileRO.cpp
@@ -19,7 +19,7 @@
//
#define LOG_TAG "zipro"
//#define LOG_NDEBUG 0
-#include <utils/ZipFileRO.h>
+#include <androidfw/ZipFileRO.h>
#include <utils/Log.h>
#include <utils/misc.h>
#include <utils/threads.h>
diff --git a/libs/utils/ZipUtils.cpp b/libs/utils/ZipUtils.cpp
index 2dbdc1d..db3479d 100644
--- a/libs/utils/ZipUtils.cpp
+++ b/libs/utils/ZipUtils.cpp
@@ -20,8 +20,8 @@
#define LOG_TAG "ziputil"
-#include <utils/ZipUtils.h>
-#include <utils/ZipFileRO.h>
+#include <androidfw/ZipUtils.h>
+#include <androidfw/ZipFileRO.h>
#include <utils/Log.h>
#include <stdlib.h>
diff --git a/libs/utils/tests/ObbFile_test.cpp b/libs/utils/tests/ObbFile_test.cpp
index 46b30c2..09d4d7d 100644
--- a/libs/utils/tests/ObbFile_test.cpp
+++ b/libs/utils/tests/ObbFile_test.cpp
@@ -15,8 +15,8 @@
*/
#define LOG_TAG "ObbFile_test"
+#include <androidfw/ObbFile.h>
#include <utils/Log.h>
-#include <utils/ObbFile.h>
#include <utils/RefBase.h>
#include <utils/String8.h>
diff --git a/libs/utils/tests/ZipFileRO_test.cpp b/libs/utils/tests/ZipFileRO_test.cpp
index 7a1d0bd..344f974 100644
--- a/libs/utils/tests/ZipFileRO_test.cpp
+++ b/libs/utils/tests/ZipFileRO_test.cpp
@@ -15,8 +15,8 @@
*/
#define LOG_TAG "ZipFileRO_test"
+#include <androidfw/ZipFileRO.h>
#include <utils/Log.h>
-#include <utils/ZipFileRO.h>
#include <gtest/gtest.h>
diff --git a/opengl/libs/GLES_trace/TODO.txt b/opengl/libs/GLES_trace/TODO.txt
deleted file mode 100644
index f5e6e95..0000000
--- a/opengl/libs/GLES_trace/TODO.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-TODO:
- - Context - Currently, we don't do anything regarding the contexts that are created.
- Need to maintain more state regarding contexts, and figure out what happens in the
- presence of multiple contexts.
-
- - Transport: Each GLMessage is sent via a socket as soon as the message is received.
- i.e., there is no buffering of messages. Buffering should improve performance.
-
- - Initialization: On first connection, send some basic information that includes:
- 1. version of the trace library
- 2. implementation dependent GL state variables such as # of vertex arrays etc.
-
- - eglSwapBuffers: The images are lzf compressed, but there is no mode that transfers
- only the differences from the previous images.
diff --git a/opengl/libs/GLES_trace/gltrace.proto b/opengl/libs/GLES_trace/gltrace.proto
index 11cf24f..2893e6e 100644
--- a/opengl/libs/GLES_trace/gltrace.proto
+++ b/opengl/libs/GLES_trace/gltrace.proto
@@ -543,11 +543,13 @@
required int32 context_id = 1; // GL context ID
required int64 start_time = 2; // time when call was invoked
- required int32 duration = 3; // duration of the call
+ required int32 duration = 3; // duration of the call (MONOTONIC TIME)
required Function function = 4 [default = invalid]; // GL function called
repeated DataType args = 5; // GL function's arguments
optional DataType returnValue = 6; // GL function's return value
optional FrameBuffer fb = 7; // contents of the framebuffer
+
+ optional int32 threadtime = 8; // duration of the call (THREAD TIME)
};
diff --git a/opengl/libs/GLES_trace/src/gltrace.pb.cpp b/opengl/libs/GLES_trace/src/gltrace.pb.cpp
index bb9d4a7..d5f8180 100644
--- a/opengl/libs/GLES_trace/src/gltrace.pb.cpp
+++ b/opengl/libs/GLES_trace/src/gltrace.pb.cpp
@@ -1663,6 +1663,7 @@
const int GLMessage::kArgsFieldNumber;
const int GLMessage::kReturnValueFieldNumber;
const int GLMessage::kFbFieldNumber;
+const int GLMessage::kThreadtimeFieldNumber;
#endif // !_MSC_VER
GLMessage::GLMessage()
@@ -1689,6 +1690,7 @@
function_ = 3000;
returnvalue_ = NULL;
fb_ = NULL;
+ threadtime_ = 0;
::memset(_has_bits_, 0, sizeof(_has_bits_));
}
@@ -1730,6 +1732,7 @@
if (_has_bit(6)) {
if (fb_ != NULL) fb_->::android::gltrace::GLMessage_FrameBuffer::Clear();
}
+ threadtime_ = 0;
}
args_.Clear();
::memset(_has_bits_, 0, sizeof(_has_bits_));
@@ -1846,6 +1849,22 @@
} else {
goto handle_uninterpreted;
}
+ if (input->ExpectTag(64)) goto parse_threadtime;
+ break;
+ }
+
+ // optional int32 threadtime = 8;
+ case 8: {
+ if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+ ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+ parse_threadtime:
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+ input, &threadtime_)));
+ _set_bit(7);
+ } else {
+ goto handle_uninterpreted;
+ }
if (input->ExpectAtEnd()) return true;
break;
}
@@ -1906,6 +1925,11 @@
7, this->fb(), output);
}
+ // optional int32 threadtime = 8;
+ if (_has_bit(7)) {
+ ::google::protobuf::internal::WireFormatLite::WriteInt32(8, this->threadtime(), output);
+ }
+
}
int GLMessage::ByteSize() const {
@@ -1953,6 +1977,13 @@
this->fb());
}
+ // optional int32 threadtime = 8;
+ if (has_threadtime()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::Int32Size(
+ this->threadtime());
+ }
+
}
// repeated .android.gltrace.GLMessage.DataType args = 5;
total_size += 1 * this->args_size();
@@ -1995,6 +2026,9 @@
if (from._has_bit(6)) {
mutable_fb()->::android::gltrace::GLMessage_FrameBuffer::MergeFrom(from.fb());
}
+ if (from._has_bit(7)) {
+ set_threadtime(from.threadtime());
+ }
}
}
@@ -2028,6 +2062,7 @@
args_.Swap(&other->args_);
std::swap(returnvalue_, other->returnvalue_);
std::swap(fb_, other->fb_);
+ std::swap(threadtime_, other->threadtime_);
std::swap(_has_bits_[0], other->_has_bits_[0]);
std::swap(_cached_size_, other->_cached_size_);
}
diff --git a/opengl/libs/GLES_trace/src/gltrace.pb.h b/opengl/libs/GLES_trace/src/gltrace.pb.h
index e3b8990..a4fcbd3 100644
--- a/opengl/libs/GLES_trace/src/gltrace.pb.h
+++ b/opengl/libs/GLES_trace/src/gltrace.pb.h
@@ -1418,6 +1418,13 @@
inline const ::android::gltrace::GLMessage_FrameBuffer& fb() const;
inline ::android::gltrace::GLMessage_FrameBuffer* mutable_fb();
+ // optional int32 threadtime = 8;
+ inline bool has_threadtime() const;
+ inline void clear_threadtime();
+ static const int kThreadtimeFieldNumber = 8;
+ inline ::google::protobuf::int32 threadtime() const;
+ inline void set_threadtime(::google::protobuf::int32 value);
+
// @@protoc_insertion_point(class_scope:android.gltrace.GLMessage)
private:
mutable int _cached_size_;
@@ -1429,11 +1436,12 @@
::google::protobuf::RepeatedPtrField< ::android::gltrace::GLMessage_DataType > args_;
::android::gltrace::GLMessage_DataType* returnvalue_;
::android::gltrace::GLMessage_FrameBuffer* fb_;
+ ::google::protobuf::int32 threadtime_;
friend void protobuf_AddDesc_gltrace_2eproto();
friend void protobuf_AssignDesc_gltrace_2eproto();
friend void protobuf_ShutdownFile_gltrace_2eproto();
- ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32];
+ ::google::protobuf::uint32 _has_bits_[(8 + 31) / 32];
// WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
inline bool _has_bit(int index) const {
@@ -1860,6 +1868,22 @@
return fb_;
}
+// optional int32 threadtime = 8;
+inline bool GLMessage::has_threadtime() const {
+ return _has_bit(7);
+}
+inline void GLMessage::clear_threadtime() {
+ threadtime_ = 0;
+ _clear_bit(7);
+}
+inline ::google::protobuf::int32 GLMessage::threadtime() const {
+ return threadtime_;
+}
+inline void GLMessage::set_threadtime(::google::protobuf::int32 value) {
+ _set_bit(7);
+ threadtime_ = value;
+}
+
// @@protoc_insertion_point(namespace_scope)
diff --git a/opengl/libs/GLES_trace/src/gltrace_api.cpp b/opengl/libs/GLES_trace/src/gltrace_api.cpp
index a2366ac..358bf54 100644
--- a/opengl/libs/GLES_trace/src/gltrace_api.cpp
+++ b/opengl/libs/GLES_trace/src/gltrace_api.cpp
@@ -43,11 +43,15 @@
arg_texture->add_intvalue((int)texture);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glActiveTexture(texture);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -70,11 +74,15 @@
arg_shader->add_intvalue(shader);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glAttachShader(program, shader);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -103,11 +111,15 @@
arg_name->add_intvalue((int)name);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBindAttribLocation(program, index, name);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -130,11 +142,15 @@
arg_buffer->add_intvalue(buffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBindBuffer(target, buffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -157,11 +173,15 @@
arg_framebuffer->add_intvalue(framebuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBindFramebuffer(target, framebuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -184,11 +204,15 @@
arg_renderbuffer->add_intvalue(renderbuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBindRenderbuffer(target, renderbuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -211,11 +235,15 @@
arg_texture->add_intvalue(texture);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBindTexture(target, texture);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -250,11 +278,15 @@
arg_alpha->add_floatvalue(alpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBlendColor(red, green, blue, alpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -271,11 +303,15 @@
arg_mode->add_intvalue((int)mode);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBlendEquation(mode);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -298,11 +334,15 @@
arg_modeAlpha->add_intvalue((int)modeAlpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBlendEquationSeparate(modeRGB, modeAlpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -325,11 +365,15 @@
arg_dfactor->add_intvalue((int)dfactor);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBlendFunc(sfactor, dfactor);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -364,11 +408,15 @@
arg_dstAlpha->add_intvalue((int)dstAlpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -403,11 +451,15 @@
arg_usage->add_intvalue((int)usage);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBufferData(target, size, data, usage);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -442,11 +494,15 @@
arg_data->add_intvalue((int)data);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBufferSubData(target, offset, size, data);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -463,9 +519,11 @@
arg_target->add_intvalue((int)target);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLenum retValue = glContext->hooks->gl.glCheckFramebufferStatus(target);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -473,7 +531,9 @@
rt->set_type(GLMessage::DataType::ENUM);
rt->add_intvalue((int)retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -492,11 +552,15 @@
arg_mask->add_intvalue(mask);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClear(mask);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -531,11 +595,15 @@
arg_alpha->add_floatvalue(alpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClearColor(red, green, blue, alpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -552,11 +620,15 @@
arg_depth->add_floatvalue(depth);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClearDepthf(depth);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -573,11 +645,15 @@
arg_s->add_intvalue(s);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClearStencil(s);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -612,11 +688,15 @@
arg_alpha->add_boolvalue(alpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glColorMask(red, green, blue, alpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -633,11 +713,15 @@
arg_shader->add_intvalue(shader);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCompileShader(shader);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -696,11 +780,15 @@
arg_data->add_intvalue((int)data);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -765,11 +853,15 @@
arg_data->add_intvalue((int)data);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -828,11 +920,15 @@
arg_border->add_intvalue(border);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -891,11 +987,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -906,9 +1006,11 @@
glmsg.set_function(GLMessage::glCreateProgram);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLuint retValue = glContext->hooks->gl.glCreateProgram();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -916,7 +1018,9 @@
rt->set_type(GLMessage::DataType::INT);
rt->add_intvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -935,9 +1039,11 @@
arg_type->add_intvalue((int)type);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLuint retValue = glContext->hooks->gl.glCreateShader(type);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -945,7 +1051,9 @@
rt->set_type(GLMessage::DataType::INT);
rt->add_intvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -964,11 +1072,15 @@
arg_mode->add_intvalue((int)mode);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCullFace(mode);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -991,11 +1103,15 @@
arg_buffers->add_intvalue((int)buffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteBuffers(n, buffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1018,11 +1134,15 @@
arg_framebuffers->add_intvalue((int)framebuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteFramebuffers(n, framebuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1039,11 +1159,15 @@
arg_program->add_intvalue(program);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteProgram(program);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1066,11 +1190,15 @@
arg_renderbuffers->add_intvalue((int)renderbuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteRenderbuffers(n, renderbuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1087,11 +1215,15 @@
arg_shader->add_intvalue(shader);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteShader(shader);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1114,11 +1246,15 @@
arg_textures->add_intvalue((int)textures);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteTextures(n, textures);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1135,11 +1271,15 @@
arg_func->add_intvalue((int)func);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDepthFunc(func);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1156,11 +1296,15 @@
arg_flag->add_boolvalue(flag);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDepthMask(flag);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1183,11 +1327,15 @@
arg_zFar->add_floatvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDepthRangef(zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1210,11 +1358,15 @@
arg_shader->add_intvalue(shader);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDetachShader(program, shader);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1231,11 +1383,15 @@
arg_cap->add_intvalue((int)cap);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDisable(cap);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1252,11 +1408,15 @@
arg_index->add_intvalue(index);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDisableVertexAttribArray(index);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1285,11 +1445,15 @@
arg_count->add_intvalue(count);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawArrays(mode, first, count);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1324,11 +1488,15 @@
arg_indices->add_intvalue((int)indices);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawElements(mode, count, type, indices);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1345,11 +1513,15 @@
arg_cap->add_intvalue((int)cap);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glEnable(cap);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1366,11 +1538,15 @@
arg_index->add_intvalue(index);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glEnableVertexAttribArray(index);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1381,11 +1557,15 @@
glmsg.set_function(GLMessage::glFinish);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFinish();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1396,11 +1576,15 @@
glmsg.set_function(GLMessage::glFlush);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFlush();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1435,11 +1619,15 @@
arg_renderbuffer->add_intvalue(renderbuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1480,11 +1668,15 @@
arg_level->add_intvalue(level);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFramebufferTexture2D(target, attachment, textarget, texture, level);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1501,11 +1693,15 @@
arg_mode->add_intvalue((int)mode);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFrontFace(mode);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1528,11 +1724,15 @@
arg_buffers->add_intvalue((int)buffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenBuffers(n, buffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1549,11 +1749,15 @@
arg_target->add_intvalue((int)target);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenerateMipmap(target);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1576,11 +1780,15 @@
arg_framebuffers->add_intvalue((int)framebuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenFramebuffers(n, framebuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1603,11 +1811,15 @@
arg_renderbuffers->add_intvalue((int)renderbuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenRenderbuffers(n, renderbuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1630,11 +1842,15 @@
arg_textures->add_intvalue((int)textures);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenTextures(n, textures);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1687,11 +1903,15 @@
arg_name->add_intvalue((int)name);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetActiveAttrib(program, index, bufsize, length, size, type, name);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1744,11 +1964,15 @@
arg_name->add_intvalue((int)name);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetActiveUniform(program, index, bufsize, length, size, type, name);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1783,11 +2007,15 @@
arg_shaders->add_intvalue((int)shaders);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetAttachedShaders(program, maxcount, count, shaders);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1810,9 +2038,11 @@
arg_name->add_intvalue((int)name);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
int retValue = glContext->hooks->gl.glGetAttribLocation(program, name);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -1820,7 +2050,9 @@
rt->set_type(GLMessage::DataType::INT);
rt->add_intvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -1845,11 +2077,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetBooleanv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1878,11 +2114,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetBufferParameteriv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1893,9 +2133,11 @@
glmsg.set_function(GLMessage::glGetError);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLenum retValue = glContext->hooks->gl.glGetError();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -1903,7 +2145,9 @@
rt->set_type(GLMessage::DataType::ENUM);
rt->add_intvalue((int)retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -1928,11 +2172,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetFloatv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1967,11 +2215,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -1994,11 +2246,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetIntegerv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2027,11 +2283,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetProgramiv(program, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2066,11 +2326,15 @@
arg_infolog->add_intvalue((int)infolog);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetProgramInfoLog(program, bufsize, length, infolog);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2099,11 +2363,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetRenderbufferParameteriv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2132,11 +2400,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetShaderiv(shader, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2171,11 +2443,15 @@
arg_infolog->add_intvalue((int)infolog);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetShaderInfoLog(shader, bufsize, length, infolog);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2210,11 +2486,15 @@
arg_precision->add_intvalue((int)precision);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2249,11 +2529,15 @@
arg_source->add_intvalue((int)source);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetShaderSource(shader, bufsize, length, source);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2270,9 +2554,11 @@
arg_name->add_intvalue((int)name);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
const GLubyte* retValue = glContext->hooks->gl.glGetString(name);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -2280,7 +2566,9 @@
rt->set_type(GLMessage::DataType::INT);
rt->add_intvalue((int)retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -2311,11 +2599,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexParameterfv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2344,11 +2636,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexParameteriv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2377,11 +2673,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetUniformfv(program, location, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2410,11 +2710,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetUniformiv(program, location, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2437,9 +2741,11 @@
arg_name->add_intvalue((int)name);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
int retValue = glContext->hooks->gl.glGetUniformLocation(program, name);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -2447,7 +2753,9 @@
rt->set_type(GLMessage::DataType::INT);
rt->add_intvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -2478,11 +2786,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetVertexAttribfv(index, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2511,11 +2823,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetVertexAttribiv(index, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2544,11 +2860,15 @@
arg_pointer->add_intvalue((int)pointer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetVertexAttribPointerv(index, pname, pointer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2571,11 +2891,15 @@
arg_mode->add_intvalue((int)mode);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glHint(target, mode);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2592,9 +2916,11 @@
arg_buffer->add_intvalue(buffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsBuffer(buffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -2602,7 +2928,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -2621,9 +2949,11 @@
arg_cap->add_intvalue((int)cap);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsEnabled(cap);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -2631,7 +2961,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -2650,9 +2982,11 @@
arg_framebuffer->add_intvalue(framebuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsFramebuffer(framebuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -2660,7 +2994,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -2679,9 +3015,11 @@
arg_program->add_intvalue(program);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsProgram(program);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -2689,7 +3027,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -2708,9 +3048,11 @@
arg_renderbuffer->add_intvalue(renderbuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsRenderbuffer(renderbuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -2718,7 +3060,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -2737,9 +3081,11 @@
arg_shader->add_intvalue(shader);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsShader(shader);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -2747,7 +3093,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -2766,9 +3114,11 @@
arg_texture->add_intvalue(texture);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsTexture(texture);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -2776,7 +3126,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -2795,11 +3147,15 @@
arg_width->add_floatvalue(width);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLineWidth(width);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2816,11 +3172,15 @@
arg_program->add_intvalue(program);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLinkProgram(program);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2843,11 +3203,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPixelStorei(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2870,11 +3234,15 @@
arg_units->add_floatvalue(units);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPolygonOffset(factor, units);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2927,11 +3295,15 @@
arg_pixels->add_intvalue((int)pixels);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glReadPixels(x, y, width, height, format, type, pixels);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2942,11 +3314,15 @@
glmsg.set_function(GLMessage::glReleaseShaderCompiler);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glReleaseShaderCompiler();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -2981,11 +3357,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glRenderbufferStorage(target, internalformat, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3008,11 +3388,15 @@
arg_invert->add_boolvalue(invert);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glSampleCoverage(value, invert);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3047,11 +3431,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glScissor(x, y, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3092,11 +3480,15 @@
arg_length->add_intvalue(length);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glShaderBinary(n, shaders, binaryformat, binary, length);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3131,11 +3523,15 @@
arg_length->add_intvalue((int)length);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glShaderSource(shader, count, string, length);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3164,11 +3560,15 @@
arg_mask->add_intvalue(mask);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glStencilFunc(func, ref, mask);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3203,11 +3603,15 @@
arg_mask->add_intvalue(mask);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glStencilFuncSeparate(face, func, ref, mask);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3224,11 +3628,15 @@
arg_mask->add_intvalue(mask);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glStencilMask(mask);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3251,11 +3659,15 @@
arg_mask->add_intvalue(mask);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glStencilMaskSeparate(face, mask);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3284,11 +3696,15 @@
arg_zpass->add_intvalue((int)zpass);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glStencilOp(fail, zfail, zpass);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3323,11 +3739,15 @@
arg_zpass->add_intvalue((int)zpass);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glStencilOpSeparate(face, fail, zfail, zpass);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3392,11 +3812,15 @@
arg_pixels->add_intvalue((int)pixels);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3425,11 +3849,15 @@
arg_param->add_floatvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexParameterf(target, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3458,11 +3886,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexParameterfv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3491,11 +3923,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexParameteri(target, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3524,11 +3960,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexParameteriv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3593,11 +4033,15 @@
arg_pixels->add_intvalue((int)pixels);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3620,11 +4064,15 @@
arg_x->add_floatvalue(x);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform1f(location, x);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3653,11 +4101,15 @@
arg_v->add_intvalue((int)v);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform1fv(location, count, v);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3680,11 +4132,15 @@
arg_x->add_intvalue(x);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform1i(location, x);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3713,11 +4169,15 @@
arg_v->add_intvalue((int)v);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform1iv(location, count, v);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3746,11 +4206,15 @@
arg_y->add_floatvalue(y);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform2f(location, x, y);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3779,11 +4243,15 @@
arg_v->add_intvalue((int)v);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform2fv(location, count, v);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3812,11 +4280,15 @@
arg_y->add_intvalue(y);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform2i(location, x, y);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3845,11 +4317,15 @@
arg_v->add_intvalue((int)v);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform2iv(location, count, v);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3884,11 +4360,15 @@
arg_z->add_floatvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform3f(location, x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3917,11 +4397,15 @@
arg_v->add_intvalue((int)v);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform3fv(location, count, v);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3956,11 +4440,15 @@
arg_z->add_intvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform3i(location, x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -3989,11 +4477,15 @@
arg_v->add_intvalue((int)v);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform3iv(location, count, v);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4034,11 +4526,15 @@
arg_w->add_floatvalue(w);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform4f(location, x, y, z, w);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4067,11 +4563,15 @@
arg_v->add_intvalue((int)v);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform4fv(location, count, v);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4112,11 +4612,15 @@
arg_w->add_intvalue(w);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform4i(location, x, y, z, w);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4145,11 +4649,15 @@
arg_v->add_intvalue((int)v);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniform4iv(location, count, v);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4184,11 +4692,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniformMatrix2fv(location, count, transpose, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4223,11 +4735,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniformMatrix3fv(location, count, transpose, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4262,11 +4778,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUniformMatrix4fv(location, count, transpose, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4283,11 +4803,15 @@
arg_program->add_intvalue(program);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUseProgram(program);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4304,11 +4828,15 @@
arg_program->add_intvalue(program);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glValidateProgram(program);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4331,11 +4859,15 @@
arg_x->add_floatvalue(x);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexAttrib1f(indx, x);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4358,11 +4890,15 @@
arg_values->add_intvalue((int)values);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexAttrib1fv(indx, values);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4391,11 +4927,15 @@
arg_y->add_floatvalue(y);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexAttrib2f(indx, x, y);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4418,11 +4958,15 @@
arg_values->add_intvalue((int)values);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexAttrib2fv(indx, values);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4457,11 +5001,15 @@
arg_z->add_floatvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexAttrib3f(indx, x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4484,11 +5032,15 @@
arg_values->add_intvalue((int)values);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexAttrib3fv(indx, values);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4529,11 +5081,15 @@
arg_w->add_floatvalue(w);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexAttrib4f(indx, x, y, z, w);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4556,11 +5112,15 @@
arg_values->add_intvalue((int)values);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexAttrib4fv(indx, values);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4607,11 +5167,15 @@
arg_ptr->add_intvalue((int)ptr);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexAttribPointer(indx, size, type, normalized, stride, ptr);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4646,11 +5210,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glViewport(x, y, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4676,11 +5244,15 @@
arg_image->add_intvalue((int)image);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glEGLImageTargetTexture2DOES(target, image);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4703,11 +5275,15 @@
arg_image->add_intvalue((int)image);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glEGLImageTargetRenderbufferStorageOES(target, image);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4748,11 +5324,15 @@
arg_binary->add_intvalue((int)binary);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetProgramBinaryOES(program, bufSize, length, binaryFormat, binary);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4787,11 +5367,15 @@
arg_length->add_intvalue(length);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramBinaryOES(program, binaryFormat, binary, length);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4814,9 +5398,11 @@
arg_access->add_intvalue((int)access);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
void* retValue = glContext->hooks->gl.glMapBufferOES(target, access);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -4824,7 +5410,9 @@
rt->set_type(GLMessage::DataType::INT);
rt->add_intvalue((int)retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -4843,9 +5431,11 @@
arg_target->add_intvalue((int)target);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glUnmapBufferOES(target);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -4853,7 +5443,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -4884,11 +5476,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetBufferPointervOES(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -4959,11 +5555,15 @@
arg_pixels->add_intvalue((int)pixels);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5040,11 +5640,15 @@
arg_pixels->add_intvalue((int)pixels);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5109,11 +5713,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5178,11 +5786,15 @@
arg_data->add_intvalue((int)data);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5259,11 +5871,15 @@
arg_data->add_intvalue((int)data);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5310,11 +5926,15 @@
arg_zoffset->add_intvalue(zoffset);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5331,11 +5951,15 @@
arg_array->add_intvalue(array);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBindVertexArrayOES(array);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5358,11 +5982,15 @@
arg_arrays->add_intvalue((int)arrays);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteVertexArraysOES(n, arrays);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5385,11 +6013,15 @@
arg_arrays->add_intvalue((int)arrays);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenVertexArraysOES(n, arrays);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5406,9 +6038,11 @@
arg_array->add_intvalue(array);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsVertexArrayOES(array);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -5416,7 +6050,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -5447,11 +6083,15 @@
arg_groups->add_intvalue((int)groups);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5492,11 +6132,15 @@
arg_counters->add_intvalue((int)counters);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5531,11 +6175,15 @@
arg_groupString->add_intvalue((int)groupString);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5576,11 +6224,15 @@
arg_counterString->add_intvalue((int)counterString);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5615,11 +6267,15 @@
arg_data->add_intvalue((int)data);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetPerfMonitorCounterInfoAMD(group, counter, pname, data);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5642,11 +6298,15 @@
arg_monitors->add_intvalue((int)monitors);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenPerfMonitorsAMD(n, monitors);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5669,11 +6329,15 @@
arg_monitors->add_intvalue((int)monitors);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeletePerfMonitorsAMD(n, monitors);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5714,11 +6378,15 @@
arg_countersList->add_intvalue((int)countersList);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, countersList);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5735,11 +6403,15 @@
arg_monitor->add_intvalue(monitor);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBeginPerfMonitorAMD(monitor);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5756,11 +6428,15 @@
arg_monitor->add_intvalue(monitor);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glEndPerfMonitorAMD(monitor);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5801,11 +6477,15 @@
arg_bytesWritten->add_intvalue((int)bytesWritten);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5876,11 +6556,15 @@
arg_filter->add_intvalue((int)filter);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5921,11 +6605,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5966,11 +6654,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glRenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -5981,11 +6673,15 @@
glmsg.set_function(GLMessage::glResolveMultisampleFramebufferAPPLE);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glResolveMultisampleFramebufferAPPLE();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6020,11 +6716,15 @@
arg_label->add_intvalue((int)label);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLabelObjectEXT(type, object, length, label);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6065,11 +6765,15 @@
arg_label->add_intvalue((int)label);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetObjectLabelEXT(type, object, bufSize, length, label);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6092,11 +6796,15 @@
arg_marker->add_intvalue((int)marker);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glInsertEventMarkerEXT(length, marker);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6119,11 +6827,15 @@
arg_marker->add_intvalue((int)marker);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPushGroupMarkerEXT(length, marker);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6134,11 +6846,15 @@
glmsg.set_function(GLMessage::glPopGroupMarkerEXT);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPopGroupMarkerEXT();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6167,11 +6883,15 @@
arg_attachments->add_intvalue((int)attachments);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDiscardFramebufferEXT(target, numAttachments, attachments);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6212,11 +6932,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6263,11 +6987,15 @@
arg_samples->add_intvalue(samples);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6302,11 +7030,15 @@
arg_primcount->add_intvalue(primcount);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMultiDrawArraysEXT(mode, first, count, primcount);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6347,11 +7079,15 @@
arg_primcount->add_intvalue(primcount);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMultiDrawElementsEXT(mode, count, type, indices, primcount);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6374,11 +7110,15 @@
arg_ids->add_intvalue((int)ids);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenQueriesEXT(n, ids);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6401,11 +7141,15 @@
arg_ids->add_intvalue((int)ids);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteQueriesEXT(n, ids);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6422,9 +7166,11 @@
arg_id->add_intvalue(id);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsQueryEXT(id);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -6432,7 +7178,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -6457,11 +7205,15 @@
arg_id->add_intvalue(id);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBeginQueryEXT(target, id);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6478,11 +7230,15 @@
arg_target->add_intvalue((int)target);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glEndQueryEXT(target);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6511,11 +7267,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetQueryivEXT(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6544,11 +7304,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetQueryObjectuivEXT(id, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6559,9 +7323,11 @@
glmsg.set_function(GLMessage::glGetGraphicsResetStatusEXT);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLenum retValue = glContext->hooks->gl.glGetGraphicsResetStatusEXT();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -6569,7 +7335,9 @@
rt->set_type(GLMessage::DataType::ENUM);
rt->add_intvalue((int)retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -6630,11 +7398,15 @@
arg_data->add_intvalue((int)data);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glReadnPixelsEXT(x, y, width, height, format, type, bufSize, data);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6669,11 +7441,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetnUniformfvEXT(program, location, bufSize, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6708,11 +7484,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetnUniformivEXT(program, location, bufSize, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6741,11 +7521,15 @@
arg_program->add_intvalue(program);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glUseProgramStagesEXT(pipeline, stages, program);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6768,11 +7552,15 @@
arg_program->add_intvalue(program);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glActiveShaderProgramEXT(pipeline, program);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6801,9 +7589,11 @@
arg_strings->add_intvalue((int)strings);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLuint retValue = glContext->hooks->gl.glCreateShaderProgramvEXT(type, count, strings);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -6811,7 +7601,9 @@
rt->set_type(GLMessage::DataType::INT);
rt->add_intvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -6830,11 +7622,15 @@
arg_pipeline->add_intvalue(pipeline);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBindProgramPipelineEXT(pipeline);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6857,11 +7653,15 @@
arg_pipelines->add_intvalue((int)pipelines);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteProgramPipelinesEXT(n, pipelines);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6884,11 +7684,15 @@
arg_pipelines->add_intvalue((int)pipelines);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenProgramPipelinesEXT(n, pipelines);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6905,9 +7709,11 @@
arg_pipeline->add_intvalue(pipeline);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsProgramPipelineEXT(pipeline);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -6915,7 +7721,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -6946,11 +7754,15 @@
arg_value->add_intvalue(value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramParameteriEXT(program, pname, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -6979,11 +7791,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetProgramPipelineivEXT(pipeline, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7012,11 +7828,15 @@
arg_x->add_intvalue(x);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform1iEXT(program, location, x);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7051,11 +7871,15 @@
arg_y->add_intvalue(y);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform2iEXT(program, location, x, y);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7096,11 +7920,15 @@
arg_z->add_intvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform3iEXT(program, location, x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7147,11 +7975,15 @@
arg_w->add_intvalue(w);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform4iEXT(program, location, x, y, z, w);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7180,11 +8012,15 @@
arg_x->add_floatvalue(x);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform1fEXT(program, location, x);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7219,11 +8055,15 @@
arg_y->add_floatvalue(y);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform2fEXT(program, location, x, y);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7264,11 +8104,15 @@
arg_z->add_floatvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform3fEXT(program, location, x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7315,11 +8159,15 @@
arg_w->add_floatvalue(w);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform4fEXT(program, location, x, y, z, w);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7354,11 +8202,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform1ivEXT(program, location, count, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7393,11 +8245,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform2ivEXT(program, location, count, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7432,11 +8288,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform3ivEXT(program, location, count, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7471,11 +8331,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform4ivEXT(program, location, count, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7510,11 +8374,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform1fvEXT(program, location, count, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7549,11 +8417,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform2fvEXT(program, location, count, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7588,11 +8460,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform3fvEXT(program, location, count, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7627,11 +8503,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniform4fvEXT(program, location, count, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7672,11 +8552,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniformMatrix2fvEXT(program, location, count, transpose, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7717,11 +8601,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniformMatrix3fvEXT(program, location, count, transpose, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7762,11 +8650,15 @@
arg_value->add_intvalue((int)value);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glProgramUniformMatrix4fvEXT(program, location, count, transpose, value);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7783,11 +8675,15 @@
arg_pipeline->add_intvalue(pipeline);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glValidateProgramPipelineEXT(pipeline);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7822,11 +8718,15 @@
arg_infoLog->add_intvalue((int)infoLog);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7861,11 +8761,15 @@
arg_width->add_intvalue(width);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexStorage1DEXT(target, levels, internalformat, width);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7906,11 +8810,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexStorage2DEXT(target, levels, internalformat, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -7957,11 +8865,15 @@
arg_depth->add_intvalue(depth);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexStorage3DEXT(target, levels, internalformat, width, height, depth);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8002,11 +8914,15 @@
arg_width->add_intvalue(width);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTextureStorage1DEXT(texture, target, levels, internalformat, width);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8053,11 +8969,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTextureStorage2DEXT(texture, target, levels, internalformat, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8110,11 +9030,15 @@
arg_depth->add_intvalue(depth);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8155,11 +9079,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glRenderbufferStorageMultisampleIMG(target, samples, internalformat, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8206,11 +9134,15 @@
arg_samples->add_intvalue(samples);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level, samples);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8227,11 +9159,15 @@
arg_mask->add_boolvalue(mask);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCoverageMaskNV(mask);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8248,11 +9184,15 @@
arg_operation->add_intvalue((int)operation);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCoverageOperationNV(operation);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8275,11 +9215,15 @@
arg_bufs->add_intvalue((int)bufs);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawBuffersNV(n, bufs);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8302,11 +9246,15 @@
arg_fences->add_intvalue((int)fences);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteFencesNV(n, fences);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8329,11 +9277,15 @@
arg_fences->add_intvalue((int)fences);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenFencesNV(n, fences);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8350,9 +9302,11 @@
arg_fence->add_intvalue(fence);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsFenceNV(fence);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -8360,7 +9314,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -8379,9 +9335,11 @@
arg_fence->add_intvalue(fence);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glTestFenceNV(fence);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -8389,7 +9347,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -8420,11 +9380,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetFenceivNV(fence, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8441,11 +9405,15 @@
arg_fence->add_intvalue(fence);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFinishFenceNV(fence);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8468,11 +9436,15 @@
arg_condition->add_intvalue((int)condition);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glSetFenceNV(fence, condition);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8489,11 +9461,15 @@
arg_mode->add_intvalue((int)mode);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glReadBufferNV(mode);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8516,11 +9492,15 @@
arg_ref->add_floatvalue(ref);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glAlphaFuncQCOM(func, ref);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8549,11 +9529,15 @@
arg_driverControls->add_intvalue((int)driverControls);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetDriverControlsQCOM(num, size, driverControls);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8588,11 +9572,15 @@
arg_driverControlString->add_intvalue((int)driverControlString);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8609,11 +9597,15 @@
arg_driverControl->add_intvalue(driverControl);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glEnableDriverControlQCOM(driverControl);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8630,11 +9622,15 @@
arg_driverControl->add_intvalue(driverControl);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDisableDriverControlQCOM(driverControl);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8663,11 +9659,15 @@
arg_numTextures->add_intvalue((int)numTextures);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetTexturesQCOM(textures, maxTextures, numTextures);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8696,11 +9696,15 @@
arg_numBuffers->add_intvalue((int)numBuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetBuffersQCOM(buffers, maxBuffers, numBuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8729,11 +9733,15 @@
arg_numRenderbuffers->add_intvalue((int)numRenderbuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8762,11 +9770,15 @@
arg_numFramebuffers->add_intvalue((int)numFramebuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8807,11 +9819,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetTexLevelParameterivQCOM(texture, face, level, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8840,11 +9856,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtTexObjectStateOverrideiQCOM(target, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8921,11 +9941,15 @@
arg_texels->add_intvalue((int)texels);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8948,11 +9972,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetBufferPointervQCOM(target, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -8981,11 +10009,15 @@
arg_numShaders->add_intvalue((int)numShaders);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetShadersQCOM(shaders, maxShaders, numShaders);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9014,11 +10046,15 @@
arg_numPrograms->add_intvalue((int)numPrograms);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetProgramsQCOM(programs, maxPrograms, numPrograms);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9035,9 +10071,11 @@
arg_program->add_intvalue(program);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glExtIsProgramBinaryQCOM(program);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -9045,7 +10083,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -9082,11 +10122,15 @@
arg_length->add_intvalue((int)length);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glExtGetProgramBinarySourceQCOM(program, shadertype, source, length);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9127,11 +10171,15 @@
arg_preserveMask->add_intvalue(preserveMask);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glStartTilingQCOM(x, y, width, height, preserveMask);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9148,11 +10196,15 @@
arg_preserveMask->add_intvalue(preserveMask);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glEndTilingQCOM(preserveMask);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9178,11 +10230,15 @@
arg_ref->add_floatvalue(ref);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glAlphaFunc(func, ref);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9205,11 +10261,15 @@
arg_equation->add_intvalue((int)equation);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClipPlanef(plane, equation);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9244,11 +10304,15 @@
arg_alpha->add_floatvalue(alpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glColor4f(red, green, blue, alpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9271,11 +10335,15 @@
arg_param->add_floatvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFogf(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9298,11 +10366,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFogfv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9349,11 +10421,15 @@
arg_zFar->add_floatvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFrustumf(left, right, bottom, top, zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9376,11 +10452,15 @@
arg_eqn->add_intvalue((int)eqn);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetClipPlanef(pname, eqn);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9409,11 +10489,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetLightfv(light, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9442,11 +10526,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetMaterialfv(face, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9475,11 +10563,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexEnvfv(env, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9502,11 +10594,15 @@
arg_param->add_floatvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightModelf(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9529,11 +10625,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightModelfv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9562,11 +10662,15 @@
arg_param->add_floatvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightf(light, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9595,11 +10699,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightfv(light, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9616,11 +10724,15 @@
arg_m->add_intvalue((int)m);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLoadMatrixf(m);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9649,11 +10761,15 @@
arg_param->add_floatvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMaterialf(face, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9682,11 +10798,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMaterialfv(face, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9703,11 +10823,15 @@
arg_m->add_intvalue((int)m);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMultMatrixf(m);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9748,11 +10872,15 @@
arg_q->add_floatvalue(q);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMultiTexCoord4f(target, s, t, r, q);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9781,11 +10909,15 @@
arg_nz->add_floatvalue(nz);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glNormal3f(nx, ny, nz);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9832,11 +10964,15 @@
arg_zFar->add_floatvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glOrthof(left, right, bottom, top, zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9859,11 +10995,15 @@
arg_param->add_floatvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointParameterf(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9886,11 +11026,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointParameterfv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9907,11 +11051,15 @@
arg_size->add_floatvalue(size);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointSize(size);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9946,11 +11094,15 @@
arg_z->add_floatvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glRotatef(angle, x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -9979,11 +11131,15 @@
arg_z->add_floatvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glScalef(x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10012,11 +11168,15 @@
arg_param->add_floatvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexEnvf(target, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10045,11 +11205,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexEnvfv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10078,11 +11242,15 @@
arg_z->add_floatvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTranslatef(x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10105,11 +11273,15 @@
arg_ref->add_intvalue(ref);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glAlphaFuncx(func, ref);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10144,11 +11316,15 @@
arg_alpha->add_intvalue(alpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClearColorx(red, green, blue, alpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10165,11 +11341,15 @@
arg_depth->add_intvalue(depth);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClearDepthx(depth);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10186,11 +11366,15 @@
arg_texture->add_intvalue((int)texture);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClientActiveTexture(texture);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10213,11 +11397,15 @@
arg_equation->add_intvalue((int)equation);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClipPlanex(plane, equation);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10252,11 +11440,15 @@
arg_alpha->add_intvalue((int)alpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glColor4ub(red, green, blue, alpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10291,11 +11483,15 @@
arg_alpha->add_intvalue(alpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glColor4x(red, green, blue, alpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10330,11 +11526,15 @@
arg_pointer->add_intvalue((int)pointer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glColorPointer(size, type, stride, pointer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10357,11 +11557,15 @@
arg_zFar->add_intvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDepthRangex(zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10378,11 +11582,15 @@
arg_array->add_intvalue((int)array);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDisableClientState(array);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10399,11 +11607,15 @@
arg_array->add_intvalue((int)array);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glEnableClientState(array);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10426,11 +11638,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFogx(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10453,11 +11669,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFogxv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10504,11 +11724,15 @@
arg_zFar->add_intvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFrustumx(left, right, bottom, top, zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10531,11 +11755,15 @@
arg_eqn->add_intvalue((int)eqn);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetClipPlanex(pname, eqn);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10558,11 +11786,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetFixedv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10591,11 +11823,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetLightxv(light, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10624,11 +11860,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetMaterialxv(face, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10651,11 +11891,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetPointerv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10684,11 +11928,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexEnviv(env, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10717,11 +11965,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexEnvxv(env, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10750,11 +12002,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexParameterxv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10777,11 +12033,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightModelx(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10804,11 +12064,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightModelxv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10837,11 +12101,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightx(light, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10870,11 +12138,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightxv(light, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10891,11 +12163,15 @@
arg_width->add_intvalue(width);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLineWidthx(width);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10906,11 +12182,15 @@
glmsg.set_function(GLMessage::glLoadIdentity);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLoadIdentity();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10927,11 +12207,15 @@
arg_m->add_intvalue((int)m);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLoadMatrixx(m);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10948,11 +12232,15 @@
arg_opcode->add_intvalue((int)opcode);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLogicOp(opcode);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -10981,11 +12269,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMaterialx(face, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11014,11 +12306,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMaterialxv(face, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11035,11 +12331,15 @@
arg_mode->add_intvalue((int)mode);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMatrixMode(mode);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11056,11 +12356,15 @@
arg_m->add_intvalue((int)m);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMultMatrixx(m);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11101,11 +12405,15 @@
arg_q->add_intvalue(q);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMultiTexCoord4x(target, s, t, r, q);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11134,11 +12442,15 @@
arg_nz->add_intvalue(nz);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glNormal3x(nx, ny, nz);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11167,11 +12479,15 @@
arg_pointer->add_intvalue((int)pointer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glNormalPointer(type, stride, pointer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11218,11 +12534,15 @@
arg_zFar->add_intvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glOrthox(left, right, bottom, top, zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11245,11 +12565,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointParameterx(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11272,11 +12596,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointParameterxv(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11293,11 +12621,15 @@
arg_size->add_intvalue(size);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointSizex(size);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11320,11 +12652,15 @@
arg_units->add_intvalue(units);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPolygonOffsetx(factor, units);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11335,11 +12671,15 @@
glmsg.set_function(GLMessage::glPopMatrix);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPopMatrix();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11350,11 +12690,15 @@
glmsg.set_function(GLMessage::glPushMatrix);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPushMatrix();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11389,11 +12733,15 @@
arg_z->add_intvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glRotatex(angle, x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11416,11 +12764,15 @@
arg_invert->add_boolvalue(invert);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glSampleCoveragex(value, invert);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11449,11 +12801,15 @@
arg_z->add_intvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glScalex(x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11470,11 +12826,15 @@
arg_mode->add_intvalue((int)mode);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glShadeModel(mode);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11509,11 +12869,15 @@
arg_pointer->add_intvalue((int)pointer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexCoordPointer(size, type, stride, pointer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11542,11 +12906,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexEnvi(target, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11575,11 +12943,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexEnvx(target, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11608,11 +12980,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexEnviv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11641,11 +13017,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexEnvxv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11674,11 +13054,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexParameterx(target, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11707,11 +13091,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexParameterxv(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11740,11 +13128,15 @@
arg_z->add_intvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTranslatex(x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11779,11 +13171,15 @@
arg_pointer->add_intvalue((int)pointer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glVertexPointer(size, type, stride, pointer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11812,11 +13208,15 @@
arg_pointer->add_intvalue((int)pointer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointSizePointerOES(type, stride, pointer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11842,11 +13242,15 @@
arg_modeAlpha->add_intvalue((int)modeAlpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBlendEquationSeparateOES(modeRGB, modeAlpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11881,11 +13285,15 @@
arg_dstAlpha->add_intvalue((int)dstAlpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBlendFuncSeparateOES(srcRGB, dstRGB, srcAlpha, dstAlpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11902,11 +13310,15 @@
arg_mode->add_intvalue((int)mode);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBlendEquationOES(mode);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11947,11 +13359,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawTexsOES(x, y, z, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -11992,11 +13408,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawTexiOES(x, y, z, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12037,11 +13457,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawTexxOES(x, y, z, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12058,11 +13482,15 @@
arg_coords->add_intvalue((int)coords);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawTexsvOES(coords);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12079,11 +13507,15 @@
arg_coords->add_intvalue((int)coords);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawTexivOES(coords);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12100,11 +13532,15 @@
arg_coords->add_intvalue((int)coords);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawTexxvOES(coords);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12145,11 +13581,15 @@
arg_height->add_floatvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawTexfOES(x, y, z, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12166,11 +13606,15 @@
arg_coords->add_intvalue((int)coords);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDrawTexfvOES(coords);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12193,11 +13637,15 @@
arg_ref->add_intvalue(ref);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glAlphaFuncxOES(func, ref);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12232,11 +13680,15 @@
arg_alpha->add_intvalue(alpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClearColorxOES(red, green, blue, alpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12253,11 +13705,15 @@
arg_depth->add_intvalue(depth);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClearDepthxOES(depth);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12280,11 +13736,15 @@
arg_equation->add_intvalue((int)equation);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClipPlanexOES(plane, equation);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12319,11 +13779,15 @@
arg_alpha->add_intvalue(alpha);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glColor4xOES(red, green, blue, alpha);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12346,11 +13810,15 @@
arg_zFar->add_intvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDepthRangexOES(zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12373,11 +13841,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFogxOES(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12400,11 +13872,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFogxvOES(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12451,11 +13927,15 @@
arg_zFar->add_intvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFrustumxOES(left, right, bottom, top, zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12478,11 +13958,15 @@
arg_eqn->add_intvalue((int)eqn);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetClipPlanexOES(pname, eqn);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12505,11 +13989,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetFixedvOES(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12538,11 +14026,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetLightxvOES(light, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12571,11 +14063,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetMaterialxvOES(face, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12604,11 +14100,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexEnvxvOES(env, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12637,11 +14137,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexParameterxvOES(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12664,11 +14168,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightModelxOES(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12691,11 +14199,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightModelxvOES(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12724,11 +14236,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightxOES(light, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12757,11 +14273,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLightxvOES(light, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12778,11 +14298,15 @@
arg_width->add_intvalue(width);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLineWidthxOES(width);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12799,11 +14323,15 @@
arg_m->add_intvalue((int)m);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLoadMatrixxOES(m);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12832,11 +14360,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMaterialxOES(face, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12865,11 +14397,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMaterialxvOES(face, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12886,11 +14422,15 @@
arg_m->add_intvalue((int)m);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMultMatrixxOES(m);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12931,11 +14471,15 @@
arg_q->add_intvalue(q);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMultiTexCoord4xOES(target, s, t, r, q);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -12964,11 +14508,15 @@
arg_nz->add_intvalue(nz);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glNormal3xOES(nx, ny, nz);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13015,11 +14563,15 @@
arg_zFar->add_intvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glOrthoxOES(left, right, bottom, top, zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13042,11 +14594,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointParameterxOES(pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13069,11 +14625,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointParameterxvOES(pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13090,11 +14650,15 @@
arg_size->add_intvalue(size);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPointSizexOES(size);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13117,11 +14681,15 @@
arg_units->add_intvalue(units);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glPolygonOffsetxOES(factor, units);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13156,11 +14724,15 @@
arg_z->add_intvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glRotatexOES(angle, x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13183,11 +14755,15 @@
arg_invert->add_boolvalue(invert);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glSampleCoveragexOES(value, invert);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13216,11 +14792,15 @@
arg_z->add_intvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glScalexOES(x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13249,11 +14829,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexEnvxOES(target, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13282,11 +14866,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexEnvxvOES(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13315,11 +14903,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexParameterxOES(target, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13348,11 +14940,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexParameterxvOES(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13381,11 +14977,15 @@
arg_z->add_intvalue(z);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTranslatexOES(x, y, z);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13402,9 +15002,11 @@
arg_renderbuffer->add_intvalue(renderbuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsRenderbufferOES(renderbuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -13412,7 +15014,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -13437,11 +15041,15 @@
arg_renderbuffer->add_intvalue(renderbuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBindRenderbufferOES(target, renderbuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13464,11 +15072,15 @@
arg_renderbuffers->add_intvalue((int)renderbuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteRenderbuffersOES(n, renderbuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13491,11 +15103,15 @@
arg_renderbuffers->add_intvalue((int)renderbuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenRenderbuffersOES(n, renderbuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13530,11 +15146,15 @@
arg_height->add_intvalue(height);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glRenderbufferStorageOES(target, internalformat, width, height);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13563,11 +15183,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetRenderbufferParameterivOES(target, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13584,9 +15208,11 @@
arg_framebuffer->add_intvalue(framebuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLboolean retValue = glContext->hooks->gl.glIsFramebufferOES(framebuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -13594,7 +15220,9 @@
rt->set_type(GLMessage::DataType::BOOL);
rt->add_boolvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -13619,11 +15247,15 @@
arg_framebuffer->add_intvalue(framebuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glBindFramebufferOES(target, framebuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13646,11 +15278,15 @@
arg_framebuffers->add_intvalue((int)framebuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDeleteFramebuffersOES(n, framebuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13673,11 +15309,15 @@
arg_framebuffers->add_intvalue((int)framebuffers);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenFramebuffersOES(n, framebuffers);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13694,9 +15334,11 @@
arg_target->add_intvalue((int)target);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLenum retValue = glContext->hooks->gl.glCheckFramebufferStatusOES(target);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -13704,7 +15346,9 @@
rt->set_type(GLMessage::DataType::ENUM);
rt->add_intvalue((int)retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -13741,11 +15385,15 @@
arg_renderbuffer->add_intvalue(renderbuffer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13786,11 +15434,15 @@
arg_level->add_intvalue(level);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFramebufferTexture2DOES(target, attachment, textarget, texture, level);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13825,11 +15477,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13846,11 +15502,15 @@
arg_target->add_intvalue((int)target);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGenerateMipmapOES(target);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13867,11 +15527,15 @@
arg_matrixpaletteindex->add_intvalue(matrixpaletteindex);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glCurrentPaletteMatrixOES(matrixpaletteindex);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13882,11 +15546,15 @@
glmsg.set_function(GLMessage::glLoadPaletteFromModelViewMatrixOES);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glLoadPaletteFromModelViewMatrixOES();
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13921,11 +15589,15 @@
arg_pointer->add_intvalue((int)pointer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glMatrixIndexPointerOES(size, type, stride, pointer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13960,11 +15632,15 @@
arg_pointer->add_intvalue((int)pointer);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glWeightPointerOES(size, type, stride, pointer);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -13987,9 +15663,11 @@
arg_exponent->add_intvalue((int)exponent);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
GLbitfield retValue = glContext->hooks->gl.glQueryMatrixxOES(mantissa, exponent);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
// set return value
GLMessage_DataType *rt = glmsg.mutable_returnvalue();
@@ -13997,7 +15675,9 @@
rt->set_type(GLMessage::DataType::INT);
rt->add_intvalue(retValue);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
return retValue;
@@ -14022,11 +15702,15 @@
arg_zFar->add_floatvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glDepthRangefOES(zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14073,11 +15757,15 @@
arg_zFar->add_floatvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glFrustumfOES(left, right, bottom, top, zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14124,11 +15812,15 @@
arg_zFar->add_floatvalue(zFar);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glOrthofOES(left, right, bottom, top, zNear, zFar);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14151,11 +15843,15 @@
arg_equation->add_intvalue((int)equation);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClipPlanefOES(plane, equation);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14178,11 +15874,15 @@
arg_eqn->add_intvalue((int)eqn);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetClipPlanefOES(pname, eqn);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14199,11 +15899,15 @@
arg_depth->add_floatvalue(depth);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClearDepthfOES(depth);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14232,11 +15936,15 @@
arg_param->add_floatvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexGenfOES(coord, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14265,11 +15973,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexGenfvOES(coord, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14298,11 +16010,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexGeniOES(coord, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14331,11 +16047,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexGenivOES(coord, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14364,11 +16084,15 @@
arg_param->add_intvalue(param);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexGenxOES(coord, pname, param);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14397,11 +16121,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glTexGenxvOES(coord, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14430,11 +16158,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexGenfvOES(coord, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14463,11 +16195,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexGenivOES(coord, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14496,11 +16232,15 @@
arg_params->add_intvalue((int)params);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glGetTexGenxvOES(coord, pname, params);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14523,11 +16263,15 @@
arg_eqn->add_intvalue((int)eqn);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClipPlanefIMG(p, eqn);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
@@ -14550,11 +16294,15 @@
arg_eqn->add_intvalue((int)eqn);
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
glContext->hooks->gl.glClipPlanexIMG(p, eqn);
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
}
diff --git a/opengl/libs/GLES_trace/src/gltrace_fixup.cpp b/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
index 3e185bc..6c4feb5 100644
--- a/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
+++ b/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
@@ -379,13 +379,16 @@
arg_location->add_intvalue(location);
}
-void fixupGLMessage(GLTraceContext *context, nsecs_t start, nsecs_t end, GLMessage *glmsg) {
+void fixupGLMessage(GLTraceContext *context, nsecs_t wallStart, nsecs_t wallEnd,
+ nsecs_t threadStart, nsecs_t threadEnd,
+ GLMessage *glmsg) {
// for all messages, set the current context id
glmsg->set_context_id(context->getId());
// set start time and duration
- glmsg->set_start_time(start);
- glmsg->set_duration((unsigned)(end - start));
+ glmsg->set_start_time(wallStart);
+ glmsg->set_duration((unsigned)(wallEnd - wallStart));
+ glmsg->set_threadtime((unsigned)(threadEnd - threadStart));
// do any custom message dependent processing
switch (glmsg->function()) {
diff --git a/opengl/libs/GLES_trace/src/gltrace_fixup.h b/opengl/libs/GLES_trace/src/gltrace_fixup.h
index 64f7545..f63b056 100644
--- a/opengl/libs/GLES_trace/src/gltrace_fixup.h
+++ b/opengl/libs/GLES_trace/src/gltrace_fixup.h
@@ -25,7 +25,9 @@
namespace android {
namespace gltrace {
-void fixupGLMessage(GLTraceContext *curContext, nsecs_t start, nsecs_t end, GLMessage *message);
+void fixupGLMessage(GLTraceContext *curContext, nsecs_t wallStart, nsecs_t wallEnd,
+ nsecs_t threadStart, nsecs_t threadEnd,
+ GLMessage *message);
void fixup_addFBContents(GLTraceContext *curContext, GLMessage *message, FBBinding fbToRead);
};
diff --git a/opengl/libs/GLES_trace/tools/genapi.py b/opengl/libs/GLES_trace/tools/genapi.py
index 557e407..e1660be 100755
--- a/opengl/libs/GLES_trace/tools/genapi.py
+++ b/opengl/libs/GLES_trace/tools/genapi.py
@@ -162,13 +162,15 @@
<!--(end)-->
// call function
- nsecs_t start_time = systemTime();
+ nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
<!--(if retType != "void")-->
$!retType!$ retValue = glContext->hooks->gl.$!callsite!$;
<!--(else)-->
glContext->hooks->gl.$!callsite!$;
<!--(end)-->
- nsecs_t end_time = systemTime();
+ nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
+ nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
<!--(if retType != "void")-->
// set return value
@@ -178,7 +180,9 @@
rt->$!retDataType.getProtobufCall()!$retValue);
<!--(end)-->
- fixupGLMessage(glContext, start_time, end_time, &glmsg);
+ fixupGLMessage(glContext, wallStartTime, wallEndTime,
+ threadStartTime, threadEndTime,
+ &glmsg);
glContext->traceGLMessage(&glmsg);
<!--(if retType != "void")-->
diff --git a/services/surfaceflinger/LayerScreenshot.cpp b/services/surfaceflinger/LayerScreenshot.cpp
index c127fa6..c7cf46e 100644
--- a/services/surfaceflinger/LayerScreenshot.cpp
+++ b/services/surfaceflinger/LayerScreenshot.cpp
@@ -70,6 +70,8 @@
glBindTexture(GL_TEXTURE_2D, mTextureName);
glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
mTexCoords[0] = 0; mTexCoords[1] = v;
mTexCoords[2] = 0; mTexCoords[3] = 0;
mTexCoords[4] = u; mTexCoords[5] = 0;
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 40717f4..9e3f548 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -1922,6 +1922,8 @@
glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vtx);
@@ -2094,6 +2096,8 @@
glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vtx);
diff --git a/services/surfaceflinger/tests/resize/resize.cpp b/services/surfaceflinger/tests/resize/resize.cpp
index 56b2a8f..7f3f064 100644
--- a/services/surfaceflinger/tests/resize/resize.cpp
+++ b/services/surfaceflinger/tests/resize/resize.cpp
@@ -39,7 +39,7 @@
// create a client to surfaceflinger
sp<SurfaceComposerClient> client = new SurfaceComposerClient();
- sp<Surface> surface = client->createSurface(getpid(), 0, 160, 240,
+ sp<Surface> surface = client->createSurface(0, 160, 240,
PIXEL_FORMAT_RGB_565);
diff --git a/services/surfaceflinger/tests/surface/surface.cpp b/services/surfaceflinger/tests/surface/surface.cpp
index 8e1c3fe..9c15f9b 100644
--- a/services/surfaceflinger/tests/surface/surface.cpp
+++ b/services/surfaceflinger/tests/surface/surface.cpp
@@ -38,7 +38,7 @@
sp<SurfaceComposerClient> client = new SurfaceComposerClient();
sp<SurfaceControl> surfaceControl = client->createSurface(
- getpid(), 0, 160, 240, PIXEL_FORMAT_RGB_565);
+ 0, 160, 240, PIXEL_FORMAT_RGB_565);
SurfaceComposerClient::openGlobalTransaction();
surfaceControl->setLayer(100000);
SurfaceComposerClient::closeGlobalTransaction();