Hello Guest

[FIXED] new ATI 10.1 drivers don't support some GL1x functions?

  • 64 Replies
  • 84020 Views
*

Offline princec

  • *****
  • 1933
    • Puppygames
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #15 on: February 01, 2010, 17:37:01 »
New build out ASAP? I'd pull the old one too, as it doesn't work properly...

Cas :)

*

Offline spasi

  • *****
  • 2261
    • WebHotelier
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #16 on: February 01, 2010, 18:44:00 »
I'd say yes, we need a new build.

There's no point pulling the last one btw. The problem exists in every build since LWJGL 2.1.0, but it only triggered with the latest ATI driver.

edit: since 2.1.0, not 2.2.0
« Last Edit: February 03, 2010, 15:00:49 by spasi »

*

Offline Notch

  • *
  • 38
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #17 on: February 06, 2010, 21:08:50 »
I got the nightly 2.3 build, and it's still happening:


*

Offline spasi

  • *****
  • 2261
    • WebHotelier
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #18 on: February 07, 2010, 12:16:26 »
I cannot test the indev Minecraft version. The 3 public versions use an old 2.1.0 build that doesn't have this problem. Could you please add the following piece of code in Minecraft to help me out?

Code: [Select]
System.out.println("GL RENDERER: " + GL11.glGetString(GL11.GL_RENDERER));
System.out.println("GL VENDOR: " + GL11.glGetString(GL11.GL_VENDOR));
System.out.println("GL VERSION: " + GL11.glGetString(GL11.GL_VERSION));

ContextCapabilities caps = GLContext.getCapabilities();

System.out.println("OpenGL 3.0: " + caps.OpenGL30);
System.out.println("OpenGL 3.1: " + caps.OpenGL31);
System.out.println("OpenGL 3.2: " + caps.OpenGL32);
System.out.println("ARB_compatibility: " + caps.GL_ARB_compatibility);

if ( caps.OpenGL32 ) {
IntBuffer buffer = ByteBuffer.allocateDirect(16 * 4).order(ByteOrder.nativeOrder()).asIntBuffer();

GL11.glGetInteger(GL32.GL_CONTEXT_PROFILE_MASK, buffer);
int profileMask = buffer.get(0);

System.out.println("PROFILE MASK: " + Integer.toBinaryString(profileMask));

System.out.println("CORE PROFILE: " + ((profileMask & GL32.GL_CONTEXT_CORE_PROFILE_BIT) != 0));
System.out.println("COMPATIBILITY PROFILE: " + ((profileMask & GL32.GL_CONTEXT_COMPATIBILITY_PROFILE_BIT) != 0));
}

Feel free to replace println with whatever you use for logging and make sure you run the code immediately after creating the GL context (or at least before calling anything else in GL, especially anything deprecated).

I may have found the root of the problem anyway, but I'd appreciate it if you could help me verify it. Anyone else on ATI with 10.1 feel free to run this code as well.

*

Offline Matzon

  • *****
  • 2242
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #19 on: February 07, 2010, 13:29:22 »
thanks for working quickly on this - will release 2.3 shortly after confirmed fix.

*

Offline spasi

  • *****
  • 2261
    • WebHotelier
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #20 on: February 07, 2010, 15:18:33 »
Preferably, test with the next available build (build # > 384).

*

Offline Notch

  • *
  • 38
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #21 on: February 07, 2010, 17:02:49 »
Your account is now paid so you can test it. Thank you. =)

I updated to the latest LWJGL since the next build isn't available yet. This is what I get:

Quote
LWJGL version: 2.3
GL RENDERER: GeForce GTX 260/PCI/SSE2
GL VENDOR: NVIDIA Corporation
GL VERSION: 3.2.0
OpenGL 3.0: true
OpenGL 3.1: true
OpenGL 3.2: false
ARB_compatibility: true

*

Offline Matzon

  • *****
  • 2242
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #22 on: February 07, 2010, 17:05:00 »
I thought this issue was Ati specific ?

*

Offline Notch

  • *
  • 38
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #23 on: February 07, 2010, 17:13:25 »
Yes. it works for me. I just posted that for reference.

*

Offline spasi

  • *****
  • 2261
    • WebHotelier
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #24 on: February 07, 2010, 17:25:12 »
I tried the indev version and it works on my ATI, no exceptions or anything. But your report shows that there's a problem on NV as well. Could you please run Minecraft with -Dorg.lwjgl.util.Debug=true and let me know if any functions are reported as missing on context creation?

*

Offline Notch

  • *
  • 38
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #25 on: February 07, 2010, 17:32:39 »
It works? In 10.1? Well, that's good! :D

I create the context with just Display.create(). I'm not passing any parameters.

I get no warnings about missing functions here, all extra output I get from passing that flag is:

