summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/glrenderer/GLES11IdImpl.java
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2013-01-08 10:22:16 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-01-08 10:22:17 -0800
commitfd091d5c1cbb635f26823efa6295bf0563a2e2a4 (patch)
tree9bce27c430427633b9de1a924cb8e4b36b13c120 /src/com/android/gallery3d/glrenderer/GLES11IdImpl.java
parenta4205e4eab691b402e7a6dc1e913a611b7fdc45f (diff)
parente4673b2650ffc642afa872458dbf51e1a24b00c8 (diff)
downloadandroid_packages_apps_Snap-fd091d5c1cbb635f26823efa6295bf0563a2e2a4.tar.gz
android_packages_apps_Snap-fd091d5c1cbb635f26823efa6295bf0563a2e2a4.tar.bz2
android_packages_apps_Snap-fd091d5c1cbb635f26823efa6295bf0563a2e2a4.zip
Merge "Instantiate GLCanvas rather than reinitialize current GLCanvas." into gb-ub-photos-bryce
Diffstat (limited to 'src/com/android/gallery3d/glrenderer/GLES11IdImpl.java')
-rw-r--r--src/com/android/gallery3d/glrenderer/GLES11IdImpl.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/glrenderer/GLES11IdImpl.java b/src/com/android/gallery3d/glrenderer/GLES11IdImpl.java
new file mode 100644
index 000000000..e4793730f
--- /dev/null
+++ b/src/com/android/gallery3d/glrenderer/GLES11IdImpl.java
@@ -0,0 +1,68 @@
+/*
+ * 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.
+ */
+package com.android.gallery3d.glrenderer;
+
+import javax.microedition.khronos.opengles.GL11;
+import javax.microedition.khronos.opengles.GL11ExtensionPack;
+
+/**
+ * Open GL ES 1.1 implementation for generating and destroying texture IDs and
+ * buffer IDs
+ */
+public class GLES11IdImpl implements GLId {
+ private static int sNextId = 1;
+ // Mutex for sNextId
+ private static Object sLock = new Object();
+
+ @Override
+ public int generateTexture() {
+ synchronized (sLock) {
+ return sNextId++;
+ }
+ }
+
+ @Override
+ public void glGenBuffers(int n, int[] buffers, int offset) {
+ synchronized (sLock) {
+ while (n-- > 0) {
+ buffers[offset + n] = sNextId++;
+ }
+ }
+ }
+
+ @Override
+ public void glDeleteTextures(GL11 gl, int n, int[] textures, int offset) {
+ synchronized (sLock) {
+ gl.glDeleteTextures(n, textures, offset);
+ }
+ }
+
+ @Override
+ public void glDeleteBuffers(GL11 gl, int n, int[] buffers, int offset) {
+ synchronized (sLock) {
+ gl.glDeleteBuffers(n, buffers, offset);
+ }
+ }
+
+ @Override
+ public void glDeleteFramebuffers(GL11ExtensionPack gl11ep, int n, int[] buffers, int offset) {
+ synchronized (sLock) {
+ gl11ep.glDeleteFramebuffersOES(n, buffers, offset);
+ }
+ }
+
+
+}