aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLState.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLState.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLState.java402
1 files changed, 0 insertions, 402 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLState.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLState.java
deleted file mode 100644
index 04ce676c2..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLState.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
- * Copyright (C) 2011 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.ide.eclipse.gltrace.state;
-
-import com.android.ide.eclipse.gltrace.GLEnum;
-import com.android.ide.eclipse.gltrace.state.DisplayRadix;
-
-import java.util.Collections;
-
-public class GLState {
- /** # of texture units modeled in the GL State. */
- public static final int TEXTURE_UNIT_COUNT = 32;
-
- /** # of vertex attributes */
- private static final int MAX_VERTEX_ATTRIBS = 16;
-
- private static GLState sGLState = new GLState();
-
- private IGLProperty createBufferBindings() {
- IGLProperty array, eArray, vArray;
-
- array = new GLIntegerProperty(GLStateType.ARRAY_BUFFER_BINDING, 0);
- eArray = new GLIntegerProperty(GLStateType.ELEMENT_ARRAY_BUFFER_BINDING, 0);
-
- vArray = new GLIntegerProperty(
- GLStateType.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_PER_INDEX, 0);
- IGLProperty vArray8 = new GLListProperty(GLStateType.VERTEX_ATTRIB_ARRAY_BUFFER_BINDINGS,
- vArray, MAX_VERTEX_ATTRIBS);
-
- return new GLCompositeProperty(
- GLStateType.BUFFER_BINDINGS,
- array,
- eArray,
- vArray8);
- }
-
- private IGLProperty createVertexAttribArrays() {
- IGLProperty enabled, size, stride, type, normalized, pointer;
-
- enabled = new GLBooleanProperty(GLStateType.VERTEX_ATTRIB_ARRAY_ENABLED, false);
- size = new GLIntegerProperty(GLStateType.VERTEX_ATTRIB_ARRAY_SIZE, 4);
- stride = new GLIntegerProperty(GLStateType.VERTEX_ATTRIB_ARRAY_STRIDE, 0);
- type = new GLEnumProperty(GLStateType.VERTEX_ATTRIB_ARRAY_TYPE, GLEnum.GL_FLOAT);
- normalized = new GLBooleanProperty(GLStateType.VERTEX_ATTRIB_ARRAY_NORMALIZED, false);
- pointer = new GLLongProperty(GLStateType.VERTEX_ATTRIB_ARRAY_POINTER, 0L,
- DisplayRadix.HEX);
-
- IGLProperty perVertexAttribArrayState = new GLCompositeProperty(
- GLStateType.VERTEX_ATTRIB_ARRAY_COMPOSITE,
- enabled,
- size,
- stride,
- type,
- normalized,
- pointer);
-
- return new GLListProperty(
- GLStateType.VERTEX_ATTRIB_ARRAY,
- perVertexAttribArrayState,
- MAX_VERTEX_ATTRIBS);
- }
-
- private IGLProperty createGenericVertexAttributeState() {
- IGLProperty v0 = new GLFloatProperty(GLStateType.GENERIC_VERTEX_ATTRIB_V0,
- Float.valueOf(0));
- IGLProperty v1 = new GLFloatProperty(GLStateType.GENERIC_VERTEX_ATTRIB_V1,
- Float.valueOf(0));
- IGLProperty v2 = new GLFloatProperty(GLStateType.GENERIC_VERTEX_ATTRIB_V2,
- Float.valueOf(0));
- IGLProperty v3 = new GLFloatProperty(GLStateType.GENERIC_VERTEX_ATTRIB_V3,
- Float.valueOf(0));
-
- IGLProperty perGenericVertexAttribState = new GLCompositeProperty(
- GLStateType.GENERIC_VERTEX_ATTRIBUTE_DATA_COMPOSITE,
- v0, v1, v2, v3);
-
- return new GLListProperty(
- GLStateType.GENERIC_VERTEX_ATTRIBUTES,
- perGenericVertexAttribState,
- MAX_VERTEX_ATTRIBS);
- }
-
- private IGLProperty createVboState() {
- IGLProperty size = new GLIntegerProperty(GLStateType.BUFFER_SIZE, Integer.valueOf(0));
- IGLProperty usage = new GLEnumProperty(GLStateType.BUFFER_USAGE, GLEnum.GL_STATIC_DRAW);
- IGLProperty data = new GLObjectProperty(GLStateType.BUFFER_DATA, new byte[0]);
- IGLProperty type = new GLEnumProperty(GLStateType.BUFFER_TYPE, GLEnum.GL_ARRAY_BUFFER);
-
- IGLProperty perVboState = new GLCompositeProperty(GLStateType.VBO_COMPOSITE,
- size, usage, data, type);
-
- return new GLSparseArrayProperty(GLStateType.VBO, perVboState);
- }
-
- private IGLProperty createVertexArrayData() {
- IGLProperty vertexAttribArrays = createVertexAttribArrays();
- IGLProperty bufferBindings = createBufferBindings();
- IGLProperty genericAttribs = createGenericVertexAttributeState();
- IGLProperty vboState = createVboState();
-
- return new GLCompositeProperty(GLStateType.VERTEX_ARRAY_DATA,
- genericAttribs,
- vertexAttribArrays,
- bufferBindings,
- vboState);
- }
-
- private IGLProperty createTransformationState() {
- IGLProperty viewPortX = new GLIntegerProperty(GLStateType.VIEWPORT_X, 0);
- IGLProperty viewPortY = new GLIntegerProperty(GLStateType.VIEWPORT_Y, 0);
- IGLProperty viewPortW = new GLIntegerProperty(GLStateType.VIEWPORT_WIDTH, 0);
- IGLProperty viewPortH = new GLIntegerProperty(GLStateType.VIEWPORT_HEIGHT, 0);
- IGLProperty viewPort = new GLCompositeProperty(GLStateType.VIEWPORT,
- viewPortX, viewPortY, viewPortW, viewPortH);
-
- IGLProperty clampNear = new GLFloatProperty(GLStateType.DEPTH_RANGE_NEAR,
- Float.valueOf(0.0f));
- IGLProperty clampFar = new GLFloatProperty(GLStateType.DEPTH_RANGE_FAR,
- Float.valueOf(1.0f));
- IGLProperty depthRange = new GLCompositeProperty(GLStateType.DEPTH_RANGE,
- clampNear,
- clampFar);
-
- IGLProperty transformationState = new GLCompositeProperty(GLStateType.TRANSFORMATION_STATE,
- viewPort,
- depthRange);
- return transformationState;
- }
-
- private IGLProperty createRasterizationState() {
- IGLProperty lineWidth = new GLFloatProperty(GLStateType.LINE_WIDTH, Float.valueOf(1.0f));
- IGLProperty cullFace = new GLBooleanProperty(GLStateType.CULL_FACE, Boolean.FALSE);
- IGLProperty cullFaceMode = new GLEnumProperty(GLStateType.CULL_FACE_MODE, GLEnum.GL_BACK);
- IGLProperty frontFace = new GLEnumProperty(GLStateType.FRONT_FACE, GLEnum.GL_CCW);
- IGLProperty polyOffsetFactor = new GLFloatProperty(GLStateType.POLYGON_OFFSET_FACTOR,
- Float.valueOf(0f));
- IGLProperty polyOffsetUnits = new GLFloatProperty(GLStateType.POLYGON_OFFSET_UNITS,
- Float.valueOf(0f));
- IGLProperty polyOffsetFill = new GLBooleanProperty(GLStateType.POLYGON_OFFSET_FILL,
- Boolean.FALSE);
-
- return new GLCompositeProperty(GLStateType.RASTERIZATION_STATE,
- lineWidth,
- cullFace,
- cullFaceMode,
- frontFace,
- polyOffsetFactor,
- polyOffsetUnits,
- polyOffsetFill);
- }
-
- private IGLProperty createPixelOperationsState() {
- IGLProperty scissorTest = new GLBooleanProperty(GLStateType.SCISSOR_TEST, Boolean.FALSE);
- IGLProperty scissorBoxX = new GLIntegerProperty(GLStateType.SCISSOR_BOX_X, 0);
- IGLProperty scissorBoxY = new GLIntegerProperty(GLStateType.SCISSOR_BOX_Y, 0);
- IGLProperty scissorBoxW = new GLIntegerProperty(GLStateType.SCISSOR_BOX_WIDTH, 0);
- IGLProperty scissorBoxH = new GLIntegerProperty(GLStateType.SCISSOR_BOX_HEIGHT, 0);
- IGLProperty scissorBox = new GLCompositeProperty(GLStateType.SCISSOR_BOX,
- scissorBoxX, scissorBoxY, scissorBoxW, scissorBoxH);
-
- IGLProperty stencilTest = new GLBooleanProperty(GLStateType.STENCIL_TEST, Boolean.FALSE);
- IGLProperty stencilFunc = new GLEnumProperty(GLStateType.STENCIL_FUNC, GLEnum.GL_ALWAYS);
- IGLProperty stencilMask = new GLIntegerProperty(GLStateType.STENCIL_VALUE_MASK,
- Integer.valueOf(0xffffffff), DisplayRadix.HEX);
- IGLProperty stencilRef = new GLIntegerProperty(GLStateType.STENCIL_REF,
- Integer.valueOf(0));
- IGLProperty stencilFail = new GLEnumProperty(GLStateType.STENCIL_FAIL, GLEnum.GL_KEEP);
- IGLProperty stencilPassDepthFail = new GLEnumProperty(GLStateType.STENCIL_PASS_DEPTH_FAIL,
- GLEnum.GL_KEEP);
- IGLProperty stencilPassDepthPass = new GLEnumProperty(GLStateType.STENCIL_PASS_DEPTH_PASS,
- GLEnum.GL_KEEP);
- IGLProperty stencilBackFunc = new GLEnumProperty(GLStateType.STENCIL_BACK_FUNC,
- GLEnum.GL_ALWAYS);
- IGLProperty stencilBackValueMask = new GLIntegerProperty(
- GLStateType.STENCIL_BACK_VALUE_MASK, Integer.valueOf(0xffffffff), DisplayRadix.HEX);
- IGLProperty stencilBackRef = new GLIntegerProperty(GLStateType.STENCIL_BACK_REF, 0);
- IGLProperty stencilBackFail = new GLEnumProperty(GLStateType.STENCIL_BACK_FAIL,
- GLEnum.GL_KEEP);
- IGLProperty stencilBackPassDepthFail = new GLEnumProperty(
- GLStateType.STENCIL_BACK_PASS_DEPTH_FAIL, GLEnum.GL_KEEP);
- IGLProperty stencilBackPassDepthPass = new GLEnumProperty(
- GLStateType.STENCIL_BACK_PASS_DEPTH_PASS, GLEnum.GL_KEEP);
- IGLProperty stencil = new GLCompositeProperty(GLStateType.STENCIL,
- stencilTest, stencilFunc,
- stencilMask, stencilRef, stencilFail,
- stencilPassDepthFail, stencilPassDepthPass,
- stencilBackFunc, stencilBackValueMask,
- stencilBackRef, stencilBackFail,
- stencilBackPassDepthFail, stencilBackPassDepthPass);
-
- IGLProperty depthTest = new GLBooleanProperty(GLStateType.DEPTH_TEST, Boolean.FALSE);
- IGLProperty depthFunc = new GLEnumProperty(GLStateType.DEPTH_FUNC, GLEnum.GL_LESS);
-
- IGLProperty blendEnabled = new GLBooleanProperty(GLStateType.BLEND_ENABLED, Boolean.FALSE);
- // FIXME: BLEND_SRC_RGB should be set to GL_ONE, but GL_LINES is already 0x1.
- IGLProperty blendSrcRgb = new GLEnumProperty(GLStateType.BLEND_SRC_RGB, GLEnum.GL_LINES);
- IGLProperty blendSrcAlpha = new GLEnumProperty(GLStateType.BLEND_SRC_ALPHA,
- GLEnum.GL_LINES);
- IGLProperty blendDstRgb = new GLEnumProperty(GLStateType.BLEND_DST_RGB, GLEnum.GL_NONE);
- IGLProperty blendDstAlpha = new GLEnumProperty(GLStateType.BLEND_DST_ALPHA,
- GLEnum.GL_NONE);
- IGLProperty blendEquationRgb = new GLEnumProperty(GLStateType.BLEND_EQUATION_RGB,
- GLEnum.GL_FUNC_ADD);
- IGLProperty blendEquationAlpha = new GLEnumProperty(GLStateType.BLEND_EQUATION_ALPHA,
- GLEnum.GL_FUNC_ADD);
- IGLProperty blend = new GLCompositeProperty(GLStateType.BLEND,
- blendEnabled, blendSrcRgb, blendSrcAlpha, blendDstRgb, blendDstAlpha,
- blendEquationRgb, blendEquationAlpha);
-
- IGLProperty dither = new GLBooleanProperty(GLStateType.DITHER, Boolean.TRUE);
-
- return new GLCompositeProperty(GLStateType.PIXEL_OPERATIONS,
- scissorTest, scissorBox, stencil,
- depthTest, depthFunc, blend, dither);
- }
-
- private IGLProperty createPixelPackState() {
- IGLProperty packAlignment = new GLIntegerProperty(GLStateType.PACK_ALIGNMENT,
- Integer.valueOf(4));
- IGLProperty unpackAlignment = new GLIntegerProperty(GLStateType.UNPACK_ALIGNMENT,
- Integer.valueOf(4));
- IGLProperty pixelPack = new GLCompositeProperty(GLStateType.PIXEL_PACKING,
- packAlignment, unpackAlignment);
- return pixelPack;
- }
-
- private IGLProperty createFramebufferState() {
- IGLProperty binding = new GLIntegerProperty(GLStateType.FRAMEBUFFER_BINDING, 0);
- GLCompositeProperty framebufferState = new GLCompositeProperty(
- GLStateType.FRAMEBUFFER_STATE,
- binding);
- return framebufferState;
- }
-
- private IGLProperty createTextureState() {
- IGLProperty activeTexture = new GLIntegerProperty(GLStateType.ACTIVE_TEXTURE_UNIT,
- Integer.valueOf(0));
-
- IGLProperty binding2D = new GLIntegerProperty(GLStateType.TEXTURE_BINDING_2D,
- Integer.valueOf(0));
- IGLProperty bindingCubeMap = new GLIntegerProperty(GLStateType.TEXTURE_BINDING_CUBE_MAP,
- Integer.valueOf(0));
- IGLProperty bindingExternal = new GLIntegerProperty(GLStateType.TEXTURE_BINDING_EXTERNAL,
- Integer.valueOf(0));
- IGLProperty perTextureUnitState = new GLCompositeProperty(
- GLStateType.PER_TEXTURE_UNIT_STATE, binding2D, bindingCubeMap, bindingExternal);
- IGLProperty textureUnitState = new GLListProperty(GLStateType.TEXTURE_UNITS,
- perTextureUnitState, TEXTURE_UNIT_COUNT);
-
- IGLProperty swizzleR = new GLEnumProperty(GLStateType.TEXTURE_SWIZZLE_R, GLEnum.GL_RED);
- IGLProperty swizzleG = new GLEnumProperty(GLStateType.TEXTURE_SWIZZLE_G, GLEnum.GL_GREEN);
- IGLProperty swizzleB = new GLEnumProperty(GLStateType.TEXTURE_SWIZZLE_B, GLEnum.GL_BLUE);
- IGLProperty swizzleA = new GLEnumProperty(GLStateType.TEXTURE_SWIZZLE_A, GLEnum.GL_ALPHA);
- IGLProperty minFilter = new GLEnumProperty(GLStateType.TEXTURE_MIN_FILTER,
- GLEnum.GL_NEAREST);
- IGLProperty magFilter = new GLEnumProperty(GLStateType.TEXTURE_MAG_FILTER,
- GLEnum.GL_NEAREST);
- IGLProperty wrapS = new GLEnumProperty(GLStateType.TEXTURE_WRAP_S, GLEnum.GL_REPEAT);
- IGLProperty wrapT = new GLEnumProperty(GLStateType.TEXTURE_WRAP_T, GLEnum.GL_REPEAT);
- IGLProperty wrapR = new GLEnumProperty(GLStateType.TEXTURE_WRAP_R, GLEnum.GL_REPEAT);
- IGLProperty minLod = new GLFloatProperty(GLStateType.TEXTURE_MIN_LOD, Float.valueOf(-1000));
- IGLProperty maxLod = new GLFloatProperty(GLStateType.TEXTURE_MAX_LOD, Float.valueOf(1000));
- IGLProperty baseLevel = new GLIntegerProperty(GLStateType.TEXTURE_BASE_LEVEL, 0);
- IGLProperty maxLevel = new GLIntegerProperty(GLStateType.TEXTURE_MAX_LEVEL, 1000);
- IGLProperty cmpMode = new GLEnumProperty(GLStateType.TEXTURE_COMPARE_MODE, GLEnum.GL_NONE);
- IGLProperty cmpFunc = new GLEnumProperty(GLStateType.TEXTURE_COMPARE_FUNC,
- GLEnum.GL_LEQUAL);
- IGLProperty immutableFormat = new GLBooleanProperty(GLStateType.TEXTURE_IMMUTABLE_FORMAT,
- Boolean.FALSE);
- IGLProperty immutableLevels = new GLIntegerProperty(GLStateType.TEXTURE_IMMUTABLE_LEVELS,
- 0);
-
- IGLProperty width = new GLIntegerProperty(GLStateType.TEXTURE_WIDTH, Integer.valueOf(-1));
- IGLProperty height = new GLIntegerProperty(GLStateType.TEXTURE_HEIGHT,
- Integer.valueOf(-1));
- IGLProperty format = new GLEnumProperty(GLStateType.TEXTURE_FORMAT,
- GLEnum.GL_INVALID_VALUE);
- IGLProperty imageType = new GLEnumProperty(GLStateType.TEXTURE_IMAGE_TYPE,
- GLEnum.GL_UNSIGNED_BYTE);
- IGLProperty image = new GLStringProperty(GLStateType.TEXTURE_IMAGE, null);
-
- IGLProperty perTextureLevelState = new GLCompositeProperty(
- GLStateType.PER_TEXTURE_LEVEL_STATE,
- width, height, format, imageType, image);
- IGLProperty mipmapState = new GLSparseArrayProperty(GLStateType.TEXTURE_MIPMAPS,
- perTextureLevelState, true);
-
- IGLProperty textureDefaultState = new GLCompositeProperty(GLStateType.PER_TEXTURE_STATE,
- swizzleR, swizzleG, swizzleB, swizzleA,
- minFilter, magFilter,
- wrapS, wrapT, wrapR,
- minLod, maxLod,
- baseLevel, maxLevel,
- cmpMode, cmpFunc,
- immutableFormat, immutableLevels,
- mipmapState);
- GLSparseArrayProperty textures = new GLSparseArrayProperty(GLStateType.TEXTURES,
- textureDefaultState);
- textures.add(0);
-
- return new GLCompositeProperty(GLStateType.TEXTURE_STATE,
- activeTexture,
- textureUnitState,
- textures);
- }
-
- private IGLProperty createProgramState() {
- IGLProperty currentProgram = new GLIntegerProperty(GLStateType.CURRENT_PROGRAM,
- Integer.valueOf(0));
-
- IGLProperty attachedShaderId = new GLIntegerProperty(GLStateType.ATTACHED_SHADER_ID,
- Integer.valueOf(0));
- IGLProperty attachedShaders = new GLSparseArrayProperty(GLStateType.ATTACHED_SHADERS,
- attachedShaderId);
-
- IGLProperty attributeName = new GLStringProperty(GLStateType.ATTRIBUTE_NAME, "");
- IGLProperty attributeType = new GLEnumProperty(GLStateType.ATTRIBUTE_TYPE,
- GLEnum.GL_FLOAT_MAT4);
- IGLProperty attributeSize = new GLIntegerProperty(GLStateType.ATTRIBUTE_SIZE,
- Integer.valueOf(1));
- IGLProperty attributeValue = new GLObjectProperty(GLStateType.ATTRIBUTE_VALUE,
- Collections.emptyList());
- IGLProperty perAttributeProperty = new GLCompositeProperty(GLStateType.PER_ATTRIBUTE_STATE,
- attributeName, attributeType, attributeSize, attributeValue);
- IGLProperty attributes = new GLSparseArrayProperty(GLStateType.ACTIVE_ATTRIBUTES,
- perAttributeProperty);
-
- IGLProperty uniformName = new GLStringProperty(GLStateType.UNIFORM_NAME, "");
- IGLProperty uniformType = new GLEnumProperty(GLStateType.UNIFORM_TYPE,
- GLEnum.GL_FLOAT_MAT4);
- IGLProperty uniformSize = new GLIntegerProperty(GLStateType.UNIFORM_SIZE,
- Integer.valueOf(1));
- IGLProperty uniformValue = new GLObjectProperty(GLStateType.UNIFORM_VALUE,
- Collections.emptyList());
- IGLProperty perUniformProperty = new GLCompositeProperty(GLStateType.PER_UNIFORM_STATE,
- uniformName, uniformType, uniformSize, uniformValue);
- IGLProperty uniforms = new GLSparseArrayProperty(GLStateType.ACTIVE_UNIFORMS,
- perUniformProperty);
-
- IGLProperty perProgramState = new GLCompositeProperty(GLStateType.PER_PROGRAM_STATE,
- attachedShaders, attributes, uniforms);
-
- IGLProperty programs = new GLSparseArrayProperty(GLStateType.PROGRAMS, perProgramState);
-
- return new GLCompositeProperty(GLStateType.PROGRAM_STATE,
- currentProgram, programs);
- }
-
- private IGLProperty createShaderState() {
- IGLProperty shaderType = new GLEnumProperty(GLStateType.SHADER_TYPE,
- GLEnum.GL_VERTEX_SHADER);
- IGLProperty shaderSource = new GLStringProperty(GLStateType.SHADER_SOURCE,
- ""); //$NON-NLS-1$
- IGLProperty perShaderState = new GLCompositeProperty(GLStateType.PER_SHADER_STATE,
- shaderType, shaderSource);
- return new GLSparseArrayProperty(GLStateType.SHADERS, perShaderState);
- }
-
- public static IGLProperty createDefaultES2State() {
- GLCompositeProperty glState = new GLCompositeProperty(GLStateType.GL_STATE_ES2,
- sGLState.createVertexArrayData(),
- sGLState.createFramebufferState(),
- sGLState.createTransformationState(),
- sGLState.createRasterizationState(),
- sGLState.createPixelOperationsState(),
- sGLState.createPixelPackState(),
- sGLState.createTextureState(),
- sGLState.createProgramState(),
- sGLState.createShaderState());
- return glState;
- }
-
- public static IGLProperty createDefaultES1State() {
- GLCompositeProperty glState = new GLCompositeProperty(GLStateType.GL_STATE_ES1,
- sGLState.createVertexArrayData(),
- sGLState.createFramebufferState(),
- sGLState.createTransformationState(),
- sGLState.createRasterizationState(),
- sGLState.createPixelOperationsState(),
- sGLState.createPixelPackState(),
- sGLState.createTextureState());
- return glState;
- }
-
- public static IGLProperty createDefaultState() {
- return new GLListProperty(GLStateType.GL_STATE, null, 0);
- }
-}