Code: [Select]
Initial mode: 1680 x 1050 x 32 @60Hz
OpenGL32 was reported as available but an entry point is missing
getPathFromClassLoader: searching for: OpenAL32
Failed to locate findLibrary method: java.lang.NoSuchMethodException: sun.misc.Launcher$AppClassLoader.findLibrary(java.lang.String)
Failed to locate findLibrary method: java.lang.NoSuchMethodException: java.net.URLClassLoader.findLibrary(java.lang.String)
Failed to locate findLibrary method: java.lang.NoSuchMethodException: java.security.SecureClassLoader.findLibrary(java.lang.String)
getPathFromClassLoader: searching for: lwjgl
Failed to locate findLibrary method: java.lang.NoSuchMethodException: sun.misc.Launcher$AppClassLoader.findLibrary(java.lang.String)
Failed to locate findLibrary method: java.lang.NoSuchMethodException: java.net.URLClassLoader.findLibrary(java.lang.String)
Failed to locate findLibrary method: java.lang.NoSuchMethodException: java.security.SecureClassLoader.findLibrary(java.lang.String)
getPathFromClassLoader: searching for: lwjgl
Failed to locate findLibrary method: java.lang.NoSuchMethodException: sun.misc.Launcher$AppClassLoader.findLibrary(java.lang.String)
Failed to locate findLibrary method: java.lang.NoSuchMethodException: java.net.URLClassLoader.findLibrary(java.lang.String)
Failed to locate findLibrary method: java.lang.NoSuchMethodException: java.security.SecureClassLoader.findLibrary(java.lang.String)
Found 32 OpenAL paths
T
Failed to load C:\Program Files (x86)\Java\jre6\bin\OpenAL64.dll: C
T
Failed to load .\OpenAL64.dll: C
T
Failed to load C:\Windows\Sun\Java\bin\OpenAL64.dll: C
T
Failed to load C:\Windows\system32\OpenAL64.dll: C
T
Failed to load C:\Windows\OpenAL64.dll: C
T
Failed to load C:/Program Files (x86)/Java/jre6/bin/client\OpenAL64.dll: C
T
Failed to load C:/Program Files (x86)/Java/jre6/bin\OpenAL64.dll: C
T
Failed to load C:\Program Files (x86)\JavaFX\javafx-sdk1.2\bin\OpenAL64.dll: C
T
Failed to load C:\Program Files (x86)\JavaFX\javafx-sdk1.2\emulator\bin\OpenAL64.dll: C
T
Failed to load C:\Windows\system32\OpenAL64.dll: C
T
Failed to load C:\Windows\OpenAL64.dll: C
T
Failed to load C:\Windows\System32\Wbem\OpenAL64.dll: C
T
Failed to load C:\Windows\System32\WindowsPowerShell\v1.0\\OpenAL64.dll: C
T
Failed to load C:\Program Files (x86)\Java\jdk1.6.0_17\bin\OpenAL64.dll: C
T
Failed to load E:\mc_dev\Minecraft.Client\OpenAL64.dll: C
T
Failed to load OpenAL64.dll: C
T
Failed to load C:\Program Files (x86)\Java\jre6\bin\OpenAL32.dll: C
T
F

*

Offline spasi

  • *****
  • 2261
    • WebHotelier
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #26 on: February 07, 2010, 17:52:43 »
Quote
OpenGL32 was reported as available but an entry point is missing

This is the important line. You should be getting a message that says which function is missing, not sure why it doesn't print.

*

Offline Notch

  • *
  • 38
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #27 on: February 07, 2010, 18:06:25 »
Oh, there's another line when I quit the game:

Code: [Select]
Could not locate symbol glGetInteger64i_v

*

Offline spasi

  • *****
  • 2261
    • WebHotelier
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #28 on: February 07, 2010, 18:58:10 »
OK, try the next build (hmm, why hasn't the previous one shown up yet?).

What I did is to allow certain functions to be made optional when loading an extension. LWJGL has always been checking for the availability of all the functions in an extension (or core GL version). When one of them was missing, it would make it so that the whole extension was not available. For now, I've marked the following functions as optional:

glDrawElementsBaseVertex (GL32)
glDrawRangeElementsBaseVertex (GL32)
glDrawElementsInstancedBaseVertex (GL32)

The above 3 are missing from the current ATI driver.

glGetInteger64i_v (GL32)

This one is missing from the current NV driver.

This means that, for example, you'll be able to use all GL32 functions on an NV implementation, but calling glGetInteger64i_v will throw an exception. Hopefully the latest commit fixes both AMD and NV issues.

*

Offline Endolf

  • ***
  • 101
    • http://www.computerbooth.com/
Re: new ATI 10.1 drivers don't support some GL1x functions?
« Reply #29 on: February 07, 2010, 19:04:56 »
OK, try the next build (hmm, why hasn't the previous one shown up yet?).

Because, almost without fail, the windows machines (either 32 or 64 bit) fall out of the farm whenever I go away. Just got back, win64 machines back in farm, building has resumed :)

Endolf