diff options
160 files changed, 4206 insertions, 2248 deletions
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp index 3545ace49179..0ab6aa38a47f 100644 --- a/cmds/bootanimation/BootAnimation.cpp +++ b/cmds/bootanimation/BootAnimation.cpp @@ -38,8 +38,8 @@ #include <ui/DisplayInfo.h> #include <ui/FramebufferNativeWindow.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/ISurfaceComposerClient.h> +#include <gui/Surface.h> +#include <gui/SurfaceComposerClient.h> #include <core/SkBitmap.h> #include <core/SkStream.h> diff --git a/cmds/bootanimation/BootAnimation.h b/cmds/bootanimation/BootAnimation.h index c85d72c1a998..62da82f134ba 100644 --- a/cmds/bootanimation/BootAnimation.h +++ b/cmds/bootanimation/BootAnimation.h @@ -23,9 +23,6 @@ #include <androidfw/AssetManager.h> #include <utils/threads.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/SurfaceComposerClient.h> - #include <EGL/egl.h> #include <GLES/gl.h> @@ -33,7 +30,9 @@ class SkBitmap; namespace android { -class AssetManager; +class Surface; +class SurfaceComposerClient; +class SurfaceControl; // --------------------------------------------------------------------------- diff --git a/cmds/bootanimation/bootanimation_main.cpp b/cmds/bootanimation/bootanimation_main.cpp index ff809d369fb3..417e138b7041 100644 --- a/cmds/bootanimation/bootanimation_main.cpp +++ b/cmds/bootanimation/bootanimation_main.cpp @@ -25,8 +25,6 @@ #include <utils/Log.h> #include <utils/threads.h> -#include <surfaceflinger/ISurfaceComposer.h> - #if defined(HAVE_PTHREADS) # include <pthread.h> # include <sys/resource.h> diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp index 90dfe76f7fa3..46e41e3d476e 100644 --- a/cmds/screencap/screencap.cpp +++ b/cmds/screencap/screencap.cpp @@ -24,7 +24,7 @@ #include <sys/mman.h> #include <binder/IMemory.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/SurfaceComposerClient.h> #include <SkImageEncoder.h> #include <SkBitmap.h> diff --git a/cmds/stagefright/codec.cpp b/cmds/stagefright/codec.cpp index 1b01bd61b0a3..b8501907e3b7 100644 --- a/cmds/stagefright/codec.cpp +++ b/cmds/stagefright/codec.cpp @@ -30,7 +30,7 @@ #include <media/stagefright/MediaCodec.h> #include <media/stagefright/MediaDefs.h> #include <media/stagefright/NuMediaExtractor.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/SurfaceComposerClient.h> static void usage(const char *me) { fprintf(stderr, "usage: %s [-a] use audio\n" diff --git a/cmds/stagefright/sf2.cpp b/cmds/stagefright/sf2.cpp index 6f0fb54c7b14..1d28793474bd 100644 --- a/cmds/stagefright/sf2.cpp +++ b/cmds/stagefright/sf2.cpp @@ -32,8 +32,7 @@ #include <media/stagefright/NativeWindowWrapper.h> #include <media/stagefright/Utils.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/SurfaceComposerClient.h> #include "include/ESDS.h" diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp index 7cb8f62e62f3..dab2e0f2d880 100644 --- a/cmds/stagefright/stagefright.cpp +++ b/cmds/stagefright/stagefright.cpp @@ -55,9 +55,7 @@ #include <fcntl.h> #include <gui/SurfaceTextureClient.h> - -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/SurfaceComposerClient.h> using namespace android; diff --git a/cmds/stagefright/stream.cpp b/cmds/stagefright/stream.cpp index 0d6c738292da..efa14455cade 100644 --- a/cmds/stagefright/stream.cpp +++ b/cmds/stagefright/stream.cpp @@ -32,8 +32,7 @@ #include <binder/IServiceManager.h> #include <media/IMediaPlayerService.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/SurfaceComposerClient.h> #include <fcntl.h> diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java index 36582af67181..ee0fa86642e5 100644 --- a/core/java/android/view/GLES20Canvas.java +++ b/core/java/android/view/GLES20Canvas.java @@ -718,7 +718,7 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint) { - int modifiers = setupModifiers(paint); + int modifiers = setupModifiers(paint, MODIFIER_COLOR_FILTER | MODIFIER_SHADER); try { nDrawArc(mRenderer, oval.left, oval.top, oval.right, oval.bottom, startAngle, sweepAngle, useCenter, paint.mNativePaint); @@ -902,7 +902,7 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawCircle(float cx, float cy, float radius, Paint paint) { - int modifiers = setupModifiers(paint); + int modifiers = setupModifiers(paint, MODIFIER_COLOR_FILTER | MODIFIER_SHADER); try { nDrawCircle(mRenderer, cx, cy, radius, paint.mNativePaint); } finally { @@ -939,7 +939,7 @@ class GLES20Canvas extends HardwareCanvas { if ((offset | count) < 0 || offset + count > pts.length) { throw new IllegalArgumentException("The lines array must contain 4 elements per line."); } - int modifiers = setupModifiers(paint); + int modifiers = setupModifiers(paint, MODIFIER_COLOR_FILTER | MODIFIER_SHADER); try { nDrawLines(mRenderer, pts, offset, count, paint.mNativePaint); } finally { @@ -957,7 +957,7 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawOval(RectF oval, Paint paint) { - int modifiers = setupModifiers(paint); + int modifiers = setupModifiers(paint, MODIFIER_COLOR_FILTER | MODIFIER_SHADER); try { nDrawOval(mRenderer, oval.left, oval.top, oval.right, oval.bottom, paint.mNativePaint); } finally { @@ -977,7 +977,7 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawPath(Path path, Paint paint) { - int modifiers = setupModifiers(paint); + int modifiers = setupModifiers(paint, MODIFIER_COLOR_FILTER | MODIFIER_SHADER); try { if (path.isSimplePath) { if (path.rects != null) { @@ -1048,7 +1048,7 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawPoints(float[] pts, int offset, int count, Paint paint) { - int modifiers = setupModifiers(paint); + int modifiers = setupModifiers(paint, MODIFIER_COLOR_FILTER | MODIFIER_SHADER); try { nDrawPoints(mRenderer, pts, offset, count, paint.mNativePaint); } finally { @@ -1097,7 +1097,8 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawRect(float left, float top, float right, float bottom, Paint paint) { - int modifiers = setupModifiers(paint); + if (left == right || top == bottom) return; + int modifiers = setupModifiers(paint, MODIFIER_COLOR_FILTER | MODIFIER_SHADER); try { nDrawRect(mRenderer, left, top, right, bottom, paint.mNativePaint); } finally { @@ -1125,7 +1126,7 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawRoundRect(RectF rect, float rx, float ry, Paint paint) { - int modifiers = setupModifiers(paint); + int modifiers = setupModifiers(paint, MODIFIER_COLOR_FILTER | MODIFIER_SHADER); try { nDrawRoundRect(mRenderer, rect.left, rect.top, rect.right, rect.bottom, rx, ry, paint.mNativePaint); @@ -1341,6 +1342,30 @@ class GLES20Canvas extends HardwareCanvas { return modifiers; } + private int setupModifiers(Paint paint, int flags) { + int modifiers = MODIFIER_NONE; + + if (paint.hasShadow && (flags & MODIFIER_SHADOW) != 0) { + nSetupShadow(mRenderer, paint.shadowRadius, paint.shadowDx, paint.shadowDy, + paint.shadowColor); + modifiers |= MODIFIER_SHADOW; + } + + final Shader shader = paint.getShader(); + if (shader != null && (flags & MODIFIER_SHADER) != 0) { + nSetupShader(mRenderer, shader.native_shader); + modifiers |= MODIFIER_SHADER; + } + + final ColorFilter filter = paint.getColorFilter(); + if (filter != null && (flags & MODIFIER_COLOR_FILTER) != 0) { + nSetupColorFilter(mRenderer, filter.nativeColorFilter); + modifiers |= MODIFIER_COLOR_FILTER; + } + + return modifiers; + } + private int setupColorFilter(Paint paint) { final ColorFilter filter = paint.getColorFilter(); if (filter != null) { diff --git a/core/java/android/webkit/HTML5Audio.java b/core/java/android/webkit/HTML5Audio.java index 0baf2eb7371e..aedecf034c29 100644 --- a/core/java/android/webkit/HTML5Audio.java +++ b/core/java/android/webkit/HTML5Audio.java @@ -142,8 +142,7 @@ class HTML5Audio extends Handler // MediaPlayer.OnCompletionListener; public void onCompletion(MediaPlayer mp) { - resetMediaPlayer(); - mState = IDLE; + mState = COMPLETE; nativeOnEnded(mNativePointer); } @@ -265,7 +264,18 @@ class HTML5Audio extends Handler private void play() { - if ((mState >= ERROR && mState < PREPARED) && mUrl != null) { + if (mState == COMPLETE) { + // Play it again, Sam + mTimer.cancel(); + mTimer = new Timer(); + mAskToPlay = true; + mMediaPlayer.stop(); + mState = STOPPED; + mMediaPlayer.prepareAsync(); + return; + } + + if (((mState >= ERROR && mState < PREPARED)) && mUrl != null) { resetMediaPlayer(); setDataSource(mUrl); mAskToPlay = true; @@ -296,6 +306,12 @@ class HTML5Audio extends Handler private void seek(int msec) { if (mState >= PREPARED) { mMediaPlayer.seekTo(msec); + if (mState == COMPLETE) { + // Seeking after the stream had completed will + // cause us to start playing again. This is to + // support audio tags that specify loop=true. + play(); + } } } diff --git a/core/java/android/widget/Spinner.java b/core/java/android/widget/Spinner.java index ecf19b3ee226..2cacbdcac31a 100644 --- a/core/java/android/widget/Spinner.java +++ b/core/java/android/widget/Spinner.java @@ -282,6 +282,13 @@ public class Spinner extends AbsSpinner implements OnClickListener { throw new RuntimeException("setOnItemClickListener cannot be used with a spinner."); } + /** + * @hide internal use only + */ + public void setOnItemClickListenerInt(OnItemClickListener l) { + super.setOnItemClickListener(l); + } + @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); @@ -707,6 +714,9 @@ public class Spinner extends AbsSpinner implements OnClickListener { public void onClick(DialogInterface dialog, int which) { setSelection(which); + if (mOnItemClickListener != null) { + performItemClick(null, which, mListAdapter.getItemId(which)); + } dismiss(); } } @@ -724,6 +734,9 @@ public class Spinner extends AbsSpinner implements OnClickListener { setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { Spinner.this.setSelection(position); + if (mOnItemClickListener != null) { + Spinner.this.performItemClick(null, position, mAdapter.getItemId(position)); + } dismiss(); } }); diff --git a/core/java/com/android/internal/widget/ScrollingTabContainerView.java b/core/java/com/android/internal/widget/ScrollingTabContainerView.java index 25b0065fd7fe..1767d6841530 100644 --- a/core/java/com/android/internal/widget/ScrollingTabContainerView.java +++ b/core/java/com/android/internal/widget/ScrollingTabContainerView.java @@ -45,7 +45,7 @@ import android.widget.TextView; * across different configurations or circumstances. */ public class ScrollingTabContainerView extends HorizontalScrollView - implements AdapterView.OnItemSelectedListener { + implements AdapterView.OnItemClickListener { private static final String TAG = "ScrollingTabContainerView"; Runnable mTabSelector; private TabClickListener mTabClickListener; @@ -197,7 +197,7 @@ public class ScrollingTabContainerView extends HorizontalScrollView com.android.internal.R.attr.actionDropDownStyle); spinner.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT)); - spinner.setOnItemSelectedListener(this); + spinner.setOnItemClickListenerInt(this); return spinner; } @@ -347,15 +347,11 @@ public class ScrollingTabContainerView extends HorizontalScrollView } @Override - public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { + public void onItemClick(AdapterView<?> parent, View view, int position, long id) { TabView tabView = (TabView) view; tabView.getTab().select(); } - @Override - public void onNothingSelected(AdapterView<?> parent) { - } - private class TabView extends LinearLayout { private ActionBar.Tab mTab; private TextView mTextView; diff --git a/core/jni/android_app_NativeActivity.cpp b/core/jni/android_app_NativeActivity.cpp index 4b3324b7f16f..088062a7f2ce 100644 --- a/core/jni/android_app_NativeActivity.cpp +++ b/core/jni/android_app_NativeActivity.cpp @@ -21,13 +21,16 @@ #include <dlfcn.h> #include <fcntl.h> -#include <android_runtime/AndroidRuntime.h> -#include <android_runtime/android_view_Surface.h> #include <android_runtime/android_app_NativeActivity.h> #include <android_runtime/android_util_AssetManager.h> -#include <surfaceflinger/Surface.h> -#include <ui/egl/android_natives.h> +#include <android_runtime/android_view_Surface.h> +#include <android_runtime/AndroidRuntime.h> #include <androidfw/InputTransport.h> + +#include <gui/Surface.h> + +#include <system/window.h> + #include <utils/Looper.h> #include "JNIHelp.h" diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp index b89273b6adec..599211e5e9f3 100644 --- a/core/jni/android_hardware_Camera.cpp +++ b/core/jni/android_hardware_Camera.cpp @@ -26,7 +26,7 @@ #include <utils/Vector.h> #include <gui/SurfaceTexture.h> -#include <surfaceflinger/Surface.h> +#include <gui/Surface.h> #include <camera/Camera.h> #include <binder/IMemory.h> diff --git a/core/jni/android_view_Display.cpp b/core/jni/android_view_Display.cpp index f076cc85e3ba..aedf1e42cf73 100644 --- a/core/jni/android_view_Display.cpp +++ b/core/jni/android_view_Display.cpp @@ -19,7 +19,7 @@ #include <cutils/properties.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/SurfaceComposerClient.h> #include <ui/PixelFormat.h> #include <ui/DisplayInfo.h> diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp index 18bcea1e89e7..c38775212042 100644 --- a/core/jni/android_view_Surface.cpp +++ b/core/jni/android_view_Surface.cpp @@ -22,11 +22,13 @@ #include "android/graphics/GraphicsJNI.h" #include <binder/IMemory.h> + +#include <gui/Surface.h> +#include <gui/SurfaceComposerClient.h> #include <gui/SurfaceTexture.h> -#include <surfaceflinger/SurfaceComposerClient.h> -#include <surfaceflinger/Surface.h> -#include <ui/Region.h> + #include <ui/Rect.h> +#include <ui/Region.h> #include <EGL/egl.h> diff --git a/core/jni/com_google_android_gles_jni_EGLImpl.cpp b/core/jni/com_google_android_gles_jni_EGLImpl.cpp index 4fe76002d0bc..5483867cc70b 100644 --- a/core/jni/com_google_android_gles_jni_EGLImpl.cpp +++ b/core/jni/com_google_android_gles_jni_EGLImpl.cpp @@ -21,17 +21,19 @@ #include <android_runtime/android_graphics_SurfaceTexture.h> #include <utils/misc.h> + +#include <EGL/egl_display.h> #include <EGL/egl.h> #include <GLES/gl.h> -#include <EGL/egl_display.h> +#include <gui/Surface.h> +#include <gui/SurfaceTexture.h> +#include <gui/SurfaceTextureClient.h> -#include <surfaceflinger/Surface.h> #include <SkBitmap.h> #include <SkPixelRef.h> -#include <gui/SurfaceTexture.h> -#include <gui/SurfaceTextureClient.h> +#include <ui/ANativeObjectBase.h> namespace android { @@ -44,7 +46,6 @@ static jfieldID gContext_EGLContextFieldID; static jfieldID gSurface_EGLSurfaceFieldID; static jfieldID gSurface_NativePixelRefFieldID; static jfieldID gConfig_EGLConfigFieldID; -static jfieldID gSurface_SurfaceFieldID; static jfieldID gBitmap_NativeBitmapFieldID; static inline EGLDisplay getDisplay(JNIEnv* env, jobject o) { diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index 9a6a293a023a..68988f242497 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -765,7 +765,7 @@ <string name="permlab_serialPort" msgid="546083327654631076">"دسترسی به درگاههای سریال"</string> <string name="permdesc_serialPort" msgid="2991639985224598193">"به دارنده اجازه میدهد با استفاده از SerialManager API به درگاههای سریال دسترسی داشته باشد."</string> <string name="permlab_accessContentProvidersExternally" msgid="5077774297943409285">"دسترسی خارجی به ارائهدهندگان محتوا"</string> - <string name="permdesc_accessContentProvidersExternally" msgid="4544346486697853685">"به دارنده اجازه میدهد تا از خارج برنامه به ارائه دهندگان محتوا دسترسی داشته باشد. هرگز برای برنامههای معمولی به آن نیازی نیست."</string> + <string name="permdesc_accessContentProvidersExternally" msgid="4544346486697853685">"به دارنده اجازه میدهد تا از خارج برنامه به ارائهدهندگان محتوا دسترسی داشته باشد. هرگز برای برنامههای معمولی به آن نیازی نیست."</string> <string name="save_password_message" msgid="767344687139195790">"می خواهید مرورگر این رمز ورود را به خاطر داشته باشد؟"</string> <string name="save_password_notnow" msgid="6389675316706699758">"اکنون خیر"</string> <string name="save_password_remember" msgid="6491879678996749466">"به خاطر سپردن"</string> diff --git a/docs/html/guide/developing/projects/projects-cmdline.jd b/docs/html/guide/developing/projects/projects-cmdline.jd index 81c2c584e45e..b8db5f333a1a 100644 --- a/docs/html/guide/developing/projects/projects-cmdline.jd +++ b/docs/html/guide/developing/projects/projects-cmdline.jd @@ -218,7 +218,7 @@ android update lib-project \ <p>To add a reference to a library project, navigate to the <code><sdk>/tools/</code> directory and use this command:</p> <pre> -android update lib-project \ +android update project \ --target <em><target_ID></em> \ --path <em>path/to/your/project</em> --library <em>path/to/library_projectA</em> diff --git a/docs/html/guide/topics/fundamentals/fragments.jd b/docs/html/guide/topics/fundamentals/fragments.jd index d4f9342dd632..281cb9dc717f 100644 --- a/docs/html/guide/topics/fundamentals/fragments.jd +++ b/docs/html/guide/topics/fundamentals/fragments.jd @@ -659,7 +659,7 @@ href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer guides. <div class="figure" style="width:350px"> <img src="{@docRoot}images/activity_fragment_lifecycle.png" alt=""/> -<p class="img-caption"><strong>Figure 3.</strong> The activity lifecycle's affect on the fragment +<p class="img-caption"><strong>Figure 3.</strong> The effect of the activity lifecycle on the fragment lifecycle.</p> </div> diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp index 27ea8f6ecc8a..9fc4fd4ba68f 100644 --- a/graphics/jni/android_renderscript_RenderScript.cpp +++ b/graphics/jni/android_renderscript_RenderScript.cpp @@ -23,8 +23,6 @@ #include <math.h> #include <utils/misc.h> -#include <surfaceflinger/Surface.h> - #include <core/SkBitmap.h> #include <core/SkPixelRef.h> #include <core/SkStream.h> diff --git a/include/camera/ICamera.h b/include/camera/ICamera.h index 400d7f404a57..3d188379fede 100644 --- a/include/camera/ICamera.h +++ b/include/camera/ICamera.h @@ -20,15 +20,15 @@ #include <utils/RefBase.h> #include <binder/IInterface.h> #include <binder/Parcel.h> -#include <surfaceflinger/Surface.h> #include <binder/IMemory.h> #include <utils/String8.h> #include <camera/Camera.h> -#include <gui/ISurfaceTexture.h> namespace android { class ICameraClient; +class ISurfaceTexture; +class Surface; class ICamera: public IInterface { diff --git a/include/gui/BufferQueue.h b/include/gui/BufferQueue.h index ae991601817a..dd1558ca9ce5 100644 --- a/include/gui/BufferQueue.h +++ b/include/gui/BufferQueue.h @@ -19,9 +19,9 @@ #include <EGL/egl.h> +#include <gui/IGraphicBufferAlloc.h> #include <gui/ISurfaceTexture.h> -#include <surfaceflinger/IGraphicBufferAlloc.h> #include <ui/GraphicBuffer.h> #include <utils/String8.h> diff --git a/include/surfaceflinger/IGraphicBufferAlloc.h b/include/gui/IGraphicBufferAlloc.h index d3b206223312..cee41d93414f 100644 --- a/include/surfaceflinger/IGraphicBufferAlloc.h +++ b/include/gui/IGraphicBufferAlloc.h @@ -14,15 +14,15 @@ * limitations under the License. */ -#ifndef ANDROID_SF_IGRAPHIC_BUFFER_ALLOC_H -#define ANDROID_SF_IGRAPHIC_BUFFER_ALLOC_H +#ifndef ANDROID_GUI_IGRAPHIC_BUFFER_ALLOC_H +#define ANDROID_GUI_IGRAPHIC_BUFFER_ALLOC_H #include <stdint.h> #include <sys/types.h> -#include <utils/RefBase.h> - #include <binder/IInterface.h> +#include <ui/PixelFormat.h> +#include <utils/RefBase.h> namespace android { // ---------------------------------------------------------------------------- @@ -55,4 +55,4 @@ public: }; // namespace android -#endif // ANDROID_SF_IGRAPHIC_BUFFER_ALLOC_H +#endif // ANDROID_GUI_IGRAPHIC_BUFFER_ALLOC_H diff --git a/include/surfaceflinger/ISurface.h b/include/gui/ISurface.h index 5fdf234e5fac..c0ff9fcb1e41 100644 --- a/include/surfaceflinger/ISurface.h +++ b/include/gui/ISurface.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef ANDROID_SF_ISURFACE_H -#define ANDROID_SF_ISURFACE_H +#ifndef ANDROID_GUI_ISURFACE_H +#define ANDROID_GUI_ISURFACE_H #include <stdint.h> #include <sys/types.h> @@ -61,4 +61,4 @@ public: }; // namespace android -#endif // ANDROID_SF_ISURFACE_H +#endif // ANDROID_GUI_ISURFACE_H diff --git a/include/surfaceflinger/ISurfaceComposer.h b/include/gui/ISurfaceComposer.h index 58fd89d3b62c..f3c0ecbc8141 100644 --- a/include/surfaceflinger/ISurfaceComposer.h +++ b/include/gui/ISurfaceComposer.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef ANDROID_SF_ISURFACE_COMPOSER_H -#define ANDROID_SF_ISURFACE_COMPOSER_H +#ifndef ANDROID_GUI_ISURFACE_COMPOSER_H +#define ANDROID_GUI_ISURFACE_COMPOSER_H #include <stdint.h> #include <sys/types.h> @@ -27,8 +27,8 @@ #include <ui/PixelFormat.h> -#include <surfaceflinger/ISurfaceComposerClient.h> -#include <surfaceflinger/IGraphicBufferAlloc.h> +#include <gui/IGraphicBufferAlloc.h> +#include <gui/ISurfaceComposerClient.h> namespace android { // ---------------------------------------------------------------------------- @@ -171,4 +171,4 @@ public: }; // namespace android -#endif // ANDROID_SF_ISURFACE_COMPOSER_H +#endif // ANDROID_GUI_ISURFACE_COMPOSER_H diff --git a/include/surfaceflinger/ISurfaceComposerClient.h b/include/gui/ISurfaceComposerClient.h index 02cabc1cdc31..c793933f6510 100644 --- a/include/surfaceflinger/ISurfaceComposerClient.h +++ b/include/gui/ISurfaceComposerClient.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef ANDROID_SF_ISURFACE_COMPOSER_CLIENT_H -#define ANDROID_SF_ISURFACE_COMPOSER_CLIENT_H +#ifndef ANDROID_GUI_ISURFACE_COMPOSER_CLIENT_H +#define ANDROID_GUI_ISURFACE_COMPOSER_CLIENT_H #include <stdint.h> #include <sys/types.h> @@ -27,7 +27,7 @@ #include <ui/PixelFormat.h> -#include <surfaceflinger/ISurface.h> +#include <gui/ISurface.h> namespace android { @@ -81,4 +81,4 @@ public: }; // namespace android -#endif // ANDROID_SF_ISURFACE_COMPOSER_CLIENT_H +#endif // ANDROID_GUI_ISURFACE_COMPOSER_CLIENT_H diff --git a/include/surfaceflinger/Surface.h b/include/gui/Surface.h index 0460bbd35a8b..1f90c595aa1f 100644 --- a/include/surfaceflinger/Surface.h +++ b/include/gui/Surface.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef ANDROID_SF_SURFACE_H -#define ANDROID_SF_SURFACE_H +#ifndef ANDROID_GUI_SURFACE_H +#define ANDROID_GUI_SURFACE_H #include <stdint.h> #include <sys/types.h> @@ -26,12 +26,10 @@ #include <ui/PixelFormat.h> #include <ui/Region.h> -#include <ui/egl/android_natives.h> #include <gui/SurfaceTextureClient.h> - -#include <surfaceflinger/ISurface.h> -#include <surfaceflinger/ISurfaceComposerClient.h> +#include <gui/ISurface.h> +#include <gui/ISurfaceComposerClient.h> #define ANDROID_VIEW_SURFACE_JNI_ID "mNativeSurface" @@ -174,4 +172,4 @@ private: }; // namespace android -#endif // ANDROID_SF_SURFACE_H +#endif // ANDROID_GUI_SURFACE_H diff --git a/include/surfaceflinger/SurfaceComposerClient.h b/include/gui/SurfaceComposerClient.h index 99affdae64d0..d971031c01a4 100644 --- a/include/surfaceflinger/SurfaceComposerClient.h +++ b/include/gui/SurfaceComposerClient.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef ANDROID_SF_SURFACE_COMPOSER_CLIENT_H -#define ANDROID_SF_SURFACE_COMPOSER_CLIENT_H +#ifndef ANDROID_GUI_SURFACE_COMPOSER_CLIENT_H +#define ANDROID_GUI_SURFACE_COMPOSER_CLIENT_H #include <stdint.h> #include <sys/types.h> @@ -29,7 +29,7 @@ #include <ui/PixelFormat.h> -#include <surfaceflinger/Surface.h> +#include <gui/Surface.h> namespace android { @@ -174,4 +174,4 @@ public: // --------------------------------------------------------------------------- }; // namespace android -#endif // ANDROID_SF_SURFACE_COMPOSER_CLIENT_H +#endif // ANDROID_GUI_SURFACE_COMPOSER_CLIENT_H diff --git a/include/gui/SurfaceTextureClient.h b/include/gui/SurfaceTextureClient.h index 971a1b80dc88..aa7fe48a5292 100644 --- a/include/gui/SurfaceTextureClient.h +++ b/include/gui/SurfaceTextureClient.h @@ -20,7 +20,7 @@ #include <gui/ISurfaceTexture.h> #include <gui/SurfaceTexture.h> -#include <ui/egl/android_natives.h> +#include <ui/ANativeObjectBase.h> #include <ui/Region.h> #include <utils/RefBase.h> @@ -31,7 +31,7 @@ namespace android { class Surface; class SurfaceTextureClient - : public EGLNativeBase<ANativeWindow, SurfaceTextureClient, RefBase> + : public ANativeObjectBase<ANativeWindow, SurfaceTextureClient, RefBase> { public: SurfaceTextureClient(const sp<ISurfaceTexture>& surfaceTexture); diff --git a/include/media/stagefright/HardwareAPI.h b/include/media/stagefright/HardwareAPI.h index 32eed3f79c6c..17efd35a5558 100644 --- a/include/media/stagefright/HardwareAPI.h +++ b/include/media/stagefright/HardwareAPI.h @@ -19,7 +19,7 @@ #define HARDWARE_API_H_ #include <media/stagefright/OMXPluginBase.h> -#include <ui/android_native_buffer.h> +#include <system/window.h> #include <utils/RefBase.h> #include <OMX_Component.h> diff --git a/include/private/surfaceflinger/LayerState.h b/include/private/gui/LayerState.h index 3eb5c99f6f57..ca277e02b94b 100644 --- a/include/private/surfaceflinger/LayerState.h +++ b/include/private/gui/LayerState.h @@ -23,8 +23,7 @@ #include <utils/Errors.h> #include <ui/Region.h> - -#include <surfaceflinger/ISurface.h> +#include <gui/ISurface.h> namespace android { diff --git a/include/private/surfaceflinger/SharedBufferStack.h b/include/private/gui/SharedBufferStack.h index 0da03d1343c7..0da03d1343c7 100644 --- a/include/private/surfaceflinger/SharedBufferStack.h +++ b/include/private/gui/SharedBufferStack.h diff --git a/include/private/opengles/gl_context.h b/include/private/opengles/gl_context.h deleted file mode 100644 index 6b1fa770281d..000000000000 --- a/include/private/opengles/gl_context.h +++ /dev/null @@ -1,640 +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. - */ - -#ifndef ANDROID_OPENGLES_CONTEXT_H -#define ANDROID_OPENGLES_CONTEXT_H - -#include <stdint.h> -#include <stddef.h> -#include <sys/types.h> -#include <pthread.h> -#ifdef HAVE_ANDROID_OS -#include <bionic_tls.h> -#endif - -#include <private/pixelflinger/ggl_context.h> -#include <hardware/gralloc.h> - -#include <GLES/gl.h> -#include <GLES/glext.h> - -namespace android { - - -const unsigned int OGLES_NUM_COMPRESSED_TEXTURE_FORMATS = 10 -#ifdef GL_OES_compressed_ETC1_RGB8_texture - + 1 -#endif - ; - -class EGLTextureObject; -class EGLSurfaceManager; -class EGLBufferObjectManager; - -namespace gl { - -struct ogles_context_t; -struct matrixx_t; -struct transform_t; -struct buffer_t; - -ogles_context_t* getGlContext(); - -template<typename T> -static inline void swap(T& a, T& b) { - T t(a); a = b; b = t; -} -template<typename T> -inline T max(T a, T b) { - return a<b ? b : a; -} -template<typename T> -inline T max(T a, T b, T c) { - return max(a, max(b, c)); -} -template<typename T> -inline T min(T a, T b) { - return a<b ? a : b; -} -template<typename T> -inline T min(T a, T b, T c) { - return min(a, min(b, c)); -} -template<typename T> -inline T min(T a, T b, T c, T d) { - return min(min(a,b), min(c,d)); -} - -// ---------------------------------------------------------------------------- -// vertices -// ---------------------------------------------------------------------------- - -struct vec3_t { - union { - struct { GLfixed x, y, z; }; - struct { GLfixed r, g, b; }; - struct { GLfixed S, T, R; }; - GLfixed v[3]; - }; -}; - -struct vec4_t { - union { - struct { GLfixed x, y, z, w; }; - struct { GLfixed r, g, b, a; }; - struct { GLfixed S, T, R, Q; }; - GLfixed v[4]; - }; -}; - -struct vertex_t { - enum { - // these constant matter for our clipping - CLIP_L = 0x0001, // clipping flags - CLIP_R = 0x0002, - CLIP_B = 0x0004, - CLIP_T = 0x0008, - CLIP_N = 0x0010, - CLIP_F = 0x0020, - - EYE = 0x0040, - RESERVED = 0x0080, - - USER_CLIP_0 = 0x0100, // user clipping flags - USER_CLIP_1 = 0x0200, - USER_CLIP_2 = 0x0400, - USER_CLIP_3 = 0x0800, - USER_CLIP_4 = 0x1000, - USER_CLIP_5 = 0x2000, - - LIT = 0x4000, // lighting has been applied - TT = 0x8000, // texture coords transformed - - FRUSTUM_CLIP_ALL= 0x003F, - USER_CLIP_ALL = 0x3F00, - CLIP_ALL = 0x3F3F, - }; - - // the fields below are arranged to minimize d-cache usage - // we group together, by cache-line, the fields most likely to be used - - union { - vec4_t obj; - vec4_t eye; - }; - vec4_t clip; - - uint32_t flags; - size_t index; // cache tag, and vertex index - GLfixed fog; - uint8_t locked; - uint8_t mru; - uint8_t reserved[2]; - vec4_t window; - - vec4_t color; - vec4_t texture[GGL_TEXTURE_UNIT_COUNT]; - uint32_t reserved1[4]; - - inline void clear() { - flags = index = locked = mru = 0; - } -}; - -struct point_size_t { - GGLcoord size; - GLboolean smooth; -}; - -struct line_width_t { - GGLcoord width; - GLboolean smooth; -}; - -struct polygon_offset_t { - GLfixed factor; - GLfixed units; - GLboolean enable; -}; - -// ---------------------------------------------------------------------------- -// arrays -// ---------------------------------------------------------------------------- - -struct array_t { - typedef void (*fetcher_t)(ogles_context_t*, GLfixed*, const GLvoid*); - fetcher_t fetch; - GLvoid const* physical_pointer; - GLint size; - GLsizei stride; - GLvoid const* pointer; - buffer_t const* bo; - uint16_t type; - GLboolean enable; - GLboolean pad; - GLsizei bounds; - void init(GLint, GLenum, GLsizei, const GLvoid *, const buffer_t*, GLsizei); - inline void resolve(); - inline const GLubyte* element(GLint i) const { - return (const GLubyte*)physical_pointer + i * stride; - } -}; - -struct array_machine_t { - array_t vertex; - array_t normal; - array_t color; - array_t texture[GGL_TEXTURE_UNIT_COUNT]; - uint8_t activeTexture; - uint8_t tmu; - uint16_t cull; - uint32_t flags; - GLenum indicesType; - buffer_t const* array_buffer; - buffer_t const* element_array_buffer; - - void (*compileElements)(ogles_context_t*, vertex_t*, GLint, GLsizei); - void (*compileElement)(ogles_context_t*, vertex_t*, GLint); - - void (*mvp_transform)(transform_t const*, vec4_t*, vec4_t const*); - void (*mv_transform)(transform_t const*, vec4_t*, vec4_t const*); - void (*tex_transform[2])(transform_t const*, vec4_t*, vec4_t const*); - void (*perspective)(ogles_context_t*c, vertex_t* v); - void (*clipVertex)(ogles_context_t* c, vertex_t* nv, - GGLfixed t, const vertex_t* s, const vertex_t* p); - void (*clipEye)(ogles_context_t* c, vertex_t* nv, - GGLfixed t, const vertex_t* s, const vertex_t* p); -}; - -struct vertex_cache_t { - enum { - // must be at least 4 - // 3 vertice for triangles - // or 2 + 2 for indexed triangles w/ cache contention - VERTEX_BUFFER_SIZE = 8, - // must be a power of two and at least 3 - VERTEX_CACHE_SIZE = 64, // 8 KB - - INDEX_BITS = 16, - INDEX_MASK = ((1LU<<INDEX_BITS)-1), - INDEX_SEQ = 1LU<<INDEX_BITS, - }; - vertex_t* vBuffer; - vertex_t* vCache; - uint32_t sequence; - void* base; - uint32_t total; - uint32_t misses; - int64_t startTime; - void init(); - void uninit(); - void clear(); - void dump_stats(GLenum mode); -}; - -// ---------------------------------------------------------------------------- -// fog -// ---------------------------------------------------------------------------- - -struct fog_t { - GLfixed density; - GLfixed start; - GLfixed end; - GLfixed invEndMinusStart; - GLenum mode; - GLfixed (*fog)(ogles_context_t* c, GLfixed z); -}; - -// ---------------------------------------------------------------------------- -// user clip planes -// ---------------------------------------------------------------------------- - -const unsigned int OGLES_MAX_CLIP_PLANES = 6; - -struct clip_plane_t { - vec4_t equation; -}; - -struct user_clip_planes_t { - clip_plane_t plane[OGLES_MAX_CLIP_PLANES]; - uint32_t enable; -}; - -// ---------------------------------------------------------------------------- -// lighting -// ---------------------------------------------------------------------------- - -const unsigned int OGLES_MAX_LIGHTS = 8; - -struct light_t { - vec4_t ambient; - vec4_t diffuse; - vec4_t specular; - vec4_t implicitAmbient; - vec4_t implicitDiffuse; - vec4_t implicitSpecular; - vec4_t position; // position in eye space - vec4_t objPosition; - vec4_t normalizedObjPosition; - vec4_t spotDir; - vec4_t normalizedSpotDir; - GLfixed spotExp; - GLfixed spotCutoff; - GLfixed spotCutoffCosine; - GLfixed attenuation[3]; - GLfixed rConstAttenuation; - GLboolean enable; -}; - -struct material_t { - vec4_t ambient; - vec4_t diffuse; - vec4_t specular; - vec4_t emission; - GLfixed shininess; -}; - -struct light_model_t { - vec4_t ambient; - GLboolean twoSide; -}; - -struct color_material_t { - GLenum face; - GLenum mode; - GLboolean enable; -}; - -struct lighting_t { - light_t lights[OGLES_MAX_LIGHTS]; - material_t front; - light_model_t lightModel; - color_material_t colorMaterial; - vec4_t implicitSceneEmissionAndAmbient; - vec4_t objViewer; - uint32_t enabledLights; - GLboolean enable; - GLenum shadeModel; - typedef void (*light_fct_t)(ogles_context_t*, vertex_t*); - void (*lightVertex)(ogles_context_t* c, vertex_t* v); - void (*lightTriangle)(ogles_context_t* c, - vertex_t* v0, vertex_t* v1, vertex_t* v2); -}; - -struct culling_t { - GLenum cullFace; - GLenum frontFace; - GLboolean enable; -}; - -// ---------------------------------------------------------------------------- -// textures -// ---------------------------------------------------------------------------- - -struct texture_unit_t { - GLuint name; - EGLTextureObject* texture; - uint8_t dirty; -}; - -struct texture_state_t -{ - texture_unit_t tmu[GGL_TEXTURE_UNIT_COUNT]; - int active; // active tmu - EGLTextureObject* defaultTexture; - GGLContext* ggl; - uint8_t packAlignment; - uint8_t unpackAlignment; -}; - -// ---------------------------------------------------------------------------- -// transformation and matrices -// ---------------------------------------------------------------------------- - -struct matrixf_t; - -struct matrixx_t { - GLfixed m[16]; - void load(const matrixf_t& rhs); -}; - -struct matrix_stack_t; - - -struct matrixf_t { - void loadIdentity(); - void load(const matrixf_t& rhs); - - inline GLfloat* editElements() { return m; } - inline GLfloat const* elements() const { return m; } - - void set(const GLfixed* rhs); - void set(const GLfloat* rhs); - - static void multiply(matrixf_t& r, - const matrixf_t& lhs, const matrixf_t& rhs); - - void dump(const char* what); - -private: - friend struct matrix_stack_t; - GLfloat m[16]; - void load(const GLfixed* rhs); - void load(const GLfloat* rhs); - void multiply(const matrixf_t& rhs); - void translate(GLfloat x, GLfloat y, GLfloat z); - void scale(GLfloat x, GLfloat y, GLfloat z); - void rotate(GLfloat a, GLfloat x, GLfloat y, GLfloat z); -}; - -enum { - OP_IDENTITY = 0x00, - OP_TRANSLATE = 0x01, - OP_UNIFORM_SCALE = 0x02, - OP_SCALE = 0x05, - OP_ROTATE = 0x08, - OP_SKEW = 0x10, - OP_ALL = 0x1F -}; - -struct transform_t { - enum { - FLAGS_2D_PROJECTION = 0x1 - }; - matrixx_t matrix; - uint32_t flags; - uint32_t ops; - - union { - struct { - void (*point2)(transform_t const* t, vec4_t*, vec4_t const*); - void (*point3)(transform_t const* t, vec4_t*, vec4_t const*); - void (*point4)(transform_t const* t, vec4_t*, vec4_t const*); - }; - void (*pointv[3])(transform_t const* t, vec4_t*, vec4_t const*); - }; - - void loadIdentity(); - void picker(); - void dump(const char* what); -}; - -struct mvui_transform_t : public transform_t -{ - void picker(); -}; - -struct matrix_stack_t { - enum { - DO_PICKER = 0x1, - DO_FLOAT_TO_FIXED = 0x2 - }; - transform_t transform; - uint8_t maxDepth; - uint8_t depth; - uint8_t dirty; - uint8_t reserved; - matrixf_t *stack; - uint8_t *ops; - void init(int depth); - void uninit(); - void loadIdentity(); - void load(const GLfixed* rhs); - void load(const GLfloat* rhs); - void multiply(const matrixf_t& rhs); - void translate(GLfloat x, GLfloat y, GLfloat z); - void scale(GLfloat x, GLfloat y, GLfloat z); - void rotate(GLfloat a, GLfloat x, GLfloat y, GLfloat z); - GLint push(); - GLint pop(); - void validate(); - matrixf_t& top() { return stack[depth]; } - const matrixf_t& top() const { return stack[depth]; } - uint32_t top_ops() const { return ops[depth]; } - inline bool isRigidBody() const { - return !(ops[depth] & ~(OP_TRANSLATE|OP_UNIFORM_SCALE|OP_ROTATE)); - } -}; - -struct vp_transform_t { - transform_t transform; - matrixf_t matrix; - GLfloat zNear; - GLfloat zFar; - void loadIdentity(); -}; - -struct transform_state_t { - enum { - MODELVIEW = 0x01, - PROJECTION = 0x02, - VIEWPORT = 0x04, - TEXTURE = 0x08, - MVUI = 0x10, - MVIT = 0x20, - MVP = 0x40, - }; - matrix_stack_t *current; - matrix_stack_t modelview; - matrix_stack_t projection; - matrix_stack_t texture[GGL_TEXTURE_UNIT_COUNT]; - - // modelview * projection - transform_t mvp __attribute__((aligned(32))); - // viewport transformation - vp_transform_t vpt __attribute__((aligned(32))); - // same for 4-D vertices - transform_t mvp4; - // full modelview inverse transpose - transform_t mvit4; - // upper 3x3 of mv-inverse-transpose (for normals) - mvui_transform_t mvui; - - GLenum matrixMode; - GLenum rescaleNormals; - uint32_t dirty; - void invalidate(); - void update_mvp(); - void update_mvit(); - void update_mvui(); -}; - -struct viewport_t { - GLint x; - GLint y; - GLsizei w; - GLsizei h; - struct { - GLint x; - GLint y; - } surfaceport; - struct { - GLint x; - GLint y; - GLsizei w; - GLsizei h; - } scissor; -}; - -// ---------------------------------------------------------------------------- -// Lerping -// ---------------------------------------------------------------------------- - -struct compute_iterators_t -{ - void initTriangle( - vertex_t const* v0, - vertex_t const* v1, - vertex_t const* v2); - - void initLine( - vertex_t const* v0, - vertex_t const* v1); - - inline void initLerp(vertex_t const* v0, uint32_t enables); - - int iteratorsScale(int32_t it[3], - int32_t c0, int32_t c1, int32_t c2) const; - - void iterators1616(GGLfixed it[3], - GGLfixed c0, GGLfixed c1, GGLfixed c2) const; - - void iterators0032(int32_t it[3], - int32_t c0, int32_t c1, int32_t c2) const; - - void iterators0032(int64_t it[3], - int32_t c0, int32_t c1, int32_t c2) const; - - GGLcoord area() const { return m_area; } - -private: - // don't change order of members here -- used by iterators.S - GGLcoord m_dx01, m_dy10, m_dx20, m_dy02; - GGLcoord m_x0, m_y0; - GGLcoord m_area; - uint8_t m_scale; - uint8_t m_area_scale; - uint8_t m_reserved[2]; - -}; - -// ---------------------------------------------------------------------------- -// state -// ---------------------------------------------------------------------------- - -#ifdef HAVE_ANDROID_OS - // We have a dedicated TLS slot in bionic - inline void setGlThreadSpecific(ogles_context_t *value) { - ((uint32_t *)__get_tls())[TLS_SLOT_OPENGL] = (uint32_t)value; - } - inline ogles_context_t* getGlThreadSpecific() { - return (ogles_context_t *)(((unsigned *)__get_tls())[TLS_SLOT_OPENGL]); - } -#else - extern pthread_key_t gGLKey; - inline void setGlThreadSpecific(ogles_context_t *value) { - pthread_setspecific(gGLKey, value); - } - inline ogles_context_t* getGlThreadSpecific() { - return static_cast<ogles_context_t*>(pthread_getspecific(gGLKey)); - } -#endif - - -struct prims_t { - typedef ogles_context_t* GL; - void (*renderPoint)(GL, vertex_t*); - void (*renderLine)(GL, vertex_t*, vertex_t*); - void (*renderTriangle)(GL, vertex_t*, vertex_t*, vertex_t*); -}; - -struct ogles_context_t { - context_t rasterizer; - array_machine_t arrays __attribute__((aligned(32))); - texture_state_t textures; - transform_state_t transforms; - vertex_cache_t vc; - prims_t prims; - culling_t cull; - lighting_t lighting; - user_clip_planes_t clipPlanes; - compute_iterators_t lerp; __attribute__((aligned(32))); - vertex_t current; - vec4_t currentColorClamped; - vec3_t currentNormal; - viewport_t viewport; - point_size_t point; - line_width_t line; - polygon_offset_t polygonOffset; - fog_t fog; - uint32_t perspective : 1; - uint32_t transformTextures : 1; - EGLSurfaceManager* surfaceManager; - EGLBufferObjectManager* bufferObjectManager; - - GLenum error; - - static inline ogles_context_t* get() { - return getGlThreadSpecific(); - } - -}; - -}; // namespace gl -}; // namespace android - -#endif // ANDROID_OPENGLES_CONTEXT_H - diff --git a/include/private/ui/android_natives_priv.h b/include/private/ui/android_natives_priv.h deleted file mode 100644 index 6b9f524dcfd1..000000000000 --- a/include/private/ui/android_natives_priv.h +++ /dev/null @@ -1,17 +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. - */ - -#include <ui/android_native_buffer.h> diff --git a/include/ui/egl/android_natives.h b/include/ui/ANativeObjectBase.h index 9ac50a5a39a8..76e850fa279a 100644 --- a/include/ui/egl/android_natives.h +++ b/include/ui/ANativeObjectBase.h @@ -22,8 +22,7 @@ #include <hardware/gralloc.h> #include <system/window.h> -// FIXME: remove this header, it's for legacy use. native_window is pulled from frameworks/base/native/include/android/ -#include <android/native_window.h> + // --------------------------------------------------------------------------- /* FIXME: this is legacy for pixmaps */ @@ -52,11 +51,11 @@ typedef struct egl_native_pixmap_t namespace android { /* - * This helper class turns an EGL android_native_xxx type into a C++ + * This helper class turns a ANativeXXX object type into a C++ * reference-counted object; with proper type conversions. */ template <typename NATIVE_TYPE, typename TYPE, typename REF> -class EGLNativeBase : public NATIVE_TYPE, public REF +class ANativeObjectBase : public NATIVE_TYPE, public REF { public: // Disambiguate between the incStrong in REF and NATIVE_TYPE @@ -68,8 +67,8 @@ public: } protected: - typedef EGLNativeBase<NATIVE_TYPE, TYPE, REF> BASE; - EGLNativeBase() : NATIVE_TYPE(), REF() { + typedef ANativeObjectBase<NATIVE_TYPE, TYPE, REF> BASE; + ANativeObjectBase() : NATIVE_TYPE(), REF() { NATIVE_TYPE::common.incRef = incRef; NATIVE_TYPE::common.decRef = decRef; } @@ -86,11 +85,11 @@ protected: return getSelf(reinterpret_cast<NATIVE_TYPE const*>(base)); } static void incRef(android_native_base_t* base) { - EGLNativeBase* self = getSelf(base); + ANativeObjectBase* self = getSelf(base); self->incStrong(self); } static void decRef(android_native_base_t* base) { - EGLNativeBase* self = getSelf(base); + ANativeObjectBase* self = getSelf(base); self->decStrong(self); } }; diff --git a/include/ui/EGLNativeSurface.h b/include/ui/EGLNativeSurface.h deleted file mode 100644 index 7964e7c6bac9..000000000000 --- a/include/ui/EGLNativeSurface.h +++ /dev/null @@ -1,55 +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. - */ - -#ifndef ANDROID_EGL_NATIVE_SURFACE_H -#define ANDROID_EGL_NATIVE_SURFACE_H - -#include <stdint.h> -#include <sys/types.h> - -#include <cutils/atomic.h> -#include <utils/RefBase.h> - -#include <EGL/eglnatives.h> - -// --------------------------------------------------------------------------- -namespace android { -// --------------------------------------------------------------------------- - -template <class TYPE> -class EGLNativeSurface : public egl_native_window_t, public LightRefBase<TYPE> -{ -public: - EGLNativeSurface() { - memset(egl_native_window_t::reserved, 0, - sizeof(egl_native_window_t::reserved)); - memset(egl_native_window_t::reserved_proc, 0, - sizeof(egl_native_window_t::reserved_proc)); - memset(egl_native_window_t::oem, 0, - sizeof(egl_native_window_t::oem)); - } -protected: - EGLNativeSurface& operator = (const EGLNativeSurface& rhs); - EGLNativeSurface(const EGLNativeSurface& rhs); - inline ~EGLNativeSurface() { }; -}; - -// --------------------------------------------------------------------------- -}; // namespace android -// --------------------------------------------------------------------------- - -#endif // ANDROID_EGL_SURFACE_H - diff --git a/include/ui/FramebufferNativeWindow.h b/include/ui/FramebufferNativeWindow.h index 302d01239eeb..b202b95b1c5f 100644 --- a/include/ui/FramebufferNativeWindow.h +++ b/include/ui/FramebufferNativeWindow.h @@ -24,11 +24,9 @@ #include <utils/threads.h> #include <utils/String8.h> -#include <ui/Rect.h> - -#include <pixelflinger/pixelflinger.h> -#include <ui/egl/android_natives.h> +#include <ui/ANativeObjectBase.h> +#include <ui/Rect.h> #define NUM_FRAME_BUFFERS 2 @@ -44,7 +42,7 @@ class NativeBuffer; // --------------------------------------------------------------------------- class FramebufferNativeWindow - : public EGLNativeBase< + : public ANativeObjectBase< ANativeWindow, FramebufferNativeWindow, LightRefBase<FramebufferNativeWindow> > diff --git a/include/ui/GraphicBuffer.h b/include/ui/GraphicBuffer.h index 6ab01f4c98ef..f318cd899fec 100644 --- a/include/ui/GraphicBuffer.h +++ b/include/ui/GraphicBuffer.h @@ -20,11 +20,11 @@ #include <stdint.h> #include <sys/types.h> -#include <ui/android_native_buffer.h> +#include <ui/ANativeObjectBase.h> #include <ui/PixelFormat.h> #include <ui/Rect.h> #include <utils/Flattenable.h> -#include <pixelflinger/pixelflinger.h> + struct ANativeWindowBuffer; @@ -37,7 +37,7 @@ class GraphicBufferMapper; // =========================================================================== class GraphicBuffer - : public EGLNativeBase< + : public ANativeObjectBase< ANativeWindowBuffer, GraphicBuffer, LightRefBase<GraphicBuffer> >, public Flattenable @@ -93,7 +93,6 @@ public: status_t lock(uint32_t usage, void** vaddr); status_t lock(uint32_t usage, const Rect& rect, void** vaddr); - status_t lock(GGLSurface* surface, uint32_t usage); status_t unlock(); ANativeWindowBuffer* getNativeBuffer() const; diff --git a/include/ui/android_native_buffer.h b/include/ui/android_native_buffer.h deleted file mode 100644 index b6e1db460063..000000000000 --- a/include/ui/android_native_buffer.h +++ /dev/null @@ -1,22 +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 ANDROID_ANDROID_NATIVES_PRIV_H -#define ANDROID_ANDROID_NATIVES_PRIV_H - -#include <ui/egl/android_natives.h> - -#endif /* ANDROID_ANDROID_NATIVES_PRIV_H */ diff --git a/include/utils/AndroidThreads.h b/include/utils/AndroidThreads.h new file mode 100644 index 000000000000..f9f7aa41a061 --- /dev/null +++ b/include/utils/AndroidThreads.h @@ -0,0 +1,136 @@ +/* + * 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. + */ + +#ifndef _LIBS_UTILS_ANDROID_THREADS_H +#define _LIBS_UTILS_ANDROID_THREADS_H + +#include <stdint.h> +#include <sys/types.h> + +#if defined(HAVE_PTHREADS) +# include <pthread.h> +#endif + +#include <utils/ThreadDefs.h> + +// --------------------------------------------------------------------------- +// C API + +#ifdef __cplusplus +extern "C" { +#endif + +// Create and run a new thread. +extern int androidCreateThread(android_thread_func_t, void *); + +// Create thread with lots of parameters +extern int androidCreateThreadEtc(android_thread_func_t entryFunction, + void *userData, + const char* threadName, + int32_t threadPriority, + size_t threadStackSize, + android_thread_id_t *threadId); + +// Get some sort of unique identifier for the current thread. +extern android_thread_id_t androidGetThreadId(); + +// Low-level thread creation -- never creates threads that can +// interact with the Java VM. +extern int androidCreateRawThreadEtc(android_thread_func_t entryFunction, + void *userData, + const char* threadName, + int32_t threadPriority, + size_t threadStackSize, + android_thread_id_t *threadId); + +// Used by the Java Runtime to control how threads are created, so that +// they can be proper and lovely Java threads. +typedef int (*android_create_thread_fn)(android_thread_func_t entryFunction, + void *userData, + const char* threadName, + int32_t threadPriority, + size_t threadStackSize, + android_thread_id_t *threadId); + +extern void androidSetCreateThreadFunc(android_create_thread_fn func); + +// ------------------------------------------------------------------ +// Extra functions working with raw pids. + +// Get pid for the current thread. +extern pid_t androidGetTid(); + +// Change the scheduling group of a particular thread. The group +// should be one of the ANDROID_TGROUP constants. Returns BAD_VALUE if +// grp is out of range, else another non-zero value with errno set if +// the operation failed. Thread ID zero means current thread. +extern int androidSetThreadSchedulingGroup(pid_t tid, int grp); + +// Change the priority AND scheduling group of a particular thread. The priority +// should be one of the ANDROID_PRIORITY constants. Returns INVALID_OPERATION +// if the priority set failed, else another value if just the group set failed; +// in either case errno is set. Thread ID zero means current thread. +extern int androidSetThreadPriority(pid_t tid, int prio); + +// Get the current priority of a particular thread. Returns one of the +// ANDROID_PRIORITY constants or a negative result in case of error. +extern int androidGetThreadPriority(pid_t tid); + +// Get the current scheduling group of a particular thread. Normally returns +// one of the ANDROID_TGROUP constants other than ANDROID_TGROUP_DEFAULT. +// Returns ANDROID_TGROUP_DEFAULT if no pthread support (e.g. on host) or if +// scheduling groups are disabled. Returns INVALID_OPERATION if unexpected error. +// Thread ID zero means current thread. +extern int androidGetThreadSchedulingGroup(pid_t tid); + +#ifdef __cplusplus +} // extern "C" +#endif + +// ---------------------------------------------------------------------------- +// C++ API +#ifdef __cplusplus +namespace android { +// ---------------------------------------------------------------------------- + +// Create and run a new thread. +inline bool createThread(thread_func_t f, void *a) { + return androidCreateThread(f, a) ? true : false; +} + +// Create thread with lots of parameters +inline bool createThreadEtc(thread_func_t entryFunction, + void *userData, + const char* threadName = "android:unnamed_thread", + int32_t threadPriority = PRIORITY_DEFAULT, + size_t threadStackSize = 0, + thread_id_t *threadId = 0) +{ + return androidCreateThreadEtc(entryFunction, userData, threadName, + threadPriority, threadStackSize, threadId) ? true : false; +} + +// Get some sort of unique identifier for the current thread. +inline thread_id_t getThreadId() { + return androidGetThreadId(); +} + +// ---------------------------------------------------------------------------- +}; // namespace android +#endif // __cplusplus +// ---------------------------------------------------------------------------- + +#endif // _LIBS_UTILS_ANDROID_THREADS_H diff --git a/include/utils/Condition.h b/include/utils/Condition.h new file mode 100644 index 000000000000..8852d53330e7 --- /dev/null +++ b/include/utils/Condition.h @@ -0,0 +1,134 @@ +/* + * 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. + */ + +#ifndef _LIBS_UTILS_CONDITION_H +#define _LIBS_UTILS_CONDITION_H + +#include <stdint.h> +#include <sys/types.h> +#include <time.h> + +#if defined(HAVE_PTHREADS) +# include <pthread.h> +#endif + +#include <utils/Errors.h> +#include <utils/Mutex.h> +#include <utils/Timers.h> + +// --------------------------------------------------------------------------- +namespace android { +// --------------------------------------------------------------------------- + +/* + * Condition variable class. The implementation is system-dependent. + * + * Condition variables are paired up with mutexes. Lock the mutex, + * call wait(), then either re-wait() if things aren't quite what you want, + * or unlock the mutex and continue. All threads calling wait() must + * use the same mutex for a given Condition. + */ +class Condition { +public: + enum { + PRIVATE = 0, + SHARED = 1 + }; + + Condition(); + Condition(int type); + ~Condition(); + // Wait on the condition variable. Lock the mutex before calling. + status_t wait(Mutex& mutex); + // same with relative timeout + status_t waitRelative(Mutex& mutex, nsecs_t reltime); + // Signal the condition variable, allowing one thread to continue. + void signal(); + // Signal the condition variable, allowing all threads to continue. + void broadcast(); + +private: +#if defined(HAVE_PTHREADS) + pthread_cond_t mCond; +#else + void* mState; +#endif +}; + +// --------------------------------------------------------------------------- + +#if defined(HAVE_PTHREADS) + +inline Condition::Condition() { + pthread_cond_init(&mCond, NULL); +} +inline Condition::Condition(int type) { + if (type == SHARED) { + pthread_condattr_t attr; + pthread_condattr_init(&attr); + pthread_condattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); + pthread_cond_init(&mCond, &attr); + pthread_condattr_destroy(&attr); + } else { + pthread_cond_init(&mCond, NULL); + } +} +inline Condition::~Condition() { + pthread_cond_destroy(&mCond); +} +inline status_t Condition::wait(Mutex& mutex) { + return -pthread_cond_wait(&mCond, &mutex.mMutex); +} +inline status_t Condition::waitRelative(Mutex& mutex, nsecs_t reltime) { +#if defined(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE) + struct timespec ts; + ts.tv_sec = reltime/1000000000; + ts.tv_nsec = reltime%1000000000; + return -pthread_cond_timedwait_relative_np(&mCond, &mutex.mMutex, &ts); +#else // HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE + struct timespec ts; +#if defined(HAVE_POSIX_CLOCKS) + clock_gettime(CLOCK_REALTIME, &ts); +#else // HAVE_POSIX_CLOCKS + // we don't support the clocks here. + struct timeval t; + gettimeofday(&t, NULL); + ts.tv_sec = t.tv_sec; + ts.tv_nsec= t.tv_usec*1000; +#endif // HAVE_POSIX_CLOCKS + ts.tv_sec += reltime/1000000000; + ts.tv_nsec+= reltime%1000000000; + if (ts.tv_nsec >= 1000000000) { + ts.tv_nsec -= 1000000000; + ts.tv_sec += 1; + } + return -pthread_cond_timedwait(&mCond, &mutex.mMutex, &ts); +#endif // HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE +} +inline void Condition::signal() { + pthread_cond_signal(&mCond); +} +inline void Condition::broadcast() { + pthread_cond_broadcast(&mCond); +} + +#endif // HAVE_PTHREADS + +// --------------------------------------------------------------------------- +}; // namespace android +// --------------------------------------------------------------------------- + +#endif // _LIBS_UTILS_CONDITON_H diff --git a/include/utils/Mutex.h b/include/utils/Mutex.h new file mode 100644 index 000000000000..de6fb394ad9c --- /dev/null +++ b/include/utils/Mutex.h @@ -0,0 +1,137 @@ +/* + * 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. + */ + +#ifndef _LIBS_UTILS_MUTEX_H +#define _LIBS_UTILS_MUTEX_H + +#include <stdint.h> +#include <sys/types.h> +#include <time.h> + +#if defined(HAVE_PTHREADS) +# include <pthread.h> +#endif + +#include <utils/Errors.h> + +// --------------------------------------------------------------------------- +namespace android { +// --------------------------------------------------------------------------- + +class Condition; + +/* + * Simple mutex class. The implementation is system-dependent. + * + * The mutex must be unlocked by the thread that locked it. They are not + * recursive, i.e. the same thread can't lock it multiple times. + */ +class Mutex { +public: + enum { + PRIVATE = 0, + SHARED = 1 + }; + + Mutex(); + Mutex(const char* name); + Mutex(int type, const char* name = NULL); + ~Mutex(); + + // lock or unlock the mutex + status_t lock(); + void unlock(); + + // lock if possible; returns 0 on success, error otherwise + status_t tryLock(); + + // Manages the mutex automatically. It'll be locked when Autolock is + // constructed and released when Autolock goes out of scope. + class Autolock { + public: + inline Autolock(Mutex& mutex) : mLock(mutex) { mLock.lock(); } + inline Autolock(Mutex* mutex) : mLock(*mutex) { mLock.lock(); } + inline ~Autolock() { mLock.unlock(); } + private: + Mutex& mLock; + }; + +private: + friend class Condition; + + // A mutex cannot be copied + Mutex(const Mutex&); + Mutex& operator = (const Mutex&); + +#if defined(HAVE_PTHREADS) + pthread_mutex_t mMutex; +#else + void _init(); + void* mState; +#endif +}; + +// --------------------------------------------------------------------------- + +#if defined(HAVE_PTHREADS) + +inline Mutex::Mutex() { + pthread_mutex_init(&mMutex, NULL); +} +inline Mutex::Mutex(const char* name) { + pthread_mutex_init(&mMutex, NULL); +} +inline Mutex::Mutex(int type, const char* name) { + if (type == SHARED) { + pthread_mutexattr_t attr; + pthread_mutexattr_init(&attr); + pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); + pthread_mutex_init(&mMutex, &attr); + pthread_mutexattr_destroy(&attr); + } else { + pthread_mutex_init(&mMutex, NULL); + } +} +inline Mutex::~Mutex() { + pthread_mutex_destroy(&mMutex); +} +inline status_t Mutex::lock() { + return -pthread_mutex_lock(&mMutex); +} +inline void Mutex::unlock() { + pthread_mutex_unlock(&mMutex); +} +inline status_t Mutex::tryLock() { + return -pthread_mutex_trylock(&mMutex); +} + +#endif // HAVE_PTHREADS + +// --------------------------------------------------------------------------- + +/* + * Automatic mutex. Declare one of these at the top of a function. + * When the function returns, it will go out of scope, and release the + * mutex. + */ + +typedef Mutex::Autolock AutoMutex; + +// --------------------------------------------------------------------------- +}; // namespace android +// --------------------------------------------------------------------------- + +#endif // _LIBS_UTILS_MUTEX_H diff --git a/include/utils/RWLock.h b/include/utils/RWLock.h new file mode 100644 index 000000000000..a5abea2b8fa0 --- /dev/null +++ b/include/utils/RWLock.h @@ -0,0 +1,126 @@ +/* + * 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. + */ + +#ifndef _LIBS_UTILS_RWLOCK_H +#define _LIBS_UTILS_RWLOCK_H + +#include <stdint.h> +#include <sys/types.h> + +#if defined(HAVE_PTHREADS) +# include <pthread.h> +#endif + +#include <utils/Errors.h> +#include <utils/ThreadDefs.h> + +// --------------------------------------------------------------------------- +namespace android { +// --------------------------------------------------------------------------- + +#if defined(HAVE_PTHREADS) + +/* + * Simple mutex class. The implementation is system-dependent. + * + * The mutex must be unlocked by the thread that locked it. They are not + * recursive, i.e. the same thread can't lock it multiple times. + */ +class RWLock { +public: + enum { + PRIVATE = 0, + SHARED = 1 + }; + + RWLock(); + RWLock(const char* name); + RWLock(int type, const char* name = NULL); + ~RWLock(); + + status_t readLock(); + status_t tryReadLock(); + status_t writeLock(); + status_t tryWriteLock(); + void unlock(); + + class AutoRLock { + public: + inline AutoRLock(RWLock& rwlock) : mLock(rwlock) { mLock.readLock(); } + inline ~AutoRLock() { mLock.unlock(); } + private: + RWLock& mLock; + }; + + class AutoWLock { + public: + inline AutoWLock(RWLock& rwlock) : mLock(rwlock) { mLock.writeLock(); } + inline ~AutoWLock() { mLock.unlock(); } + private: + RWLock& mLock; + }; + +private: + // A RWLock cannot be copied + RWLock(const RWLock&); + RWLock& operator = (const RWLock&); + + pthread_rwlock_t mRWLock; +}; + +inline RWLock::RWLock() { + pthread_rwlock_init(&mRWLock, NULL); +} +inline RWLock::RWLock(const char* name) { + pthread_rwlock_init(&mRWLock, NULL); +} +inline RWLock::RWLock(int type, const char* name) { + if (type == SHARED) { + pthread_rwlockattr_t attr; + pthread_rwlockattr_init(&attr); + pthread_rwlockattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); + pthread_rwlock_init(&mRWLock, &attr); + pthread_rwlockattr_destroy(&attr); + } else { + pthread_rwlock_init(&mRWLock, NULL); + } +} +inline RWLock::~RWLock() { + pthread_rwlock_destroy(&mRWLock); +} +inline status_t RWLock::readLock() { + return -pthread_rwlock_rdlock(&mRWLock); +} +inline status_t RWLock::tryReadLock() { + return -pthread_rwlock_tryrdlock(&mRWLock); +} +inline status_t RWLock::writeLock() { + return -pthread_rwlock_wrlock(&mRWLock); +} +inline status_t RWLock::tryWriteLock() { + return -pthread_rwlock_trywrlock(&mRWLock); +} +inline void RWLock::unlock() { + pthread_rwlock_unlock(&mRWLock); +} + +#endif // HAVE_PTHREADS + +// --------------------------------------------------------------------------- +}; // namespace android +// --------------------------------------------------------------------------- + +#endif // _LIBS_UTILS_RWLOCK_H diff --git a/include/utils/Thread.h b/include/utils/Thread.h new file mode 100644 index 000000000000..4a34abd78813 --- /dev/null +++ b/include/utils/Thread.h @@ -0,0 +1,113 @@ +/* + * 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. + */ + +#ifndef _LIBS_UTILS_THREAD_H +#define _LIBS_UTILS_THREAD_H + +#include <stdint.h> +#include <sys/types.h> +#include <time.h> + +#if defined(HAVE_PTHREADS) +# include <pthread.h> +#endif + +#include <utils/Condition.h> +#include <utils/Errors.h> +#include <utils/Mutex.h> +#include <utils/RefBase.h> +#include <utils/Timers.h> +#include <utils/ThreadDefs.h> + +// --------------------------------------------------------------------------- +namespace android { +// --------------------------------------------------------------------------- + +class Thread : virtual public RefBase +{ +public: + // Create a Thread object, but doesn't create or start the associated + // thread. See the run() method. + Thread(bool canCallJava = true); + virtual ~Thread(); + + // Start the thread in threadLoop() which needs to be implemented. + virtual status_t run( const char* name = 0, + int32_t priority = PRIORITY_DEFAULT, + size_t stack = 0); + + // Ask this object's thread to exit. This function is asynchronous, when the + // function returns the thread might still be running. Of course, this + // function can be called from a different thread. + virtual void requestExit(); + + // Good place to do one-time initializations + virtual status_t readyToRun(); + + // Call requestExit() and wait until this object's thread exits. + // BE VERY CAREFUL of deadlocks. In particular, it would be silly to call + // this function from this object's thread. Will return WOULD_BLOCK in + // that case. + status_t requestExitAndWait(); + + // Wait until this object's thread exits. Returns immediately if not yet running. + // Do not call from this object's thread; will return WOULD_BLOCK in that case. + status_t join(); + +#ifdef HAVE_ANDROID_OS + // Return the thread's kernel ID, same as the thread itself calling gettid() or + // androidGetTid(), or -1 if the thread is not running. + pid_t getTid() const; +#endif + +protected: + // exitPending() returns true if requestExit() has been called. + bool exitPending() const; + +private: + // Derived class must implement threadLoop(). The thread starts its life + // here. There are two ways of using the Thread object: + // 1) loop: if threadLoop() returns true, it will be called again if + // requestExit() wasn't called. + // 2) once: if threadLoop() returns false, the thread will exit upon return. + virtual bool threadLoop() = 0; + +private: + Thread& operator=(const Thread&); + static int _threadLoop(void* user); + const bool mCanCallJava; + // always hold mLock when reading or writing + thread_id_t mThread; + mutable Mutex mLock; + Condition mThreadExitedCondition; + status_t mStatus; + // note that all accesses of mExitPending and mRunning need to hold mLock + volatile bool mExitPending; + volatile bool mRunning; + sp<Thread> mHoldSelf; +#ifdef HAVE_ANDROID_OS + // legacy for debugging, not used by getTid() as it is set by the child thread + // and so is not initialized until the child reaches that point + pid_t mTid; +#endif +}; + + +}; // namespace android + +// --------------------------------------------------------------------------- +#endif // _LIBS_UTILS_THREAD_H +// --------------------------------------------------------------------------- diff --git a/include/utils/ThreadDefs.h b/include/utils/ThreadDefs.h new file mode 100644 index 000000000000..3e563734ec66 --- /dev/null +++ b/include/utils/ThreadDefs.h @@ -0,0 +1,123 @@ +/* + * 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. + */ + +#ifndef _LIBS_UTILS_THREAD_DEFS_H +#define _LIBS_UTILS_THREAD_DEFS_H + +#include <stdint.h> +#include <sys/types.h> +#include <system/graphics.h> + +// --------------------------------------------------------------------------- +// C API + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void* android_thread_id_t; + +typedef int (*android_thread_func_t)(void*); + +enum { + /* + * *********************************************** + * ** Keep in sync with android.os.Process.java ** + * *********************************************** + * + * This maps directly to the "nice" priorities we use in Android. + * A thread priority should be chosen inverse-proportionally to + * the amount of work the thread is expected to do. The more work + * a thread will do, the less favorable priority it should get so that + * it doesn't starve the system. Threads not behaving properly might + * be "punished" by the kernel. + * Use the levels below when appropriate. Intermediate values are + * acceptable, preferably use the {MORE|LESS}_FAVORABLE constants below. + */ + ANDROID_PRIORITY_LOWEST = 19, + + /* use for background tasks */ + ANDROID_PRIORITY_BACKGROUND = 10, + + /* most threads run at normal priority */ + ANDROID_PRIORITY_NORMAL = 0, + + /* threads currently running a UI that the user is interacting with */ + ANDROID_PRIORITY_FOREGROUND = -2, + + /* the main UI thread has a slightly more favorable priority */ + ANDROID_PRIORITY_DISPLAY = -4, + + /* ui service treads might want to run at a urgent display (uncommon) */ + ANDROID_PRIORITY_URGENT_DISPLAY = HAL_PRIORITY_URGENT_DISPLAY, + + /* all normal audio threads */ + ANDROID_PRIORITY_AUDIO = -16, + + /* service audio threads (uncommon) */ + ANDROID_PRIORITY_URGENT_AUDIO = -19, + + /* should never be used in practice. regular process might not + * be allowed to use this level */ + ANDROID_PRIORITY_HIGHEST = -20, + + ANDROID_PRIORITY_DEFAULT = ANDROID_PRIORITY_NORMAL, + ANDROID_PRIORITY_MORE_FAVORABLE = -1, + ANDROID_PRIORITY_LESS_FAVORABLE = +1, +}; + +enum { + ANDROID_TGROUP_DEFAULT = 0, + ANDROID_TGROUP_BG_NONINTERACT = 1, + ANDROID_TGROUP_FG_BOOST = 2, + ANDROID_TGROUP_MAX = ANDROID_TGROUP_FG_BOOST, +}; + +#ifdef __cplusplus +} // extern "C" +#endif + +// --------------------------------------------------------------------------- +// C++ API +#ifdef __cplusplus +namespace android { +// --------------------------------------------------------------------------- + +typedef android_thread_id_t thread_id_t; +typedef android_thread_func_t thread_func_t; + +enum { + PRIORITY_LOWEST = ANDROID_PRIORITY_LOWEST, + PRIORITY_BACKGROUND = ANDROID_PRIORITY_BACKGROUND, + PRIORITY_NORMAL = ANDROID_PRIORITY_NORMAL, + PRIORITY_FOREGROUND = ANDROID_PRIORITY_FOREGROUND, + PRIORITY_DISPLAY = ANDROID_PRIORITY_DISPLAY, + PRIORITY_URGENT_DISPLAY = ANDROID_PRIORITY_URGENT_DISPLAY, + PRIORITY_AUDIO = ANDROID_PRIORITY_AUDIO, + PRIORITY_URGENT_AUDIO = ANDROID_PRIORITY_URGENT_AUDIO, + PRIORITY_HIGHEST = ANDROID_PRIORITY_HIGHEST, + PRIORITY_DEFAULT = ANDROID_PRIORITY_DEFAULT, + PRIORITY_MORE_FAVORABLE = ANDROID_PRIORITY_MORE_FAVORABLE, + PRIORITY_LESS_FAVORABLE = ANDROID_PRIORITY_LESS_FAVORABLE, +}; + +// --------------------------------------------------------------------------- +}; // namespace android +#endif // __cplusplus +// --------------------------------------------------------------------------- + + +#endif // _LIBS_UTILS_THREAD_DEFS_H diff --git a/include/utils/Trace.h b/include/utils/Trace.h new file mode 100644 index 000000000000..f33ddf652d40 --- /dev/null +++ b/include/utils/Trace.h @@ -0,0 +1,166 @@ +/* + * Copyright (C) 2012 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 ANDROID_TRACE_H +#define ANDROID_TRACE_H + +#include <fcntl.h> +#include <stdint.h> +#include <stdio.h> +#include <string.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> + +#include <cutils/compiler.h> +#include <utils/threads.h> + +// The ATRACE_TAG macro can be defined before including this header to trace +// using one of the tags defined below. It must be defined to one of the +// following ATRACE_TAG_* macros. The trace tag is used to filter tracing in +// userland to avoid some of the runtime cost of tracing when it is not desired. +// +// Defining ATRACE_TAG to be ATRACE_TAG_ALWAYS will result in the tracing always +// being enabled - this should ONLY be done for debug code, as userland tracing +// has a performance cost even when the trace is not being recorded. Defining +// ATRACE_TAG to be ATRACE_TAG_NEVER or leaving ATRACE_TAG undefined will result +// in the tracing always being disabled. +#define ATRACE_TAG_NEVER 0 // The "never" tag is never enabled. +#define ATRACE_TAG_ALWAYS (1<<0) // The "always" tag is always enabled. +#define ATRACE_TAG_GRAPHICS (1<<1) +#define ATRACE_TAG_LAST (1<<1) + +#define ATRACE_TAG_INVALID (~((ATRACE_TAG_LAST - 1) | ATRACE_TAG_LAST)) + +#ifndef ATRACE_TAG +#define ATRACE_TAG ATRACE_TAG_NEVER +#elif ATRACE_TAG > ATRACE_TAG_LAST +#error ATRACE_TAG must be defined to be one of the tags defined in utils/Trace.h +#endif + +// ATRACE_CALL traces the beginning and end of the current function. To trace +// the correct start and end times this macro should be the first line of the +// function body. +#define ATRACE_CALL() android::ScopedTrace ___tracer(ATRACE_TAG, __FUNCTION__) + +// ATRACE_INT traces a named integer value. This can be used to track how the +// value changes over time in a trace. +#define ATRACE_INT(name, value) android::Tracer::traceCounter(ATRACE_TAG, name, value) + +namespace android { + +class Tracer { + +public: + + static inline void traceCounter(uint64_t tag, const char* name, + int32_t value) { + if (!android_atomic_acquire_load(&sIsReady)) { + init(); + } + int traceFD = sTraceFD; + if (CC_UNLIKELY(tagEnabled(tag) && traceFD != -1)) { + char buf[1024]; + snprintf(buf, 1024, "C|%d|%s|%d", getpid(), name, value); + write(traceFD, buf, strlen(buf)); + } + } + + static inline void traceBegin(uint64_t tag, const char* name) { + if (CC_UNLIKELY(!android_atomic_acquire_load(&sIsReady))) { + init(); + } + int traceFD = sTraceFD; + if (CC_UNLIKELY(tagEnabled(tag) && (traceFD != -1))) { + char buf[1024]; + size_t len = snprintf(buf, 1024, "B|%d|%s", getpid(), name); + write(traceFD, buf, len); + } + } + + static inline void traceEnd(uint64_t tag) { + if (CC_UNLIKELY(!android_atomic_acquire_load(&sIsReady))) { + init(); + } + int traceFD = sTraceFD; + if (CC_UNLIKELY(tagEnabled(tag) && (traceFD != -1))) { + char buf = 'E'; + write(traceFD, &buf, 1); + } + } + +private: + + static inline bool tagEnabled(uint64_t tag) { + return !(tag & ATRACE_TAG_INVALID) && (tag & sEnabledTags); + } + + // init opens the trace marker file for writing and reads the + // atrace.tags.enableflags system property. It does this only the first + // time it is run, using sMutex for synchronization. + static void init(); + + // sIsReady is a boolean value indicating whether a call to init() has + // completed in this process. It is initialized to 0 and set to 1 when the + // first init() call completes. It is set to 1 even if a failure occurred + // in init (e.g. the trace marker file couldn't be opened). + // + // This should be checked by all tracing functions using an atomic acquire + // load operation before calling init(). This check avoids the need to lock + // a mutex each time a trace function gets called. + static volatile int32_t sIsReady; + + // sTraceFD is the file descriptor used to write to the kernel's trace + // buffer. It is initialized to -1 and set to an open file descriptor in + // init() while a lock on sMutex is held. + // + // This should only be used by a trace function after init() has + // successfully completed. + static int sTraceFD; + + // sEnabledTags is the set of tag bits for which tracing is currently + // enabled. It is initialized to 0 and set based on the + // atrace.tags.enableflags system property in init() while a lock on sMutex + // is held. + // + // This should only be used by a trace function after init() has + // successfully completed. + static uint64_t sEnabledTags; + + // sMutex is used to protect the execution of init(). + static Mutex sMutex; +}; + +class ScopedTrace { + +public: + inline ScopedTrace(uint64_t tag, const char* name) : + mTag(tag) { + Tracer::traceBegin(mTag, name); + } + + inline ~ScopedTrace() { + Tracer::traceEnd(mTag); + } + +private: + + uint64_t mTag; +}; + +}; // namespace android + +#endif // ANDROID_TRACE_H diff --git a/include/utils/threads.h b/include/utils/threads.h index b4a8b7c0e12b..9de338211869 100644 --- a/include/utils/threads.h +++ b/include/utils/threads.h @@ -17,556 +17,22 @@ #ifndef _LIBS_UTILS_THREADS_H #define _LIBS_UTILS_THREADS_H -#include <stdint.h> -#include <sys/types.h> -#include <time.h> -#include <system/graphics.h> - -#if defined(HAVE_PTHREADS) -# include <pthread.h> -#endif - -// ------------------------------------------------------------------ -// C API - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void* android_thread_id_t; - -typedef int (*android_thread_func_t)(void*); - -enum { - /* - * *********************************************** - * ** Keep in sync with android.os.Process.java ** - * *********************************************** - * - * This maps directly to the "nice" priorities we use in Android. - * A thread priority should be chosen inverse-proportionally to - * the amount of work the thread is expected to do. The more work - * a thread will do, the less favorable priority it should get so that - * it doesn't starve the system. Threads not behaving properly might - * be "punished" by the kernel. - * Use the levels below when appropriate. Intermediate values are - * acceptable, preferably use the {MORE|LESS}_FAVORABLE constants below. - */ - ANDROID_PRIORITY_LOWEST = 19, - - /* use for background tasks */ - ANDROID_PRIORITY_BACKGROUND = 10, - - /* most threads run at normal priority */ - ANDROID_PRIORITY_NORMAL = 0, - - /* threads currently running a UI that the user is interacting with */ - ANDROID_PRIORITY_FOREGROUND = -2, - - /* the main UI thread has a slightly more favorable priority */ - ANDROID_PRIORITY_DISPLAY = -4, - - /* ui service treads might want to run at a urgent display (uncommon) */ - ANDROID_PRIORITY_URGENT_DISPLAY = HAL_PRIORITY_URGENT_DISPLAY, - - /* all normal audio threads */ - ANDROID_PRIORITY_AUDIO = -16, - - /* service audio threads (uncommon) */ - ANDROID_PRIORITY_URGENT_AUDIO = -19, - - /* should never be used in practice. regular process might not - * be allowed to use this level */ - ANDROID_PRIORITY_HIGHEST = -20, - - ANDROID_PRIORITY_DEFAULT = ANDROID_PRIORITY_NORMAL, - ANDROID_PRIORITY_MORE_FAVORABLE = -1, - ANDROID_PRIORITY_LESS_FAVORABLE = +1, -}; - -enum { - ANDROID_TGROUP_DEFAULT = 0, - ANDROID_TGROUP_BG_NONINTERACT = 1, - ANDROID_TGROUP_FG_BOOST = 2, - ANDROID_TGROUP_MAX = ANDROID_TGROUP_FG_BOOST, -}; - -// Create and run a new thread. -extern int androidCreateThread(android_thread_func_t, void *); - -// Create thread with lots of parameters -extern int androidCreateThreadEtc(android_thread_func_t entryFunction, - void *userData, - const char* threadName, - int32_t threadPriority, - size_t threadStackSize, - android_thread_id_t *threadId); - -// Get some sort of unique identifier for the current thread. -extern android_thread_id_t androidGetThreadId(); - -// Low-level thread creation -- never creates threads that can -// interact with the Java VM. -extern int androidCreateRawThreadEtc(android_thread_func_t entryFunction, - void *userData, - const char* threadName, - int32_t threadPriority, - size_t threadStackSize, - android_thread_id_t *threadId); - -// Used by the Java Runtime to control how threads are created, so that -// they can be proper and lovely Java threads. -typedef int (*android_create_thread_fn)(android_thread_func_t entryFunction, - void *userData, - const char* threadName, - int32_t threadPriority, - size_t threadStackSize, - android_thread_id_t *threadId); - -extern void androidSetCreateThreadFunc(android_create_thread_fn func); - -// ------------------------------------------------------------------ -// Extra functions working with raw pids. - -// Get pid for the current thread. -extern pid_t androidGetTid(); - -// Change the scheduling group of a particular thread. The group -// should be one of the ANDROID_TGROUP constants. Returns BAD_VALUE if -// grp is out of range, else another non-zero value with errno set if -// the operation failed. Thread ID zero means current thread. -extern int androidSetThreadSchedulingGroup(pid_t tid, int grp); - -// Change the priority AND scheduling group of a particular thread. The priority -// should be one of the ANDROID_PRIORITY constants. Returns INVALID_OPERATION -// if the priority set failed, else another value if just the group set failed; -// in either case errno is set. Thread ID zero means current thread. -extern int androidSetThreadPriority(pid_t tid, int prio); - -// Get the current priority of a particular thread. Returns one of the -// ANDROID_PRIORITY constants or a negative result in case of error. -extern int androidGetThreadPriority(pid_t tid); - -// Get the current scheduling group of a particular thread. Normally returns -// one of the ANDROID_TGROUP constants other than ANDROID_TGROUP_DEFAULT. -// Returns ANDROID_TGROUP_DEFAULT if no pthread support (e.g. on host) or if -// scheduling groups are disabled. Returns INVALID_OPERATION if unexpected error. -// Thread ID zero means current thread. -extern int androidGetThreadSchedulingGroup(pid_t tid); - -#ifdef __cplusplus -} -#endif - -// ------------------------------------------------------------------ -// C++ API - -#ifdef __cplusplus - -#include <utils/Errors.h> -#include <utils/RefBase.h> -#include <utils/Timers.h> - -namespace android { - -typedef android_thread_id_t thread_id_t; - -typedef android_thread_func_t thread_func_t; - -enum { - PRIORITY_LOWEST = ANDROID_PRIORITY_LOWEST, - PRIORITY_BACKGROUND = ANDROID_PRIORITY_BACKGROUND, - PRIORITY_NORMAL = ANDROID_PRIORITY_NORMAL, - PRIORITY_FOREGROUND = ANDROID_PRIORITY_FOREGROUND, - PRIORITY_DISPLAY = ANDROID_PRIORITY_DISPLAY, - PRIORITY_URGENT_DISPLAY = ANDROID_PRIORITY_URGENT_DISPLAY, - PRIORITY_AUDIO = ANDROID_PRIORITY_AUDIO, - PRIORITY_URGENT_AUDIO = ANDROID_PRIORITY_URGENT_AUDIO, - PRIORITY_HIGHEST = ANDROID_PRIORITY_HIGHEST, - PRIORITY_DEFAULT = ANDROID_PRIORITY_DEFAULT, - PRIORITY_MORE_FAVORABLE = ANDROID_PRIORITY_MORE_FAVORABLE, - PRIORITY_LESS_FAVORABLE = ANDROID_PRIORITY_LESS_FAVORABLE, -}; - -// Create and run a new thread. -inline bool createThread(thread_func_t f, void *a) { - return androidCreateThread(f, a) ? true : false; -} - -// Create thread with lots of parameters -inline bool createThreadEtc(thread_func_t entryFunction, - void *userData, - const char* threadName = "android:unnamed_thread", - int32_t threadPriority = PRIORITY_DEFAULT, - size_t threadStackSize = 0, - thread_id_t *threadId = 0) -{ - return androidCreateThreadEtc(entryFunction, userData, threadName, - threadPriority, threadStackSize, threadId) ? true : false; -} - -// Get some sort of unique identifier for the current thread. -inline thread_id_t getThreadId() { - return androidGetThreadId(); -} - -/*****************************************************************************/ - /* - * Simple mutex class. The implementation is system-dependent. + * Please, DO NOT USE! * - * The mutex must be unlocked by the thread that locked it. They are not - * recursive, i.e. the same thread can't lock it multiple times. - */ -class Mutex { -public: - enum { - PRIVATE = 0, - SHARED = 1 - }; - - Mutex(); - Mutex(const char* name); - Mutex(int type, const char* name = NULL); - ~Mutex(); - - // lock or unlock the mutex - status_t lock(); - void unlock(); - - // lock if possible; returns 0 on success, error otherwise - status_t tryLock(); - - // Manages the mutex automatically. It'll be locked when Autolock is - // constructed and released when Autolock goes out of scope. - class Autolock { - public: - inline Autolock(Mutex& mutex) : mLock(mutex) { mLock.lock(); } - inline Autolock(Mutex* mutex) : mLock(*mutex) { mLock.lock(); } - inline ~Autolock() { mLock.unlock(); } - private: - Mutex& mLock; - }; - -private: - friend class Condition; - - // A mutex cannot be copied - Mutex(const Mutex&); - Mutex& operator = (const Mutex&); - -#if defined(HAVE_PTHREADS) - pthread_mutex_t mMutex; -#else - void _init(); - void* mState; -#endif -}; - -#if defined(HAVE_PTHREADS) - -inline Mutex::Mutex() { - pthread_mutex_init(&mMutex, NULL); -} -inline Mutex::Mutex(const char* name) { - pthread_mutex_init(&mMutex, NULL); -} -inline Mutex::Mutex(int type, const char* name) { - if (type == SHARED) { - pthread_mutexattr_t attr; - pthread_mutexattr_init(&attr); - pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); - pthread_mutex_init(&mMutex, &attr); - pthread_mutexattr_destroy(&attr); - } else { - pthread_mutex_init(&mMutex, NULL); - } -} -inline Mutex::~Mutex() { - pthread_mutex_destroy(&mMutex); -} -inline status_t Mutex::lock() { - return -pthread_mutex_lock(&mMutex); -} -inline void Mutex::unlock() { - pthread_mutex_unlock(&mMutex); -} -inline status_t Mutex::tryLock() { - return -pthread_mutex_trylock(&mMutex); -} - -#endif // HAVE_PTHREADS - -/* - * Automatic mutex. Declare one of these at the top of a function. - * When the function returns, it will go out of scope, and release the - * mutex. - */ - -typedef Mutex::Autolock AutoMutex; - -/*****************************************************************************/ - -#if defined(HAVE_PTHREADS) - -/* - * Simple mutex class. The implementation is system-dependent. - * - * The mutex must be unlocked by the thread that locked it. They are not - * recursive, i.e. the same thread can't lock it multiple times. - */ -class RWLock { -public: - enum { - PRIVATE = 0, - SHARED = 1 - }; - - RWLock(); - RWLock(const char* name); - RWLock(int type, const char* name = NULL); - ~RWLock(); - - status_t readLock(); - status_t tryReadLock(); - status_t writeLock(); - status_t tryWriteLock(); - void unlock(); - - class AutoRLock { - public: - inline AutoRLock(RWLock& rwlock) : mLock(rwlock) { mLock.readLock(); } - inline ~AutoRLock() { mLock.unlock(); } - private: - RWLock& mLock; - }; - - class AutoWLock { - public: - inline AutoWLock(RWLock& rwlock) : mLock(rwlock) { mLock.writeLock(); } - inline ~AutoWLock() { mLock.unlock(); } - private: - RWLock& mLock; - }; - -private: - // A RWLock cannot be copied - RWLock(const RWLock&); - RWLock& operator = (const RWLock&); - - pthread_rwlock_t mRWLock; -}; - -inline RWLock::RWLock() { - pthread_rwlock_init(&mRWLock, NULL); -} -inline RWLock::RWLock(const char* name) { - pthread_rwlock_init(&mRWLock, NULL); -} -inline RWLock::RWLock(int type, const char* name) { - if (type == SHARED) { - pthread_rwlockattr_t attr; - pthread_rwlockattr_init(&attr); - pthread_rwlockattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); - pthread_rwlock_init(&mRWLock, &attr); - pthread_rwlockattr_destroy(&attr); - } else { - pthread_rwlock_init(&mRWLock, NULL); - } -} -inline RWLock::~RWLock() { - pthread_rwlock_destroy(&mRWLock); -} -inline status_t RWLock::readLock() { - return -pthread_rwlock_rdlock(&mRWLock); -} -inline status_t RWLock::tryReadLock() { - return -pthread_rwlock_tryrdlock(&mRWLock); -} -inline status_t RWLock::writeLock() { - return -pthread_rwlock_wrlock(&mRWLock); -} -inline status_t RWLock::tryWriteLock() { - return -pthread_rwlock_trywrlock(&mRWLock); -} -inline void RWLock::unlock() { - pthread_rwlock_unlock(&mRWLock); -} - -#endif // HAVE_PTHREADS - -/*****************************************************************************/ - -/* - * Condition variable class. The implementation is system-dependent. + * This file is here only for legacy reasons. Instead, include directly + * the headers you need below. * - * Condition variables are paired up with mutexes. Lock the mutex, - * call wait(), then either re-wait() if things aren't quite what you want, - * or unlock the mutex and continue. All threads calling wait() must - * use the same mutex for a given Condition. - */ -class Condition { -public: - enum { - PRIVATE = 0, - SHARED = 1 - }; - - Condition(); - Condition(int type); - ~Condition(); - // Wait on the condition variable. Lock the mutex before calling. - status_t wait(Mutex& mutex); - // same with relative timeout - status_t waitRelative(Mutex& mutex, nsecs_t reltime); - // Signal the condition variable, allowing one thread to continue. - void signal(); - // Signal the condition variable, allowing all threads to continue. - void broadcast(); - -private: -#if defined(HAVE_PTHREADS) - pthread_cond_t mCond; -#else - void* mState; -#endif -}; - -#if defined(HAVE_PTHREADS) - -inline Condition::Condition() { - pthread_cond_init(&mCond, NULL); -} -inline Condition::Condition(int type) { - if (type == SHARED) { - pthread_condattr_t attr; - pthread_condattr_init(&attr); - pthread_condattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); - pthread_cond_init(&mCond, &attr); - pthread_condattr_destroy(&attr); - } else { - pthread_cond_init(&mCond, NULL); - } -} -inline Condition::~Condition() { - pthread_cond_destroy(&mCond); -} -inline status_t Condition::wait(Mutex& mutex) { - return -pthread_cond_wait(&mCond, &mutex.mMutex); -} -inline status_t Condition::waitRelative(Mutex& mutex, nsecs_t reltime) { -#if defined(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE) - struct timespec ts; - ts.tv_sec = reltime/1000000000; - ts.tv_nsec = reltime%1000000000; - return -pthread_cond_timedwait_relative_np(&mCond, &mutex.mMutex, &ts); -#else // HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE - struct timespec ts; -#if defined(HAVE_POSIX_CLOCKS) - clock_gettime(CLOCK_REALTIME, &ts); -#else // HAVE_POSIX_CLOCKS - // we don't support the clocks here. - struct timeval t; - gettimeofday(&t, NULL); - ts.tv_sec = t.tv_sec; - ts.tv_nsec= t.tv_usec*1000; -#endif // HAVE_POSIX_CLOCKS - ts.tv_sec += reltime/1000000000; - ts.tv_nsec+= reltime%1000000000; - if (ts.tv_nsec >= 1000000000) { - ts.tv_nsec -= 1000000000; - ts.tv_sec += 1; - } - return -pthread_cond_timedwait(&mCond, &mutex.mMutex, &ts); -#endif // HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE -} -inline void Condition::signal() { - pthread_cond_signal(&mCond); -} -inline void Condition::broadcast() { - pthread_cond_broadcast(&mCond); -} - -#endif // HAVE_PTHREADS - -/*****************************************************************************/ - -/* - * This is our spiffy thread object! */ -class Thread : virtual public RefBase -{ -public: - // Create a Thread object, but doesn't create or start the associated - // thread. See the run() method. - Thread(bool canCallJava = true); - virtual ~Thread(); +#include <utils/AndroidThreads.h> - // Start the thread in threadLoop() which needs to be implemented. - virtual status_t run( const char* name = 0, - int32_t priority = PRIORITY_DEFAULT, - size_t stack = 0); - - // Ask this object's thread to exit. This function is asynchronous, when the - // function returns the thread might still be running. Of course, this - // function can be called from a different thread. - virtual void requestExit(); - - // Good place to do one-time initializations - virtual status_t readyToRun(); - - // Call requestExit() and wait until this object's thread exits. - // BE VERY CAREFUL of deadlocks. In particular, it would be silly to call - // this function from this object's thread. Will return WOULD_BLOCK in - // that case. - status_t requestExitAndWait(); - - // Wait until this object's thread exits. Returns immediately if not yet running. - // Do not call from this object's thread; will return WOULD_BLOCK in that case. - status_t join(); - -#ifdef HAVE_ANDROID_OS - // Return the thread's kernel ID, same as the thread itself calling gettid() or - // androidGetTid(), or -1 if the thread is not running. - pid_t getTid() const; -#endif - -protected: - // exitPending() returns true if requestExit() has been called. - bool exitPending() const; - -private: - // Derived class must implement threadLoop(). The thread starts its life - // here. There are two ways of using the Thread object: - // 1) loop: if threadLoop() returns true, it will be called again if - // requestExit() wasn't called. - // 2) once: if threadLoop() returns false, the thread will exit upon return. - virtual bool threadLoop() = 0; - -private: - Thread& operator=(const Thread&); - static int _threadLoop(void* user); - const bool mCanCallJava; - // always hold mLock when reading or writing - thread_id_t mThread; - mutable Mutex mLock; - Condition mThreadExitedCondition; - status_t mStatus; - // note that all accesses of mExitPending and mRunning need to hold mLock - volatile bool mExitPending; - volatile bool mRunning; - sp<Thread> mHoldSelf; -#ifdef HAVE_ANDROID_OS - // legacy for debugging, not used by getTid() as it is set by the child thread - // and so is not initialized until the child reaches that point - pid_t mTid; +#ifdef __cplusplus +#include <utils/Condition.h> +#include <utils/Errors.h> +#include <utils/Mutex.h> +#include <utils/RWLock.h> +#include <utils/Thread.h> #endif -}; - - -}; // namespace android - -#endif // __cplusplus #endif // _LIBS_UTILS_THREADS_H diff --git a/libs/camera/Camera.cpp b/libs/camera/Camera.cpp index ee458f19fd25..d43cb0bb434f 100644 --- a/libs/camera/Camera.cpp +++ b/libs/camera/Camera.cpp @@ -27,7 +27,8 @@ #include <camera/ICameraRecordingProxyListener.h> #include <camera/ICameraService.h> -#include <surfaceflinger/Surface.h> +#include <gui/ISurfaceTexture.h> +#include <gui/Surface.h> namespace android { diff --git a/libs/camera/ICamera.cpp b/libs/camera/ICamera.cpp index 70f5dbcf3f45..8d8408c815d2 100644 --- a/libs/camera/ICamera.cpp +++ b/libs/camera/ICamera.cpp @@ -22,6 +22,8 @@ #include <sys/types.h> #include <binder/Parcel.h> #include <camera/ICamera.h> +#include <gui/ISurfaceTexture.h> +#include <gui/Surface.h> namespace android { diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp index 0791de2269ef..261336a5f925 100644 --- a/libs/gui/BufferQueue.cpp +++ b/libs/gui/BufferQueue.cpp @@ -23,8 +23,8 @@ #include <EGL/eglext.h> #include <gui/BufferQueue.h> +#include <gui/ISurfaceComposer.h> #include <private/gui/ComposerService.h> -#include <surfaceflinger/ISurfaceComposer.h> #include <utils/Log.h> diff --git a/libs/gui/DisplayEventReceiver.cpp b/libs/gui/DisplayEventReceiver.cpp index 6a4763d5a72b..a6790ad072c4 100644 --- a/libs/gui/DisplayEventReceiver.cpp +++ b/libs/gui/DisplayEventReceiver.cpp @@ -21,11 +21,10 @@ #include <gui/BitTube.h> #include <gui/DisplayEventReceiver.h> #include <gui/IDisplayEventConnection.h> +#include <gui/ISurfaceComposer.h> #include <private/gui/ComposerService.h> -#include <surfaceflinger/ISurfaceComposer.h> - // --------------------------------------------------------------------------- namespace android { diff --git a/libs/gui/IGraphicBufferAlloc.cpp b/libs/gui/IGraphicBufferAlloc.cpp index 30f8d003c850..a70a5e8ad499 100644 --- a/libs/gui/IGraphicBufferAlloc.cpp +++ b/libs/gui/IGraphicBufferAlloc.cpp @@ -24,7 +24,7 @@ #include <ui/GraphicBuffer.h> -#include <surfaceflinger/IGraphicBufferAlloc.h> +#include <gui/IGraphicBufferAlloc.h> // --------------------------------------------------------------------------- diff --git a/libs/gui/ISurface.cpp b/libs/gui/ISurface.cpp index 96155d7458b1..c2ea18307723 100644 --- a/libs/gui/ISurface.cpp +++ b/libs/gui/ISurface.cpp @@ -22,8 +22,8 @@ #include <binder/Parcel.h> +#include <gui/ISurface.h> #include <gui/ISurfaceTexture.h> -#include <surfaceflinger/ISurface.h> namespace android { diff --git a/libs/gui/ISurfaceComposer.cpp b/libs/gui/ISurfaceComposer.cpp index 95b23793440d..1f1794cbe41b 100644 --- a/libs/gui/ISurfaceComposer.cpp +++ b/libs/gui/ISurfaceComposer.cpp @@ -25,16 +25,14 @@ #include <binder/IPCThreadState.h> #include <binder/IServiceManager.h> -#include <private/surfaceflinger/LayerState.h> - -#include <surfaceflinger/ISurfaceComposer.h> - #include <gui/BitTube.h> #include <gui/IDisplayEventConnection.h> +#include <gui/ISurfaceComposer.h> +#include <gui/ISurfaceTexture.h> -#include <ui/DisplayInfo.h> +#include <private/gui/LayerState.h> -#include <gui/ISurfaceTexture.h> +#include <ui/DisplayInfo.h> #include <utils/Log.h> diff --git a/libs/gui/ISurfaceComposerClient.cpp b/libs/gui/ISurfaceComposerClient.cpp index 8fe96b182ebf..ca9ed5b545d0 100644 --- a/libs/gui/ISurfaceComposerClient.cpp +++ b/libs/gui/ISurfaceComposerClient.cpp @@ -29,9 +29,9 @@ #include <ui/Point.h> #include <ui/Rect.h> -#include <surfaceflinger/ISurface.h> -#include <surfaceflinger/ISurfaceComposerClient.h> -#include <private/surfaceflinger/LayerState.h> +#include <gui/ISurface.h> +#include <gui/ISurfaceComposerClient.h> +#include <private/gui/LayerState.h> // --------------------------------------------------------------------------- diff --git a/libs/gui/LayerState.cpp b/libs/gui/LayerState.cpp index 87901e87f706..224c30587c21 100644 --- a/libs/gui/LayerState.cpp +++ b/libs/gui/LayerState.cpp @@ -16,8 +16,8 @@ #include <utils/Errors.h> #include <binder/Parcel.h> -#include <private/surfaceflinger/LayerState.h> -#include <surfaceflinger/ISurfaceComposerClient.h> +#include <gui/ISurfaceComposerClient.h> +#include <private/gui/LayerState.h> namespace android { diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index 337950c3e6ee..72b27edaaada 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -28,16 +28,15 @@ #include <binder/IPCThreadState.h> -#include <gui/SurfaceTextureClient.h> - #include <ui/DisplayInfo.h> #include <ui/GraphicBuffer.h> #include <ui/Rect.h> -#include <surfaceflinger/ISurface.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/Surface.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/ISurface.h> +#include <gui/ISurfaceComposer.h> +#include <gui/Surface.h> +#include <gui/SurfaceComposerClient.h> +#include <gui/SurfaceTextureClient.h> namespace android { diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp index 699438c0d717..ceb1ba6d8999 100644 --- a/libs/gui/SurfaceComposerClient.cpp +++ b/libs/gui/SurfaceComposerClient.cpp @@ -31,15 +31,14 @@ #include <ui/DisplayInfo.h> -#include <surfaceflinger/ISurface.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/ISurfaceComposerClient.h> -#include <surfaceflinger/SurfaceComposerClient.h> - -#include <private/surfaceflinger/LayerState.h> -#include <private/surfaceflinger/SharedBufferStack.h> +#include <gui/ISurface.h> +#include <gui/ISurfaceComposer.h> +#include <gui/ISurfaceComposerClient.h> +#include <gui/SurfaceComposerClient.h> #include <private/gui/ComposerService.h> +#include <private/gui/LayerState.h> +#include <private/gui/SharedBufferStack.h> namespace android { // --------------------------------------------------------------------------- diff --git a/libs/gui/SurfaceTexture.cpp b/libs/gui/SurfaceTexture.cpp index a7bfc613aa25..5f0013c06a29 100644 --- a/libs/gui/SurfaceTexture.cpp +++ b/libs/gui/SurfaceTexture.cpp @@ -25,15 +25,14 @@ #include <GLES2/gl2.h> #include <GLES2/gl2ext.h> -#include <gui/SurfaceTexture.h> - #include <hardware/hardware.h> -#include <private/gui/ComposerService.h> +#include <gui/IGraphicBufferAlloc.h> +#include <gui/ISurfaceComposer.h> +#include <gui/SurfaceComposerClient.h> +#include <gui/SurfaceTexture.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/SurfaceComposerClient.h> -#include <surfaceflinger/IGraphicBufferAlloc.h> +#include <private/gui/ComposerService.h> #include <utils/Log.h> #include <utils/String8.h> diff --git a/libs/gui/SurfaceTextureClient.cpp b/libs/gui/SurfaceTextureClient.cpp index d0934ba8aa73..dac54a8b116b 100644 --- a/libs/gui/SurfaceTextureClient.cpp +++ b/libs/gui/SurfaceTextureClient.cpp @@ -17,12 +17,12 @@ #define LOG_TAG "SurfaceTextureClient" //#define LOG_NDEBUG 0 -#include <gui/SurfaceTextureClient.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/SurfaceComposerClient.h> - #include <utils/Log.h> +#include <gui/ISurfaceComposer.h> +#include <gui/SurfaceComposerClient.h> +#include <gui/SurfaceTextureClient.h> + #include <private/gui/ComposerService.h> namespace android { diff --git a/libs/gui/tests/SurfaceTexture_test.cpp b/libs/gui/tests/SurfaceTexture_test.cpp index b18e7b057e54..8c6defec0cf0 100644 --- a/libs/gui/tests/SurfaceTexture_test.cpp +++ b/libs/gui/tests/SurfaceTexture_test.cpp @@ -24,9 +24,9 @@ #include <utils/String8.h> #include <utils/threads.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/Surface.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/ISurfaceComposer.h> +#include <gui/Surface.h> +#include <gui/SurfaceComposerClient.h> #include <EGL/egl.h> #include <EGL/eglext.h> diff --git a/libs/gui/tests/Surface_test.cpp b/libs/gui/tests/Surface_test.cpp index ea527504b160..b585d68ded75 100644 --- a/libs/gui/tests/Surface_test.cpp +++ b/libs/gui/tests/Surface_test.cpp @@ -17,9 +17,9 @@ #include <gtest/gtest.h> #include <binder/IMemory.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/Surface.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/ISurfaceComposer.h> +#include <gui/Surface.h> +#include <gui/SurfaceComposerClient.h> #include <utils/String8.h> #include <private/gui/ComposerService.h> diff --git a/libs/rs/driver/rsdGL.cpp b/libs/rs/driver/rsdGL.cpp index 7c66857399d6..8033b0881b01 100644 --- a/libs/rs/driver/rsdGL.cpp +++ b/libs/rs/driver/rsdGL.cpp @@ -16,7 +16,8 @@ #include <ui/FramebufferNativeWindow.h> #include <ui/PixelFormat.h> -#include <ui/egl/android_natives.h> + +#include <system/window.h> #include <sys/types.h> #include <sys/resource.h> diff --git a/libs/surfaceflinger_client/Android.mk b/libs/surfaceflinger_client/Android.mk deleted file mode 100644 index 5fca1ce5b3bb..000000000000 --- a/libs/surfaceflinger_client/Android.mk +++ /dev/null @@ -1,10 +0,0 @@ -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= - -LOCAL_SHARED_LIBRARIES := - -LOCAL_MODULE:= libsurfaceflinger_client - -include $(BUILD_SHARED_LIBRARY) diff --git a/libs/ui/FramebufferNativeWindow.cpp b/libs/ui/FramebufferNativeWindow.cpp index 26d4823db110..dec99b6c7064 100644 --- a/libs/ui/FramebufferNativeWindow.cpp +++ b/libs/ui/FramebufferNativeWindow.cpp @@ -27,25 +27,21 @@ #include <utils/threads.h> #include <utils/RefBase.h> -#include <ui/Rect.h> +#include <ui/ANativeObjectBase.h> #include <ui/FramebufferNativeWindow.h> +#include <ui/Rect.h> #include <EGL/egl.h> -#include <pixelflinger/format.h> -#include <pixelflinger/pixelflinger.h> - #include <hardware/hardware.h> #include <hardware/gralloc.h> -#include <private/ui/android_natives_priv.h> - // ---------------------------------------------------------------------------- namespace android { // ---------------------------------------------------------------------------- class NativeBuffer - : public EGLNativeBase< + : public ANativeObjectBase< ANativeWindowBuffer, NativeBuffer, LightRefBase<NativeBuffer> > diff --git a/libs/ui/GraphicBuffer.cpp b/libs/ui/GraphicBuffer.cpp index f549a3795f0e..57063e524620 100644 --- a/libs/ui/GraphicBuffer.cpp +++ b/libs/ui/GraphicBuffer.cpp @@ -28,8 +28,6 @@ #include <ui/GraphicBufferMapper.h> #include <ui/PixelFormat.h> -#include <pixelflinger/pixelflinger.h> - namespace android { // =========================================================================== @@ -182,21 +180,6 @@ status_t GraphicBuffer::unlock() return res; } -status_t GraphicBuffer::lock(GGLSurface* sur, uint32_t usage) -{ - void* vaddr; - status_t res = GraphicBuffer::lock(usage, &vaddr); - if (res == NO_ERROR && sur) { - sur->version = sizeof(GGLSurface); - sur->width = width; - sur->height = height; - sur->stride = stride; - sur->format = format; - sur->data = static_cast<GGLubyte*>(vaddr); - } - return res; -} - size_t GraphicBuffer::getFlattenedSize() const { return (8 + (handle ? handle->numInts : 0))*sizeof(int); } diff --git a/libs/utils/Android.mk b/libs/utils/Android.mk index a96c8e604d2e..57c048a3eaa2 100644 --- a/libs/utils/Android.mk +++ b/libs/utils/Android.mk @@ -77,7 +77,8 @@ include $(CLEAR_VARS) # we have the common sources, plus some device-specific stuff LOCAL_SRC_FILES:= \ $(commonSources) \ - Looper.cpp + Looper.cpp \ + Trace.cpp ifeq ($(TARGET_OS),linux) LOCAL_LDLIBS += -lrt -ldl diff --git a/libs/utils/Trace.cpp b/libs/utils/Trace.cpp new file mode 100644 index 000000000000..c49278ae45fb --- /dev/null +++ b/libs/utils/Trace.cpp @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2012 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. + */ + +#include <cutils/properties.h> +#include <utils/Log.h> +#include <utils/Trace.h> + +namespace android { + +volatile int32_t Tracer::sIsReady = 0; +int Tracer::sTraceFD = -1; +uint64_t Tracer::sEnabledTags = 0; +Mutex Tracer::sMutex; + +void Tracer::init() { + Mutex::Autolock lock(sMutex); + + if (!sIsReady) { + const char* const traceFileName = + "/sys/kernel/debug/tracing/trace_marker"; + sTraceFD = open(traceFileName, O_WRONLY); + if (sTraceFD == -1) { + ALOGE("error opening trace file: %s (%d)", strerror(errno), errno); + } else { + char value[PROPERTY_VALUE_MAX]; + property_get("atrace.tags.enableflags", value, "0"); + sEnabledTags = strtoll(value, NULL, 0) | ATRACE_TAG_ALWAYS; + } + + android_atomic_release_store(1, &sIsReady); + } +} + +} // namespace andoid diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp index 43ca263a0301..675339eee70e 100644 --- a/media/jni/android_media_MediaCodec.cpp +++ b/media/jni/android_media_MediaCodec.cpp @@ -26,13 +26,15 @@ #include "jni.h" #include "JNIHelp.h" +#include <gui/Surface.h> +#include <gui/SurfaceTextureClient.h> + #include <media/stagefright/MediaCodec.h> #include <media/stagefright/foundation/ABuffer.h> #include <media/stagefright/foundation/ADebug.h> #include <media/stagefright/foundation/ALooper.h> #include <media/stagefright/foundation/AMessage.h> #include <media/stagefright/MediaErrors.h> -#include <surfaceflinger/Surface.h> namespace android { diff --git a/media/jni/android_media_MediaPlayer.cpp b/media/jni/android_media_MediaPlayer.cpp index 199d56e469f9..f3a56686d667 100644 --- a/media/jni/android_media_MediaPlayer.cpp +++ b/media/jni/android_media_MediaPlayer.cpp @@ -39,7 +39,7 @@ #include "android_util_Binder.h" #include <binder/Parcel.h> #include <gui/ISurfaceTexture.h> -#include <surfaceflinger/Surface.h> +#include <gui/Surface.h> #include <binder/IPCThreadState.h> #include <binder/IServiceManager.h> diff --git a/media/jni/android_media_MediaRecorder.cpp b/media/jni/android_media_MediaRecorder.cpp index acc65f1b1837..b6e6ceb19806 100644 --- a/media/jni/android_media_MediaRecorder.cpp +++ b/media/jni/android_media_MediaRecorder.cpp @@ -18,7 +18,7 @@ #define LOG_TAG "MediaRecorderJNI" #include <utils/Log.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/Surface.h> #include <camera/ICameraService.h> #include <camera/Camera.h> #include <media/mediarecorder.h> diff --git a/media/jni/mediaeditor/VideoEditorMain.cpp b/media/jni/mediaeditor/VideoEditorMain.cpp index c84a88394d56..b0c1c35d905a 100755 --- a/media/jni/mediaeditor/VideoEditorMain.cpp +++ b/media/jni/mediaeditor/VideoEditorMain.cpp @@ -29,8 +29,7 @@ #include <VideoEditorThumbnailMain.h> #include <M4OSA_Debug.h> #include <M4xVSS_Internal.h> -#include <surfaceflinger/Surface.h> -#include <surfaceflinger/ISurface.h> +#include <gui/Surface.h> #include "VideoEditorPreviewController.h" #include "VideoEditorMain.h" diff --git a/media/libmedia/IMediaPlayer.cpp b/media/libmedia/IMediaPlayer.cpp index 64cc91972357..86d65db5ddc1 100644 --- a/media/libmedia/IMediaPlayer.cpp +++ b/media/libmedia/IMediaPlayer.cpp @@ -23,8 +23,6 @@ #include <media/IMediaPlayer.h> #include <media/IStreamSource.h> -#include <surfaceflinger/ISurface.h> -#include <surfaceflinger/Surface.h> #include <gui/ISurfaceTexture.h> #include <utils/String8.h> diff --git a/media/libmedia/IMediaRecorder.cpp b/media/libmedia/IMediaRecorder.cpp index 42f55c234217..2f4e31aa91e5 100644 --- a/media/libmedia/IMediaRecorder.cpp +++ b/media/libmedia/IMediaRecorder.cpp @@ -19,10 +19,10 @@ #define LOG_TAG "IMediaRecorder" #include <utils/Log.h> #include <binder/Parcel.h> -#include <surfaceflinger/Surface.h> #include <camera/ICamera.h> #include <media/IMediaRecorderClient.h> #include <media/IMediaRecorder.h> +#include <gui/Surface.h> #include <gui/ISurfaceTexture.h> #include <unistd.h> diff --git a/media/libmedia/IOMX.cpp b/media/libmedia/IOMX.cpp index 27c7e03b0cd1..48e427abe9b3 100644 --- a/media/libmedia/IOMX.cpp +++ b/media/libmedia/IOMX.cpp @@ -22,8 +22,6 @@ #include <binder/Parcel.h> #include <media/IOMX.h> #include <media/stagefright/foundation/ADebug.h> -#include <surfaceflinger/ISurface.h> -#include <surfaceflinger/Surface.h> namespace android { diff --git a/media/libmedia/mediaplayer.cpp b/media/libmedia/mediaplayer.cpp index 250425b5d5b0..9d459071f3f9 100644 --- a/media/libmedia/mediaplayer.cpp +++ b/media/libmedia/mediaplayer.cpp @@ -32,8 +32,6 @@ #include <media/mediaplayer.h> #include <media/AudioSystem.h> -#include <surfaceflinger/Surface.h> - #include <binder/MemoryBase.h> #include <utils/KeyedVector.h> diff --git a/media/libmedia/mediarecorder.cpp b/media/libmedia/mediarecorder.cpp index 8d947d862549..cc730145bb06 100644 --- a/media/libmedia/mediarecorder.cpp +++ b/media/libmedia/mediarecorder.cpp @@ -18,7 +18,6 @@ //#define LOG_NDEBUG 0 #define LOG_TAG "MediaRecorder" #include <utils/Log.h> -#include <surfaceflinger/Surface.h> #include <media/mediarecorder.h> #include <binder/IServiceManager.h> #include <utils/String8.h> diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index c5f4f86d38de..ca796572c86d 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -40,7 +40,7 @@ #include <media/MediaProfiles.h> #include <camera/ICamera.h> #include <camera/CameraParameters.h> -#include <surfaceflinger/Surface.h> +#include <gui/Surface.h> #include <utils/Errors.h> #include <sys/types.h> diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index dec1c08c16fb..e618f6700195 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -38,7 +38,6 @@ #include <media/stagefright/MediaDefs.h> #include <media/stagefright/MediaErrors.h> #include <media/stagefright/MetaData.h> -#include <surfaceflinger/Surface.h> #include <gui/ISurfaceTexture.h> #include "avc_utils.h" diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h index ffc710ee05c1..6be14be6c8d7 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.h +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h @@ -21,8 +21,6 @@ #include <media/MediaPlayerInterface.h> #include <media/stagefright/foundation/AHandler.h> #include <media/stagefright/NativeWindowWrapper.h> -#include <gui/SurfaceTextureClient.h> -#include <surfaceflinger/Surface.h> namespace android { diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp index 2a518292b19b..460fc9839314 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp @@ -29,8 +29,6 @@ #include <media/stagefright/MediaDefs.h> #include <media/stagefright/MetaData.h> #include <media/stagefright/Utils.h> -#include <surfaceflinger/Surface.h> -#include <gui/ISurfaceTexture.h> namespace android { diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index c91fbe6a2351..85bd7ba3a1eb 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -31,9 +31,6 @@ #include <media/stagefright/OMXClient.h> #include <media/stagefright/OMXCodec.h> -#include <surfaceflinger/Surface.h> -#include <gui/SurfaceTextureClient.h> - #include <OMX_Component.h> namespace android { diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp index 70945e33cdc7..8cfb8d3858a3 100644 --- a/media/libstagefright/AwesomePlayer.cpp +++ b/media/libstagefright/AwesomePlayer.cpp @@ -47,10 +47,8 @@ #include <media/stagefright/MetaData.h> #include <media/stagefright/OMXCodec.h> -#include <surfaceflinger/Surface.h> #include <gui/ISurfaceTexture.h> #include <gui/SurfaceTextureClient.h> -#include <surfaceflinger/ISurfaceComposer.h> #include <media/stagefright/foundation/AMessage.h> diff --git a/media/libstagefright/CameraSource.cpp b/media/libstagefright/CameraSource.cpp index ed1d5f46ba94..2df55282f35f 100755 --- a/media/libstagefright/CameraSource.cpp +++ b/media/libstagefright/CameraSource.cpp @@ -27,7 +27,7 @@ #include <media/stagefright/MetaData.h> #include <camera/Camera.h> #include <camera/CameraParameters.h> -#include <surfaceflinger/Surface.h> +#include <gui/Surface.h> #include <utils/String8.h> #include <cutils/properties.h> diff --git a/media/libstagefright/SurfaceMediaSource.cpp b/media/libstagefright/SurfaceMediaSource.cpp index aa047d61fbdc..ab2cff0be5b5 100644 --- a/media/libstagefright/SurfaceMediaSource.cpp +++ b/media/libstagefright/SurfaceMediaSource.cpp @@ -24,9 +24,8 @@ #include <media/stagefright/MetadataBufferType.h> #include <ui/GraphicBuffer.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/SurfaceComposerClient.h> -#include <surfaceflinger/IGraphicBufferAlloc.h> +#include <gui/ISurfaceComposer.h> +#include <gui/IGraphicBufferAlloc.h> #include <OMX_Component.h> #include <utils/Log.h> diff --git a/media/libstagefright/codecs/aacenc/basic_op/typedefs.h b/media/libstagefright/codecs/aacenc/basic_op/typedefs.h index 2d5d9567f2db..8ef43e265aa5 100644 --- a/media/libstagefright/codecs/aacenc/basic_op/typedefs.h +++ b/media/libstagefright/codecs/aacenc/basic_op/typedefs.h @@ -48,9 +48,7 @@ #define assert(_Expression) ((void)0) #endif -#ifdef LINUX -#define __inline static __inline__ -#endif +#define __inline static __inline #define INT_BITS 32 /* diff --git a/media/libstagefright/codecs/aacenc/src/qc_main.c b/media/libstagefright/codecs/aacenc/src/qc_main.c index df6d46e68940..48ff30087d43 100644 --- a/media/libstagefright/codecs/aacenc/src/qc_main.c +++ b/media/libstagefright/codecs/aacenc/src/qc_main.c @@ -163,7 +163,7 @@ void QCOutDelete(QC_OUT* hQC, VO_MEM_OPERATOR *pMemOP) Word32 i; if(hQC) { - if(hQC->qcChannel[0].quantSpec); + if(hQC->qcChannel[0].quantSpec) mem_free(pMemOP, hQC->qcChannel[0].quantSpec, VO_INDEX_ENC_AAC); if(hQC->qcChannel[0].maxValueInSfb) diff --git a/media/libstagefright/codecs/aacenc/src/sf_estim.c b/media/libstagefright/codecs/aacenc/src/sf_estim.c index fe401374c022..bc320ec67df7 100644 --- a/media/libstagefright/codecs/aacenc/src/sf_estim.c +++ b/media/libstagefright/codecs/aacenc/src/sf_estim.c @@ -400,7 +400,7 @@ static void assimilateSingleScf(PSY_OUT_CHANNEL *psyOutChan, Word16 *minScfCalculated, Flag restartOnSuccess) { - Word32 sfbLast, sfbAct, sfbNext, scfAct, scfMin; + Word16 sfbLast, sfbAct, sfbNext, scfAct, scfMin; Word16 *scfLast, *scfNext; Word32 sfbPeOld, sfbPeNew; Word32 sfbDistNew; diff --git a/media/libstagefright/codecs/aacenc/src/transform.c b/media/libstagefright/codecs/aacenc/src/transform.c index a154a2f9b0b0..a02336f3f030 100644 --- a/media/libstagefright/codecs/aacenc/src/transform.c +++ b/media/libstagefright/codecs/aacenc/src/transform.c @@ -339,6 +339,12 @@ static void PostMDCT(int *buf0, int num, const int *csptr) *buf1-- = MULHIGH(cosb, tr2) + MULHIGH(sinb, ti2); } } +#else +void Radix4First(int *buf, int num); +void Radix8First(int *buf, int num); +void Radix4FFT(int *buf, int num, int bgn, int *twidTab); +void PreMDCT(int *buf0, int num, const int *csptr); +void PostMDCT(int *buf0, int num, const int *csptr); #endif diff --git a/media/libstagefright/codecs/amrnb/common/include/az_lsp.h b/media/libstagefright/codecs/amrnb/common/include/az_lsp.h index 3e15ba382a86..7c24ca944053 100644 --- a/media/libstagefright/codecs/amrnb/common/include/az_lsp.h +++ b/media/libstagefright/codecs/amrnb/common/include/az_lsp.h @@ -83,7 +83,7 @@ extern "C" ; EXTERNAL VARIABLES REFERENCES ; Declare variables used in this module but defined elsewhere ----------------------------------------------------------------------------*/ - extern Word16 grid[]; + extern const Word16 grid[]; /*---------------------------------------------------------------------------- ; SIMPLE TYPEDEF'S diff --git a/media/libstagefright/codecs/amrnb/common/include/inv_sqrt.h b/media/libstagefright/codecs/amrnb/common/include/inv_sqrt.h index 4fb2b11dde37..91ab3e4424af 100644 --- a/media/libstagefright/codecs/amrnb/common/include/inv_sqrt.h +++ b/media/libstagefright/codecs/amrnb/common/include/inv_sqrt.h @@ -85,7 +85,7 @@ extern "C" ; EXTERNAL VARIABLES REFERENCES ; Declare variables used in this module but defined elsewhere ----------------------------------------------------------------------------*/ - extern Word16 inv_sqrt_tbl[]; + extern const Word16 inv_sqrt_tbl[]; /*---------------------------------------------------------------------------- ; SIMPLE TYPEDEF'S ----------------------------------------------------------------------------*/ diff --git a/media/libstagefright/codecs/amrnb/common/include/log2_norm.h b/media/libstagefright/codecs/amrnb/common/include/log2_norm.h index b104a69e83ab..46b4e4d8b8b6 100644 --- a/media/libstagefright/codecs/amrnb/common/include/log2_norm.h +++ b/media/libstagefright/codecs/amrnb/common/include/log2_norm.h @@ -85,7 +85,7 @@ extern "C" ; EXTERNAL VARIABLES REFERENCES ; Declare variables used in this module but defined elsewhere ----------------------------------------------------------------------------*/ - extern Word16 log2_tbl[]; + extern const Word16 log2_tbl[]; /*---------------------------------------------------------------------------- ; SIMPLE TYPEDEF'S ----------------------------------------------------------------------------*/ diff --git a/media/libstagefright/codecs/amrnb/common/include/pow2.h b/media/libstagefright/codecs/amrnb/common/include/pow2.h index c96fbddb7cf3..9b944ebafca9 100644 --- a/media/libstagefright/codecs/amrnb/common/include/pow2.h +++ b/media/libstagefright/codecs/amrnb/common/include/pow2.h @@ -81,7 +81,7 @@ extern "C" ; EXTERNAL VARIABLES REFERENCES ; Declare variables used in this module but defined elsewhere ----------------------------------------------------------------------------*/ - extern Word16 pow2_tbl[]; + extern const Word16 pow2_tbl[]; /*---------------------------------------------------------------------------- ; SIMPLE TYPEDEF'S ----------------------------------------------------------------------------*/ diff --git a/media/libstagefright/codecs/amrnb/common/include/sqrt_l.h b/media/libstagefright/codecs/amrnb/common/include/sqrt_l.h index 86209bd47165..a6a2ee5fba92 100644 --- a/media/libstagefright/codecs/amrnb/common/include/sqrt_l.h +++ b/media/libstagefright/codecs/amrnb/common/include/sqrt_l.h @@ -82,7 +82,7 @@ extern "C" ; EXTERNAL VARIABLES REFERENCES ; Declare variables used in this module but defined elsewhere ----------------------------------------------------------------------------*/ - extern Word16 sqrt_l_tbl[]; + extern const Word16 sqrt_l_tbl[]; /*---------------------------------------------------------------------------- ; SIMPLE TYPEDEF'S diff --git a/media/libstagefright/codecs/amrnb/common/src/bitno_tab.cpp b/media/libstagefright/codecs/amrnb/common/src/bitno_tab.cpp index fed684d56b53..4ee04a561dec 100644 --- a/media/libstagefright/codecs/amrnb/common/src/bitno_tab.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/bitno_tab.cpp @@ -152,7 +152,7 @@ extern "C" ; Variable declaration - defined here and used outside this module ----------------------------------------------------------------------------*/ /* number of parameters per modes (values must be <= MAX_PRM_SIZE!) */ - extern const Word16 prmno[N_MODES] = + const Word16 prmno[N_MODES] = { PRMNO_MR475, PRMNO_MR515, @@ -166,7 +166,7 @@ extern "C" }; /* number of parameters to first subframe per modes */ - extern const Word16 prmnofsf[N_MODES - 1] = + const Word16 prmnofsf[N_MODES - 1] = { PRMNOFSF_MR475, PRMNOFSF_MR515, @@ -179,7 +179,7 @@ extern "C" }; /* parameter sizes (# of bits), one table per mode */ - extern const Word16 bitno_MR475[PRMNO_MR475] = + const Word16 bitno_MR475[PRMNO_MR475] = { 8, 8, 7, /* LSP VQ */ 8, 7, 2, 8, /* first subframe */ @@ -188,7 +188,7 @@ extern "C" 4, 7, 2, /* fourth subframe */ }; - extern const Word16 bitno_MR515[PRMNO_MR515] = + const Word16 bitno_MR515[PRMNO_MR515] = { 8, 8, 7, /* LSP VQ */ 8, 7, 2, 6, /* first subframe */ @@ -197,7 +197,7 @@ extern "C" 4, 7, 2, 6, /* fourth subframe */ }; - extern const Word16 bitno_MR59[PRMNO_MR59] = + const Word16 bitno_MR59[PRMNO_MR59] = { 8, 9, 9, /* LSP VQ */ 8, 9, 2, 6, /* first subframe */ @@ -206,7 +206,7 @@ extern "C" 4, 9, 2, 6, /* fourth subframe */ }; - extern const Word16 bitno_MR67[PRMNO_MR67] = + const Word16 bitno_MR67[PRMNO_MR67] = { 8, 9, 9, /* LSP VQ */ 8, 11, 3, 7, /* first subframe */ @@ -215,7 +215,7 @@ extern "C" 4, 11, 3, 7, /* fourth subframe */ }; - extern const Word16 bitno_MR74[PRMNO_MR74] = + const Word16 bitno_MR74[PRMNO_MR74] = { 8, 9, 9, /* LSP VQ */ 8, 13, 4, 7, /* first subframe */ @@ -224,7 +224,7 @@ extern "C" 5, 13, 4, 7, /* fourth subframe */ }; - extern const Word16 bitno_MR795[PRMNO_MR795] = + const Word16 bitno_MR795[PRMNO_MR795] = { 9, 9, 9, /* LSP VQ */ 8, 13, 4, 4, 5, /* first subframe */ @@ -233,7 +233,7 @@ extern "C" 6, 13, 4, 4, 5, /* fourth subframe */ }; - extern const Word16 bitno_MR102[PRMNO_MR102] = + const Word16 bitno_MR102[PRMNO_MR102] = { 8, 9, 9, /* LSP VQ */ 8, 1, 1, 1, 1, 10, 10, 7, 7, /* first subframe */ @@ -242,7 +242,7 @@ extern "C" 5, 1, 1, 1, 1, 10, 10, 7, 7, /* fourth subframe */ }; - extern const Word16 bitno_MR122[PRMNO_MR122] = + const Word16 bitno_MR122[PRMNO_MR122] = { 7, 8, 9, 8, 6, /* LSP VQ */ 9, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 5, /* first subframe */ @@ -251,7 +251,7 @@ extern "C" 6, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 5 /* fourth subframe */ }; - extern const Word16 bitno_MRDTX[PRMNO_MRDTX] = + const Word16 bitno_MRDTX[PRMNO_MRDTX] = { 3, 8, 9, 9, @@ -259,7 +259,7 @@ extern "C" }; /* overall table with all parameter sizes for all modes */ - extern const Word16 * const bitno[N_MODES] = + const Word16 * const bitno[N_MODES] = { bitno_MR475, bitno_MR515, diff --git a/media/libstagefright/codecs/amrnb/common/src/bitreorder_tab.cpp b/media/libstagefright/codecs/amrnb/common/src/bitreorder_tab.cpp index 69b20fbe1a4a..e284bbcbc7f3 100644 --- a/media/libstagefright/codecs/amrnb/common/src/bitreorder_tab.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/bitreorder_tab.cpp @@ -123,6 +123,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "bitreorder_tab.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -171,7 +172,7 @@ extern "C" ; Variable declaration - defined here and used outside this module ----------------------------------------------------------------------------*/ /* number of parameters per modes (values must be <= MAX_PRM_SIZE!) */ - extern const Word16 numOfBits[NUM_MODES] = + const Word16 numOfBits[NUM_MODES] = { NUMBIT_MR475, NUMBIT_MR515, @@ -191,7 +192,7 @@ extern "C" NUMBIT_NO_DATA }; - extern const Word16 reorderBits_MR475[NUMBIT_MR475] = + const Word16 reorderBits_MR475[NUMBIT_MR475] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 23, 24, 25, 26, @@ -205,7 +206,7 @@ extern "C" 92, 31, 52, 65, 86 }; - extern const Word16 reorderBits_MR515[NUMBIT_MR515] = + const Word16 reorderBits_MR515[NUMBIT_MR515] = { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8, 23, 24, 25, 26, @@ -220,7 +221,7 @@ extern "C" 53, 72, 91 }; - extern const Word16 reorderBits_MR59[NUMBIT_MR59] = + const Word16 reorderBits_MR59[NUMBIT_MR59] = { 0, 1, 4, 5, 3, 6, 7, 2, 13, 15, 8, 9, 11, 12, 14, 10, 16, 28, 74, 29, @@ -236,7 +237,7 @@ extern "C" 38, 59, 84, 105, 37, 58, 83, 104 }; - extern const Word16 reorderBits_MR67[NUMBIT_MR67] = + const Word16 reorderBits_MR67[NUMBIT_MR67] = { 0, 1, 4, 3, 5, 6, 13, 7, 2, 8, 9, 11, 15, 12, 14, 10, 28, 82, 29, 83, @@ -254,7 +255,7 @@ extern "C" 36, 61, 90, 115 }; - extern const Word16 reorderBits_MR74[NUMBIT_MR74] = + const Word16 reorderBits_MR74[NUMBIT_MR74] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 26, 87, 27, @@ -273,7 +274,7 @@ extern "C" 39, 68, 100, 129, 40, 69, 101, 130 }; - extern const Word16 reorderBits_MR795[NUMBIT_MR795] = + const Word16 reorderBits_MR795[NUMBIT_MR795] = { 8, 7, 6, 5, 4, 3, 2, 14, 16, 9, 10, 12, 13, 15, 11, 17, 20, 22, 24, 23, @@ -293,7 +294,7 @@ extern "C" 139, 37, 69, 103, 135, 38, 70, 104, 136 }; - extern const Word16 reorderBits_MR102[NUMBIT_MR102] = + const Word16 reorderBits_MR102[NUMBIT_MR102] = { 7, 6, 5, 4, 3, 2, 1, 0, 16, 15, 14, 13, 12, 11, 10, 9, 8, 26, 27, 28, @@ -318,7 +319,7 @@ extern "C" 63, 46, 55, 56 }; - extern const Word16 reorderBits_MR122[NUMBIT_MR122] = + const Word16 reorderBits_MR122[NUMBIT_MR122] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 23, 15, 16, 17, 18, @@ -348,7 +349,7 @@ extern "C" }; /* overall table with all parameter sizes for all modes */ - extern const Word16 * const reorderBits[NUM_MODES-1] = + const Word16 * const reorderBits[NUM_MODES-1] = { reorderBits_MR475, reorderBits_MR515, @@ -361,7 +362,7 @@ extern "C" }; /* Number of Frames (16-bit segments sent for each mode */ - extern const Word16 numCompressedBytes[16] = + const Word16 numCompressedBytes[16] = { 13, /*4.75*/ 14, /*5.15*/ diff --git a/media/libstagefright/codecs/amrnb/common/src/bytesused.cpp b/media/libstagefright/codecs/amrnb/common/src/bytesused.cpp index 9552206eb9eb..b61bac4d9fc7 100644 --- a/media/libstagefright/codecs/amrnb/common/src/bytesused.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/bytesused.cpp @@ -152,7 +152,7 @@ extern "C" ; LOCAL STORE/BUFFER/POINTER DEFINITIONS ; Variable declaration - defined here and used outside this module ----------------------------------------------------------------------------*/ - extern const short BytesUsed[16] = + const short BytesUsed[16] = { 13, /* 4.75 */ 14, /* 5.15 */ diff --git a/media/libstagefright/codecs/amrnb/common/src/c2_9pf_tab.cpp b/media/libstagefright/codecs/amrnb/common/src/c2_9pf_tab.cpp index 471bee86eb11..20de9d63ff97 100644 --- a/media/libstagefright/codecs/amrnb/common/src/c2_9pf_tab.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/c2_9pf_tab.cpp @@ -86,7 +86,8 @@ extern "C" ; LOCAL VARIABLE DEFINITIONS ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 startPos[2*4*2] = {0, 2, 0, 3, + extern const Word16 startPos[]; + const Word16 startPos[2*4*2] = {0, 2, 0, 3, 0, 2, 0, 3, 1, 3, 2, 4, 1, 4, 1, 4 diff --git a/media/libstagefright/codecs/amrnb/common/src/gains_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/gains_tbl.cpp index a08dd2dce2aa..a7cd6fbea66f 100644 --- a/media/libstagefright/codecs/amrnb/common/src/gains_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/gains_tbl.cpp @@ -86,14 +86,16 @@ extern "C" ----------------------------------------------------------------------------*/ - extern const Word16 qua_gain_pitch[NB_QUA_PITCH] = + extern const Word16 qua_gain_pitch[]; + const Word16 qua_gain_pitch[NB_QUA_PITCH] = { 0, 3277, 6556, 8192, 9830, 11469, 12288, 13107, 13926, 14746, 15565, 16384, 17203, 18022, 18842, 19661 }; - extern const Word16 qua_gain_code[(NB_QUA_CODE+1)*3] = + extern const Word16 qua_gain_code[]; + const Word16 qua_gain_code[(NB_QUA_CODE+1)*3] = { /* gain factor (g_fac) and quantized energy error (qua_ener_MR122, qua_ener) * are stored: diff --git a/media/libstagefright/codecs/amrnb/common/src/gray_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/gray_tbl.cpp index 99073d91a9ef..c4b2dbc138ab 100644 --- a/media/libstagefright/codecs/amrnb/common/src/gray_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/gray_tbl.cpp @@ -83,8 +83,10 @@ extern "C" ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 gray[8] = {0, 1, 3, 2, 6, 4, 5, 7}; - extern const Word16 dgray[8] = {0, 1, 3, 2, 5, 6, 4, 7}; + extern const Word16 gray[]; + extern const Word16 dgray[]; + const Word16 gray[8] = {0, 1, 3, 2, 6, 4, 5, 7}; + const Word16 dgray[8] = {0, 1, 3, 2, 5, 6, 4, 7}; /*--------------------------------------------------------------------------*/ #ifdef __cplusplus diff --git a/media/libstagefright/codecs/amrnb/common/src/grid_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/grid_tbl.cpp index cd81566accd2..48566cca56c2 100644 --- a/media/libstagefright/codecs/amrnb/common/src/grid_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/grid_tbl.cpp @@ -63,6 +63,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "az_lsp.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -91,7 +92,7 @@ extern "C" ; LOCAL VARIABLE DEFINITIONS ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 grid[grid_points + 1] = + const Word16 grid[grid_points + 1] = { 32760, 32723, 32588, 32364, 32051, 31651, 31164, 30591, 29935, 29196, 28377, 27481, diff --git a/media/libstagefright/codecs/amrnb/common/src/inv_sqrt_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/inv_sqrt_tbl.cpp index bde2c4e2c3cf..13c3b24053b4 100644 --- a/media/libstagefright/codecs/amrnb/common/src/inv_sqrt_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/inv_sqrt_tbl.cpp @@ -55,6 +55,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "inv_sqrt.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -82,7 +83,7 @@ extern "C" ; LOCAL VARIABLE DEFINITIONS ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 inv_sqrt_tbl[49] = + const Word16 inv_sqrt_tbl[49] = { 32767, 31790, 30894, 30070, 29309, 28602, 27945, 27330, 26755, 26214, diff --git a/media/libstagefright/codecs/amrnb/common/src/log2_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/log2_tbl.cpp index 25d63b27216a..9b9b099efc10 100644 --- a/media/libstagefright/codecs/amrnb/common/src/log2_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/log2_tbl.cpp @@ -54,6 +54,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "log2_norm.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -82,7 +83,7 @@ extern "C" ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 log2_tbl[33] = + const Word16 log2_tbl[33] = { 0, 1455, 2866, 4236, 5568, 6863, 8124, 9352, 10549, 11716, 12855, 13967, 15054, 16117, 17156, 18172, 19167, 20142, 21097, 22033, diff --git a/media/libstagefright/codecs/amrnb/common/src/lsp_lsf_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/lsp_lsf_tbl.cpp index cee0f32c47b7..ddeeba4282a5 100644 --- a/media/libstagefright/codecs/amrnb/common/src/lsp_lsf_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/lsp_lsf_tbl.cpp @@ -77,7 +77,8 @@ extern "C" ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 table[65] = + extern const Word16 table[]; + const Word16 table[65] = { 32767, 32729, 32610, 32413, 32138, 31786, 31357, 30853, 30274, 29622, 28899, 28106, 27246, 26320, 25330, 24279, @@ -94,7 +95,8 @@ extern "C" /* slope used to compute y = acos(x) */ - extern const Word16 slope[64] = + extern const Word16 slope[]; + const Word16 slope[64] = { -26887, -8812, -5323, -3813, -2979, -2444, -2081, -1811, -1608, -1450, -1322, -1219, -1132, -1059, -998, -946, diff --git a/media/libstagefright/codecs/amrnb/common/src/lsp_tab.cpp b/media/libstagefright/codecs/amrnb/common/src/lsp_tab.cpp index deded935bf4a..0a32dd7a092a 100644 --- a/media/libstagefright/codecs/amrnb/common/src/lsp_tab.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/lsp_tab.cpp @@ -117,6 +117,7 @@ terms listed above has been obtained from the copyright holder. ----------------------------------------------------------------------------*/ #include "typedef.h" #include "cnst.h" +#include "lsp_tab.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -146,7 +147,7 @@ extern "C" ; LOCAL STORE/BUFFER/POINTER DEFINITIONS ; Variable declaration - defined here and used outside this module ----------------------------------------------------------------------------*/ - extern const Word16 lsp_init_data[M] = {30000, 26000, 21000, 15000, 8000, + const Word16 lsp_init_data[M] = {30000, 26000, 21000, 15000, 8000, 0, -8000, -15000, -21000, -26000 }; diff --git a/media/libstagefright/codecs/amrnb/common/src/overflow_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/overflow_tbl.cpp index e5d42d6c8f8e..c4a016d557b9 100644 --- a/media/libstagefright/codecs/amrnb/common/src/overflow_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/overflow_tbl.cpp @@ -81,7 +81,7 @@ extern "C" ; LOCAL VARIABLE DEFINITIONS ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word32 overflow_tbl [32] = {0x7fffffffL, 0x3fffffffL, + const Word32 overflow_tbl [32] = {0x7fffffffL, 0x3fffffffL, 0x1fffffffL, 0x0fffffffL, 0x07ffffffL, 0x03ffffffL, 0x01ffffffL, 0x00ffffffL, diff --git a/media/libstagefright/codecs/amrnb/common/src/ph_disp_tab.cpp b/media/libstagefright/codecs/amrnb/common/src/ph_disp_tab.cpp index 99725dfdaa21..d568b780a0f0 100644 --- a/media/libstagefright/codecs/amrnb/common/src/ph_disp_tab.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/ph_disp_tab.cpp @@ -81,14 +81,16 @@ extern "C" ; LOCAL VARIABLE DEFINITIONS ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 ph_imp_low_MR795[40] = + extern const Word16 ph_imp_low_MR795[]; + const Word16 ph_imp_low_MR795[40] = { 26777, 801, 2505, -683, -1382, 582, 604, -1274, 3511, -5894, 4534, -499, -1940, 3011, -5058, 5614, -1990, -1061, -1459, 4442, -700, -5335, 4609, 452, -589, -3352, 2953, 1267, -1212, -2590, 1731, 3670, -4475, -975, 4391, -2537, 949, -1363, -979, 5734 }; - extern const Word16 ph_imp_mid_MR795[40] = + extern const Word16 ph_imp_mid_MR795[]; + const Word16 ph_imp_mid_MR795[40] = { 30274, 3831, -4036, 2972, -1048, -1002, 2477, -3043, 2815, -2231, 1753, -1611, 1714, -1775, 1543, -1008, 429, -169, 472, -1264, @@ -96,14 +98,16 @@ extern "C" -2063, 2644, -3060, 2897, -1978, 557, 780, -1369, 842, 655 }; - extern const Word16 ph_imp_low[40] = + extern const Word16 ph_imp_low[]; + const Word16 ph_imp_low[40] = { 14690, 11518, 1268, -2761, -5671, 7514, -35, -2807, -3040, 4823, 2952, -8424, 3785, 1455, 2179, -8637, 8051, -2103, -1454, 777, 1108, -2385, 2254, -363, -674, -2103, 6046, -5681, 1072, 3123, -5058, 5312, -2329, -3728, 6924, -3889, 675, -1775, 29, 10145 }; - extern const Word16 ph_imp_mid[40] = + extern const Word16 ph_imp_mid[]; + const Word16 ph_imp_mid[40] = { 30274, 3831, -4036, 2972, -1048, -1002, 2477, -3043, 2815, -2231, 1753, -1611, 1714, -1775, 1543, -1008, 429, -169, 472, -1264, diff --git a/media/libstagefright/codecs/amrnb/common/src/pow2_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/pow2_tbl.cpp index e0183a69451e..902ea0f5bbc5 100644 --- a/media/libstagefright/codecs/amrnb/common/src/pow2_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/pow2_tbl.cpp @@ -53,6 +53,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "pow2.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -81,7 +82,7 @@ extern "C" ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 pow2_tbl[33] = + const Word16 pow2_tbl[33] = { 16384, 16743, 17109, 17484, 17867, 18258, 18658, 19066, 19484, 19911, 20347, 20792, 21247, 21713, 22188, 22674, 23170, 23678, 24196, 24726, diff --git a/media/libstagefright/codecs/amrnb/common/src/q_plsf_5_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/q_plsf_5_tbl.cpp index ceb1e1ee1e95..caa81cbf972f 100644 --- a/media/libstagefright/codecs/amrnb/common/src/q_plsf_5_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/q_plsf_5_tbl.cpp @@ -56,6 +56,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "q_plsf_5_tbl.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -94,7 +95,7 @@ extern "C" ----------------------------------------------------------------------------*/ /* LSF means ->normalize frequency domain */ - extern const Word16 mean_lsf_5[10] = + const Word16 mean_lsf_5[10] = { 1384, 2077, @@ -108,7 +109,7 @@ extern "C" 13701 }; - extern const Word16 dico1_lsf_5[DICO1_5_SIZE * 4] = + const Word16 dico1_lsf_5[DICO1_5_SIZE * 4] = { -451, -1065, -529, -1305, -450, -756, -497, -863, @@ -240,7 +241,7 @@ extern "C" 1469, 2181, 1443, 2016 }; - extern const Word16 dico2_lsf_5[DICO2_5_SIZE * 4] = + const Word16 dico2_lsf_5[DICO2_5_SIZE * 4] = { -1631, -1600, -1796, -2290, -1027, -1770, -1100, -2025, @@ -500,7 +501,7 @@ extern "C" 2374, 2787, 1821, 2788 }; - extern const Word16 dico3_lsf_5[DICO3_5_SIZE * 4] = + const Word16 dico3_lsf_5[DICO3_5_SIZE * 4] = { -1812, -2275, -1879, -2537, -1640, -1848, -1695, -2004, @@ -760,7 +761,7 @@ extern "C" 2180, 1975, 2326, 2020 }; - extern const Word16 dico4_lsf_5[DICO4_5_SIZE * 4] = + const Word16 dico4_lsf_5[DICO4_5_SIZE * 4] = { -1857, -1681, -1857, -1755, -2056, -1150, -2134, -1654, @@ -1020,7 +1021,7 @@ extern "C" 1716, 1376, 1948, 1465 }; - extern const Word16 dico5_lsf_5[DICO5_5_SIZE * 4] = + const Word16 dico5_lsf_5[DICO5_5_SIZE * 4] = { -1002, -929, -1096, -1203, -641, -931, -604, -961, diff --git a/media/libstagefright/codecs/amrnb/common/src/qua_gain_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/qua_gain_tbl.cpp index 52f77e97786a..2d913b8063f9 100644 --- a/media/libstagefright/codecs/amrnb/common/src/qua_gain_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/qua_gain_tbl.cpp @@ -54,6 +54,7 @@ terms listed above has been obtained from the copyright holder. ----------------------------------------------------------------------------*/ #include "typedef.h" #include "qua_gain.h" +#include "qua_gain_tbl.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -96,7 +97,7 @@ extern "C" /* table used in 'high' rates: MR67 MR74 */ - extern const Word16 table_gain_highrates[VQ_SIZE_HIGHRATES*4] = + const Word16 table_gain_highrates[VQ_SIZE_HIGHRATES*4] = { /* @@ -240,7 +241,7 @@ extern "C" /* table used in 'low' rates: MR475, MR515, MR59 */ - extern const Word16 table_gain_lowrates[VQ_SIZE_LOWRATES*4] = + const Word16 table_gain_lowrates[VQ_SIZE_LOWRATES*4] = { /*g_pit, g_fac, qua_ener_MR122, qua_ener */ 10813, 28753, 2879, 17333, diff --git a/media/libstagefright/codecs/amrnb/common/src/sqrt_l_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/sqrt_l_tbl.cpp index 5e9898c8f6c6..5a84b63e6c93 100644 --- a/media/libstagefright/codecs/amrnb/common/src/sqrt_l_tbl.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/sqrt_l_tbl.cpp @@ -58,6 +58,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "sqrt_l.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -85,7 +86,7 @@ extern "C" ; LOCAL VARIABLE DEFINITIONS ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 sqrt_l_tbl[50] = + const Word16 sqrt_l_tbl[50] = { 16384, 16888, 17378, 17854, 18318, 18770, 19212, 19644, 20066, 20480, 20886, 21283, 21674, 22058, 22435, 22806, 23170, 23530, 23884, 24232, diff --git a/media/libstagefright/codecs/amrnb/common/src/window_tab.cpp b/media/libstagefright/codecs/amrnb/common/src/window_tab.cpp index fa5faa6aa82d..d8fc8cce9ccf 100644 --- a/media/libstagefright/codecs/amrnb/common/src/window_tab.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/window_tab.cpp @@ -117,6 +117,7 @@ terms listed above has been obtained from the copyright holder. ----------------------------------------------------------------------------*/ #include "typedef.h" #include "cnst.h" +#include "window_tab.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -154,7 +155,7 @@ extern "C" /* window for non-EFR modesm; uses 40 samples lookahead */ - extern const Word16 window_200_40[L_WINDOW] = + const Word16 window_200_40[L_WINDOW] = { 2621, 2623, 2629, 2638, 2651, 2668, 2689, 2713, 2741, 2772, 2808, 2847, 2890, 2936, 2986, 3040, 3097, 3158, 3223, 3291, @@ -185,7 +186,7 @@ extern "C" /* window for EFR, first two subframes, no lookahead */ - extern const Word16 window_160_80[L_WINDOW] = + const Word16 window_160_80[L_WINDOW] = { 2621, 2624, 2633, 2648, 2668, 2695, 2727, 2765, 2809, 2859, 2915, 2976, 3043, 3116, 3194, 3279, 3368, 3464, 3565, 3671, @@ -215,7 +216,7 @@ extern "C" /* window for EFR, last two subframes, no lookahead */ - extern const Word16 window_232_8[L_WINDOW] = + const Word16 window_232_8[L_WINDOW] = { 2621, 2623, 2627, 2634, 2644, 2656, 2671, 2689, 2710, 2734, 2760, 2789, 2821, 2855, 2893, 2933, 2975, 3021, 3069, 3120, diff --git a/media/libstagefright/codecs/amrnb/dec/src/dec_input_format_tab.cpp b/media/libstagefright/codecs/amrnb/dec/src/dec_input_format_tab.cpp index a59f5fafea58..fffbbfd82420 100644 --- a/media/libstagefright/codecs/amrnb/dec/src/dec_input_format_tab.cpp +++ b/media/libstagefright/codecs/amrnb/dec/src/dec_input_format_tab.cpp @@ -121,6 +121,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "amrdecode.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -152,7 +153,7 @@ extern "C" ----------------------------------------------------------------------------*/ /* Table containing the number of core AMR data bytes for */ /* each codec mode for WMF input format(number excludes frame type byte) */ - extern const Word16 WmfDecBytesPerFrame[16] = + const Word16 WmfDecBytesPerFrame[16] = { 12, /* 4.75 */ 13, /* 5.15 */ @@ -174,7 +175,7 @@ extern "C" /* Table containing the number of core AMR data bytes for */ /* each codec mode for IF2 input format. */ - extern const Word16 If2DecBytesPerFrame[16] = + const Word16 If2DecBytesPerFrame[16] = { 13, /* 4.75 */ 14, /* 5.15 */ diff --git a/media/libstagefright/codecs/amrnb/dec/src/qgain475_tab.cpp b/media/libstagefright/codecs/amrnb/dec/src/qgain475_tab.cpp index fbcd41285e71..1a08efa3a600 100644 --- a/media/libstagefright/codecs/amrnb/dec/src/qgain475_tab.cpp +++ b/media/libstagefright/codecs/amrnb/dec/src/qgain475_tab.cpp @@ -92,7 +92,7 @@ extern "C" * g_fac(2) (Q12) // frame 1 and 3 * */ - extern const Word16 table_gain_MR475[MR475_VQ_SIZE*4] = + const Word16 table_gain_MR475[MR475_VQ_SIZE*4] = { /*g_pit(0), g_fac(0), g_pit(1), g_fac(1) */ 812, 128, 542, 140, diff --git a/media/libstagefright/codecs/amrnb/enc/src/corrwght_tab.cpp b/media/libstagefright/codecs/amrnb/enc/src/corrwght_tab.cpp index 769e7bafd252..b3ed02d213ac 100644 --- a/media/libstagefright/codecs/amrnb/enc/src/corrwght_tab.cpp +++ b/media/libstagefright/codecs/amrnb/enc/src/corrwght_tab.cpp @@ -57,6 +57,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "p_ol_wgh.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -84,7 +85,7 @@ extern "C" ; LOCAL VARIABLE DEFINITIONS ; [Variable declaration - defined here and used outside this module] ----------------------------------------------------------------------------*/ - extern const Word16 corrweight[251] = + const Word16 corrweight[251] = { 20473, 20506, 20539, 20572, 20605, 20644, 20677, 20716, 20749, 20788, 20821, 20860, 20893, 20932, diff --git a/media/libstagefright/codecs/amrnb/enc/src/enc_output_format_tab.cpp b/media/libstagefright/codecs/amrnb/enc/src/enc_output_format_tab.cpp index 147989f865b7..4551fd7febf8 100644 --- a/media/libstagefright/codecs/amrnb/enc/src/enc_output_format_tab.cpp +++ b/media/libstagefright/codecs/amrnb/enc/src/enc_output_format_tab.cpp @@ -117,6 +117,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "amrencode.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -150,7 +151,7 @@ extern "C" /* for WMF output format. */ /* Each entry is the sum of the 3GPP frame type byte and the */ /* number of packed core AMR data bytes */ - extern const Word16 WmfEncBytesPerFrame[16] = + const Word16 WmfEncBytesPerFrame[16] = { 13, /* 4.75 */ 14, /* 5.15 */ @@ -173,7 +174,7 @@ extern "C" /* Number of data bytes in an encoder frame for each codec mode */ /* for IF2 output format */ - extern const Word16 If2EncBytesPerFrame[16] = + const Word16 If2EncBytesPerFrame[16] = { 13, /* 4.75 */ 14, /* 5.15 */ diff --git a/media/libstagefright/codecs/amrnb/enc/src/inter_36_tab.cpp b/media/libstagefright/codecs/amrnb/enc/src/inter_36_tab.cpp index 27f33e9959da..c8d7b1393297 100644 --- a/media/libstagefright/codecs/amrnb/enc/src/inter_36_tab.cpp +++ b/media/libstagefright/codecs/amrnb/enc/src/inter_36_tab.cpp @@ -123,6 +123,7 @@ terms listed above has been obtained from the copyright holder. ----------------------------------------------------------------------------*/ #include "typedef.h" #include "cnst.h" +#include "inter_36_tab.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -162,7 +163,7 @@ extern "C" inter_3[k] = inter_6[2*k], 0 <= k <= 3*L_INTER_SRCH */ - extern const Word16 inter_6[FIR_SIZE] = + const Word16 inter_6[FIR_SIZE] = { 29519, 28316, 24906, 19838, 13896, 7945, 2755, diff --git a/media/libstagefright/codecs/amrnb/enc/src/lag_wind_tab.cpp b/media/libstagefright/codecs/amrnb/enc/src/lag_wind_tab.cpp index 53889bb4860f..b0f5b3a142ba 100644 --- a/media/libstagefright/codecs/amrnb/enc/src/lag_wind_tab.cpp +++ b/media/libstagefright/codecs/amrnb/enc/src/lag_wind_tab.cpp @@ -138,6 +138,7 @@ terms listed above has been obtained from the copyright holder. ; INCLUDES ----------------------------------------------------------------------------*/ #include "typedef.h" +#include "lag_wind_tab.h" /*--------------------------------------------------------------------------*/ #ifdef __cplusplus @@ -167,7 +168,7 @@ extern "C" ; LOCAL STORE/BUFFER/POINTER DEFINITIONS ; Variable declaration - defined here and used outside this module ----------------------------------------------------------------------------*/ - extern const Word16 lag_h[10] = + const Word16 lag_h[10] = { 32728, 32619, @@ -181,7 +182,7 @@ extern "C" 29321 }; - extern const Word16 lag_l[10] = + const Word16 lag_l[10] = { 11904, 17280, diff --git a/media/libstagefright/codecs/amrwb/include/pvamrwbdecoder_api.h b/media/libstagefright/codecs/amrwb/include/pvamrwbdecoder_api.h index 457c21f963ee..eca5ae007725 100644 --- a/media/libstagefright/codecs/amrwb/include/pvamrwbdecoder_api.h +++ b/media/libstagefright/codecs/amrwb/include/pvamrwbdecoder_api.h @@ -106,7 +106,7 @@ extern "C" #define NUM_OF_MODES 10 - const int16 AMR_WB_COMPRESSED[NUM_OF_MODES] = + static const int16 AMR_WB_COMPRESSED[NUM_OF_MODES] = { NBBITS_7k, NBBITS_9k, diff --git a/media/libstagefright/codecs/amrwb/src/homing_amr_wb_dec.cpp b/media/libstagefright/codecs/amrwb/src/homing_amr_wb_dec.cpp index 59c6c0abbf33..f032a085e52b 100644 --- a/media/libstagefright/codecs/amrwb/src/homing_amr_wb_dec.cpp +++ b/media/libstagefright/codecs/amrwb/src/homing_amr_wb_dec.cpp @@ -134,7 +134,7 @@ extern "C" ; LOCAL STORE/BUFFER/POINTER DEFINITIONS ; Variable declaration - defined here and used outside this module ----------------------------------------------------------------------------*/ -const int16 prmnofsf[NUM_OF_SPMODES] = +static const int16 prmnofsf[NUM_OF_SPMODES] = { 63, 81, 100, 108, 116, 128, @@ -142,21 +142,21 @@ const int16 prmnofsf[NUM_OF_SPMODES] = }; -const int16 dfh_M7k[PRMN_7k] = +static const int16 dfh_M7k[PRMN_7k] = { 3168, 29954, 29213, 16121, 64, 13440, 30624, 16430, 19008 }; -const int16 dfh_M9k[PRMN_9k] = +static const int16 dfh_M9k[PRMN_9k] = { 3168, 31665, 9943, 9123, 15599, 4358, 20248, 2048, 17040, 27787, 16816, 13888 }; -const int16 dfh_M12k[PRMN_12k] = +static const int16 dfh_M12k[PRMN_12k] = { 3168, 31665, 9943, 9128, 3647, 8129, 30930, 27926, @@ -165,7 +165,7 @@ const int16 dfh_M12k[PRMN_12k] = 13948 }; -const int16 dfh_M14k[PRMN_14k] = +static const int16 dfh_M14k[PRMN_14k] = { 3168, 31665, 9943, 9131, 24815, 655, 26616, 26764, @@ -174,7 +174,7 @@ const int16 dfh_M14k[PRMN_14k] = 221, 20321, 17823 }; -const int16 dfh_M16k[PRMN_16k] = +static const int16 dfh_M16k[PRMN_16k] = { 3168, 31665, 9943, 9131, 24815, 700, 3824, 7271, @@ -184,7 +184,7 @@ const int16 dfh_M16k[PRMN_16k] = 6759, 24576 }; -const int16 dfh_M18k[PRMN_18k] = +static const int16 dfh_M18k[PRMN_18k] = { 3168, 31665, 9943, 9135, 14787, 14423, 30477, 24927, @@ -195,7 +195,7 @@ const int16 dfh_M18k[PRMN_18k] = 0 }; -const int16 dfh_M20k[PRMN_20k] = +static const int16 dfh_M20k[PRMN_20k] = { 3168, 31665, 9943, 9129, 8637, 31807, 24646, 736, @@ -206,7 +206,7 @@ const int16 dfh_M20k[PRMN_20k] = 30249, 29123, 0 }; -const int16 dfh_M23k[PRMN_23k] = +static const int16 dfh_M23k[PRMN_23k] = { 3168, 31665, 9943, 9132, 16748, 3202, 28179, 16317, @@ -218,7 +218,7 @@ const int16 dfh_M23k[PRMN_23k] = 23392, 26053, 31216 }; -const int16 dfh_M24k[PRMN_24k] = +static const int16 dfh_M24k[PRMN_24k] = { 3168, 31665, 9943, 9134, 24776, 5857, 18475, 28535, diff --git a/media/libstagefright/codecs/amrwb/src/isp_isf.cpp b/media/libstagefright/codecs/amrwb/src/isp_isf.cpp index 41db7e34c5c2..05527334d7e5 100644 --- a/media/libstagefright/codecs/amrwb/src/isp_isf.cpp +++ b/media/libstagefright/codecs/amrwb/src/isp_isf.cpp @@ -108,7 +108,7 @@ terms listed above has been obtained from the copyright holder. /* table of cos(x) in Q15 */ -const int16 table[129] = +static const int16 table[129] = { 32767, 32758, 32729, 32679, 32610, 32522, 32413, 32286, 32138, diff --git a/media/libstagefright/codecs/amrwb/src/oversamp_12k8_to_16k.cpp b/media/libstagefright/codecs/amrwb/src/oversamp_12k8_to_16k.cpp index 143c26e74bb7..f2ad333d65a0 100644 --- a/media/libstagefright/codecs/amrwb/src/oversamp_12k8_to_16k.cpp +++ b/media/libstagefright/codecs/amrwb/src/oversamp_12k8_to_16k.cpp @@ -337,6 +337,6 @@ int16 AmrWbInterpol( /* return result of interpolation */ L_sum = shl_int32(L_sum, 2); /* saturation can occur here */ - return ((int16(L_sum >> 16))); + return ((int16)(L_sum >> 16)); } diff --git a/media/libstagefright/codecs/amrwb/src/phase_dispersion.cpp b/media/libstagefright/codecs/amrwb/src/phase_dispersion.cpp index f90a534070f2..7b08a4060e35 100644 --- a/media/libstagefright/codecs/amrwb/src/phase_dispersion.cpp +++ b/media/libstagefright/codecs/amrwb/src/phase_dispersion.cpp @@ -109,7 +109,7 @@ terms listed above has been obtained from the copyright holder. /* impulse response with phase dispersion */ /* 2.0 - 6.4 kHz phase dispersion */ -const int16 ph_imp_low[L_SUBFR] = +static const int16 ph_imp_low[L_SUBFR] = { 20182, 9693, 3270, -3437, 2864, -5240, 1589, -1357, 600, 3893, -1497, -698, 1203, -5249, 1199, 5371, @@ -122,7 +122,7 @@ const int16 ph_imp_low[L_SUBFR] = }; /* 3.2 - 6.4 kHz phase dispersion */ -const int16 ph_imp_mid[L_SUBFR] = +static const int16 ph_imp_mid[L_SUBFR] = { 24098, 10460, -5263, -763, 2048, -927, 1753, -3323, 2212, 652, -2146, 2487, -3539, 4109, -2107, -374, diff --git a/media/libstagefright/codecs/amrwbenc/inc/isp_isf.tab b/media/libstagefright/codecs/amrwbenc/inc/isp_isf.tab index 97c3b684e664..865eea0ac570 100644 --- a/media/libstagefright/codecs/amrwbenc/inc/isp_isf.tab +++ b/media/libstagefright/codecs/amrwbenc/inc/isp_isf.tab @@ -21,7 +21,7 @@ /* table of cos(x) in Q15 */ -const static Word16 table[129] = { +static const Word16 table[129] = { 32767, 32758, 32729, 32679, 32610, 32522, 32413, 32286, 32138, 31972, 31786, 31581, 31357, 31114, 30853, 30572, 30274, @@ -42,7 +42,7 @@ const static Word16 table[129] = { /* slope in Q11 used to compute y = acos(x) */ -const static Word16 slope[128] = { +static const Word16 slope[128] = { -26214, -9039, -5243, -3799, -2979, -2405, -2064, -1771, -1579, -1409, -1279, -1170, -1079, -1004, -933, -880, -827, -783, -743, -708, -676, -647, -621, -599, diff --git a/media/libstagefright/codecs/amrwbenc/src/voAMRWBEnc.c b/media/libstagefright/codecs/amrwbenc/src/voAMRWBEnc.c index 0f4d689aaa79..ea9da5238710 100644 --- a/media/libstagefright/codecs/amrwbenc/src/voAMRWBEnc.c +++ b/media/libstagefright/codecs/amrwbenc/src/voAMRWBEnc.c @@ -1702,7 +1702,7 @@ VO_U32 VO_API voAMRWB_SetInputData( gData = (Coder_State *)hCodec; stream = gData->stream; - if(NULL == pInput || NULL == pInput->Buffer || 0 > pInput->Length) + if(NULL == pInput || NULL == pInput->Buffer) { return VO_ERR_INVALID_ARG; } diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp index e892f921fca3..b8516afd3ebd 100644 --- a/media/libstagefright/colorconversion/SoftwareRenderer.cpp +++ b/media/libstagefright/colorconversion/SoftwareRenderer.cpp @@ -23,8 +23,7 @@ #include <binder/MemoryHeapPmem.h> #include <media/stagefright/foundation/ADebug.h> #include <media/stagefright/MetaData.h> -#include <surfaceflinger/Surface.h> -#include <ui/android_native_buffer.h> +#include <system/window.h> #include <ui/GraphicBufferMapper.h> #include <gui/ISurfaceTexture.h> diff --git a/media/libstagefright/include/SoftwareRenderer.h b/media/libstagefright/include/SoftwareRenderer.h index 8f2ea9503f21..7ab004239069 100644 --- a/media/libstagefright/include/SoftwareRenderer.h +++ b/media/libstagefright/include/SoftwareRenderer.h @@ -20,7 +20,7 @@ #include <media/stagefright/ColorConverter.h> #include <utils/RefBase.h> -#include <ui/android_native_buffer.h> +#include <system/window.h> namespace android { diff --git a/media/libstagefright/tests/SurfaceMediaSource_test.cpp b/media/libstagefright/tests/SurfaceMediaSource_test.cpp index d7cec04e0c93..3dcd9fc1e08a 100644 --- a/media/libstagefright/tests/SurfaceMediaSource_test.cpp +++ b/media/libstagefright/tests/SurfaceMediaSource_test.cpp @@ -26,11 +26,11 @@ #include <media/stagefright/SurfaceMediaSource.h> #include <media/mediarecorder.h> -#include <gui/SurfaceTextureClient.h> #include <ui/GraphicBuffer.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/Surface.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/SurfaceTextureClient.h> +#include <gui/ISurfaceComposer.h> +#include <gui/Surface.h> +#include <gui/SurfaceComposerClient.h> #include <binder/ProcessState.h> #include <ui/FramebufferNativeWindow.h> diff --git a/native/android/native_window.cpp b/native/android/native_window.cpp index 6b37a127182f..c58ee00a64d7 100644 --- a/native/android/native_window.cpp +++ b/native/android/native_window.cpp @@ -18,7 +18,7 @@ #include <utils/Log.h> #include <android/native_window_jni.h> -#include <surfaceflinger/Surface.h> +#include <gui/Surface.h> #include <android_runtime/android_view_Surface.h> #include <android_runtime/android_graphics_SurfaceTexture.h> diff --git a/opengl/libagl/TextureObjectManager.cpp b/opengl/libagl/TextureObjectManager.cpp index 6a006aabfac1..06d45cc22e18 100644 --- a/opengl/libagl/TextureObjectManager.cpp +++ b/opengl/libagl/TextureObjectManager.cpp @@ -19,8 +19,6 @@ #include "context.h" #include "TextureObjectManager.h" -#include <private/ui/android_natives_priv.h> - namespace android { // ---------------------------------------------------------------------------- diff --git a/opengl/libagl/context.h b/opengl/libagl/context.h index ef36b569d965..7065a30324ea 100644 --- a/opengl/libagl/context.h +++ b/opengl/libagl/context.h @@ -1,20 +1,642 @@ -/* libs/opengles/context.h -** -** Copyright 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. -*/ - -#include <private/opengles/gl_context.h> +/* + * 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. + */ + +#ifndef ANDROID_OPENGLES_CONTEXT_H +#define ANDROID_OPENGLES_CONTEXT_H + +#include <stdint.h> +#include <stddef.h> +#include <sys/types.h> +#include <pthread.h> +#ifdef HAVE_ANDROID_OS +#include <bionic_tls.h> +#endif + +#include <private/pixelflinger/ggl_context.h> +#include <hardware/gralloc.h> + +#include <GLES/gl.h> +#include <GLES/glext.h> + +namespace android { + + +const unsigned int OGLES_NUM_COMPRESSED_TEXTURE_FORMATS = 10 +#ifdef GL_OES_compressed_ETC1_RGB8_texture + + 1 +#endif + ; + +class EGLTextureObject; +class EGLSurfaceManager; +class EGLBufferObjectManager; + +namespace gl { + +struct ogles_context_t; +struct matrixx_t; +struct transform_t; +struct buffer_t; + +ogles_context_t* getGlContext(); + +template<typename T> +static inline void swap(T& a, T& b) { + T t(a); a = b; b = t; +} +template<typename T> +inline T max(T a, T b) { + return a<b ? b : a; +} +template<typename T> +inline T max(T a, T b, T c) { + return max(a, max(b, c)); +} +template<typename T> +inline T min(T a, T b) { + return a<b ? a : b; +} +template<typename T> +inline T min(T a, T b, T c) { + return min(a, min(b, c)); +} +template<typename T> +inline T min(T a, T b, T c, T d) { + return min(min(a,b), min(c,d)); +} + +// ---------------------------------------------------------------------------- +// vertices +// ---------------------------------------------------------------------------- + +struct vec3_t { + union { + struct { GLfixed x, y, z; }; + struct { GLfixed r, g, b; }; + struct { GLfixed S, T, R; }; + GLfixed v[3]; + }; +}; + +struct vec4_t { + union { + struct { GLfixed x, y, z, w; }; + struct { GLfixed r, g, b, a; }; + struct { GLfixed S, T, R, Q; }; + GLfixed v[4]; + }; +}; + +struct vertex_t { + enum { + // these constant matter for our clipping + CLIP_L = 0x0001, // clipping flags + CLIP_R = 0x0002, + CLIP_B = 0x0004, + CLIP_T = 0x0008, + CLIP_N = 0x0010, + CLIP_F = 0x0020, + + EYE = 0x0040, + RESERVED = 0x0080, + + USER_CLIP_0 = 0x0100, // user clipping flags + USER_CLIP_1 = 0x0200, + USER_CLIP_2 = 0x0400, + USER_CLIP_3 = 0x0800, + USER_CLIP_4 = 0x1000, + USER_CLIP_5 = 0x2000, + + LIT = 0x4000, // lighting has been applied + TT = 0x8000, // texture coords transformed + + FRUSTUM_CLIP_ALL= 0x003F, + USER_CLIP_ALL = 0x3F00, + CLIP_ALL = 0x3F3F, + }; + + // the fields below are arranged to minimize d-cache usage + // we group together, by cache-line, the fields most likely to be used + + union { + vec4_t obj; + vec4_t eye; + }; + vec4_t clip; + + uint32_t flags; + size_t index; // cache tag, and vertex index + GLfixed fog; + uint8_t locked; + uint8_t mru; + uint8_t reserved[2]; + vec4_t window; + + vec4_t color; + vec4_t texture[GGL_TEXTURE_UNIT_COUNT]; + uint32_t reserved1[4]; + + inline void clear() { + flags = index = locked = mru = 0; + } +}; + +struct point_size_t { + GGLcoord size; + GLboolean smooth; +}; + +struct line_width_t { + GGLcoord width; + GLboolean smooth; +}; + +struct polygon_offset_t { + GLfixed factor; + GLfixed units; + GLboolean enable; +}; + +// ---------------------------------------------------------------------------- +// arrays +// ---------------------------------------------------------------------------- + +struct array_t { + typedef void (*fetcher_t)(ogles_context_t*, GLfixed*, const GLvoid*); + fetcher_t fetch; + GLvoid const* physical_pointer; + GLint size; + GLsizei stride; + GLvoid const* pointer; + buffer_t const* bo; + uint16_t type; + GLboolean enable; + GLboolean pad; + GLsizei bounds; + void init(GLint, GLenum, GLsizei, const GLvoid *, const buffer_t*, GLsizei); + inline void resolve(); + inline const GLubyte* element(GLint i) const { + return (const GLubyte*)physical_pointer + i * stride; + } +}; + +struct array_machine_t { + array_t vertex; + array_t normal; + array_t color; + array_t texture[GGL_TEXTURE_UNIT_COUNT]; + uint8_t activeTexture; + uint8_t tmu; + uint16_t cull; + uint32_t flags; + GLenum indicesType; + buffer_t const* array_buffer; + buffer_t const* element_array_buffer; + + void (*compileElements)(ogles_context_t*, vertex_t*, GLint, GLsizei); + void (*compileElement)(ogles_context_t*, vertex_t*, GLint); + + void (*mvp_transform)(transform_t const*, vec4_t*, vec4_t const*); + void (*mv_transform)(transform_t const*, vec4_t*, vec4_t const*); + void (*tex_transform[2])(transform_t const*, vec4_t*, vec4_t const*); + void (*perspective)(ogles_context_t*c, vertex_t* v); + void (*clipVertex)(ogles_context_t* c, vertex_t* nv, + GGLfixed t, const vertex_t* s, const vertex_t* p); + void (*clipEye)(ogles_context_t* c, vertex_t* nv, + GGLfixed t, const vertex_t* s, const vertex_t* p); +}; + +struct vertex_cache_t { + enum { + // must be at least 4 + // 3 vertice for triangles + // or 2 + 2 for indexed triangles w/ cache contention + VERTEX_BUFFER_SIZE = 8, + // must be a power of two and at least 3 + VERTEX_CACHE_SIZE = 64, // 8 KB + + INDEX_BITS = 16, + INDEX_MASK = ((1LU<<INDEX_BITS)-1), + INDEX_SEQ = 1LU<<INDEX_BITS, + }; + vertex_t* vBuffer; + vertex_t* vCache; + uint32_t sequence; + void* base; + uint32_t total; + uint32_t misses; + int64_t startTime; + void init(); + void uninit(); + void clear(); + void dump_stats(GLenum mode); +}; + +// ---------------------------------------------------------------------------- +// fog +// ---------------------------------------------------------------------------- + +struct fog_t { + GLfixed density; + GLfixed start; + GLfixed end; + GLfixed invEndMinusStart; + GLenum mode; + GLfixed (*fog)(ogles_context_t* c, GLfixed z); +}; + +// ---------------------------------------------------------------------------- +// user clip planes +// ---------------------------------------------------------------------------- + +const unsigned int OGLES_MAX_CLIP_PLANES = 6; + +struct clip_plane_t { + vec4_t equation; +}; + +struct user_clip_planes_t { + clip_plane_t plane[OGLES_MAX_CLIP_PLANES]; + uint32_t enable; +}; + +// ---------------------------------------------------------------------------- +// lighting +// ---------------------------------------------------------------------------- + +const unsigned int OGLES_MAX_LIGHTS = 8; + +struct light_t { + vec4_t ambient; + vec4_t diffuse; + vec4_t specular; + vec4_t implicitAmbient; + vec4_t implicitDiffuse; + vec4_t implicitSpecular; + vec4_t position; // position in eye space + vec4_t objPosition; + vec4_t normalizedObjPosition; + vec4_t spotDir; + vec4_t normalizedSpotDir; + GLfixed spotExp; + GLfixed spotCutoff; + GLfixed spotCutoffCosine; + GLfixed attenuation[3]; + GLfixed rConstAttenuation; + GLboolean enable; +}; + +struct material_t { + vec4_t ambient; + vec4_t diffuse; + vec4_t specular; + vec4_t emission; + GLfixed shininess; +}; + +struct light_model_t { + vec4_t ambient; + GLboolean twoSide; +}; + +struct color_material_t { + GLenum face; + GLenum mode; + GLboolean enable; +}; + +struct lighting_t { + light_t lights[OGLES_MAX_LIGHTS]; + material_t front; + light_model_t lightModel; + color_material_t colorMaterial; + vec4_t implicitSceneEmissionAndAmbient; + vec4_t objViewer; + uint32_t enabledLights; + GLboolean enable; + GLenum shadeModel; + typedef void (*light_fct_t)(ogles_context_t*, vertex_t*); + void (*lightVertex)(ogles_context_t* c, vertex_t* v); + void (*lightTriangle)(ogles_context_t* c, + vertex_t* v0, vertex_t* v1, vertex_t* v2); +}; + +struct culling_t { + GLenum cullFace; + GLenum frontFace; + GLboolean enable; +}; + +// ---------------------------------------------------------------------------- +// textures +// ---------------------------------------------------------------------------- + +struct texture_unit_t { + GLuint name; + EGLTextureObject* texture; + uint8_t dirty; +}; + +struct texture_state_t +{ + texture_unit_t tmu[GGL_TEXTURE_UNIT_COUNT]; + int active; // active tmu + EGLTextureObject* defaultTexture; + GGLContext* ggl; + uint8_t packAlignment; + uint8_t unpackAlignment; +}; + +// ---------------------------------------------------------------------------- +// transformation and matrices +// ---------------------------------------------------------------------------- + +struct matrixf_t; + +struct matrixx_t { + GLfixed m[16]; + void load(const matrixf_t& rhs); +}; + +struct matrix_stack_t; + + +struct matrixf_t { + void loadIdentity(); + void load(const matrixf_t& rhs); + + inline GLfloat* editElements() { return m; } + inline GLfloat const* elements() const { return m; } + + void set(const GLfixed* rhs); + void set(const GLfloat* rhs); + + static void multiply(matrixf_t& r, + const matrixf_t& lhs, const matrixf_t& rhs); + + void dump(const char* what); + +private: + friend struct matrix_stack_t; + GLfloat m[16]; + void load(const GLfixed* rhs); + void load(const GLfloat* rhs); + void multiply(const matrixf_t& rhs); + void translate(GLfloat x, GLfloat y, GLfloat z); + void scale(GLfloat x, GLfloat y, GLfloat z); + void rotate(GLfloat a, GLfloat x, GLfloat y, GLfloat z); +}; + +enum { + OP_IDENTITY = 0x00, + OP_TRANSLATE = 0x01, + OP_UNIFORM_SCALE = 0x02, + OP_SCALE = 0x05, + OP_ROTATE = 0x08, + OP_SKEW = 0x10, + OP_ALL = 0x1F +}; + +struct transform_t { + enum { + FLAGS_2D_PROJECTION = 0x1 + }; + matrixx_t matrix; + uint32_t flags; + uint32_t ops; + + union { + struct { + void (*point2)(transform_t const* t, vec4_t*, vec4_t const*); + void (*point3)(transform_t const* t, vec4_t*, vec4_t const*); + void (*point4)(transform_t const* t, vec4_t*, vec4_t const*); + }; + void (*pointv[3])(transform_t const* t, vec4_t*, vec4_t const*); + }; + + void loadIdentity(); + void picker(); + void dump(const char* what); +}; + +struct mvui_transform_t : public transform_t +{ + void picker(); +}; + +struct matrix_stack_t { + enum { + DO_PICKER = 0x1, + DO_FLOAT_TO_FIXED = 0x2 + }; + transform_t transform; + uint8_t maxDepth; + uint8_t depth; + uint8_t dirty; + uint8_t reserved; + matrixf_t *stack; + uint8_t *ops; + void init(int depth); + void uninit(); + void loadIdentity(); + void load(const GLfixed* rhs); + void load(const GLfloat* rhs); + void multiply(const matrixf_t& rhs); + void translate(GLfloat x, GLfloat y, GLfloat z); + void scale(GLfloat x, GLfloat y, GLfloat z); + void rotate(GLfloat a, GLfloat x, GLfloat y, GLfloat z); + GLint push(); + GLint pop(); + void validate(); + matrixf_t& top() { return stack[depth]; } + const matrixf_t& top() const { return stack[depth]; } + uint32_t top_ops() const { return ops[depth]; } + inline bool isRigidBody() const { + return !(ops[depth] & ~(OP_TRANSLATE|OP_UNIFORM_SCALE|OP_ROTATE)); + } +}; + +struct vp_transform_t { + transform_t transform; + matrixf_t matrix; + GLfloat zNear; + GLfloat zFar; + void loadIdentity(); +}; + +struct transform_state_t { + enum { + MODELVIEW = 0x01, + PROJECTION = 0x02, + VIEWPORT = 0x04, + TEXTURE = 0x08, + MVUI = 0x10, + MVIT = 0x20, + MVP = 0x40, + }; + matrix_stack_t *current; + matrix_stack_t modelview; + matrix_stack_t projection; + matrix_stack_t texture[GGL_TEXTURE_UNIT_COUNT]; + + // modelview * projection + transform_t mvp __attribute__((aligned(32))); + // viewport transformation + vp_transform_t vpt __attribute__((aligned(32))); + // same for 4-D vertices + transform_t mvp4; + // full modelview inverse transpose + transform_t mvit4; + // upper 3x3 of mv-inverse-transpose (for normals) + mvui_transform_t mvui; + + GLenum matrixMode; + GLenum rescaleNormals; + uint32_t dirty; + void invalidate(); + void update_mvp(); + void update_mvit(); + void update_mvui(); +}; + +struct viewport_t { + GLint x; + GLint y; + GLsizei w; + GLsizei h; + struct { + GLint x; + GLint y; + } surfaceport; + struct { + GLint x; + GLint y; + GLsizei w; + GLsizei h; + } scissor; +}; + +// ---------------------------------------------------------------------------- +// Lerping +// ---------------------------------------------------------------------------- + +struct compute_iterators_t +{ + void initTriangle( + vertex_t const* v0, + vertex_t const* v1, + vertex_t const* v2); + + void initLine( + vertex_t const* v0, + vertex_t const* v1); + + inline void initLerp(vertex_t const* v0, uint32_t enables); + + int iteratorsScale(int32_t it[3], + int32_t c0, int32_t c1, int32_t c2) const; + + void iterators1616(GGLfixed it[3], + GGLfixed c0, GGLfixed c1, GGLfixed c2) const; + + void iterators0032(int32_t it[3], + int32_t c0, int32_t c1, int32_t c2) const; + + void iterators0032(int64_t it[3], + int32_t c0, int32_t c1, int32_t c2) const; + + GGLcoord area() const { return m_area; } + +private: + // don't change order of members here -- used by iterators.S + GGLcoord m_dx01, m_dy10, m_dx20, m_dy02; + GGLcoord m_x0, m_y0; + GGLcoord m_area; + uint8_t m_scale; + uint8_t m_area_scale; + uint8_t m_reserved[2]; + +}; + +// ---------------------------------------------------------------------------- +// state +// ---------------------------------------------------------------------------- + +#ifdef HAVE_ANDROID_OS + // We have a dedicated TLS slot in bionic + inline void setGlThreadSpecific(ogles_context_t *value) { + ((uint32_t *)__get_tls())[TLS_SLOT_OPENGL] = (uint32_t)value; + } + inline ogles_context_t* getGlThreadSpecific() { + return (ogles_context_t *)(((unsigned *)__get_tls())[TLS_SLOT_OPENGL]); + } +#else + extern pthread_key_t gGLKey; + inline void setGlThreadSpecific(ogles_context_t *value) { + pthread_setspecific(gGLKey, value); + } + inline ogles_context_t* getGlThreadSpecific() { + return static_cast<ogles_context_t*>(pthread_getspecific(gGLKey)); + } +#endif + + +struct prims_t { + typedef ogles_context_t* GL; + void (*renderPoint)(GL, vertex_t*); + void (*renderLine)(GL, vertex_t*, vertex_t*); + void (*renderTriangle)(GL, vertex_t*, vertex_t*, vertex_t*); +}; + +struct ogles_context_t { + context_t rasterizer; + array_machine_t arrays __attribute__((aligned(32))); + texture_state_t textures; + transform_state_t transforms; + vertex_cache_t vc; + prims_t prims; + culling_t cull; + lighting_t lighting; + user_clip_planes_t clipPlanes; + compute_iterators_t lerp; __attribute__((aligned(32))); + vertex_t current; + vec4_t currentColorClamped; + vec3_t currentNormal; + viewport_t viewport; + point_size_t point; + line_width_t line; + polygon_offset_t polygonOffset; + fog_t fog; + uint32_t perspective : 1; + uint32_t transformTextures : 1; + EGLSurfaceManager* surfaceManager; + EGLBufferObjectManager* bufferObjectManager; + + GLenum error; + + static inline ogles_context_t* get() { + return getGlThreadSpecific(); + } + +}; + +}; // namespace gl +}; // namespace android using namespace android::gl; + +#endif // ANDROID_OPENGLES_CONTEXT_H + diff --git a/opengl/libagl/egl.cpp b/opengl/libagl/egl.cpp index eb55beefd9af..92d32a282b2e 100644 --- a/opengl/libagl/egl.cpp +++ b/opengl/libagl/egl.cpp @@ -30,6 +30,7 @@ #include <cutils/atomic.h> #include <utils/threads.h> +#include <ui/ANativeObjectBase.h> #include <EGL/egl.h> #include <EGL/eglext.h> @@ -39,8 +40,6 @@ #include <pixelflinger/format.h> #include <pixelflinger/pixelflinger.h> -#include <private/ui/android_natives_priv.h> - #include "context.h" #include "state.h" #include "texture.h" @@ -49,13 +48,14 @@ #undef NELEM #define NELEM(x) (sizeof(x)/sizeof(*(x))) +// ---------------------------------------------------------------------------- EGLBoolean EGLAPI eglSetSwapRectangleANDROID(EGLDisplay dpy, EGLSurface draw, EGLint left, EGLint top, EGLint width, EGLint height); - // ---------------------------------------------------------------------------- namespace android { + // ---------------------------------------------------------------------------- const unsigned int NUM_DISPLAYS = 1; diff --git a/opengl/libagl/texture.cpp b/opengl/libagl/texture.cpp index 88e865124ec7..08536dfd2589 100644 --- a/opengl/libagl/texture.cpp +++ b/opengl/libagl/texture.cpp @@ -23,7 +23,6 @@ #include "texture.h" #include "TextureObjectManager.h" -#include <private/ui/android_natives_priv.h> #include <ETC1/etc1.h> namespace android { diff --git a/opengl/libs/GLES_trace/src/gltrace_api.cpp b/opengl/libs/GLES_trace/src/gltrace_api.cpp index 358bf54ce445..cef6cbb1657f 100644 --- a/opengl/libs/GLES_trace/src/gltrace_api.cpp +++ b/opengl/libs/GLES_trace/src/gltrace_api.cpp @@ -49,9 +49,12 @@ void GLTrace_glActiveTexture(GLenum texture) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -80,9 +83,12 @@ void GLTrace_glAttachShader(GLuint program, GLuint shader) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -117,9 +123,13 @@ void GLTrace_glBindAttribLocation(GLuint program, GLuint index, const GLchar* na nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) name, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -148,9 +158,12 @@ void GLTrace_glBindBuffer(GLenum target, GLuint buffer) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -179,9 +192,12 @@ void GLTrace_glBindFramebuffer(GLenum target, GLuint framebuffer) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -210,9 +226,12 @@ void GLTrace_glBindRenderbuffer(GLenum target, GLuint renderbuffer) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -241,9 +260,12 @@ void GLTrace_glBindTexture(GLenum target, GLuint texture) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -284,9 +306,12 @@ void GLTrace_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -309,9 +334,12 @@ void GLTrace_glBlendEquation(GLenum mode) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -340,9 +368,12 @@ void GLTrace_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -371,9 +402,12 @@ void GLTrace_glBlendFunc(GLenum sfactor, GLenum dfactor) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -414,9 +448,12 @@ void GLTrace_glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -436,7 +473,7 @@ void GLTrace_glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GL GLMessage_DataType *arg_size = glmsg.add_args(); arg_size->set_isarray(false); arg_size->set_type(GLMessage::DataType::INT); - arg_size->add_intvalue((int)size); + arg_size->add_intvalue(size); // copy argument data GLMessage_DataType *arg_data = glmsg.add_args(); @@ -457,9 +494,13 @@ void GLTrace_glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GL nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) data, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -479,13 +520,13 @@ void GLTrace_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, co GLMessage_DataType *arg_offset = glmsg.add_args(); arg_offset->set_isarray(false); arg_offset->set_type(GLMessage::DataType::INT); - arg_offset->add_intvalue((int)offset); + arg_offset->add_intvalue(offset); // copy argument size GLMessage_DataType *arg_size = glmsg.add_args(); arg_size->set_isarray(false); arg_size->set_type(GLMessage::DataType::INT); - arg_size->add_intvalue((int)size); + arg_size->add_intvalue(size); // copy argument data GLMessage_DataType *arg_data = glmsg.add_args(); @@ -500,9 +541,13 @@ void GLTrace_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, co nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) data, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -531,9 +576,12 @@ GLenum GLTrace_glCheckFramebufferStatus(GLenum target) { rt->set_type(GLMessage::DataType::ENUM); rt->add_intvalue((int)retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -558,9 +606,12 @@ void GLTrace_glClear(GLbitfield mask) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -601,9 +652,12 @@ void GLTrace_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -626,9 +680,12 @@ void GLTrace_glClearDepthf(GLclampf depth) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -651,9 +708,12 @@ void GLTrace_glClearStencil(GLint s) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -694,9 +754,12 @@ void GLTrace_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboole nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -719,9 +782,12 @@ void GLTrace_glCompileShader(GLuint shader) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -786,9 +852,13 @@ void GLTrace_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalf nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) data, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -859,9 +929,13 @@ void GLTrace_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) data, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -926,9 +1000,12 @@ void GLTrace_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -993,9 +1070,12 @@ void GLTrace_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLin nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1018,9 +1098,12 @@ GLuint GLTrace_glCreateProgram(void) { rt->set_type(GLMessage::DataType::INT); rt->add_intvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -1051,9 +1134,12 @@ GLuint GLTrace_glCreateShader(GLenum type) { rt->set_type(GLMessage::DataType::INT); rt->add_intvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -1078,9 +1164,12 @@ void GLTrace_glCullFace(GLenum mode) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1109,9 +1198,13 @@ void GLTrace_glDeleteBuffers(GLsizei n, const GLuint* buffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) buffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1140,9 +1233,13 @@ void GLTrace_glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) framebuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1165,9 +1262,12 @@ void GLTrace_glDeleteProgram(GLuint program) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1196,9 +1296,13 @@ void GLTrace_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) renderbuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1221,9 +1325,12 @@ void GLTrace_glDeleteShader(GLuint shader) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1252,9 +1359,13 @@ void GLTrace_glDeleteTextures(GLsizei n, const GLuint* textures) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) textures, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1277,9 +1388,12 @@ void GLTrace_glDepthFunc(GLenum func) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1302,9 +1416,12 @@ void GLTrace_glDepthMask(GLboolean flag) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1333,9 +1450,12 @@ void GLTrace_glDepthRangef(GLclampf zNear, GLclampf zFar) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1364,9 +1484,12 @@ void GLTrace_glDetachShader(GLuint program, GLuint shader) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1389,9 +1512,12 @@ void GLTrace_glDisable(GLenum cap) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1414,9 +1540,12 @@ void GLTrace_glDisableVertexAttribArray(GLuint index) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1451,9 +1580,12 @@ void GLTrace_glDrawArrays(GLenum mode, GLint first, GLsizei count) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1494,9 +1626,13 @@ void GLTrace_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoi nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) indices, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1519,9 +1655,12 @@ void GLTrace_glEnable(GLenum cap) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1544,9 +1683,12 @@ void GLTrace_glEnableVertexAttribArray(GLuint index) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1563,9 +1705,12 @@ void GLTrace_glFinish(void) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1582,9 +1727,12 @@ void GLTrace_glFlush(void) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1625,9 +1773,12 @@ void GLTrace_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1674,9 +1825,12 @@ void GLTrace_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum tex nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1699,9 +1853,12 @@ void GLTrace_glFrontFace(GLenum mode) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1730,9 +1887,13 @@ void GLTrace_glGenBuffers(GLsizei n, GLuint* buffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) buffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1755,9 +1916,12 @@ void GLTrace_glGenerateMipmap(GLenum target) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1786,9 +1950,13 @@ void GLTrace_glGenFramebuffers(GLsizei n, GLuint* framebuffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) framebuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1817,9 +1985,13 @@ void GLTrace_glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) renderbuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1848,9 +2020,13 @@ void GLTrace_glGenTextures(GLsizei n, GLuint* textures) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) textures, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1909,9 +2085,16 @@ void GLTrace_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GL nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) size, + (void *) type, + (void *) name, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -1970,9 +2153,16 @@ void GLTrace_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, G nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) size, + (void *) type, + (void *) name, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2013,9 +2203,14 @@ void GLTrace_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* cou nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) count, + (void *) shaders, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2050,9 +2245,13 @@ int GLTrace_glGetAttribLocation(GLuint program, const GLchar* name) { rt->set_type(GLMessage::DataType::INT); rt->add_intvalue(retValue); + void *pointerArgs[] = { + (void *) name, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -2083,9 +2282,13 @@ void GLTrace_glGetBooleanv(GLenum pname, GLboolean* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2120,9 +2323,13 @@ void GLTrace_glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2145,9 +2352,12 @@ GLenum GLTrace_glGetError(void) { rt->set_type(GLMessage::DataType::ENUM); rt->add_intvalue((int)retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -2178,9 +2388,13 @@ void GLTrace_glGetFloatv(GLenum pname, GLfloat* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2221,9 +2435,13 @@ void GLTrace_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachm nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2252,9 +2470,13 @@ void GLTrace_glGetIntegerv(GLenum pname, GLint* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2289,9 +2511,13 @@ void GLTrace_glGetProgramiv(GLuint program, GLenum pname, GLint* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2332,9 +2558,14 @@ void GLTrace_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* lengt nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) infolog, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2369,9 +2600,13 @@ void GLTrace_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* pa nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2406,9 +2641,13 @@ void GLTrace_glGetShaderiv(GLuint shader, GLenum pname, GLint* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2449,9 +2688,14 @@ void GLTrace_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) infolog, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2492,9 +2736,14 @@ void GLTrace_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) range, + (void *) precision, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2535,9 +2784,14 @@ void GLTrace_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) source, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2566,9 +2820,13 @@ const GLubyte* GLTrace_glGetString(GLenum name) { rt->set_type(GLMessage::DataType::INT); rt->add_intvalue((int)retValue); + void *pointerArgs[] = { + (void *) retValue, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -2605,9 +2863,13 @@ void GLTrace_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2642,9 +2904,13 @@ void GLTrace_glGetTexParameteriv(GLenum target, GLenum pname, GLint* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2679,9 +2945,13 @@ void GLTrace_glGetUniformfv(GLuint program, GLint location, GLfloat* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2716,9 +2986,13 @@ void GLTrace_glGetUniformiv(GLuint program, GLint location, GLint* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2753,9 +3027,13 @@ int GLTrace_glGetUniformLocation(GLuint program, const GLchar* name) { rt->set_type(GLMessage::DataType::INT); rt->add_intvalue(retValue); + void *pointerArgs[] = { + (void *) name, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -2792,9 +3070,13 @@ void GLTrace_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2829,9 +3111,13 @@ void GLTrace_glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2866,9 +3152,13 @@ void GLTrace_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** poin nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pointer, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2897,9 +3187,12 @@ void GLTrace_glHint(GLenum target, GLenum mode) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -2928,9 +3221,12 @@ GLboolean GLTrace_glIsBuffer(GLuint buffer) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -2961,9 +3257,12 @@ GLboolean GLTrace_glIsEnabled(GLenum cap) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -2994,9 +3293,12 @@ GLboolean GLTrace_glIsFramebuffer(GLuint framebuffer) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -3027,9 +3329,12 @@ GLboolean GLTrace_glIsProgram(GLuint program) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -3060,9 +3365,12 @@ GLboolean GLTrace_glIsRenderbuffer(GLuint renderbuffer) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -3093,9 +3401,12 @@ GLboolean GLTrace_glIsShader(GLuint shader) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -3126,9 +3437,12 @@ GLboolean GLTrace_glIsTexture(GLuint texture) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -3153,9 +3467,12 @@ void GLTrace_glLineWidth(GLfloat width) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3178,9 +3495,12 @@ void GLTrace_glLinkProgram(GLuint program) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3209,9 +3529,12 @@ void GLTrace_glPixelStorei(GLenum pname, GLint param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3240,9 +3563,12 @@ void GLTrace_glPolygonOffset(GLfloat factor, GLfloat units) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3301,9 +3627,13 @@ void GLTrace_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenu nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pixels, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3320,9 +3650,12 @@ void GLTrace_glReleaseShaderCompiler(void) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3363,9 +3696,12 @@ void GLTrace_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3394,9 +3730,12 @@ void GLTrace_glSampleCoverage(GLclampf value, GLboolean invert) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3437,9 +3776,12 @@ void GLTrace_glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3486,9 +3828,14 @@ void GLTrace_glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryforma nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) shaders, + (void *) binary, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3529,9 +3876,14 @@ void GLTrace_glShaderSource(GLuint shader, GLsizei count, const GLchar** string, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) string, + (void *) length, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3566,9 +3918,12 @@ void GLTrace_glStencilFunc(GLenum func, GLint ref, GLuint mask) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3609,9 +3964,12 @@ void GLTrace_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint m nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3634,9 +3992,12 @@ void GLTrace_glStencilMask(GLuint mask) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3665,9 +4026,12 @@ void GLTrace_glStencilMaskSeparate(GLenum face, GLuint mask) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3702,9 +4066,12 @@ void GLTrace_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3745,9 +4112,12 @@ void GLTrace_glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3818,9 +4188,13 @@ void GLTrace_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsi nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pixels, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3855,9 +4229,12 @@ void GLTrace_glTexParameterf(GLenum target, GLenum pname, GLfloat param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3892,9 +4269,13 @@ void GLTrace_glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3929,9 +4310,12 @@ void GLTrace_glTexParameteri(GLenum target, GLenum pname, GLint param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -3966,9 +4350,13 @@ void GLTrace_glTexParameteriv(GLenum target, GLenum pname, const GLint* params) nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4039,9 +4427,13 @@ void GLTrace_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yo nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pixels, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4070,9 +4462,12 @@ void GLTrace_glUniform1f(GLint location, GLfloat x) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4107,9 +4502,13 @@ void GLTrace_glUniform1fv(GLint location, GLsizei count, const GLfloat* v) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) v, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4138,9 +4537,12 @@ void GLTrace_glUniform1i(GLint location, GLint x) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4175,9 +4577,13 @@ void GLTrace_glUniform1iv(GLint location, GLsizei count, const GLint* v) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) v, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4212,9 +4618,12 @@ void GLTrace_glUniform2f(GLint location, GLfloat x, GLfloat y) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4249,9 +4658,13 @@ void GLTrace_glUniform2fv(GLint location, GLsizei count, const GLfloat* v) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) v, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4286,9 +4699,12 @@ void GLTrace_glUniform2i(GLint location, GLint x, GLint y) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4323,9 +4739,13 @@ void GLTrace_glUniform2iv(GLint location, GLsizei count, const GLint* v) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) v, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4366,9 +4786,12 @@ void GLTrace_glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4403,9 +4826,13 @@ void GLTrace_glUniform3fv(GLint location, GLsizei count, const GLfloat* v) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) v, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4446,9 +4873,12 @@ void GLTrace_glUniform3i(GLint location, GLint x, GLint y, GLint z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4483,9 +4913,13 @@ void GLTrace_glUniform3iv(GLint location, GLsizei count, const GLint* v) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) v, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4532,9 +4966,12 @@ void GLTrace_glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloa nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4569,9 +5006,13 @@ void GLTrace_glUniform4fv(GLint location, GLsizei count, const GLfloat* v) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) v, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4618,9 +5059,12 @@ void GLTrace_glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4655,9 +5099,13 @@ void GLTrace_glUniform4iv(GLint location, GLsizei count, const GLint* v) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) v, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4698,9 +5146,13 @@ void GLTrace_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpo nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4741,9 +5193,13 @@ void GLTrace_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpo nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4784,9 +5240,13 @@ void GLTrace_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpo nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4809,9 +5269,12 @@ void GLTrace_glUseProgram(GLuint program) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4834,9 +5297,12 @@ void GLTrace_glValidateProgram(GLuint program) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4865,9 +5331,12 @@ void GLTrace_glVertexAttrib1f(GLuint indx, GLfloat x) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4896,9 +5365,13 @@ void GLTrace_glVertexAttrib1fv(GLuint indx, const GLfloat* values) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) values, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4933,9 +5406,12 @@ void GLTrace_glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -4964,9 +5440,13 @@ void GLTrace_glVertexAttrib2fv(GLuint indx, const GLfloat* values) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) values, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5007,9 +5487,12 @@ void GLTrace_glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5038,9 +5521,13 @@ void GLTrace_glVertexAttrib3fv(GLuint indx, const GLfloat* values) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) values, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5087,9 +5574,12 @@ void GLTrace_glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfl nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5118,9 +5608,13 @@ void GLTrace_glVertexAttrib4fv(GLuint indx, const GLfloat* values) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) values, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5173,9 +5667,13 @@ void GLTrace_glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboole nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) ptr, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5216,9 +5714,12 @@ void GLTrace_glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5250,9 +5751,13 @@ void GLTrace_glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) image, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5281,9 +5786,13 @@ void GLTrace_glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) image, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5330,9 +5839,15 @@ void GLTrace_glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *len nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) binaryFormat, + (void *) binary, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5373,9 +5888,13 @@ void GLTrace_glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoi nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) binary, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5410,9 +5929,13 @@ void* GLTrace_glMapBufferOES(GLenum target, GLenum access) { rt->set_type(GLMessage::DataType::INT); rt->add_intvalue((int)retValue); + void *pointerArgs[] = { + (void *) retValue, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -5443,9 +5966,12 @@ GLboolean GLTrace_glUnmapBufferOES(GLenum target) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -5482,9 +6008,13 @@ void GLTrace_glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid** params nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5561,9 +6091,13 @@ void GLTrace_glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pixels, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5646,9 +6180,13 @@ void GLTrace_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pixels, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5719,9 +6257,12 @@ void GLTrace_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, G nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5792,9 +6333,13 @@ void GLTrace_glCompressedTexImage3DOES(GLenum target, GLint level, GLenum intern nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) data, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5877,9 +6422,13 @@ void GLTrace_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoff nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) data, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5932,9 +6481,12 @@ void GLTrace_glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5957,9 +6509,12 @@ void GLTrace_glBindVertexArrayOES(GLuint array) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -5988,9 +6543,13 @@ void GLTrace_glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) arrays, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6019,9 +6578,13 @@ void GLTrace_glGenVertexArraysOES(GLsizei n, GLuint *arrays) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) arrays, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6050,9 +6613,12 @@ GLboolean GLTrace_glIsVertexArrayOES(GLuint array) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -6089,9 +6655,14 @@ void GLTrace_glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLu nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) numGroups, + (void *) groups, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6138,9 +6709,15 @@ void GLTrace_glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) numCounters, + (void *) maxActiveCounters, + (void *) counters, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6181,9 +6758,14 @@ void GLTrace_glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsiz nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) groupString, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6230,9 +6812,14 @@ void GLTrace_glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsi nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) counterString, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6273,9 +6860,13 @@ void GLTrace_glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) data, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6304,9 +6895,13 @@ void GLTrace_glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) monitors, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6335,9 +6930,13 @@ void GLTrace_glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) monitors, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6384,9 +6983,13 @@ void GLTrace_glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GL nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) countersList, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6409,9 +7012,12 @@ void GLTrace_glBeginPerfMonitorAMD(GLuint monitor) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6434,9 +7040,12 @@ void GLTrace_glEndPerfMonitorAMD(GLuint monitor) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6483,9 +7092,14 @@ void GLTrace_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsize nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) data, + (void *) bytesWritten, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6562,9 +7176,12 @@ void GLTrace_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6611,9 +7228,12 @@ void GLTrace_glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei sample nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6660,9 +7280,12 @@ void GLTrace_glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei sample nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6679,9 +7302,12 @@ void GLTrace_glResolveMultisampleFramebufferAPPLE(void) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6722,9 +7348,13 @@ void GLTrace_glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) label, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6771,9 +7401,14 @@ void GLTrace_glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GL nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) label, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6802,9 +7437,13 @@ void GLTrace_glInsertEventMarkerEXT(GLsizei length, const GLchar *marker) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) marker, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6833,9 +7472,13 @@ void GLTrace_glPushGroupMarkerEXT(GLsizei length, const GLchar *marker) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) marker, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6852,9 +7495,12 @@ void GLTrace_glPopGroupMarkerEXT(void) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6889,9 +7535,13 @@ void GLTrace_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, cons nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) attachments, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6938,9 +7588,12 @@ void GLTrace_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -6993,9 +7646,12 @@ void GLTrace_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachme nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7036,9 +7692,14 @@ void GLTrace_glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLs nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) first, + (void *) count, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7085,9 +7746,14 @@ void GLTrace_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum ty nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) count, + (void *) indices, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7116,9 +7782,13 @@ void GLTrace_glGenQueriesEXT(GLsizei n, GLuint *ids) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) ids, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7147,9 +7817,13 @@ void GLTrace_glDeleteQueriesEXT(GLsizei n, const GLuint *ids) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) ids, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7178,9 +7852,12 @@ GLboolean GLTrace_glIsQueryEXT(GLuint id) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -7211,9 +7888,12 @@ void GLTrace_glBeginQueryEXT(GLenum target, GLuint id) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7236,9 +7916,12 @@ void GLTrace_glEndQueryEXT(GLenum target) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7273,9 +7956,13 @@ void GLTrace_glGetQueryivEXT(GLenum target, GLenum pname, GLint *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7310,9 +7997,13 @@ void GLTrace_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7335,9 +8026,12 @@ GLenum GLTrace_glGetGraphicsResetStatusEXT(void) { rt->set_type(GLMessage::DataType::ENUM); rt->add_intvalue((int)retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -7404,9 +8098,13 @@ void GLTrace_glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, G nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) data, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7447,9 +8145,13 @@ void GLTrace_glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7490,9 +8192,13 @@ void GLTrace_glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7527,9 +8233,12 @@ void GLTrace_glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint pr nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7558,9 +8267,12 @@ void GLTrace_glActiveShaderProgramEXT(GLuint pipeline, GLuint program) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7601,9 +8313,13 @@ GLuint GLTrace_glCreateShaderProgramvEXT(GLenum type, GLsizei count, const GLcha rt->set_type(GLMessage::DataType::INT); rt->add_intvalue(retValue); + void *pointerArgs[] = { + (void *) strings, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -7628,9 +8344,12 @@ void GLTrace_glBindProgramPipelineEXT(GLuint pipeline) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7659,9 +8378,13 @@ void GLTrace_glDeleteProgramPipelinesEXT(GLsizei n, const GLuint *pipelines) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pipelines, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7690,9 +8413,13 @@ void GLTrace_glGenProgramPipelinesEXT(GLsizei n, GLuint *pipelines) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pipelines, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7721,9 +8448,12 @@ GLboolean GLTrace_glIsProgramPipelineEXT(GLuint pipeline) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -7760,9 +8490,12 @@ void GLTrace_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7797,9 +8530,13 @@ void GLTrace_glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname, GLint *par nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7834,9 +8571,12 @@ void GLTrace_glProgramUniform1iEXT(GLuint program, GLint location, GLint x) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7877,9 +8617,12 @@ void GLTrace_glProgramUniform2iEXT(GLuint program, GLint location, GLint x, GLin nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7926,9 +8669,12 @@ void GLTrace_glProgramUniform3iEXT(GLuint program, GLint location, GLint x, GLin nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -7981,9 +8727,12 @@ void GLTrace_glProgramUniform4iEXT(GLuint program, GLint location, GLint x, GLin nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8018,9 +8767,12 @@ void GLTrace_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat x) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8061,9 +8813,12 @@ void GLTrace_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat x, GL nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8110,9 +8865,12 @@ void GLTrace_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat x, GL nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8165,9 +8923,12 @@ void GLTrace_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat x, GL nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8208,9 +8969,13 @@ void GLTrace_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei coun nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8251,9 +9016,13 @@ void GLTrace_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei coun nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8294,9 +9063,13 @@ void GLTrace_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei coun nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8337,9 +9110,13 @@ void GLTrace_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei coun nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8380,9 +9157,13 @@ void GLTrace_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei coun nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8423,9 +9204,13 @@ void GLTrace_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei coun nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8466,9 +9251,13 @@ void GLTrace_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei coun nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8509,9 +9298,13 @@ void GLTrace_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei coun nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8558,9 +9351,13 @@ void GLTrace_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsize nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8607,9 +9404,13 @@ void GLTrace_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsize nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8656,9 +9457,13 @@ void GLTrace_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsize nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) value, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8681,9 +9486,12 @@ void GLTrace_glValidateProgramPipelineEXT(GLuint pipeline) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8724,9 +9532,14 @@ void GLTrace_glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize, GL nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) infoLog, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8767,9 +9580,12 @@ void GLTrace_glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalfor nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8816,9 +9632,12 @@ void GLTrace_glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalfor nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8871,9 +9690,12 @@ void GLTrace_glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalfor nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8920,9 +9742,12 @@ void GLTrace_glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -8975,9 +9800,12 @@ void GLTrace_glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9036,9 +9864,12 @@ void GLTrace_glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9085,9 +9916,12 @@ void GLTrace_glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9140,9 +9974,12 @@ void GLTrace_glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachme nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9165,9 +10002,12 @@ void GLTrace_glCoverageMaskNV(GLboolean mask) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9190,9 +10030,12 @@ void GLTrace_glCoverageOperationNV(GLenum operation) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9221,9 +10064,13 @@ void GLTrace_glDrawBuffersNV(GLsizei n, const GLenum *bufs) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) bufs, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9252,9 +10099,13 @@ void GLTrace_glDeleteFencesNV(GLsizei n, const GLuint *fences) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) fences, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9283,9 +10134,13 @@ void GLTrace_glGenFencesNV(GLsizei n, GLuint *fences) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) fences, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9314,9 +10169,12 @@ GLboolean GLTrace_glIsFenceNV(GLuint fence) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -9347,9 +10205,12 @@ GLboolean GLTrace_glTestFenceNV(GLuint fence) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -9386,9 +10247,13 @@ void GLTrace_glGetFenceivNV(GLuint fence, GLenum pname, GLint *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9411,9 +10276,12 @@ void GLTrace_glFinishFenceNV(GLuint fence) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9442,9 +10310,12 @@ void GLTrace_glSetFenceNV(GLuint fence, GLenum condition) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9467,9 +10338,12 @@ void GLTrace_glReadBufferNV(GLenum mode) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9498,9 +10372,12 @@ void GLTrace_glAlphaFuncQCOM(GLenum func, GLclampf ref) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9535,9 +10412,14 @@ void GLTrace_glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverCon nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) num, + (void *) driverControls, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9578,9 +10460,14 @@ void GLTrace_glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) length, + (void *) driverControlString, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9603,9 +10490,12 @@ void GLTrace_glEnableDriverControlQCOM(GLuint driverControl) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9628,9 +10518,12 @@ void GLTrace_glDisableDriverControlQCOM(GLuint driverControl) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9665,9 +10558,14 @@ void GLTrace_glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *nu nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) textures, + (void *) numTextures, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9702,9 +10600,14 @@ void GLTrace_glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBu nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) buffers, + (void *) numBuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9739,9 +10642,14 @@ void GLTrace_glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuf nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) renderbuffers, + (void *) numRenderbuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9776,9 +10684,14 @@ void GLTrace_glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffer nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) framebuffers, + (void *) numFramebuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9825,9 +10738,13 @@ void GLTrace_glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9862,9 +10779,12 @@ void GLTrace_glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9947,9 +10867,13 @@ void GLTrace_glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) texels, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -9978,9 +10902,13 @@ void GLTrace_glExtGetBufferPointervQCOM(GLenum target, GLvoid **params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10015,9 +10943,14 @@ void GLTrace_glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numSh nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) shaders, + (void *) numShaders, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10052,9 +10985,14 @@ void GLTrace_glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *nu nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) programs, + (void *) numPrograms, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10083,9 +11021,12 @@ GLboolean GLTrace_glExtIsProgramBinaryQCOM(GLuint program) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -10128,9 +11069,14 @@ void GLTrace_glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) source, + (void *) length, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10177,9 +11123,12 @@ void GLTrace_glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10202,9 +11151,12 @@ void GLTrace_glEndTilingQCOM(GLbitfield preserveMask) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10236,9 +11188,12 @@ void GLTrace_glAlphaFunc(GLenum func, GLclampf ref) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10267,9 +11222,13 @@ void GLTrace_glClipPlanef(GLenum plane, const GLfloat *equation) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) equation, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10310,9 +11269,12 @@ void GLTrace_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10341,9 +11303,12 @@ void GLTrace_glFogf(GLenum pname, GLfloat param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10372,9 +11337,13 @@ void GLTrace_glFogfv(GLenum pname, const GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10427,9 +11396,12 @@ void GLTrace_glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10458,9 +11430,13 @@ void GLTrace_glGetClipPlanef(GLenum pname, GLfloat eqn[4]) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) eqn, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10495,9 +11471,13 @@ void GLTrace_glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10532,9 +11512,13 @@ void GLTrace_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10569,9 +11553,13 @@ void GLTrace_glGetTexEnvfv(GLenum env, GLenum pname, GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10600,9 +11588,12 @@ void GLTrace_glLightModelf(GLenum pname, GLfloat param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10631,9 +11622,13 @@ void GLTrace_glLightModelfv(GLenum pname, const GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10668,9 +11663,12 @@ void GLTrace_glLightf(GLenum light, GLenum pname, GLfloat param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10705,9 +11703,13 @@ void GLTrace_glLightfv(GLenum light, GLenum pname, const GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10730,9 +11732,13 @@ void GLTrace_glLoadMatrixf(const GLfloat *m) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) m, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10767,9 +11773,12 @@ void GLTrace_glMaterialf(GLenum face, GLenum pname, GLfloat param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10804,9 +11813,13 @@ void GLTrace_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10829,9 +11842,13 @@ void GLTrace_glMultMatrixf(const GLfloat *m) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) m, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10878,9 +11895,12 @@ void GLTrace_glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, G nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10915,9 +11935,12 @@ void GLTrace_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -10970,9 +11993,12 @@ void GLTrace_glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11001,9 +12027,12 @@ void GLTrace_glPointParameterf(GLenum pname, GLfloat param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11032,9 +12061,13 @@ void GLTrace_glPointParameterfv(GLenum pname, const GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11057,9 +12090,12 @@ void GLTrace_glPointSize(GLfloat size) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11100,9 +12136,12 @@ void GLTrace_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11137,9 +12176,12 @@ void GLTrace_glScalef(GLfloat x, GLfloat y, GLfloat z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11174,9 +12216,12 @@ void GLTrace_glTexEnvf(GLenum target, GLenum pname, GLfloat param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11211,9 +12256,13 @@ void GLTrace_glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11248,9 +12297,12 @@ void GLTrace_glTranslatef(GLfloat x, GLfloat y, GLfloat z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11279,9 +12331,12 @@ void GLTrace_glAlphaFuncx(GLenum func, GLclampx ref) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11322,9 +12377,12 @@ void GLTrace_glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11347,9 +12405,12 @@ void GLTrace_glClearDepthx(GLclampx depth) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11372,9 +12433,12 @@ void GLTrace_glClientActiveTexture(GLenum texture) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11403,9 +12467,13 @@ void GLTrace_glClipPlanex(GLenum plane, const GLfixed *equation) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) equation, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11446,9 +12514,12 @@ void GLTrace_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11489,9 +12560,12 @@ void GLTrace_glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11532,9 +12606,13 @@ void GLTrace_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoi nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pointer, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11563,9 +12641,12 @@ void GLTrace_glDepthRangex(GLclampx zNear, GLclampx zFar) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11588,9 +12669,12 @@ void GLTrace_glDisableClientState(GLenum array) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11613,9 +12697,12 @@ void GLTrace_glEnableClientState(GLenum array) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11644,9 +12731,12 @@ void GLTrace_glFogx(GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11675,9 +12765,13 @@ void GLTrace_glFogxv(GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11730,9 +12824,12 @@ void GLTrace_glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11761,9 +12858,13 @@ void GLTrace_glGetClipPlanex(GLenum pname, GLfixed eqn[4]) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) eqn, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11792,9 +12893,13 @@ void GLTrace_glGetFixedv(GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11829,9 +12934,13 @@ void GLTrace_glGetLightxv(GLenum light, GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11866,9 +12975,13 @@ void GLTrace_glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11897,9 +13010,13 @@ void GLTrace_glGetPointerv(GLenum pname, GLvoid **params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11934,9 +13051,13 @@ void GLTrace_glGetTexEnviv(GLenum env, GLenum pname, GLint *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -11971,9 +13092,13 @@ void GLTrace_glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12008,9 +13133,13 @@ void GLTrace_glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12039,9 +13168,12 @@ void GLTrace_glLightModelx(GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12070,9 +13202,13 @@ void GLTrace_glLightModelxv(GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12107,9 +13243,12 @@ void GLTrace_glLightx(GLenum light, GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12144,9 +13283,13 @@ void GLTrace_glLightxv(GLenum light, GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12169,9 +13312,12 @@ void GLTrace_glLineWidthx(GLfixed width) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12188,9 +13334,12 @@ void GLTrace_glLoadIdentity(void) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12213,9 +13362,13 @@ void GLTrace_glLoadMatrixx(const GLfixed *m) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) m, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12238,9 +13391,12 @@ void GLTrace_glLogicOp(GLenum opcode) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12275,9 +13431,12 @@ void GLTrace_glMaterialx(GLenum face, GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12312,9 +13471,13 @@ void GLTrace_glMaterialxv(GLenum face, GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12337,9 +13500,12 @@ void GLTrace_glMatrixMode(GLenum mode) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12362,9 +13528,13 @@ void GLTrace_glMultMatrixx(const GLfixed *m) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) m, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12411,9 +13581,12 @@ void GLTrace_glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, G nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12448,9 +13621,12 @@ void GLTrace_glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12485,9 +13661,13 @@ void GLTrace_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pointer, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12540,9 +13720,12 @@ void GLTrace_glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12571,9 +13754,12 @@ void GLTrace_glPointParameterx(GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12602,9 +13788,13 @@ void GLTrace_glPointParameterxv(GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12627,9 +13817,12 @@ void GLTrace_glPointSizex(GLfixed size) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12658,9 +13851,12 @@ void GLTrace_glPolygonOffsetx(GLfixed factor, GLfixed units) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12677,9 +13873,12 @@ void GLTrace_glPopMatrix(void) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12696,9 +13895,12 @@ void GLTrace_glPushMatrix(void) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12739,9 +13941,12 @@ void GLTrace_glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12770,9 +13975,12 @@ void GLTrace_glSampleCoveragex(GLclampx value, GLboolean invert) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12807,9 +14015,12 @@ void GLTrace_glScalex(GLfixed x, GLfixed y, GLfixed z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12832,9 +14043,12 @@ void GLTrace_glShadeModel(GLenum mode) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12875,9 +14089,13 @@ void GLTrace_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GL nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pointer, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12912,9 +14130,12 @@ void GLTrace_glTexEnvi(GLenum target, GLenum pname, GLint param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12949,9 +14170,12 @@ void GLTrace_glTexEnvx(GLenum target, GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -12986,9 +14210,13 @@ void GLTrace_glTexEnviv(GLenum target, GLenum pname, const GLint *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13023,9 +14251,13 @@ void GLTrace_glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13060,9 +14292,12 @@ void GLTrace_glTexParameterx(GLenum target, GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13097,9 +14332,13 @@ void GLTrace_glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13134,9 +14373,12 @@ void GLTrace_glTranslatex(GLfixed x, GLfixed y, GLfixed z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13177,9 +14419,13 @@ void GLTrace_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvo nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pointer, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13214,9 +14460,13 @@ void GLTrace_glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *po nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pointer, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13248,9 +14498,12 @@ void GLTrace_glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13291,9 +14544,12 @@ void GLTrace_glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlph nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13316,9 +14572,12 @@ void GLTrace_glBlendEquationOES(GLenum mode) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13365,9 +14624,12 @@ void GLTrace_glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLsho nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13414,9 +14676,12 @@ void GLTrace_glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height) nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13463,9 +14728,12 @@ void GLTrace_glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfix nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13488,9 +14756,13 @@ void GLTrace_glDrawTexsvOES(const GLshort *coords) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) coords, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13513,9 +14785,13 @@ void GLTrace_glDrawTexivOES(const GLint *coords) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) coords, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13538,9 +14814,13 @@ void GLTrace_glDrawTexxvOES(const GLfixed *coords) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) coords, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13587,9 +14867,12 @@ void GLTrace_glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLflo nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13612,9 +14895,13 @@ void GLTrace_glDrawTexfvOES(const GLfloat *coords) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) coords, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13643,9 +14930,12 @@ void GLTrace_glAlphaFuncxOES(GLenum func, GLclampx ref) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13686,9 +14976,12 @@ void GLTrace_glClearColorxOES(GLclampx red, GLclampx green, GLclampx blue, GLcla nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13711,9 +15004,12 @@ void GLTrace_glClearDepthxOES(GLclampx depth) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13742,9 +15038,13 @@ void GLTrace_glClipPlanexOES(GLenum plane, const GLfixed *equation) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) equation, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13785,9 +15085,12 @@ void GLTrace_glColor4xOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alph nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13816,9 +15119,12 @@ void GLTrace_glDepthRangexOES(GLclampx zNear, GLclampx zFar) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13847,9 +15153,12 @@ void GLTrace_glFogxOES(GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13878,9 +15187,13 @@ void GLTrace_glFogxvOES(GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13933,9 +15246,12 @@ void GLTrace_glFrustumxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13964,9 +15280,13 @@ void GLTrace_glGetClipPlanexOES(GLenum pname, GLfixed eqn[4]) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) eqn, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -13995,9 +15315,13 @@ void GLTrace_glGetFixedvOES(GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14032,9 +15356,13 @@ void GLTrace_glGetLightxvOES(GLenum light, GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14069,9 +15397,13 @@ void GLTrace_glGetMaterialxvOES(GLenum face, GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14106,9 +15438,13 @@ void GLTrace_glGetTexEnvxvOES(GLenum env, GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14143,9 +15479,13 @@ void GLTrace_glGetTexParameterxvOES(GLenum target, GLenum pname, GLfixed *params nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14174,9 +15514,12 @@ void GLTrace_glLightModelxOES(GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14205,9 +15548,13 @@ void GLTrace_glLightModelxvOES(GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14242,9 +15589,12 @@ void GLTrace_glLightxOES(GLenum light, GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14279,9 +15629,13 @@ void GLTrace_glLightxvOES(GLenum light, GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14304,9 +15658,12 @@ void GLTrace_glLineWidthxOES(GLfixed width) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14329,9 +15686,13 @@ void GLTrace_glLoadMatrixxOES(const GLfixed *m) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) m, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14366,9 +15727,12 @@ void GLTrace_glMaterialxOES(GLenum face, GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14403,9 +15767,13 @@ void GLTrace_glMaterialxvOES(GLenum face, GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14428,9 +15796,13 @@ void GLTrace_glMultMatrixxOES(const GLfixed *m) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) m, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14477,9 +15849,12 @@ void GLTrace_glMultiTexCoord4xOES(GLenum target, GLfixed s, GLfixed t, GLfixed r nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14514,9 +15889,12 @@ void GLTrace_glNormal3xOES(GLfixed nx, GLfixed ny, GLfixed nz) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14569,9 +15947,12 @@ void GLTrace_glOrthoxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed to nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14600,9 +15981,12 @@ void GLTrace_glPointParameterxOES(GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14631,9 +16015,13 @@ void GLTrace_glPointParameterxvOES(GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14656,9 +16044,12 @@ void GLTrace_glPointSizexOES(GLfixed size) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14687,9 +16078,12 @@ void GLTrace_glPolygonOffsetxOES(GLfixed factor, GLfixed units) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14730,9 +16124,12 @@ void GLTrace_glRotatexOES(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14761,9 +16158,12 @@ void GLTrace_glSampleCoveragexOES(GLclampx value, GLboolean invert) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14798,9 +16198,12 @@ void GLTrace_glScalexOES(GLfixed x, GLfixed y, GLfixed z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14835,9 +16238,12 @@ void GLTrace_glTexEnvxOES(GLenum target, GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14872,9 +16278,13 @@ void GLTrace_glTexEnvxvOES(GLenum target, GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14909,9 +16319,12 @@ void GLTrace_glTexParameterxOES(GLenum target, GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14946,9 +16359,13 @@ void GLTrace_glTexParameterxvOES(GLenum target, GLenum pname, const GLfixed *par nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -14983,9 +16400,12 @@ void GLTrace_glTranslatexOES(GLfixed x, GLfixed y, GLfixed z) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15014,9 +16434,12 @@ GLboolean GLTrace_glIsRenderbufferOES(GLuint renderbuffer) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -15047,9 +16470,12 @@ void GLTrace_glBindRenderbufferOES(GLenum target, GLuint renderbuffer) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15078,9 +16504,13 @@ void GLTrace_glDeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) renderbuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15109,9 +16539,13 @@ void GLTrace_glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) renderbuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15152,9 +16586,12 @@ void GLTrace_glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsi nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15189,9 +16626,13 @@ void GLTrace_glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15220,9 +16661,12 @@ GLboolean GLTrace_glIsFramebufferOES(GLuint framebuffer) { rt->set_type(GLMessage::DataType::BOOL); rt->add_boolvalue(retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -15253,9 +16697,12 @@ void GLTrace_glBindFramebufferOES(GLenum target, GLuint framebuffer) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15284,9 +16731,13 @@ void GLTrace_glDeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) framebuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15315,9 +16766,13 @@ void GLTrace_glGenFramebuffersOES(GLsizei n, GLuint* framebuffers) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) framebuffers, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15346,9 +16801,12 @@ GLenum GLTrace_glCheckFramebufferStatusOES(GLenum target) { rt->set_type(GLMessage::DataType::ENUM); rt->add_intvalue((int)retValue); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -15391,9 +16849,12 @@ void GLTrace_glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLen nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15440,9 +16901,12 @@ void GLTrace_glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15483,9 +16947,13 @@ void GLTrace_glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum atta nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15508,9 +16976,12 @@ void GLTrace_glGenerateMipmapOES(GLenum target) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15533,9 +17004,12 @@ void GLTrace_glCurrentPaletteMatrixOES(GLuint matrixpaletteindex) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15552,9 +17026,12 @@ void GLTrace_glLoadPaletteFromModelViewMatrixOES(void) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15595,9 +17072,13 @@ void GLTrace_glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, co nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pointer, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15638,9 +17119,13 @@ void GLTrace_glWeightPointerOES(GLint size, GLenum type, GLsizei stride, const G nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) pointer, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15675,9 +17160,14 @@ GLbitfield GLTrace_glQueryMatrixxOES(GLfixed mantissa[16], GLint exponent[16]) { rt->set_type(GLMessage::DataType::INT); rt->add_intvalue(retValue); + void *pointerArgs[] = { + (void *) mantissa, + (void *) exponent, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); return retValue; @@ -15708,9 +17198,12 @@ void GLTrace_glDepthRangefOES(GLclampf zNear, GLclampf zFar) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15763,9 +17256,12 @@ void GLTrace_glFrustumfOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15818,9 +17314,12 @@ void GLTrace_glOrthofOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat to nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15849,9 +17348,13 @@ void GLTrace_glClipPlanefOES(GLenum plane, const GLfloat *equation) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) equation, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15880,9 +17383,13 @@ void GLTrace_glGetClipPlanefOES(GLenum pname, GLfloat eqn[4]) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) eqn, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15905,9 +17412,12 @@ void GLTrace_glClearDepthfOES(GLclampf depth) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15942,9 +17452,12 @@ void GLTrace_glTexGenfOES(GLenum coord, GLenum pname, GLfloat param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -15979,9 +17492,13 @@ void GLTrace_glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -16016,9 +17533,12 @@ void GLTrace_glTexGeniOES(GLenum coord, GLenum pname, GLint param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -16053,9 +17573,13 @@ void GLTrace_glTexGenivOES(GLenum coord, GLenum pname, const GLint *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -16090,9 +17614,12 @@ void GLTrace_glTexGenxOES(GLenum coord, GLenum pname, GLfixed param) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -16127,9 +17654,13 @@ void GLTrace_glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -16164,9 +17695,13 @@ void GLTrace_glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -16201,9 +17736,13 @@ void GLTrace_glGetTexGenivOES(GLenum coord, GLenum pname, GLint *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -16238,9 +17777,13 @@ void GLTrace_glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) params, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -16269,9 +17812,13 @@ void GLTrace_glClipPlanefIMG(GLenum p, const GLfloat *eqn) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) eqn, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } @@ -16300,9 +17847,13 @@ void GLTrace_glClipPlanexIMG(GLenum p, const GLfixed *eqn) { nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + void *pointerArgs[] = { + (void *) eqn, + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); } diff --git a/opengl/libs/GLES_trace/src/gltrace_fixup.cpp b/opengl/libs/GLES_trace/src/gltrace_fixup.cpp index 6c4feb5a56d7..c69ba5e1b4e9 100644 --- a/opengl/libs/GLES_trace/src/gltrace_fixup.cpp +++ b/opengl/libs/GLES_trace/src/gltrace_fixup.cpp @@ -76,21 +76,64 @@ unsigned getBytesPerTexel(const GLenum format, const GLenum type) { return 1; // in doubt... } +void fixup_GenericFloatArray(int argIndex, int nFloats, GLMessage *glmsg, void *src) { + GLMessage_DataType *arg_floatarray = glmsg->mutable_args(argIndex); + GLfloat *floatp = (GLfloat *)src; + + if (floatp == NULL) { + return; + } + + arg_floatarray->set_type(GLMessage::DataType::FLOAT); + arg_floatarray->set_isarray(true); + arg_floatarray->clear_floatvalue(); + + for (int i = 0; i < nFloats; i++, floatp++) { + arg_floatarray->add_floatvalue(*floatp); + } +} + +void fixup_GenericIntArray(int argIndex, int nInts, GLMessage *glmsg, void *src) { + GLMessage_DataType *arg_intarray = glmsg->mutable_args(argIndex); + GLint *intp = (GLint *)src; + + if (intp == NULL) { + return; + } + + arg_intarray->set_type(GLMessage::DataType::INT); + arg_intarray->set_isarray(true); + arg_intarray->clear_intvalue(); + + for (int i = 0; i < nInts; i++, intp++) { + arg_intarray->add_intvalue(*intp); + } +} + +void fixup_GenericEnumArray(int argIndex, int nEnums, GLMessage *glmsg, void *src) { + // fixup as if they were ints + fixup_GenericIntArray(argIndex, nEnums, glmsg, src); + + // and then set the data type to be enum + GLMessage_DataType *arg_enumarray = glmsg->mutable_args(argIndex); + arg_enumarray->set_type(GLMessage::DataType::ENUM); +} + /** Generic helper function: extract pointer at argIndex and replace it with the C style string at *pointer */ -void fixup_CStringPtr(int argIndex, GLMessage *glmsg) { +void fixup_CStringPtr(int argIndex, GLMessage *glmsg, void *src) { GLMessage_DataType *arg = glmsg->mutable_args(argIndex); - GLchar *ptr = (GLchar *)arg->intvalue(0); + GLchar *ptr = (GLchar *) src; arg->set_type(GLMessage::DataType::CHAR); arg->set_isarray(true); arg->add_charvalue(ptr); } -void fixup_glGetString(GLMessage *glmsg) { +void fixup_glGetString(GLMessage *glmsg, void *pointersToFixup[]) { /* const GLubyte* GLTrace_glGetString(GLenum name) */ GLMessage_DataType *ret = glmsg->mutable_returnvalue(); - GLchar *ptr = (GLchar *)ret->intvalue(0); + GLchar *ptr = (GLchar *) pointersToFixup[0]; if (ptr != NULL) { ret->set_type(GLMessage::DataType::CHAR); @@ -112,7 +155,7 @@ void fixup_addFBContents(GLTraceContext *context, GLMessage *glmsg, FBBinding fb } /** Common fixup routing for glTexImage2D & glTexSubImage2D. */ -void fixup_glTexImage(int widthIndex, int heightIndex, GLMessage *glmsg) { +void fixup_glTexImage(int widthIndex, int heightIndex, GLMessage *glmsg, void *dataSrc) { GLMessage_DataType arg_width = glmsg->args(widthIndex); GLMessage_DataType arg_height = glmsg->args(heightIndex); @@ -124,7 +167,7 @@ void fixup_glTexImage(int widthIndex, int heightIndex, GLMessage *glmsg) { GLsizei height = arg_height.intvalue(0); GLenum format = arg_format.intvalue(0); GLenum type = arg_type.intvalue(0); - void *data = (void *)arg_data->intvalue(0); + void *data = (void *) dataSrc; int bytesPerTexel = getBytesPerTexel(format, type); @@ -141,7 +184,7 @@ void fixup_glTexImage(int widthIndex, int heightIndex, GLMessage *glmsg) { } -void fixup_glTexImage2D(GLMessage *glmsg) { +void fixup_glTexImage2D(GLMessage *glmsg, void *pointersToFixup[]) { /* void glTexImage2D(GLenum target, GLint level, GLint internalformat, @@ -154,10 +197,10 @@ void fixup_glTexImage2D(GLMessage *glmsg) { */ int widthIndex = 3; int heightIndex = 4; - fixup_glTexImage(widthIndex, heightIndex, glmsg); + fixup_glTexImage(widthIndex, heightIndex, glmsg, pointersToFixup[0]); } -void fixup_glTexSubImage2D(GLMessage *glmsg) { +void fixup_glTexSubImage2D(GLMessage *glmsg, void *pointersToFixup[]) { /* void glTexSubImage2D(GLenum target, GLint level, @@ -171,10 +214,10 @@ void fixup_glTexSubImage2D(GLMessage *glmsg) { */ int widthIndex = 4; int heightIndex = 5; - fixup_glTexImage(widthIndex, heightIndex, glmsg); + fixup_glTexImage(widthIndex, heightIndex, glmsg, pointersToFixup[0]); } -void fixup_glShaderSource(GLMessage *glmsg) { +void fixup_glShaderSource(GLMessage *glmsg, void *pointersToFixup[]) { /* void glShaderSource(GLuint shader, GLsizei count, const GLchar** string, const GLint* length) */ GLMessage_DataType arg_count = glmsg->args(1); @@ -182,8 +225,8 @@ void fixup_glShaderSource(GLMessage *glmsg) { GLMessage_DataType *arg_strpp = glmsg->mutable_args(2); GLsizei count = arg_count.intvalue(0); - GLchar **stringpp = (GLchar **)arg_strpp->intvalue(0); - GLint *lengthp = (GLint *)arg_lenp.intvalue(0); + GLchar **stringpp = (GLchar **) pointersToFixup[0]; + GLint *lengthp = (GLint *) pointersToFixup[1]; arg_strpp->set_type(GLMessage::DataType::CHAR); arg_strpp->set_isarray(true); @@ -202,87 +245,64 @@ void fixup_glShaderSource(GLMessage *glmsg) { arg_strpp->add_charvalue(src); } -void fixup_glUniformGenericInteger(int argIndex, int nIntegers, GLMessage *glmsg) { +void fixup_glUniformGenericInteger(int argIndex, int nIntegers, GLMessage *glmsg, + void *pointersToFixup[]) { /* void glUniform?iv(GLint location, GLsizei count, const GLint *value); */ - GLMessage_DataType *arg_values = glmsg->mutable_args(argIndex); - GLint *src = (GLint*)arg_values->intvalue(0); - - arg_values->set_type(GLMessage::DataType::INT); - arg_values->set_isarray(true); - arg_values->clear_intvalue(); - - for (int i = 0; i < nIntegers; i++) { - arg_values->add_intvalue(*src++); - } + fixup_GenericIntArray(argIndex, nIntegers, glmsg, pointersToFixup[0]); } -void fixup_glUniformGeneric(int argIndex, int nFloats, GLMessage *glmsg) { - GLMessage_DataType *arg_values = glmsg->mutable_args(argIndex); - GLfloat *src = (GLfloat*)arg_values->intvalue(0); - - arg_values->set_type(GLMessage::DataType::FLOAT); - arg_values->set_isarray(true); - arg_values->clear_floatvalue(); - - for (int i = 0; i < nFloats; i++) { - arg_values->add_floatvalue(*src++); - } +void fixup_glUniformGeneric(int argIndex, int nFloats, GLMessage *glmsg, void *src) { + fixup_GenericFloatArray(argIndex, nFloats, glmsg, src); } -void fixup_glUniformMatrixGeneric(int matrixSize, GLMessage *glmsg) { +void fixup_glUniformMatrixGeneric(int matrixSize, GLMessage *glmsg, void *pointersToFixup[]) { /* void glUniformMatrix?fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) */ GLMessage_DataType arg_count = glmsg->args(1); int n_matrices = arg_count.intvalue(0); - fixup_glUniformGeneric(3, matrixSize * matrixSize * n_matrices, glmsg); + fixup_glUniformGeneric(3, matrixSize * matrixSize * n_matrices, glmsg, pointersToFixup[0]); } -void fixup_GenericIntArray(int argIndex, int nInts, GLMessage *glmsg) { - GLMessage_DataType *arg_intarray = glmsg->mutable_args(argIndex); - GLint *intp = (GLint *)arg_intarray->intvalue(0); +void fixup_glBufferData(int sizeIndex, int dataIndex, GLMessage *glmsg, void *pointersToFixup[]) { + /* void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) */ + /* void glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) */ + GLsizeiptr size = glmsg->args(sizeIndex).intvalue(0); - if (intp == NULL) { - return; - } + GLMessage_DataType *arg_datap = glmsg->mutable_args(dataIndex); + GLvoid *datap = (GLvoid *) pointersToFixup[0]; - arg_intarray->set_type(GLMessage::DataType::INT); - arg_intarray->set_isarray(true); - arg_intarray->clear_intvalue(); - - for (int i = 0; i < nInts; i++, intp++) { - arg_intarray->add_intvalue(*intp); + if (datap == NULL) { + // glBufferData can be called with a NULL data pointer + return; } -} -void fixup_GenericEnumArray(int argIndex, int nEnums, GLMessage *glmsg) { - // fixup as if they were ints - fixup_GenericIntArray(argIndex, nEnums, glmsg); + arg_datap->set_type(GLMessage::DataType::VOID); + arg_datap->set_isarray(true); + arg_datap->clear_intvalue(); - // and then set the data type to be enum - GLMessage_DataType *arg_enumarray = glmsg->mutable_args(argIndex); - arg_enumarray->set_type(GLMessage::DataType::ENUM); + arg_datap->add_rawbytes(datap, size); } -void fixup_glGenGeneric(GLMessage *glmsg) { +void fixup_glGenGeneric(GLMessage *glmsg, void *pointersToFixup[]) { /* void glGen*(GLsizei n, GLuint * buffers); */ GLMessage_DataType arg_n = glmsg->args(0); GLsizei n = arg_n.intvalue(0); - fixup_GenericIntArray(1, n, glmsg); + fixup_GenericIntArray(1, n, glmsg, pointersToFixup[0]); } -void fixup_glDeleteGeneric(GLMessage *glmsg) { +void fixup_glDeleteGeneric(GLMessage *glmsg, void *pointersToFixup[]) { /* void glDelete*(GLsizei n, GLuint *buffers); */ GLMessage_DataType arg_n = glmsg->args(0); GLsizei n = arg_n.intvalue(0); - fixup_GenericIntArray(1, n, glmsg); + fixup_GenericIntArray(1, n, glmsg, pointersToFixup[0]); } -void fixup_glGetBooleanv(GLMessage *glmsg) { +void fixup_glGetBooleanv(GLMessage *glmsg, void *pointersToFixup[]) { /* void glGetBooleanv(GLenum pname, GLboolean *params); */ GLMessage_DataType *arg_params = glmsg->mutable_args(1); - GLboolean *src = (GLboolean*)arg_params->intvalue(0); + GLboolean *src = (GLboolean*) pointersToFixup[0]; arg_params->set_type(GLMessage::DataType::BOOL); arg_params->set_isarray(true); @@ -290,10 +310,10 @@ void fixup_glGetBooleanv(GLMessage *glmsg) { arg_params->add_boolvalue(*src); } -void fixup_glGetFloatv(GLMessage *glmsg) { +void fixup_glGetFloatv(GLMessage *glmsg, void *pointersToFixup[]) { /* void glGetFloatv(GLenum pname, GLfloat *params); */ GLMessage_DataType *arg_params = glmsg->mutable_args(1); - GLfloat *src = (GLfloat*)arg_params->intvalue(0); + GLfloat *src = (GLfloat*) pointersToFixup[0]; arg_params->set_type(GLMessage::DataType::FLOAT); arg_params->set_isarray(true); @@ -338,16 +358,15 @@ void fixup_glLinkProgram(GLMessage *glmsg) { } /** Given a glGetActive[Uniform|Attrib] call, obtain the location - * of the variable in the call. + * of the variable of given name in the call. */ -int getShaderVariableLocation(GLTraceContext *context, GLMessage *glmsg) { +int getShaderVariableLocation(GLTraceContext *context, GLMessage *glmsg, GLchar *name) { GLMessage_Function func = glmsg->function(); if (func != GLMessage::glGetActiveAttrib && func != GLMessage::glGetActiveUniform) { return -1; } int program = glmsg->args(0).intvalue(0); - GLchar *name = (GLchar*) glmsg->args(6).intvalue(0); if (func == GLMessage::glGetActiveAttrib) { return context->hooks->gl.glGetAttribLocation(program, name); @@ -356,16 +375,17 @@ int getShaderVariableLocation(GLTraceContext *context, GLMessage *glmsg) { } } -void fixup_glGetActiveAttribOrUniform(GLMessage *glmsg, int location) { +void fixup_glGetActiveAttribOrUniform(GLTraceContext *context, GLMessage *glmsg, + void *pointersToFixup[]) { /* void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); */ /* void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) */ - fixup_GenericIntArray(3, 1, glmsg); // length - fixup_GenericIntArray(4, 1, glmsg); // size - fixup_GenericEnumArray(5, 1, glmsg); // type - fixup_CStringPtr(6, glmsg); // name + fixup_GenericIntArray(3, 1, glmsg, pointersToFixup[0]); // length + fixup_GenericIntArray(4, 1, glmsg, pointersToFixup[1]); // size + fixup_GenericEnumArray(5, 1, glmsg, pointersToFixup[2]); // type + fixup_CStringPtr(6, glmsg, pointersToFixup[3]); // name // The index argument in the glGetActive[Attrib|Uniform] functions // does not correspond to the actual location index as used in @@ -373,6 +393,7 @@ void fixup_glGetActiveAttribOrUniform(GLMessage *glmsg, int location) { // In order to make things simpler for the debugger, we also pass // a hidden location argument that stores the actual location. // append the location value to the end of the argument list + int location = getShaderVariableLocation(context, glmsg, (GLchar*)pointersToFixup[3]); GLMessage_DataType *arg_location = glmsg->add_args(); arg_location->set_isarray(false); arg_location->set_type(GLMessage::DataType::INT); @@ -381,7 +402,7 @@ void fixup_glGetActiveAttribOrUniform(GLMessage *glmsg, int location) { void fixupGLMessage(GLTraceContext *context, nsecs_t wallStart, nsecs_t wallEnd, nsecs_t threadStart, nsecs_t threadEnd, - GLMessage *glmsg) { + GLMessage *glmsg, void *pointersToFixup[]) { // for all messages, set the current context id glmsg->set_context_id(context->getId()); @@ -396,41 +417,41 @@ void fixupGLMessage(GLTraceContext *context, nsecs_t wallStart, nsecs_t wallEnd, case GLMessage::glDeleteFramebuffers: /* glDeleteFramebuffers(GLsizei n, GLuint *buffers); */ case GLMessage::glDeleteRenderbuffers:/* glDeleteRenderbuffers(GLsizei n, GLuint *buffers); */ case GLMessage::glDeleteTextures: /* glDeleteTextures(GLsizei n, GLuint *textures); */ - fixup_glDeleteGeneric(glmsg); + fixup_glDeleteGeneric(glmsg, pointersToFixup); break; case GLMessage::glGenBuffers: /* void glGenBuffers(GLsizei n, GLuint *buffers); */ case GLMessage::glGenFramebuffers: /* void glGenFramebuffers(GLsizei n, GLuint *buffers); */ case GLMessage::glGenRenderbuffers: /* void glGenFramebuffers(GLsizei n, GLuint *buffers); */ case GLMessage::glGenTextures: /* void glGenTextures(GLsizei n, GLuint *textures); */ - fixup_glGenGeneric(glmsg); + fixup_glGenGeneric(glmsg, pointersToFixup); break; case GLMessage::glLinkProgram: /* void glLinkProgram(GLuint program); */ fixup_glLinkProgram(glmsg); break; case GLMessage::glGetActiveAttrib: - fixup_glGetActiveAttribOrUniform(glmsg, getShaderVariableLocation(context, glmsg)); + fixup_glGetActiveAttribOrUniform(context, glmsg, pointersToFixup); break; case GLMessage::glGetActiveUniform: - fixup_glGetActiveAttribOrUniform(glmsg, getShaderVariableLocation(context, glmsg)); + fixup_glGetActiveAttribOrUniform(context, glmsg, pointersToFixup); break; case GLMessage::glBindAttribLocation: /* void glBindAttribLocation(GLuint program, GLuint index, const GLchar* name); */ - fixup_CStringPtr(2, glmsg); + fixup_CStringPtr(2, glmsg, pointersToFixup[0]); break; case GLMessage::glGetAttribLocation: case GLMessage::glGetUniformLocation: /* int glGetAttribLocation(GLuint program, const GLchar* name) */ /* int glGetUniformLocation(GLuint program, const GLchar* name) */ - fixup_CStringPtr(1, glmsg); + fixup_CStringPtr(1, glmsg, pointersToFixup[0]); break; case GLMessage::glGetBooleanv: - fixup_glGetBooleanv(glmsg); + fixup_glGetBooleanv(glmsg, pointersToFixup); break; case GLMessage::glGetFloatv: - fixup_glGetFloatv(glmsg); + fixup_glGetFloatv(glmsg, pointersToFixup); break; case GLMessage::glGetIntegerv: /* void glGetIntegerv(GLenum pname, GLint *params); */ - fixup_GenericIntArray(1, 1, glmsg); + fixup_GenericIntArray(1, 1, glmsg, pointersToFixup[0]); break; case GLMessage::glGetProgramiv: case GLMessage::glGetRenderbufferParameteriv: @@ -438,70 +459,78 @@ void fixupGLMessage(GLTraceContext *context, nsecs_t wallStart, nsecs_t wallEnd, /* void glGetProgramiv(GLuint program, GLenum pname, GLint* params) */ /* void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) */ /* void glGetShaderiv(GLuint shader, GLenum pname, GLint* params) */ - fixup_GenericIntArray(2, 1, glmsg); + fixup_GenericIntArray(2, 1, glmsg, pointersToFixup[0]); break; case GLMessage::glGetString: - fixup_glGetString(glmsg); + fixup_glGetString(glmsg, pointersToFixup); break; case GLMessage::glTexImage2D: if (context->getGlobalTraceState()->shouldCollectTextureDataOnGlTexImage()) { - fixup_glTexImage2D(glmsg); + fixup_glTexImage2D(glmsg, pointersToFixup); } break; case GLMessage::glTexSubImage2D: if (context->getGlobalTraceState()->shouldCollectTextureDataOnGlTexImage()) { - fixup_glTexSubImage2D(glmsg); + fixup_glTexSubImage2D(glmsg, pointersToFixup); } break; case GLMessage::glShaderSource: - fixup_glShaderSource(glmsg); + fixup_glShaderSource(glmsg, pointersToFixup); break; case GLMessage::glUniform1iv: /* void glUniform1iv(GLint location, GLsizei count, const GLint *value); */ - fixup_glUniformGenericInteger(2, 1, glmsg); + fixup_glUniformGenericInteger(2, 1, glmsg, pointersToFixup); break; case GLMessage::glUniform2iv: /* void glUniform2iv(GLint location, GLsizei count, const GLint *value); */ - fixup_glUniformGenericInteger(2, 2, glmsg); + fixup_glUniformGenericInteger(2, 2, glmsg, pointersToFixup); break; case GLMessage::glUniform3iv: /* void glUniform3iv(GLint location, GLsizei count, const GLint *value); */ - fixup_glUniformGenericInteger(2, 3, glmsg); + fixup_glUniformGenericInteger(2, 3, glmsg, pointersToFixup); break; case GLMessage::glUniform4iv: /* void glUniform4iv(GLint location, GLsizei count, const GLint *value); */ - fixup_glUniformGenericInteger(2, 4, glmsg); + fixup_glUniformGenericInteger(2, 4, glmsg, pointersToFixup); break; case GLMessage::glUniform1fv: /* void glUniform1fv(GLint location, GLsizei count, const GLfloat *value); */ - fixup_glUniformGeneric(2, 1, glmsg); + fixup_glUniformGeneric(2, 1, glmsg, pointersToFixup[0]); break; case GLMessage::glUniform2fv: /* void glUniform2fv(GLint location, GLsizei count, const GLfloat *value); */ - fixup_glUniformGeneric(2, 2, glmsg); + fixup_glUniformGeneric(2, 2, glmsg, pointersToFixup[0]); break; case GLMessage::glUniform3fv: /* void glUniform3fv(GLint location, GLsizei count, const GLfloat *value); */ - fixup_glUniformGeneric(2, 3, glmsg); + fixup_glUniformGeneric(2, 3, glmsg, pointersToFixup[0]); break; case GLMessage::glUniform4fv: /* void glUniform4fv(GLint location, GLsizei count, const GLfloat *value); */ - fixup_glUniformGeneric(2, 4, glmsg); + fixup_glUniformGeneric(2, 4, glmsg, pointersToFixup[0]); break; case GLMessage::glUniformMatrix2fv: /* void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) */ - fixup_glUniformMatrixGeneric(2, glmsg); + fixup_glUniformMatrixGeneric(2, glmsg, pointersToFixup); break; case GLMessage::glUniformMatrix3fv: /* void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) */ - fixup_glUniformMatrixGeneric(3, glmsg); + fixup_glUniformMatrixGeneric(3, glmsg, pointersToFixup); break; case GLMessage::glUniformMatrix4fv: /* void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) */ - fixup_glUniformMatrixGeneric(4, glmsg); + fixup_glUniformMatrixGeneric(4, glmsg, pointersToFixup); + break; + case GLMessage::glBufferData: + /* void glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) */ + fixup_glBufferData(1, 2, glmsg, pointersToFixup); + break; + case GLMessage::glBufferSubData: + /* void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) */ + fixup_glBufferData(2, 3, glmsg, pointersToFixup); break; case GLMessage::glDrawArrays: /* void glDrawArrays(GLenum mode, GLint first, GLsizei count) */ @@ -517,11 +546,11 @@ void fixupGLMessage(GLTraceContext *context, nsecs_t wallStart, nsecs_t wallEnd, break; case GLMessage::glPushGroupMarkerEXT: /* void PushGroupMarkerEXT(sizei length, const char *marker); */ - fixup_CStringPtr(1, glmsg); + fixup_CStringPtr(1, glmsg, pointersToFixup[0]); break; case GLMessage::glInsertEventMarkerEXT: /* void InsertEventMarkerEXT(sizei length, const char *marker); */ - fixup_CStringPtr(1, glmsg); + fixup_CStringPtr(1, glmsg, pointersToFixup[0]); break; default: break; diff --git a/opengl/libs/GLES_trace/src/gltrace_fixup.h b/opengl/libs/GLES_trace/src/gltrace_fixup.h index f63b0569036e..fe301254d6ed 100644 --- a/opengl/libs/GLES_trace/src/gltrace_fixup.h +++ b/opengl/libs/GLES_trace/src/gltrace_fixup.h @@ -27,7 +27,7 @@ namespace gltrace { void fixupGLMessage(GLTraceContext *curContext, nsecs_t wallStart, nsecs_t wallEnd, nsecs_t threadStart, nsecs_t threadEnd, - GLMessage *message); + GLMessage *message, void *pointersToFixup[]); 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 e1660be1aa3b..24034c13ec9f 100755 --- a/opengl/libs/GLES_trace/tools/genapi.py +++ b/opengl/libs/GLES_trace/tools/genapi.py @@ -92,8 +92,8 @@ GL2PROTOBUF_TYPE_MAP = { "GLclampf":DataType.FLOAT, "GLfixed":DataType.INT, "GLclampx":DataType.INT, - "GLsizeiptr":DataType.POINTER, - "GLintptr":DataType.POINTER, + "GLsizeiptr":DataType.INT, + "GLintptr":DataType.INT, "GLeglImageOES":DataType.POINTER, } @@ -180,9 +180,20 @@ TRACE_CALL_TEMPLATE = pyratemp.Template( rt->$!retDataType.getProtobufCall()!$retValue); <!--(end)--> + void *pointerArgs[] = { +<!--(for argname, argtype in parsedArgs)--> + <!--(if argtype == DataType.POINTER)--> + (void *) $!argname!$, + <!--(end)--> +<!--(end)--> +<!--(if retDataType == DataType.POINTER)--> + (void *) retValue, +<!--(end)--> + }; + fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, - &glmsg); + &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); <!--(if retType != "void")--> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 401553fa21cd..24584957f1be 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -102,6 +102,8 @@ public class PhoneStatusBar extends StatusBar { public static final String ACTION_STATUSBAR_START = "com.android.internal.policy.statusbar.START"; + private static final boolean ENABLE_INTRUDERS = false; + static final int EXPANDED_LEAVE_ALONE = -10000; static final int EXPANDED_FULL_OPEN = -10001; @@ -268,7 +270,7 @@ public class PhoneStatusBar extends StatusBar { addNavigationBar(); - //addIntruderView(); + if (ENABLE_INTRUDERS) addIntruderView(); // Lastly, call to the icon policy to install/update all the icons. mIconPolicy = new PhoneStatusBarPolicy(mContext); @@ -557,8 +559,9 @@ public class PhoneStatusBar extends StatusBar { } } catch (RemoteException ex) { } - if ((notification.score >= mIntruderInImmersiveMinScore) - || (!immersive && (notification.score > mIntruderMinScore))) { + if (ENABLE_INTRUDERS && ( + (notification.score >= mIntruderInImmersiveMinScore) + || (!immersive && (notification.score > mIntruderMinScore)))) { Slog.d(TAG, "Presenting high-priority notification"); // special new transient ticker mode // 1. Populate mIntruderAlertView diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index d5220912b198..30ed41da2d1b 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -232,7 +232,7 @@ void AudioFlinger::onFirstRef() (NO_ERROR != dev->set_master_volume(dev, initialVolume))) { mMasterVolumeSupportLvl = MVS_NONE; } - mHardwareStatus = AUDIO_HW_INIT; + mHardwareStatus = AUDIO_HW_IDLE; } // Set the mode for each audio HAL, and try to set the initial volume (if @@ -254,7 +254,7 @@ void AudioFlinger::onFirstRef() dev->set_master_volume(dev, initialVolume); } - mHardwareStatus = AUDIO_HW_INIT; + mHardwareStatus = AUDIO_HW_IDLE; } } @@ -823,8 +823,6 @@ bool AudioFlinger::streamMute(audio_stream_type_t stream) const status_t AudioFlinger::setParameters(audio_io_handle_t ioHandle, const String8& keyValuePairs) { - status_t result; - ALOGV("setParameters(): io %d, keyvalue %s, tid %d, calling pid %d", ioHandle, keyValuePairs.string(), gettid(), IPCThreadState::self()->getCallingPid()); // check calling permissions @@ -834,15 +832,17 @@ status_t AudioFlinger::setParameters(audio_io_handle_t ioHandle, const String8& // ioHandle == 0 means the parameters are global to the audio hardware interface if (ioHandle == 0) { - AutoMutex lock(mHardwareLock); - mHardwareStatus = AUDIO_SET_PARAMETER; status_t final_result = NO_ERROR; + { + AutoMutex lock(mHardwareLock); + mHardwareStatus = AUDIO_HW_SET_PARAMETER; for (size_t i = 0; i < mAudioHwDevs.size(); i++) { audio_hw_device_t *dev = mAudioHwDevs[i]; - result = dev->set_parameters(dev, keyValuePairs.string()); + status_t result = dev->set_parameters(dev, keyValuePairs.string()); final_result = result ?: final_result; } mHardwareStatus = AUDIO_HW_IDLE; + } // disable AEC and NS if the device is a BT SCO headset supporting those pre processings AudioParameter param = AudioParameter(keyValuePairs); String8 value; @@ -905,8 +905,14 @@ String8 AudioFlinger::getParameters(audio_io_handle_t ioHandle, const String8& k String8 out_s8; for (size_t i = 0; i < mAudioHwDevs.size(); i++) { + char *s; + { + AutoMutex lock(mHardwareLock); + mHardwareStatus = AUDIO_HW_GET_PARAMETER; audio_hw_device_t *dev = mAudioHwDevs[i]; - char *s = dev->get_parameters(dev, keys.string()); + s = dev->get_parameters(dev, keys.string()); + mHardwareStatus = AUDIO_HW_IDLE; + } out_s8 += String8(s ? s : ""); free(s); } @@ -968,7 +974,7 @@ status_t AudioFlinger::setVoiceVolume(float value) } AutoMutex lock(mHardwareLock); - mHardwareStatus = AUDIO_SET_VOICE_VOLUME; + mHardwareStatus = AUDIO_HW_SET_VOICE_VOLUME; ret = mPrimaryHardwareDev->set_voice_volume(mPrimaryHardwareDev, value); mHardwareStatus = AUDIO_HW_IDLE; @@ -1993,7 +1999,6 @@ void AudioFlinger::PlaybackThread::checkSilentMode_l() bool AudioFlinger::MixerThread::threadLoop() { Vector< sp<Track> > tracksToRemove; - mixer_state mixerStatus = MIXER_IDLE; nsecs_t standbyTime = systemTime(); size_t mixBufferSize = mFrameCount * mFrameSize; // FIXME: Relaxed timing because of a certain device that can't meet latency @@ -2017,7 +2022,7 @@ bool AudioFlinger::MixerThread::threadLoop() cpuStats.sample(); processConfigEvents(); - mixerStatus = MIXER_IDLE; + mixer_state mixerStatus = MIXER_IDLE; { // scope for mLock Mutex::Autolock _l(mLock); @@ -2053,9 +2058,9 @@ bool AudioFlinger::MixerThread::threadLoop() releaseWakeLock_l(); // wait until we have something to do... - ALOGV("MixerThread %p TID %d going to sleep", this, gettid()); + ALOGV("Thread %p type %d TID %d going to sleep", this, mType, gettid()); mWaitWorkCV.wait(mLock); - ALOGV("MixerThread %p TID %d waking up", this, gettid()); + ALOGV("Thread %p type %d TID %d waking up", this, mType, gettid()); acquireWakeLock_l(); mPrevMixerStatus = MIXER_IDLE; @@ -2184,7 +2189,7 @@ bool AudioFlinger::MixerThread::threadLoop() releaseWakeLock(); - ALOGV("MixerThread %p exiting", this); + ALOGV("Thread %p type %d exiting", this, mType); return false; } @@ -2702,7 +2707,6 @@ void AudioFlinger::DirectOutputThread::applyVolume(uint16_t leftVol, uint16_t ri bool AudioFlinger::DirectOutputThread::threadLoop() { - mixer_state mixerStatus = MIXER_IDLE; sp<Track> trackToRemove; sp<Track> activeTrack; nsecs_t standbyTime = systemTime(); @@ -2725,8 +2729,7 @@ bool AudioFlinger::DirectOutputThread::threadLoop() processConfigEvents(); - mixerStatus = MIXER_IDLE; - + mixer_state mixerStatus = MIXER_IDLE; { // scope for the mLock Mutex::Autolock _l(mLock); @@ -2743,7 +2746,7 @@ bool AudioFlinger::DirectOutputThread::threadLoop() mSuspended)) { // wait until we have something to do... if (!mStandby) { - ALOGV("Audio hardware entering standby, mixer %p", this); + ALOGV("Audio hardware entering standby, mixer %p, mSuspended %d", this, mSuspended); mOutput->stream->common.standby(&mOutput->stream->common); mStandby = true; mBytesWritten = 0; @@ -2756,9 +2759,9 @@ bool AudioFlinger::DirectOutputThread::threadLoop() if (exitPending()) break; releaseWakeLock_l(); - ALOGV("DirectOutputThread %p TID %d going to sleep", this, gettid()); + ALOGV("Thread %p type %d TID %d going to sleep", this, mType, gettid()); mWaitWorkCV.wait(mLock); - ALOGV("DirectOutputThread %p TID %d waking up in active mode", this, gettid()); + ALOGV("Thread %p type %d TID %d waking up", this, mType, gettid()); acquireWakeLock_l(); checkSilentMode_l(); @@ -2975,7 +2978,7 @@ bool AudioFlinger::DirectOutputThread::threadLoop() releaseWakeLock(); - ALOGV("DirectOutputThread %p exiting", this); + ALOGV("Thread %p type %d exiting", this, mType); return false; } @@ -3092,7 +3095,6 @@ AudioFlinger::DuplicatingThread::~DuplicatingThread() bool AudioFlinger::DuplicatingThread::threadLoop() { Vector< sp<Track> > tracksToRemove; - mixer_state mixerStatus = MIXER_IDLE; nsecs_t standbyTime = systemTime(); size_t mixBufferSize = mFrameCount*mFrameSize; SortedVector< sp<OutputTrack> > outputTracks; @@ -3108,7 +3110,7 @@ bool AudioFlinger::DuplicatingThread::threadLoop() { processConfigEvents(); - mixerStatus = MIXER_IDLE; + mixer_state mixerStatus = MIXER_IDLE; { // scope for the mLock Mutex::Autolock _l(mLock); @@ -3145,9 +3147,10 @@ bool AudioFlinger::DuplicatingThread::threadLoop() if (exitPending()) break; releaseWakeLock_l(); - ALOGV("DuplicatingThread %p TID %d going to sleep", this, gettid()); + // wait until we have something to do... + ALOGV("Thread %p type %d TID %d going to sleep", this, mType, gettid()); mWaitWorkCV.wait(mLock); - ALOGV("DuplicatingThread %p TID %d waking up", this, gettid()); + ALOGV("Thread %p type %d TID %d waking up", this, mType, gettid()); acquireWakeLock_l(); checkSilentMode_l(); @@ -3231,6 +3234,7 @@ bool AudioFlinger::DuplicatingThread::threadLoop() releaseWakeLock(); + ALOGV("Thread %p type %d exiting", this, mType); return false; } @@ -5433,7 +5437,6 @@ audio_io_handle_t AudioFlinger::openOutput(uint32_t *pDevices, { status_t status; PlaybackThread *thread = NULL; - mHardwareStatus = AUDIO_HW_OUTPUT_OPEN; uint32_t samplingRate = pSamplingRate ? *pSamplingRate : 0; audio_format_t format = pFormat ? *pFormat : AUDIO_FORMAT_DEFAULT; uint32_t channels = pChannels ? *pChannels : 0; @@ -5458,8 +5461,10 @@ audio_io_handle_t AudioFlinger::openOutput(uint32_t *pDevices, if (outHwDev == NULL) return 0; + mHardwareStatus = AUDIO_HW_OUTPUT_OPEN; status = outHwDev->open_output_stream(outHwDev, *pDevices, &format, &channels, &samplingRate, &outStream); + mHardwareStatus = AUDIO_HW_IDLE; ALOGV("openOutput() openOutputStream returned output %p, SamplingRate %d, Format %d, Channels %x, status %d", outStream, samplingRate, @@ -5467,7 +5472,6 @@ audio_io_handle_t AudioFlinger::openOutput(uint32_t *pDevices, channels, status); - mHardwareStatus = AUDIO_HW_IDLE; if (outStream != NULL) { AudioStreamOut *output = new AudioStreamOut(outHwDev, outStream); audio_io_handle_t id = nextUniqueId(); diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h index 2a5d805d1df0..6665bd76c380 100644 --- a/services/audioflinger/AudioFlinger.h +++ b/services/audioflinger/AudioFlinger.h @@ -1531,25 +1531,27 @@ mutable Mutex mLock; // mutex for process, commands and handl audio_hw_device_t* mPrimaryHardwareDev; // mAudioHwDevs[0] or NULL Vector<audio_hw_device_t*> mAudioHwDevs; + // for dump, indicates which hardware operation is currently in progress (but not stream ops) enum hardware_call_state { - AUDIO_HW_IDLE = 0, - AUDIO_HW_INIT, - AUDIO_HW_OUTPUT_OPEN, - AUDIO_HW_OUTPUT_CLOSE, - AUDIO_HW_INPUT_OPEN, - AUDIO_HW_INPUT_CLOSE, - AUDIO_HW_STANDBY, - AUDIO_HW_SET_MASTER_VOLUME, - AUDIO_HW_GET_ROUTING, - AUDIO_HW_SET_ROUTING, - AUDIO_HW_GET_MODE, - AUDIO_HW_SET_MODE, - AUDIO_HW_GET_MIC_MUTE, - AUDIO_HW_SET_MIC_MUTE, - AUDIO_SET_VOICE_VOLUME, - AUDIO_SET_PARAMETER, - AUDIO_HW_GET_INPUT_BUFFER_SIZE, - AUDIO_HW_GET_MASTER_VOLUME, + AUDIO_HW_IDLE = 0, // no operation in progress + AUDIO_HW_INIT, // init_check + AUDIO_HW_OUTPUT_OPEN, // open_output_stream + AUDIO_HW_OUTPUT_CLOSE, // unused + AUDIO_HW_INPUT_OPEN, // unused + AUDIO_HW_INPUT_CLOSE, // unused + AUDIO_HW_STANDBY, // unused + AUDIO_HW_SET_MASTER_VOLUME, // set_master_volume + AUDIO_HW_GET_ROUTING, // unused + AUDIO_HW_SET_ROUTING, // unused + AUDIO_HW_GET_MODE, // unused + AUDIO_HW_SET_MODE, // set_mode + AUDIO_HW_GET_MIC_MUTE, // get_mic_mute + AUDIO_HW_SET_MIC_MUTE, // set_mic_mute + AUDIO_HW_SET_VOICE_VOLUME, // set_voice_volume + AUDIO_HW_SET_PARAMETER, // set_parameters + AUDIO_HW_GET_INPUT_BUFFER_SIZE, // get_input_buffer_size + AUDIO_HW_GET_MASTER_VOLUME, // get_master_volume + AUDIO_HW_GET_PARAMETER, // get_parameters }; mutable hardware_call_state mHardwareStatus; // for dump only diff --git a/services/camera/libcameraservice/CameraHardwareInterface.h b/services/camera/libcameraservice/CameraHardwareInterface.h index 2ac69f78eeec..87a08020b5be 100644 --- a/services/camera/libcameraservice/CameraHardwareInterface.h +++ b/services/camera/libcameraservice/CameraHardwareInterface.h @@ -21,8 +21,6 @@ #include <binder/MemoryBase.h> #include <binder/MemoryHeapBase.h> #include <utils/RefBase.h> -#include <surfaceflinger/ISurface.h> -#include <ui/android_native_buffer.h> #include <ui/GraphicBuffer.h> #include <camera/Camera.h> #include <camera/CameraParameters.h> diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index 06fc708e053d..adf1d4913af7 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -29,10 +29,10 @@ #include <cutils/atomic.h> #include <cutils/properties.h> #include <gui/SurfaceTextureClient.h> +#include <gui/Surface.h> #include <hardware/hardware.h> #include <media/AudioSystem.h> #include <media/mediaplayer.h> -#include <surfaceflinger/ISurface.h> #include <utils/Errors.h> #include <utils/Log.h> #include <utils/String16.h> diff --git a/services/camera/tests/CameraServiceTest/CameraServiceTest.cpp b/services/camera/tests/CameraServiceTest/CameraServiceTest.cpp index 1055538c0030..e417b790d600 100644 --- a/services/camera/tests/CameraServiceTest/CameraServiceTest.cpp +++ b/services/camera/tests/CameraServiceTest/CameraServiceTest.cpp @@ -22,7 +22,6 @@ #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> -#include <surfaceflinger/ISurface.h> #include <camera/Camera.h> #include <camera/CameraParameters.h> #include <ui/GraphicBuffer.h> diff --git a/services/input/SpriteController.h b/services/input/SpriteController.h index 50ae8a538869..75e4843d38dc 100644 --- a/services/input/SpriteController.h +++ b/services/input/SpriteController.h @@ -20,9 +20,7 @@ #include <utils/RefBase.h> #include <utils/Looper.h> -#include <surfaceflinger/Surface.h> -#include <surfaceflinger/SurfaceComposerClient.h> -#include <surfaceflinger/ISurfaceComposer.h> +#include <gui/SurfaceComposerClient.h> #include <SkBitmap.h> diff --git a/services/jni/com_android_server_PowerManagerService.cpp b/services/jni/com_android_server_PowerManagerService.cpp index d2b3118d09a6..ce80c1f37066 100644 --- a/services/jni/com_android_server_PowerManagerService.cpp +++ b/services/jni/com_android_server_PowerManagerService.cpp @@ -25,8 +25,7 @@ #include <android_runtime/AndroidRuntime.h> #include <utils/Timers.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/ISurfaceComposer.h> #include <private/gui/ComposerService.h> diff --git a/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp index cea17f878b8a..9baae800ed96 100644 --- a/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp +++ b/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp @@ -31,8 +31,6 @@ #include <EGL/egl.h> #include <EGL/eglext.h> -#include <pixelflinger/pixelflinger.h> - #include "DisplayHardware/DisplayHardware.h" #include <hardware/gralloc.h> diff --git a/services/surfaceflinger/DisplayHardware/DisplayHardware.h b/services/surfaceflinger/DisplayHardware/DisplayHardware.h index 02be4dcba7fd..0a828b3dcfb0 100644 --- a/services/surfaceflinger/DisplayHardware/DisplayHardware.h +++ b/services/surfaceflinger/DisplayHardware/DisplayHardware.h @@ -27,8 +27,6 @@ #include <EGL/egl.h> #include <EGL/eglext.h> -#include <pixelflinger/pixelflinger.h> - #include "GLExtensions.h" #include "DisplayHardware/DisplayHardwareBase.h" diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index efcdd8764275..c15fdbc1ecef 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -17,6 +17,7 @@ #include <stdlib.h> #include <stdint.h> #include <sys/types.h> +#include <math.h> #include <cutils/compiler.h> #include <cutils/native_handle.h> @@ -29,7 +30,7 @@ #include <ui/GraphicBuffer.h> #include <ui/PixelFormat.h> -#include <surfaceflinger/Surface.h> +#include <gui/Surface.h> #include "clz.h" #include "DisplayHardware/DisplayHardware.h" @@ -38,7 +39,6 @@ #include "Layer.h" #include "SurfaceFlinger.h" #include "SurfaceTextureLayer.h" -#include <math.h> #define DEBUG_RESIZE 0 diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h index 39bbb2b1db9c..8d508c2eb64a 100644 --- a/services/surfaceflinger/Layer.h +++ b/services/surfaceflinger/Layer.h @@ -22,10 +22,13 @@ #include <gui/SurfaceTexture.h> -#include <pixelflinger/pixelflinger.h> +#include <utils/Timers.h> + #include <ui/GraphicBuffer.h> #include <ui/PixelFormat.h> +#include <gui/ISurfaceComposerClient.h> + #include <EGL/egl.h> #include <EGL/eglext.h> #include <GLES/gl.h> @@ -34,7 +37,6 @@ #include "LayerBase.h" #include "SurfaceTextureLayer.h" #include "Transform.h" -#include <utils/Timers.h> namespace android { diff --git a/services/surfaceflinger/LayerBase.h b/services/surfaceflinger/LayerBase.h index b8f7680b2b25..cd6efdd1fc8b 100644 --- a/services/surfaceflinger/LayerBase.h +++ b/services/surfaceflinger/LayerBase.h @@ -28,10 +28,9 @@ #include <ui/Region.h> -#include <surfaceflinger/ISurfaceComposerClient.h> -#include <private/surfaceflinger/LayerState.h> +#include <gui/ISurfaceComposerClient.h> -#include <pixelflinger/pixelflinger.h> +#include <private/gui/LayerState.h> #include <hardware/hwcomposer.h> diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 05b5bf5d5403..62461bb26471 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -43,14 +43,13 @@ #include <ui/GraphicBufferAllocator.h> #include <ui/PixelFormat.h> -#include <pixelflinger/pixelflinger.h> #include <GLES/gl.h> #include "clz.h" +#include "DdmConnection.h" #include "DisplayEventConnection.h" #include "EventThread.h" #include "GLExtensions.h" -#include "DdmConnection.h" #include "Layer.h" #include "LayerDim.h" #include "LayerScreenshot.h" @@ -60,7 +59,7 @@ #include "DisplayHardware/HWComposer.h" #include <private/android_filesystem_config.h> -#include <private/surfaceflinger/SharedBufferStack.h> +#include <private/gui/SharedBufferStack.h> #define EGL_VERSION_HW_ANDROID 0x3143 diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index fcd93615ff1a..b50787758612 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -33,9 +33,9 @@ #include <binder/IMemory.h> #include <ui/PixelFormat.h> -#include <surfaceflinger/IGraphicBufferAlloc.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/ISurfaceComposerClient.h> +#include <gui/IGraphicBufferAlloc.h> +#include <gui/ISurfaceComposer.h> +#include <gui/ISurfaceComposerClient.h> #include "Barrier.h" #include "Layer.h" diff --git a/services/surfaceflinger/tests/Transaction_test.cpp b/services/surfaceflinger/tests/Transaction_test.cpp index 396a3fdf2b22..84ae0d957f33 100644 --- a/services/surfaceflinger/tests/Transaction_test.cpp +++ b/services/surfaceflinger/tests/Transaction_test.cpp @@ -17,9 +17,12 @@ #include <gtest/gtest.h> #include <binder/IMemory.h> -#include <surfaceflinger/ISurfaceComposer.h> -#include <surfaceflinger/Surface.h> -#include <surfaceflinger/SurfaceComposerClient.h> + +#include <gui/ISurfaceComposer.h> +#include <gui/Surface.h> +#include <gui/SurfaceComposerClient.h> +#include <private/gui/ComposerService.h> + #include <utils/String8.h> namespace android { diff --git a/services/surfaceflinger/tests/resize/resize.cpp b/services/surfaceflinger/tests/resize/resize.cpp index 7f3f0644c73a..c143b3d68c4c 100644 --- a/services/surfaceflinger/tests/resize/resize.cpp +++ b/services/surfaceflinger/tests/resize/resize.cpp @@ -22,9 +22,8 @@ #include <binder/ProcessState.h> #include <binder/IServiceManager.h> -#include <surfaceflinger/Surface.h> -#include <surfaceflinger/ISurface.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/Surface.h> +#include <gui/SurfaceComposerClient.h> using namespace android; diff --git a/services/surfaceflinger/tests/screencap/screencap.cpp b/services/surfaceflinger/tests/screencap/screencap.cpp index 6cf150417314..53566e0ff76d 100644 --- a/services/surfaceflinger/tests/screencap/screencap.cpp +++ b/services/surfaceflinger/tests/screencap/screencap.cpp @@ -21,7 +21,7 @@ #include <binder/IServiceManager.h> #include <binder/IMemory.h> -#include <surfaceflinger/ISurfaceComposer.h> +#include <gui/ISurfaceComposer.h> #include <SkImageEncoder.h> #include <SkBitmap.h> diff --git a/services/surfaceflinger/tests/surface/surface.cpp b/services/surfaceflinger/tests/surface/surface.cpp index 9c15f9bb751a..a8878f7db1cb 100644 --- a/services/surfaceflinger/tests/surface/surface.cpp +++ b/services/surfaceflinger/tests/surface/surface.cpp @@ -22,9 +22,8 @@ #include <binder/ProcessState.h> #include <binder/IServiceManager.h> -#include <surfaceflinger/Surface.h> -#include <surfaceflinger/ISurface.h> -#include <surfaceflinger/SurfaceComposerClient.h> +#include <gui/Surface.h> +#include <gui/SurfaceComposerClient.h> using namespace android; diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index 9d88a1844f42..a9a5e905fb8c 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -650,6 +650,10 @@ public class ServiceState implements Parcelable { public int getRilRadioTechnology() { return this.mRadioTechnology; } + /** @hide */ + public int getRadioTechnology() { + return getRilRadioTechnology(); + } /** @hide */ public int getNetworkType() { diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeConstants.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeConstants.java index 112af1ea35d2..eb9e7f1dafb3 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeConstants.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeConstants.java @@ -39,6 +39,9 @@ public class BridgeConstants { /** Namespace for the resource XML */ public final static String NS_RESOURCES = "http://schemas.android.com/apk/res/android"; + /** App auto namespace */ + public final static String NS_APP_RES_AUTO = "http://schemas.android.com/apk/res-auto"; + public final static String R = "com.android.internal.R"; diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java index cd085fc2b4f6..58dc2d4984e6 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java @@ -49,8 +49,8 @@ import android.content.res.BridgeResources; import android.content.res.BridgeTypedArray; import android.content.res.Configuration; import android.content.res.Resources; -import android.content.res.TypedArray; import android.content.res.Resources.Theme; +import android.content.res.TypedArray; import android.database.DatabaseErrorHandler; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; @@ -78,8 +78,8 @@ import java.io.InputStream; import java.util.HashMap; import java.util.IdentityHashMap; import java.util.Map; -import java.util.TreeMap; import java.util.Map.Entry; +import java.util.TreeMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; @@ -615,7 +615,8 @@ public final class BridgeContext extends Context { } String namespace = BridgeConstants.NS_RESOURCES; - if (frameworkAttributes.get() == false) { + boolean useFrameworkNS = frameworkAttributes.get(); + if (useFrameworkNS == false) { // need to use the application namespace namespace = mProjectCallback.getNamespace(); } @@ -628,6 +629,12 @@ public final class BridgeContext extends Context { String value = null; if (set != null) { value = set.getAttributeValue(namespace, name); + + // if this is an app attribute, and the first get fails, try with the + // new res-auto namespace as well + if (useFrameworkNS == false && value == null) { + value = set.getAttributeValue(BridgeConstants.NS_APP_RES_AUTO, name); + } } // if there's no direct value for this attribute in the XML, we look for default |