.class Lcom/firemint/realracing/GLView$ConfigChooser; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Landroid/opengl/GLSurfaceView$EGLConfigChooser; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/firemint/realracing/GLView; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x1 name = "ConfigChooser" .end annotation # static fields .field static final synthetic $assertionsDisabled:Z # instance fields .field final synthetic this$0:Lcom/firemint/realracing/GLView; # direct methods .method static constructor ()V .locals 0 return-void .end method .method private constructor (Lcom/firemint/realracing/GLView;)V .locals 0 iput-object p1, p0, Lcom/firemint/realracing/GLView$ConfigChooser;->this$0:Lcom/firemint/realracing/GLView; .line 68 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public synthetic constructor (Lcom/firemint/realracing/GLView;Lcom/firemint/realracing/GLView$ConfigChooser-IA;)V .locals 0 .line 0 invoke-direct {p0, p1}, Lcom/firemint/realracing/GLView$ConfigChooser;->(Lcom/firemint/realracing/GLView;)V return-void .end method .method private scoreConfig(Lcom/firemint/realracing/GLView$ConfigAttribs;Lcom/firemint/realracing/GLView$ConfigAttribs;)I .locals 3 .line 149 iget v0, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->surfaceType:I and-int/lit8 v0, v0, 0x4 const/4 v1, -0x1 if-eqz v0, :cond_5 iget v0, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->renderableType:I and-int/lit8 v0, v0, 0x4 if-nez v0, :cond_0 goto/16 :goto_0 .line 153 :cond_0 iget v0, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->redBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->redBits:I if-lt v0, v2, :cond_5 iget v0, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->greenBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->greenBits:I if-lt v0, v2, :cond_5 iget v0, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->blueBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->blueBits:I if-ge v0, v2, :cond_1 goto :goto_0 .line 157 :cond_1 iget v0, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->stencilBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->stencilBits:I if-lt v0, v2, :cond_5 iget v0, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->depthBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->depthBits:I if-ge v0, v2, :cond_2 goto :goto_0 :cond_2 sub-int/2addr v0, v2 .line 161 invoke-static {v0}, Ljava/lang/Math;->abs(I)I move-result v0 mul-int/2addr v0, v0 .line 163 iget v1, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->redBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->redBits:I sub-int/2addr v1, v2 invoke-static {v1}, Ljava/lang/Math;->abs(I)I move-result v1 mul-int/2addr v1, v1 add-int/2addr v0, v1 .line 165 iget v1, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->greenBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->greenBits:I sub-int/2addr v1, v2 invoke-static {v1}, Ljava/lang/Math;->abs(I)I move-result v1 mul-int/2addr v1, v1 add-int/2addr v0, v1 .line 167 iget v1, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->blueBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->blueBits:I sub-int/2addr v1, v2 invoke-static {v1}, Ljava/lang/Math;->abs(I)I move-result v1 mul-int/2addr v1, v1 add-int/2addr v0, v1 .line 169 iget v1, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->alphaBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->alphaBits:I sub-int/2addr v1, v2 invoke-static {v1}, Ljava/lang/Math;->abs(I)I move-result v1 mul-int/2addr v1, v1 add-int/2addr v0, v1 .line 171 iget v1, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->stencilBits:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->stencilBits:I sub-int/2addr v1, v2 invoke-static {v1}, Ljava/lang/Math;->abs(I)I move-result v1 mul-int/2addr v1, v1 add-int/2addr v0, v1 .line 173 iget v1, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->samples:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->samples:I sub-int/2addr v1, v2 invoke-static {v1}, Ljava/lang/Math;->abs(I)I move-result v1 mul-int/2addr v1, v1 add-int/2addr v0, v1 .line 175 iget v1, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->nvSamples:I iget v2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->nvSamples:I sub-int/2addr v1, v2 invoke-static {v1}, Ljava/lang/Math;->abs(I)I move-result v1 mul-int/2addr v1, v1 add-int/2addr v0, v1 .line 179 iget v1, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->nv_depthEncoding:I const/16 v2, 0x30e3 if-eq v1, v2, :cond_3 add-int/lit8 v0, v0, 0x1 .line 183 :cond_3 iget p2, p2, Lcom/firemint/realracing/GLView$ConfigAttribs;->nvSamples:I if-lez p2, :cond_4 iget p1, p1, Lcom/firemint/realracing/GLView$ConfigAttribs;->nvSamples:I if-lez p1, :cond_4 add-int/lit8 v0, v0, 0x1 :cond_4 return v0 :cond_5 :goto_0 return v1 .end method # virtual methods .method public chooseConfig(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;)Ljavax/microedition/khronos/egl/EGLConfig; .locals 12 .line 73 new-instance v0, Lcom/firemint/realracing/GLView$ConfigAttribs; iget-object v1, p0, Lcom/firemint/realracing/GLView$ConfigChooser;->this$0:Lcom/firemint/realracing/GLView; invoke-direct {v0, v1}, Lcom/firemint/realracing/GLView$ConfigAttribs;->(Lcom/firemint/realracing/GLView;)V const/16 v1, 0x8 iput v1, v0, Lcom/firemint/realracing/GLView$ConfigAttribs;->redBits:I iput v1, v0, Lcom/firemint/realracing/GLView$ConfigAttribs;->greenBits:I iput v1, v0, Lcom/firemint/realracing/GLView$ConfigAttribs;->blueBits:I const/4 v2, 0x0 iput v2, v0, Lcom/firemint/realracing/GLView$ConfigAttribs;->alphaBits:I iput v1, v0, Lcom/firemint/realracing/GLView$ConfigAttribs;->stencilBits:I const/16 v1, 0x18 iput v1, v0, Lcom/firemint/realracing/GLView$ConfigAttribs;->depthBits:I iput v2, v0, Lcom/firemint/realracing/GLView$ConfigAttribs;->samples:I iput v2, v0, Lcom/firemint/realracing/GLView$ConfigAttribs;->nvSamples:I const/4 v1, 0x1 new-array v3, v1, [I const/4 v4, 0x0 .line 89 invoke-interface {p1, p2, v4, v2, v3}, Ljavax/microedition/khronos/egl/EGL10;->eglGetConfigs(Ljavax/microedition/khronos/egl/EGLDisplay;[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z aget v5, v3, v2 if-lez v5, :cond_6 .line 93 new-array v4, v5, [Ljavax/microedition/khronos/egl/EGLConfig; .line 94 invoke-interface {p1, p2, v4, v5, v3}, Ljavax/microedition/khronos/egl/EGL10;->eglGetConfigs(Ljavax/microedition/khronos/egl/EGLDisplay;[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z const/4 v3, -0x1 move v6, v2 move v7, v3 move v8, v7 :goto_0 if-ge v6, v5, :cond_2 .line 102 new-instance v9, Lcom/firemint/realracing/GLView$ConfigAttribs; iget-object v10, p0, Lcom/firemint/realracing/GLView$ConfigChooser;->this$0:Lcom/firemint/realracing/GLView; aget-object v11, v4, v6 invoke-direct {v9, v10, p1, p2, v11}, Lcom/firemint/realracing/GLView$ConfigAttribs;->(Lcom/firemint/realracing/GLView;Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;)V .line 103 invoke-static {v9, v2}, Lcom/firemint/realracing/GLView$ConfigAttribs;->-$$Nest$mprint(Lcom/firemint/realracing/GLView$ConfigAttribs;Z)V .line 105 invoke-direct {p0, v9, v0}, Lcom/firemint/realracing/GLView$ConfigChooser;->scoreConfig(Lcom/firemint/realracing/GLView$ConfigAttribs;Lcom/firemint/realracing/GLView$ConfigAttribs;)I move-result v9 if-eq v9, v3, :cond_1 if-lt v9, v8, :cond_0 if-ne v8, v3, :cond_1 :cond_0 move v7, v6 move v8, v9 :cond_1 add-int/lit8 v6, v6, 0x1 goto :goto_0 .line 114 :cond_2 new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V const-string v9, "found config = " invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; if-ne v7, v3, :cond_5 const/16 v6, 0x10 iput v6, v0, Lcom/firemint/realracing/GLView$ConfigAttribs;->depthBits:I move v6, v2 :goto_1 if-ge v6, v5, :cond_5 .line 121 new-instance v9, Lcom/firemint/realracing/GLView$ConfigAttribs; iget-object v10, p0, Lcom/firemint/realracing/GLView$ConfigChooser;->this$0:Lcom/firemint/realracing/GLView; aget-object v11, v4, v6 invoke-direct {v9, v10, p1, p2, v11}, Lcom/firemint/realracing/GLView$ConfigAttribs;->(Lcom/firemint/realracing/GLView;Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;)V .line 122 invoke-static {v9, v2}, Lcom/firemint/realracing/GLView$ConfigAttribs;->-$$Nest$mprint(Lcom/firemint/realracing/GLView$ConfigAttribs;Z)V .line 124 invoke-direct {p0, v9, v0}, Lcom/firemint/realracing/GLView$ConfigChooser;->scoreConfig(Lcom/firemint/realracing/GLView$ConfigAttribs;Lcom/firemint/realracing/GLView$ConfigAttribs;)I move-result v9 if-eq v9, v3, :cond_4 if-lt v9, v8, :cond_3 if-ne v8, v3, :cond_4 :cond_3 move v7, v6 move v8, v9 :cond_4 add-int/lit8 v6, v6, 0x1 goto :goto_1 .line 133 :cond_5 new-instance v0, Lcom/firemint/realracing/GLView$ConfigAttribs; iget-object v2, p0, Lcom/firemint/realracing/GLView$ConfigChooser;->this$0:Lcom/firemint/realracing/GLView; aget-object v3, v4, v7 invoke-direct {v0, v2, p1, p2, v3}, Lcom/firemint/realracing/GLView$ConfigAttribs;->(Lcom/firemint/realracing/GLView;Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;)V .line 134 invoke-static {v0, v1}, Lcom/firemint/realracing/GLView$ConfigAttribs;->-$$Nest$mprint(Lcom/firemint/realracing/GLView$ConfigAttribs;Z)V .line 136 aget-object p1, v4, v7 return-object p1 :cond_6 const-string p1, "GLView" const-string p2, "Failed to find acceptable EGLConfig!" .line 139 invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-object v4 .end method