[Fixed] OpenGL 4.0 - Tessellation v1 - No text/logos in viewport.

Started by Dorian, December 24, 2018, 11:21:28 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dorian

Hi,

Issue is visible on Intel Gfx, since GPU Caps Viewer 1.39.
It used to work up to 1.38.2.1, and there is no issue on NVidia Gfx.
It happens both on old drivers and new.

To reproduce it:
1. Launch GPU Caps Viewer 1.39 or 1.40 on Intel.
2. Open 3D demos
3. From GeeXLab demos choose "OpenGL - Tessellation v1" and click start.
Result: Torus is shown correctly, but no logos and text is rendered.

It looks like demo issue. I captured apitrace on NVidia and rendered it correctly on Intel.

Looking at scripts, I noticed an error in file:
"GPU_Caps_Viewer_1.40.0.0\GPU_Caps_Viewer\gxldemos\libs\lua\framework_v1\kx_gl.lua"

It is:
  local vs = ""
  local ps = ""
  if (gh_renderer.is_opengl_es() == 1) then
    vs = vs_gles2
    ps = ps_gles2
  else
    if (gh_renderer.get_api_version_major() < 3) then
      vs = vs_gl2
      ps = ps_gl2
    else
      if (gh_renderer.get_api_version_major() == 3) then
      if (gh_renderer.get_api_version_minor() < 2) then
        vs = vs_gl30
        ps = ps_gl30
      else
        vs = vs_gl32
        ps = ps_gl32
      end
      end
      if (gh_renderer.get_api_version_minor() > 3) then
        vs = vs_gl32
        ps = ps_gl32
      end
      // Dorian note: What about 4.0, 4.1, 4.2, 4.3 ??
    end
  end

I think it should be simpler:
local vs = ""
  local ps = ""
  if (gh_renderer.is_opengl_es() == 1) then
    vs = vs_gles2
    ps = ps_gles2
  else
    if (gh_renderer.get_api_version_major() < 3) then
      vs = vs_gl2
      ps = ps_gl2
    else
      if (gh_renderer.get_api_version_major() == 3 and
        gh_renderer.get_api_version_minor() < 2) then
        vs = vs_gl30
        ps = ps_gl30
      else
        vs = vs_gl32
        ps = ps_gl32
      end
    end
  end


This enables text.
Searching in apitrace I see that wglCreateContextAttribsARB is called with context 4.0.
Why it works on NVidia? I guess you get context 4.6 on NVidia when you request for 4.0.

It also shows another issue of OpenGL logo rotated and centered in viewport - I haven't looked into it yet.

JeGX

Thanks Dorian for the feedback.
I will look at the bugs and update the demo.

JeGX

The bug is fixed in the new GPU Caps Viewer 1.41.0 (I should release it very shortly):

GPU Caps Viewer - OpenGL tessellation demo - Intel GPU

Thanks once again for your feedback!

Dorian