1481 lines
39 KiB
Smali
1481 lines
39 KiB
Smali
.class public Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;
|
|
.super Ljava/lang/Object;
|
|
.source "ShaderProgram.java"
|
|
|
|
# interfaces
|
|
.implements Lcom/badlogic/gdx/utils/Disposable;
|
|
|
|
|
|
# static fields
|
|
.field public static a:Z = true
|
|
|
|
.field public static b:Ljava/lang/String; = ""
|
|
|
|
.field public static c:Ljava/lang/String; = ""
|
|
|
|
.field static final d:Ljava/nio/IntBuffer;
|
|
|
|
.field private static final g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/badlogic/gdx/utils/ObjectMap<",
|
|
"Lcom/badlogic/gdx/Application;",
|
|
"Lcom/badlogic/gdx/utils/Array<",
|
|
"Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;",
|
|
">;>;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
|
|
# instance fields
|
|
.field e:Ljava/nio/IntBuffer;
|
|
|
|
.field f:Ljava/nio/IntBuffer;
|
|
|
|
.field private h:Ljava/lang/String;
|
|
|
|
.field private i:Z
|
|
|
|
.field private final j:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/badlogic/gdx/utils/ObjectIntMap<",
|
|
"Ljava/lang/String;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final k:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/badlogic/gdx/utils/ObjectIntMap<",
|
|
"Ljava/lang/String;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final l:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/badlogic/gdx/utils/ObjectIntMap<",
|
|
"Ljava/lang/String;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private m:[Ljava/lang/String;
|
|
|
|
.field private final n:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/badlogic/gdx/utils/ObjectIntMap<",
|
|
"Ljava/lang/String;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final o:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/badlogic/gdx/utils/ObjectIntMap<",
|
|
"Ljava/lang/String;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final p:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/badlogic/gdx/utils/ObjectIntMap<",
|
|
"Ljava/lang/String;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private q:[Ljava/lang/String;
|
|
|
|
.field private r:I
|
|
|
|
.field private s:I
|
|
|
|
.field private t:I
|
|
|
|
.field private final u:Ljava/nio/FloatBuffer;
|
|
|
|
.field private final v:Ljava/lang/String;
|
|
|
|
.field private final w:Ljava/lang/String;
|
|
|
|
.field private x:Z
|
|
|
|
.field private y:I
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.locals 1
|
|
|
|
.line 97
|
|
new-instance v0, Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
invoke-direct {v0}, Lcom/badlogic/gdx/utils/ObjectMap;-><init>()V
|
|
|
|
sput-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 263
|
|
invoke-static {v0}, Lcom/badlogic/gdx/utils/BufferUtils;->c(I)Ljava/nio/IntBuffer;
|
|
|
|
move-result-object v0
|
|
|
|
sput-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->d:Ljava/nio/IntBuffer;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;)V
|
|
.locals 2
|
|
|
|
.line 158
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
const-string v0, ""
|
|
|
|
.line 100
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h:Ljava/lang/String;
|
|
|
|
.line 106
|
|
new-instance v0, Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-direct {v0}, Lcom/badlogic/gdx/utils/ObjectIntMap;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->j:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
.line 109
|
|
new-instance v0, Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-direct {v0}, Lcom/badlogic/gdx/utils/ObjectIntMap;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->k:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
.line 112
|
|
new-instance v0, Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-direct {v0}, Lcom/badlogic/gdx/utils/ObjectIntMap;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->l:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
.line 118
|
|
new-instance v0, Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-direct {v0}, Lcom/badlogic/gdx/utils/ObjectIntMap;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->n:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
.line 121
|
|
new-instance v0, Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-direct {v0}, Lcom/badlogic/gdx/utils/ObjectIntMap;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->o:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
.line 124
|
|
new-instance v0, Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-direct {v0}, Lcom/badlogic/gdx/utils/ObjectIntMap;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->p:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 151
|
|
iput v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->y:I
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 807
|
|
invoke-static {v0}, Lcom/badlogic/gdx/utils/BufferUtils;->c(I)Ljava/nio/IntBuffer;
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
.line 808
|
|
invoke-static {v0}, Lcom/badlogic/gdx/utils/BufferUtils;->c(I)Ljava/nio/IntBuffer;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->f:Ljava/nio/IntBuffer;
|
|
|
|
if-eqz p1, :cond_4
|
|
|
|
if-eqz p2, :cond_3
|
|
|
|
.line 162
|
|
sget-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->b:Ljava/lang/String;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
sget-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->b:Ljava/lang/String;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-lez v0, :cond_0
|
|
|
|
.line 163
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
sget-object v1, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->b:Ljava/lang/String;
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
.line 164
|
|
:cond_0
|
|
sget-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->c:Ljava/lang/String;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
sget-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->c:Ljava/lang/String;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-lez v0, :cond_1
|
|
|
|
.line 165
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
sget-object v1, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->c:Ljava/lang/String;
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
.line 167
|
|
:cond_1
|
|
iput-object p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->v:Ljava/lang/String;
|
|
|
|
.line 168
|
|
iput-object p2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->w:Ljava/lang/String;
|
|
|
|
const/16 v0, 0x10
|
|
|
|
.line 169
|
|
invoke-static {v0}, Lcom/badlogic/gdx/utils/BufferUtils;->a(I)Ljava/nio/FloatBuffer;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->u:Ljava/nio/FloatBuffer;
|
|
|
|
.line 171
|
|
invoke-direct {p0, p1, p2}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
.line 172
|
|
invoke-virtual {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->d()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
.line 173
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->j()V
|
|
|
|
.line 174
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->i()V
|
|
|
|
.line 175
|
|
sget-object p1, Lcom/badlogic/gdx/Gdx;->a:Lcom/badlogic/gdx/Application;
|
|
|
|
invoke-direct {p0, p1, p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a(Lcom/badlogic/gdx/Application;Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;)V
|
|
|
|
:cond_2
|
|
return-void
|
|
|
|
.line 160
|
|
:cond_3
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
const-string p2, "fragment shader must not be null"
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 159
|
|
:cond_4
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
const-string p2, "vertex shader must not be null"
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method private a(ILjava/lang/String;)I
|
|
.locals 4
|
|
|
|
.line 206
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 207
|
|
invoke-static {v1}, Lcom/badlogic/gdx/utils/BufferUtils;->c(I)Ljava/nio/IntBuffer;
|
|
|
|
move-result-object v1
|
|
|
|
.line 209
|
|
invoke-interface {v0, p1}, Lcom/badlogic/gdx/graphics/GL20;->glCreateShader(I)I
|
|
|
|
move-result v2
|
|
|
|
const/4 v3, -0x1
|
|
|
|
if-nez v2, :cond_0
|
|
|
|
return v3
|
|
|
|
.line 212
|
|
:cond_0
|
|
invoke-interface {v0, v2, p2}, Lcom/badlogic/gdx/graphics/GL20;->glShaderSource(ILjava/lang/String;)V
|
|
|
|
.line 213
|
|
invoke-interface {v0, v2}, Lcom/badlogic/gdx/graphics/GL20;->glCompileShader(I)V
|
|
|
|
const p2, 0x8b81
|
|
|
|
.line 214
|
|
invoke-interface {v0, v2, p2, v1}, Lcom/badlogic/gdx/graphics/GL20;->glGetShaderiv(IILjava/nio/IntBuffer;)V
|
|
|
|
const/4 p2, 0x0
|
|
|
|
.line 216
|
|
invoke-virtual {v1, p2}, Ljava/nio/IntBuffer;->get(I)I
|
|
|
|
move-result p2
|
|
|
|
if-nez p2, :cond_2
|
|
|
|
.line 221
|
|
invoke-interface {v0, v2}, Lcom/badlogic/gdx/graphics/GL20;->glGetShaderInfoLog(I)Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
.line 222
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
iget-object v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h:Ljava/lang/String;
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const v1, 0x8b31
|
|
|
|
if-ne p1, v1, :cond_1
|
|
|
|
const-string p1, "Vertex shader\n"
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const-string p1, "Fragment shader:\n"
|
|
|
|
:goto_0
|
|
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h:Ljava/lang/String;
|
|
|
|
.line 223
|
|
new-instance p1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h:Ljava/lang/String;
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h:Ljava/lang/String;
|
|
|
|
return v3
|
|
|
|
:cond_2
|
|
return v2
|
|
.end method
|
|
|
|
.method public static a(Lcom/badlogic/gdx/Application;)V
|
|
.locals 3
|
|
|
|
.line 762
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 764
|
|
:cond_0
|
|
sget-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
invoke-virtual {v0, p0}, Lcom/badlogic/gdx/utils/ObjectMap;->a(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object p0
|
|
|
|
check-cast p0, Lcom/badlogic/gdx/utils/Array;
|
|
|
|
if-nez p0, :cond_1
|
|
|
|
return-void
|
|
|
|
:cond_1
|
|
const/4 v0, 0x0
|
|
|
|
.line 767
|
|
:goto_0
|
|
iget v1, p0, Lcom/badlogic/gdx/utils/Array;->b:I
|
|
|
|
if-ge v0, v1, :cond_2
|
|
|
|
.line 768
|
|
invoke-virtual {p0, v0}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;
|
|
|
|
const/4 v2, 0x1
|
|
|
|
iput-boolean v2, v1, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->x:Z
|
|
|
|
.line 769
|
|
invoke-virtual {p0, v0}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;
|
|
|
|
invoke-direct {v1}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h()V
|
|
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method private a(Lcom/badlogic/gdx/Application;Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;)V
|
|
.locals 1
|
|
|
|
.line 753
|
|
sget-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
invoke-virtual {v0, p1}, Lcom/badlogic/gdx/utils/ObjectMap;->a(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Lcom/badlogic/gdx/utils/Array;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 754
|
|
new-instance v0, Lcom/badlogic/gdx/utils/Array;
|
|
|
|
invoke-direct {v0}, Lcom/badlogic/gdx/utils/Array;-><init>()V
|
|
|
|
.line 755
|
|
:cond_0
|
|
invoke-virtual {v0, p2}, Lcom/badlogic/gdx/utils/Array;->a(Ljava/lang/Object;)V
|
|
|
|
.line 756
|
|
sget-object p2, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
invoke-virtual {p2, p1, v0}, Lcom/badlogic/gdx/utils/ObjectMap;->a(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private a(Ljava/lang/String;Ljava/lang/String;)V
|
|
.locals 1
|
|
|
|
const v0, 0x8b31
|
|
|
|
.line 188
|
|
invoke-direct {p0, v0, p1}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a(ILjava/lang/String;)I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->s:I
|
|
|
|
const p1, 0x8b30
|
|
|
|
.line 189
|
|
invoke-direct {p0, p1, p2}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a(ILjava/lang/String;)I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->t:I
|
|
|
|
.line 191
|
|
iget p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->s:I
|
|
|
|
const/4 p2, 0x0
|
|
|
|
const/4 v0, -0x1
|
|
|
|
if-eq p1, v0, :cond_2
|
|
|
|
iget p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->t:I
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 196
|
|
:cond_0
|
|
invoke-virtual {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a()I
|
|
|
|
move-result p1
|
|
|
|
invoke-direct {p0, p1}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->c(I)I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
.line 197
|
|
iget p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
if-ne p1, v0, :cond_1
|
|
|
|
.line 198
|
|
iput-boolean p2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->i:Z
|
|
|
|
return-void
|
|
|
|
:cond_1
|
|
const/4 p1, 0x1
|
|
|
|
.line 202
|
|
iput-boolean p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->i:Z
|
|
|
|
return-void
|
|
|
|
.line 192
|
|
:cond_2
|
|
:goto_0
|
|
iput-boolean p2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->i:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public static b(Lcom/badlogic/gdx/Application;)V
|
|
.locals 1
|
|
|
|
.line 774
|
|
sget-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
invoke-virtual {v0, p0}, Lcom/badlogic/gdx/utils/ObjectMap;->b(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private c(I)I
|
|
.locals 4
|
|
|
|
.line 238
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
const/4 v1, -0x1
|
|
|
|
if-ne p1, v1, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 241
|
|
:cond_0
|
|
iget v2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->s:I
|
|
|
|
invoke-interface {v0, p1, v2}, Lcom/badlogic/gdx/graphics/GL20;->glAttachShader(II)V
|
|
|
|
.line 242
|
|
iget v2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->t:I
|
|
|
|
invoke-interface {v0, p1, v2}, Lcom/badlogic/gdx/graphics/GL20;->glAttachShader(II)V
|
|
|
|
.line 243
|
|
invoke-interface {v0, p1}, Lcom/badlogic/gdx/graphics/GL20;->glLinkProgram(I)V
|
|
|
|
const/4 v2, 0x4
|
|
|
|
.line 245
|
|
invoke-static {v2}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
|
|
|
|
move-result-object v2
|
|
|
|
.line 246
|
|
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {v2, v3}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
|
|
|
|
.line 247
|
|
invoke-virtual {v2}, Ljava/nio/ByteBuffer;->asIntBuffer()Ljava/nio/IntBuffer;
|
|
|
|
move-result-object v2
|
|
|
|
const v3, 0x8b82
|
|
|
|
.line 249
|
|
invoke-interface {v0, p1, v3, v2}, Lcom/badlogic/gdx/graphics/GL20;->glGetProgramiv(IILjava/nio/IntBuffer;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 250
|
|
invoke-virtual {v2, v0}, Ljava/nio/IntBuffer;->get(I)I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 255
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
invoke-interface {v0, p1}, Lcom/badlogic/gdx/graphics/GL20;->glGetProgramInfoLog(I)Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h:Ljava/lang/String;
|
|
|
|
return v1
|
|
|
|
:cond_1
|
|
return p1
|
|
.end method
|
|
|
|
.method private c(Ljava/lang/String;)I
|
|
.locals 3
|
|
|
|
.line 286
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 290
|
|
iget-object v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->n:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
const/4 v2, -0x2
|
|
|
|
invoke-virtual {v1, p1, v2}, Lcom/badlogic/gdx/utils/ObjectIntMap;->b(Ljava/lang/Object;I)I
|
|
|
|
move-result v1
|
|
|
|
if-ne v1, v2, :cond_0
|
|
|
|
.line 291
|
|
iget v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
invoke-interface {v0, v1, p1}, Lcom/badlogic/gdx/graphics/GL20;->glGetAttribLocation(ILjava/lang/String;)I
|
|
|
|
move-result v1
|
|
|
|
.line 292
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->n:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-virtual {v0, p1, v1}, Lcom/badlogic/gdx/utils/ObjectIntMap;->a(Ljava/lang/Object;I)V
|
|
|
|
:cond_0
|
|
return v1
|
|
.end method
|
|
|
|
.method private d(Ljava/lang/String;)I
|
|
.locals 1
|
|
|
|
.line 298
|
|
sget-boolean v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a:Z
|
|
|
|
invoke-virtual {p0, p1, v0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a(Ljava/lang/String;Z)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public static g()Ljava/lang/String;
|
|
.locals 4
|
|
|
|
.line 778
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, "Managed shaders/app: { "
|
|
|
|
.line 780
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 781
|
|
sget-object v1, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
invoke-virtual {v1}, Lcom/badlogic/gdx/utils/ObjectMap;->e()Lcom/badlogic/gdx/utils/ObjectMap$Keys;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Lcom/badlogic/gdx/utils/ObjectMap$Keys;->a()Lcom/badlogic/gdx/utils/ObjectMap$Keys;
|
|
|
|
move-result-object v1
|
|
|
|
:goto_0
|
|
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Lcom/badlogic/gdx/Application;
|
|
|
|
.line 782
|
|
sget-object v3, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
invoke-virtual {v3, v2}, Lcom/badlogic/gdx/utils/ObjectMap;->a(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Lcom/badlogic/gdx/utils/Array;
|
|
|
|
iget v2, v2, Lcom/badlogic/gdx/utils/Array;->b:I
|
|
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string v2, " "
|
|
|
|
.line 783
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const-string v1, "}"
|
|
|
|
.line 785
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 786
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private h()V
|
|
.locals 2
|
|
|
|
.line 746
|
|
iget-boolean v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->x:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 747
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->v:Ljava/lang/String;
|
|
|
|
iget-object v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->w:Ljava/lang/String;
|
|
|
|
invoke-direct {p0, v0, v1}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 748
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->x:Z
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private i()V
|
|
.locals 7
|
|
|
|
.line 811
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v0}, Ljava/nio/IntBuffer;->clear()Ljava/nio/Buffer;
|
|
|
|
.line 812
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
iget v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
iget-object v2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
const v3, 0x8b86
|
|
|
|
invoke-interface {v0, v1, v3, v2}, Lcom/badlogic/gdx/graphics/GL20;->glGetProgramiv(IILjava/nio/IntBuffer;)V
|
|
|
|
.line 813
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;->get(I)I
|
|
|
|
move-result v0
|
|
|
|
.line 815
|
|
new-array v2, v0, [Ljava/lang/String;
|
|
|
|
iput-object v2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->m:[Ljava/lang/String;
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_0
|
|
|
|
.line 818
|
|
iget-object v3, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v3}, Ljava/nio/IntBuffer;->clear()Ljava/nio/Buffer;
|
|
|
|
.line 819
|
|
iget-object v3, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
const/4 v4, 0x1
|
|
|
|
invoke-virtual {v3, v1, v4}, Ljava/nio/IntBuffer;->put(II)Ljava/nio/IntBuffer;
|
|
|
|
.line 820
|
|
iget-object v3, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->f:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v3}, Ljava/nio/IntBuffer;->clear()Ljava/nio/Buffer;
|
|
|
|
.line 821
|
|
sget-object v3, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
iget v4, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
iget-object v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
iget-object v6, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->f:Ljava/nio/IntBuffer;
|
|
|
|
invoke-interface {v3, v4, v2, v5, v6}, Lcom/badlogic/gdx/graphics/GL20;->glGetActiveUniform(IILjava/nio/IntBuffer;Ljava/nio/Buffer;)Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
.line 822
|
|
sget-object v4, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
iget v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
invoke-interface {v4, v5, v3}, Lcom/badlogic/gdx/graphics/GL20;->glGetUniformLocation(ILjava/lang/String;)I
|
|
|
|
move-result v4
|
|
|
|
.line 823
|
|
iget-object v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->j:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-virtual {v5, v3, v4}, Lcom/badlogic/gdx/utils/ObjectIntMap;->a(Ljava/lang/Object;I)V
|
|
|
|
.line 824
|
|
iget-object v4, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->k:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
iget-object v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->f:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v5, v1}, Ljava/nio/IntBuffer;->get(I)I
|
|
|
|
move-result v5
|
|
|
|
invoke-virtual {v4, v3, v5}, Lcom/badlogic/gdx/utils/ObjectIntMap;->a(Ljava/lang/Object;I)V
|
|
|
|
.line 825
|
|
iget-object v4, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->l:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
iget-object v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v5, v1}, Ljava/nio/IntBuffer;->get(I)I
|
|
|
|
move-result v5
|
|
|
|
invoke-virtual {v4, v3, v5}, Lcom/badlogic/gdx/utils/ObjectIntMap;->a(Ljava/lang/Object;I)V
|
|
|
|
.line 826
|
|
iget-object v4, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->m:[Ljava/lang/String;
|
|
|
|
aput-object v3, v4, v2
|
|
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private j()V
|
|
.locals 7
|
|
|
|
.line 831
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v0}, Ljava/nio/IntBuffer;->clear()Ljava/nio/Buffer;
|
|
|
|
.line 832
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
iget v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
iget-object v2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
const v3, 0x8b89
|
|
|
|
invoke-interface {v0, v1, v3, v2}, Lcom/badlogic/gdx/graphics/GL20;->glGetProgramiv(IILjava/nio/IntBuffer;)V
|
|
|
|
.line 833
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;->get(I)I
|
|
|
|
move-result v0
|
|
|
|
.line 835
|
|
new-array v2, v0, [Ljava/lang/String;
|
|
|
|
iput-object v2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->q:[Ljava/lang/String;
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_0
|
|
|
|
.line 838
|
|
iget-object v3, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v3}, Ljava/nio/IntBuffer;->clear()Ljava/nio/Buffer;
|
|
|
|
.line 839
|
|
iget-object v3, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
const/4 v4, 0x1
|
|
|
|
invoke-virtual {v3, v1, v4}, Ljava/nio/IntBuffer;->put(II)Ljava/nio/IntBuffer;
|
|
|
|
.line 840
|
|
iget-object v3, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->f:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v3}, Ljava/nio/IntBuffer;->clear()Ljava/nio/Buffer;
|
|
|
|
.line 841
|
|
sget-object v3, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
iget v4, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
iget-object v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
iget-object v6, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->f:Ljava/nio/IntBuffer;
|
|
|
|
invoke-interface {v3, v4, v2, v5, v6}, Lcom/badlogic/gdx/graphics/GL20;->glGetActiveAttrib(IILjava/nio/IntBuffer;Ljava/nio/Buffer;)Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
.line 842
|
|
sget-object v4, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
iget v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
invoke-interface {v4, v5, v3}, Lcom/badlogic/gdx/graphics/GL20;->glGetAttribLocation(ILjava/lang/String;)I
|
|
|
|
move-result v4
|
|
|
|
.line 843
|
|
iget-object v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->n:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-virtual {v5, v3, v4}, Lcom/badlogic/gdx/utils/ObjectIntMap;->a(Ljava/lang/Object;I)V
|
|
|
|
.line 844
|
|
iget-object v4, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->o:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
iget-object v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->f:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v5, v1}, Ljava/nio/IntBuffer;->get(I)I
|
|
|
|
move-result v5
|
|
|
|
invoke-virtual {v4, v3, v5}, Lcom/badlogic/gdx/utils/ObjectIntMap;->a(Ljava/lang/Object;I)V
|
|
|
|
.line 845
|
|
iget-object v4, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->p:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
iget-object v5, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->e:Ljava/nio/IntBuffer;
|
|
|
|
invoke-virtual {v5, v1}, Ljava/nio/IntBuffer;->get(I)I
|
|
|
|
move-result v5
|
|
|
|
invoke-virtual {v4, v3, v5}, Lcom/badlogic/gdx/utils/ObjectIntMap;->a(Ljava/lang/Object;I)V
|
|
|
|
.line 846
|
|
iget-object v4, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->q:[Ljava/lang/String;
|
|
|
|
aput-object v3, v4, v2
|
|
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method protected a()I
|
|
.locals 1
|
|
|
|
.line 232
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 233
|
|
invoke-interface {v0}, Lcom/badlogic/gdx/graphics/GL20;->glCreateProgram()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, -0x1
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method public a(Ljava/lang/String;Z)I
|
|
.locals 3
|
|
|
|
.line 302
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 306
|
|
iget-object v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->j:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
const/4 v2, -0x2
|
|
|
|
invoke-virtual {v1, p1, v2}, Lcom/badlogic/gdx/utils/ObjectIntMap;->b(Ljava/lang/Object;I)I
|
|
|
|
move-result v1
|
|
|
|
if-ne v1, v2, :cond_2
|
|
|
|
.line 307
|
|
iget v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
invoke-interface {v0, v1, p1}, Lcom/badlogic/gdx/graphics/GL20;->glGetUniformLocation(ILjava/lang/String;)I
|
|
|
|
move-result v1
|
|
|
|
const/4 v0, -0x1
|
|
|
|
if-ne v1, v0, :cond_1
|
|
|
|
if-nez p2, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 308
|
|
:cond_0
|
|
new-instance p2, Ljava/lang/IllegalArgumentException;
|
|
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, "no uniform with name \'"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string p1, "\' in shader"
|
|
|
|
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-direct {p2, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p2
|
|
|
|
.line 309
|
|
:cond_1
|
|
:goto_0
|
|
iget-object p2, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->j:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
invoke-virtual {p2, p1, v1}, Lcom/badlogic/gdx/utils/ObjectIntMap;->a(Ljava/lang/Object;I)V
|
|
|
|
:cond_2
|
|
return v1
|
|
.end method
|
|
|
|
.method public a(I)V
|
|
.locals 1
|
|
|
|
.line 723
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 724
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h()V
|
|
|
|
.line 725
|
|
invoke-interface {v0, p1}, Lcom/badlogic/gdx/graphics/GL20;->glDisableVertexAttribArray(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public a(IIIZII)V
|
|
.locals 7
|
|
|
|
.line 681
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 682
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h()V
|
|
|
|
move v1, p1
|
|
|
|
move v2, p2
|
|
|
|
move v3, p3
|
|
|
|
move v4, p4
|
|
|
|
move v5, p5
|
|
|
|
move v6, p6
|
|
|
|
.line 683
|
|
invoke-interface/range {v0 .. v6}, Lcom/badlogic/gdx/graphics/GL20;->glVertexAttribPointer(IIIZII)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public a(IIIZILjava/nio/Buffer;)V
|
|
.locals 7
|
|
|
|
.line 658
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 659
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h()V
|
|
|
|
move v1, p1
|
|
|
|
move v2, p2
|
|
|
|
move v3, p3
|
|
|
|
move v4, p4
|
|
|
|
move v5, p5
|
|
|
|
move-object v6, p6
|
|
|
|
.line 660
|
|
invoke-interface/range {v0 .. v6}, Lcom/badlogic/gdx/graphics/GL20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public a(ILcom/badlogic/gdx/math/Matrix4;Z)V
|
|
.locals 6
|
|
|
|
.line 536
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 537
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h()V
|
|
|
|
.line 538
|
|
iget-object v4, p2, Lcom/badlogic/gdx/math/Matrix4;->val:[F
|
|
|
|
const/4 v2, 0x1
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move v1, p1
|
|
|
|
move v3, p3
|
|
|
|
invoke-interface/range {v0 .. v5}, Lcom/badlogic/gdx/graphics/GL20;->glUniformMatrix4fv(IIZ[FI)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public a(Ljava/lang/String;)V
|
|
.locals 2
|
|
|
|
.line 715
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 716
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h()V
|
|
|
|
.line 717
|
|
invoke-direct {p0, p1}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->c(Ljava/lang/String;)I
|
|
|
|
move-result p1
|
|
|
|
const/4 v1, -0x1
|
|
|
|
if-ne p1, v1, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 719
|
|
:cond_0
|
|
invoke-interface {v0, p1}, Lcom/badlogic/gdx/graphics/GL20;->glDisableVertexAttribArray(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public a(Ljava/lang/String;I)V
|
|
.locals 1
|
|
|
|
.line 319
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 320
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h()V
|
|
|
|
.line 321
|
|
invoke-direct {p0, p1}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->d(Ljava/lang/String;)I
|
|
|
|
move-result p1
|
|
|
|
.line 322
|
|
invoke-interface {v0, p1, p2}, Lcom/badlogic/gdx/graphics/GL20;->glUniform1i(II)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public a(Ljava/lang/String;Lcom/badlogic/gdx/math/Matrix4;)V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 519
|
|
invoke-virtual {p0, p1, p2, v0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a(Ljava/lang/String;Lcom/badlogic/gdx/math/Matrix4;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public a(Ljava/lang/String;Lcom/badlogic/gdx/math/Matrix4;Z)V
|
|
.locals 0
|
|
|
|
.line 528
|
|
invoke-direct {p0, p1}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->d(Ljava/lang/String;)I
|
|
|
|
move-result p1
|
|
|
|
invoke-virtual {p0, p1, p2, p3}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->a(ILcom/badlogic/gdx/math/Matrix4;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public b(Ljava/lang/String;)I
|
|
.locals 2
|
|
|
|
.line 865
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->n:Lcom/badlogic/gdx/utils/ObjectIntMap;
|
|
|
|
const/4 v1, -0x1
|
|
|
|
invoke-virtual {v0, p1, v1}, Lcom/badlogic/gdx/utils/ObjectIntMap;->b(Ljava/lang/Object;I)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public b()Ljava/lang/String;
|
|
.locals 2
|
|
|
|
.line 268
|
|
iget-boolean v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->i:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 272
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
iget v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
invoke-interface {v0, v1}, Lcom/badlogic/gdx/graphics/GL20;->glGetProgramInfoLog(I)Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h:Ljava/lang/String;
|
|
|
|
.line 274
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h:Ljava/lang/String;
|
|
|
|
return-object v0
|
|
|
|
.line 276
|
|
:cond_0
|
|
iget-object v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h:Ljava/lang/String;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public b(I)V
|
|
.locals 1
|
|
|
|
.line 740
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 741
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h()V
|
|
|
|
.line 742
|
|
invoke-interface {v0, p1}, Lcom/badlogic/gdx/graphics/GL20;->glEnableVertexAttribArray(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public c()V
|
|
.locals 2
|
|
|
|
.line 703
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 704
|
|
invoke-interface {v0, v1}, Lcom/badlogic/gdx/graphics/GL20;->glUseProgram(I)V
|
|
|
|
.line 705
|
|
iget v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->s:I
|
|
|
|
invoke-interface {v0, v1}, Lcom/badlogic/gdx/graphics/GL20;->glDeleteShader(I)V
|
|
|
|
.line 706
|
|
iget v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->t:I
|
|
|
|
invoke-interface {v0, v1}, Lcom/badlogic/gdx/graphics/GL20;->glDeleteShader(I)V
|
|
|
|
.line 707
|
|
iget v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
invoke-interface {v0, v1}, Lcom/badlogic/gdx/graphics/GL20;->glDeleteProgram(I)V
|
|
|
|
.line 708
|
|
sget-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
sget-object v1, Lcom/badlogic/gdx/Gdx;->a:Lcom/badlogic/gdx/Application;
|
|
|
|
invoke-virtual {v0, v1}, Lcom/badlogic/gdx/utils/ObjectMap;->a(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
sget-object v0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->g:Lcom/badlogic/gdx/utils/ObjectMap;
|
|
|
|
sget-object v1, Lcom/badlogic/gdx/Gdx;->a:Lcom/badlogic/gdx/Application;
|
|
|
|
invoke-virtual {v0, v1}, Lcom/badlogic/gdx/utils/ObjectMap;->a(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Lcom/badlogic/gdx/utils/Array;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
invoke-virtual {v0, p0, v1}, Lcom/badlogic/gdx/utils/Array;->c(Ljava/lang/Object;Z)Z
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public d()Z
|
|
.locals 1
|
|
|
|
.line 282
|
|
iget-boolean v0, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->i:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public e()V
|
|
.locals 2
|
|
|
|
.line 689
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
.line 690
|
|
invoke-direct {p0}, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->h()V
|
|
|
|
.line 691
|
|
iget v1, p0, Lcom/badlogic/gdx/graphics/glutils/ShaderProgram;->r:I
|
|
|
|
invoke-interface {v0, v1}, Lcom/badlogic/gdx/graphics/GL20;->glUseProgram(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public f()V
|
|
.locals 2
|
|
|
|
.line 697
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->f:Lcom/badlogic/gdx/graphics/GL20;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 698
|
|
invoke-interface {v0, v1}, Lcom/badlogic/gdx/graphics/GL20;->glUseProgram(I)V
|
|
|
|
return-void
|
|
.end method
|