openframeworks / openframeworks/openFrameworks

GL_ARB_texture_float on Intel Iris and Nvidia

Open
#6,746 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
10.4k
Forks
2.6k
Avg merge
1d 21h
Merged PRs (30d)
9

Description

Hi folks!

(I'm posting on the forum and also here, because maybe it's something under the hood. Hope it's okay.)

Got a problem here with some compute shaders. If I understood correctly, the issue relies on GL_ARB_texture_float extension.

On the CPU, I'm creating the textures with the internal format GL_RGBA16F.
On the compute shader, the layouts are set as rgba16.

And yet, I got nothing.

This works perfectly on two other PCs I have with AMD GPUs.
Or, if I switch to RGB8, I can see some stuff but it doesn't have the precision I need.

I'm running on the maximum supported openGL version, which because of the Intel Iris, is 4.4.
I also have the Intel Iris drivers up-to-date, and according to them the extension is supported.

When I run the glInfoExample on the Intel Iris, it says that GL_ARB_texture_float is on the available extensions. But when I run on my app, or try to enable it on the shader, it's not available.

(Edit: Also, when I do ofGLCheckExtension("GL_ARB_texture_float") it returns false.)

(Edit 2: Forgot to mention that the computeShaderTextureExample runs fine on the Intel Iris, but that just uses GL_RGBA8 and GL_R8.)

Edit 3: Same happens on Nvidia. It seems that when it’s running on openGL 2.1 the extension is enabled, but not on 3.2+.

So it seems that the change for the Programmable Renderer is disabling the extension on Intel and Nvidia. Any suggestions for a new step?

Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin with glInfoExample and computeShaderTextureExample on Intel Iris and Nvidia, comparing their reported extensions and texture formats. Trace the Programmable Renderer path and ofGLCheckExtension("GL_ARB_texture_float") behavior; done means explaining or correcting why GL_RGBA16F/rgba16 fails on these drivers while the examples and AMD systems work.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.