Beispiel #1
0
  static GLX12 create(java.util.Set<String> ext, FunctionProvider provider) {
    if (!ext.contains("GLX12")) return null;

    GLX12 funcs = new GLX12(provider);

    boolean supported = checkFunctions(funcs.GetCurrentDisplay);

    return GL.checkExtension("GLX12", funcs, supported);
  }
  static ARBTextureBarrier create(java.util.Set<String> ext, FunctionProvider provider) {
    if (!ext.contains("GL_ARB_texture_barrier")) return null;

    ARBTextureBarrier funcs = new ARBTextureBarrier(provider);

    boolean supported = checkFunctions(funcs.TextureBarrier);

    return GL.checkExtension("GL_ARB_texture_barrier", funcs, supported);
  }
  static ARBComputeVariableGroupSize create(java.util.Set<String> ext, FunctionProvider provider) {
    if (!ext.contains("GL_ARB_compute_variable_group_size")) return null;

    ARBComputeVariableGroupSize funcs = new ARBComputeVariableGroupSize(provider);

    boolean supported = checkFunctions(funcs.DispatchComputeGroupSizeARB);

    return GL.checkExtension("GL_ARB_compute_variable_group_size", funcs, supported);
  }
  static GLXSGIXSwapGroup create(java.util.Set<String> ext, FunctionProvider provider) {
    if (!ext.contains("GLX_SGIX_swap_group")) return null;

    GLXSGIXSwapGroup funcs = new GLXSGIXSwapGroup(provider);

    boolean supported = checkFunctions(funcs.JoinSwapGroupSGIX);

    return GL.checkExtension("GLX_SGIX_swap_group", funcs, supported);
  }
  static NVPixelDataRange create(java.util.Set<String> ext, FunctionProvider provider) {
    if (!ext.contains("GL_NV_pixel_data_range")) return null;

    NVPixelDataRange funcs = new NVPixelDataRange(provider);

    boolean supported = checkFunctions(funcs.PixelDataRangeNV, funcs.FlushPixelDataRangeNV);

    return GL.checkExtension("GL_NV_pixel_data_range", funcs, supported);
  }
  static WGLNVGPUAffinity create(java.util.Set<String> ext, FunctionProvider provider) {
    if (!ext.contains("WGL_NV_gpu_affinity")) return null;

    WGLNVGPUAffinity funcs = new WGLNVGPUAffinity(provider);

    boolean supported =
        checkFunctions(
            funcs.EnumGpusNV,
            funcs.EnumGpuDevicesNV,
            funcs.CreateAffinityDCNV,
            funcs.EnumGpusFromAffinityDCNV,
            funcs.DeleteDCNV);

    return GL.checkExtension("WGL_NV_gpu_affinity", funcs, supported);
  }
  static WGLNVDXInterop create(java.util.Set<String> ext, FunctionProvider provider) {
    if (!ext.contains("WGL_NV_DX_interop")) return null;

    WGLNVDXInterop funcs = new WGLNVDXInterop(provider);

    boolean supported =
        checkFunctions(
            funcs.DXSetResourceShareHandleNV,
            funcs.DXOpenDeviceNV,
            funcs.DXCloseDeviceNV,
            funcs.DXRegisterObjectNV,
            funcs.DXUnregisterObjectNV,
            funcs.DXObjectAccessNV,
            funcs.DXLockObjectsNV,
            funcs.DXUnlockObjectsNV);

    return GL.checkExtension("WGL_NV_DX_interop", funcs, supported);
  }
  static GLXAMDGPUAssociation create(java.util.Set<String> ext, FunctionProvider provider) {
    if (!ext.contains("GLX_AMD_gpu_association")) return null;

    GLXAMDGPUAssociation funcs = new GLXAMDGPUAssociation(provider);

    boolean supported =
        checkFunctions(
            funcs.BlitContextFramebufferAMD,
            funcs.CreateAssociatedContextAMD,
            funcs.CreateAssociatedContextAttribsAMD,
            funcs.DeleteAssociatedContextAMD,
            funcs.GetContextGPUIDAMD,
            funcs.GetCurrentAssociatedContextAMD,
            funcs.GetGPUIDsAMD,
            funcs.GetGPUInfoAMD,
            funcs.MakeAssociatedContextCurrentAMD);

    return GL.checkExtension("GLX_AMD_gpu_association", funcs, supported);
  }
  static AMDPerformanceMonitor create(java.util.Set<String> ext, FunctionProvider provider) {
    if (!ext.contains("GL_AMD_performance_monitor")) return null;

    AMDPerformanceMonitor funcs = new AMDPerformanceMonitor(provider);

    boolean supported =
        checkFunctions(
            funcs.GetPerfMonitorGroupsAMD,
            funcs.GetPerfMonitorCountersAMD,
            funcs.GetPerfMonitorGroupStringAMD,
            funcs.GetPerfMonitorCounterStringAMD,
            funcs.GetPerfMonitorCounterInfoAMD,
            funcs.GenPerfMonitorsAMD,
            funcs.DeletePerfMonitorsAMD,
            funcs.SelectPerfMonitorCountersAMD,
            funcs.BeginPerfMonitorAMD,
            funcs.EndPerfMonitorAMD,
            funcs.GetPerfMonitorCounterDataAMD);

    return GL.checkExtension("GL_AMD_performance_monitor", funcs, supported);
  }