28 lines
883 B
Java
28 lines
883 B
Java
package mindustry.graphics;
|
|
|
|
import arc.*;
|
|
import arc.graphics.*;
|
|
|
|
/** Nvidia-specific utility class for querying GPU VRAM information. */
|
|
public class NvGpuInfo{
|
|
private static final int GL_GPU_MEM_INFO_TOTAL_AVAILABLE_MEM_NVX = 0x9048;
|
|
private static final int GL_GPU_MEM_INFO_CURRENT_AVAILABLE_MEM_NVX = 0x9049;
|
|
|
|
private static boolean supported, initialized;
|
|
|
|
public static int getMaxMemoryKB(){
|
|
return hasMemoryInfo() ? Gl.getInt(GL_GPU_MEM_INFO_TOTAL_AVAILABLE_MEM_NVX) : 0;
|
|
}
|
|
|
|
public static int getAvailableMemoryKB(){
|
|
return hasMemoryInfo() ? Gl.getInt(GL_GPU_MEM_INFO_CURRENT_AVAILABLE_MEM_NVX) : 0;
|
|
}
|
|
|
|
public static boolean hasMemoryInfo(){
|
|
if(!initialized){
|
|
supported = Core.graphics.supportsExtension("GL_NVX_gpu_memory_info");
|
|
initialized = true;
|
|
}
|
|
return supported;
|
|
}
|
|
} |