[GPlates-discuss] openGL error

John Cannon john.cannon at sydney.edu.au
Wed Jan 10 16:30:33 AEDT 2018


Hi Andy and Bruce,

Thanks for confirming your graphics chipsets (and confirming the OpenGL 4 features!).

These Intel GPUs are more than capable of all GPlates functionality (the highest requirement being OpenGL 3). But despite this, the problem you are having still happens with GPlates on some of these more-than-capable Intel GPUs/drivers (see 'gory detail' section below).

A recent workaround has been implemented (that will be in the next GPlates release 2.1 around Feb) that allows you to load (or import) a 3D scalar field on these systems, but if you click on the "Enable surface polygons mask" check box then the error message (see attached screenshot) should appear, and then the check box will get disabled (so can't get clicked again). Which basically means you can now view isosurfaces and cross-sections, but without surface masking (on these systems).

Also if you are on a dual-GPU system (one with an integrated GPU, eg Intel; and a dedicated GPU, eg Nvidia) you could try switching to the dedicated GPU manually (since the integrated Intel GPU is having the problem). On dual GPU systems this is sometimes needed because from what I've read, when the GPU is not forced by the user, the graphics driver decides when to automatically switch GPUs. Here's an article referring to the Nvidia control panel...

https://protect-au.mimecast.com/s/jUcVCP7yOZtNoPyBiz3p48?domain=techadvisor.co.uk





/gory detail on/

While much of GPlates uses new OpenGL functionality, there is still much of GPlates that uses the old fixed-functionality deprecated in OpenGL 3.0 (OpenGL deprecated quite a large amount of functionality to provide a clean break from the legacy OpenGL API as graphics hardware transitioned from using fixed/hardwired functionality to programmable shader programs). GPlates gets around this deprecation by relying on backward-compatibility support in graphics drivers. This enables GPlates to support graphics hardware dating all the way back to OpenGL 1.1 (ie, ancient) while optionally supporting things like 3D volume visualization for more recent graphics hardware (via OpenGL extensions). It all seems to be holding together quite well for GPlates on most systems, but it will likely become more problematic as new drivers/hardware are released over time. This is because backward compatibility in graphics drivers will start to fall through the cracks since it's actually a pain for driver writers to support OpenGL 3+ and legacy OpenGL together. And I think we're seeing this a bit with the Intel drivers since it appears they're partially removing/renaming 'texture2D()' (but only in 'geometry' shaders) whereas Nvidia and AMD still support it. So instead of relying on the drivers, in the long term GPlates will ideally need to have separate code paths for legacy OpenGL and OpenGL 3+. GPlates has a roadmap for this, but it's not trivial by any means. The first stage has been completed (for other reasons actually), which is an engine/wrapper around OpenGL (instead of calling OpenGL directly as was done in the past). This should hopefully enable the two code paths to be implemented inside the wrapper (isolating it away from the rest of GPlates). Actually this problem with Intel drivers is really the first indication of this issue so far.

/gory detail off/

Regards,
John

________________________________
From: GPlates-discuss [gplates-discuss-bounces at mailman.sydney.edu.au] on behalf of Eglington, Bruce [bruce.eglington at usask.ca]
Sent: Wednesday, 10 January 2018 1:33 AM
To: GPlates general discussion mailing list
Subject: Re: [GPlates-discuss] openGL error

Hi
  Will have to wait for John Cannon’s input.

I have the same graphics card and OpenGL version but with 80% of OpenGL 4.4 core features, 9% of 4.5 and 9% of 4.6 and 8% of ARB2015. I have the most up-to-date version of DirectX installed (just checked).

Bruce


Bruce Eglington (Ph.D.)
Murray Pyke Chair
Geological Sciences
University of Saskatchewan
114 Science Place
Saskatoon
SK
S7N 5E2
Canada

bruce.eglington at usask.ca<mailto:bruce.eglington at usask.ca>
+1-306-966-5732

From: GPlates-discuss [mailto:gplates-discuss-bounces at mailman.sydney.edu.au] On Behalf Of Andrew Parsons
Sent: Tuesday, January 9, 2018 08:18
To: GPlates general discussion mailing list <gplates-discuss at mailman.sydney.edu.au>
Subject: Re: [GPlates-discuss] openGL error

Interesting - Im running windows 8.1 on a Lenovo. My graphic card is an Intel(R) HG Graphics 4400. I have OpenGL 4.3. All drivers are up to date.

OpenGL has 100% functionality on all core features up to version 4.3 of OpenGL. My graphics card has 40 % functionality of all OpenGL 4.4 core features, 9% functionality of all OpenGL 4.5 core features and 0% of all OpenGL 4.6 core features.

There does not seem to be a way to update these missing OpenGL features so perhaps these are the missing OpenGL functionalities that GPlates needs to import 3D scalar fields.

Any further help or advice you can provide will be greatly appreciated.
Cheers
Andy
________________________________
From: GPlates-discuss [gplates-discuss-bounces at mailman.sydney.edu.au] on behalf of Eglington, Bruce [bruce.eglington at usask.ca]
Sent: 09 January 2018 14:08
To: GPlates general discussion mailing list
Subject: Re: [GPlates-discuss] openGL error
Hi
  Interestingly, I just tried on my computer (a modern Lenovo laptop running Windows 10) and get the same error so I suspect the issue is more fundamental than just your specific computer.

Bruce


Bruce Eglington (Ph.D.)
Murray Pyke Chair
Geological Sciences
University of Saskatchewan
114 Science Place
Saskatoon
SK
S7N 5E2
Canada

bruce.eglington at usask.ca<mailto:bruce.eglington at usask.ca>
+1-306-966-5732

From: GPlates-discuss [mailto:gplates-discuss-bounces at mailman.sydney.edu.au] On Behalf Of Andrew Parsons
Sent: Tuesday, January 9, 2018 06:49
To: john.cannon at sydney.edu.au<mailto:john.cannon at sydney.edu.au>; gplates-discuss at mailman.sydney.edu.au<mailto:gplates-discuss at mailman.sydney.edu.au>
Subject: [GPlates-discuss] openGL error

Hi,

I keep getting an error whenever i click on 'Import 3D scalar field':

"Error: Cannot import or render scalar fields on this graphics hardware - necessary OpenGL funcitonality missing"

Take a look at the attached jpegs for the full message. Please can you tell me if there is anything I can do to fix this issue? Based on what the error message says it looks like the only fix would be to get a better graphics card - is this correct?

If so, please can you tell what specifications of graphics card I need to load 3d scalar fields

Cheers
Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.sydney.edu.au/pipermail/gplates-discuss/attachments/20180110/f7b86586/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Capture.PNG
Type: image/png
Size: 42089 bytes
Desc: Capture.PNG
URL: <http://mailman.sydney.edu.au/pipermail/gplates-discuss/attachments/20180110/f7b86586/attachment-0001.png>


More information about the GPlates-discuss mailing list