Skip to content

Commit

Permalink
Minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
fkeglevich committed Jan 19, 2019
1 parent a3d1f5a commit 45913e3
Showing 1 changed file with 31 additions and 7 deletions.
38 changes: 31 additions & 7 deletions app/src/main/java/com/fkeglevich/rawdumper/gl/ComputeProgram.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class ComputeProgram extends Program
public static ComputeProgram create(String computeShaderCode, int localSizeX, int localSizeY, int localSizeZ) throws GLException
{
String source = ShaderSourceUtil.replaceLocalSize(computeShaderCode, localSizeX, localSizeY, localSizeZ);
Log.i("ASD", source);
//Log.i("ASD", source);

Shader computeShader = Shader.create(ShaderType.COMPUTE);
computeShader.compile(source);
Expand All @@ -55,23 +55,47 @@ private ComputeProgram(int handle, int localSizeX, int localSizeY, int localSize
}

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public void dispatch(int numGroupsX, int numGroupsY, int numGroupsZ)
public void dispatch1D(int dataSizeX)
{
GLES31.glDispatchCompute(numGroupsX, numGroupsY, numGroupsZ);
GLES31.glDispatchCompute(
(int) Math.ceil(((double) dataSizeX) / ((double) localSizeX)), 1, 1);
}

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public void dispatch2D(int dataSizeX, int dataSizeY)
{
GLES31.glDispatchCompute(
(int) Math.ceil(((double) dataSizeX) / ((double) localSizeX)),
(int) Math.ceil(((double) dataSizeY) / ((double) localSizeY)), 1);
}

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public void dispatchDataSize(int dataSizeX, int dataSizeY, int dataSizeZ)
public void dispatch3D(int dataSizeX, int dataSizeY, int dataSizeZ)
{
GLES31.glDispatchCompute(
dataSizeX / localSizeX,
dataSizeY / localSizeY,
dataSizeZ / localSizeZ);
(int) Math.ceil(((double) dataSizeX) / ((double) localSizeX)),
(int) Math.ceil(((double) dataSizeY) / ((double) localSizeY)),
(int) Math.ceil(((double) dataSizeZ) / ((double) localSizeZ)));
}

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public void memoryBarrier(int barriers)
{
GLES31.glMemoryBarrier(barriers);
}

public int getLocalSizeX()
{
return localSizeX;
}

public int getLocalSizeY()
{
return localSizeY;
}

public int getLocalSizeZ()
{
return localSizeZ;
}
}

0 comments on commit 45913e3

Please sign in to comment.