gl_cmap shader compilation failed

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-sdr@lists.osmocom.org/.

Sipos Csaba dchardware at gmail.com
Tue Jan 19 23:31:43 UTC 2021


Hi Sylvain,

Thanks for the help!

I recompiled and reinstalled gr-fosphor with your modifications, but the
output of the error is exactly the same. Maybe I need to enable debugging
somewhere else as well?

Regards,
Csaba

Sylvain Munaut <tnt at 246tnt.com> ezt írta (időpont: 2021. jan. 19., K, 9:18):

> Hi,
>
> > [!] gl_cmap shader compilation failed (cmap_simple.glsl)
> > [w] Color map shader 'simple' failed to load, will use fallback
> > [!] gl_cmap shader compilation failed (cmap_bicubic.glsl)
> > [w] Color map shader 'bicubic' failed to load, will use fallback
> > [!] gl_cmap shader compilation failed (cmap_fallback.glsl)
> > [!] Color map shader 'fallback' failed, aborting
> > gr::log :ERROR: qt_sink_c0 - Failed to initialize fosphor
>
> :/
>
> In theory it's supposed to print the compile log from the driver
> (which ideally would show why it failed), but apparently the driver
> didn't return any logs so that mean I have no clue whatsoever why it
> would have failed
>
> Try to add some more debugging to the GL calls preceding the error :
>
>
> --- a/lib/fosphor/gl_cmap.c
> +++ b/lib/fosphor/gl_cmap.c
> @@ -60,6 +60,15 @@ struct fosphor_gl_cmap_ctx {
>  /* Helpers / Internal API
>         */
>  /*
> --------------------------------------------------------------------------
> */
>
> +static void
> +gl_check(const char *s)
> +{
> +       GLenum x;
> +       if ((x = glGetError()) != GL_NO_ERROR) {
> +               fprintf(stderr, "[!] GL Error %d at %s\n", x, s);
> +       }
> +}
> +
>  static int
>  gl_cmap_init_shader(struct gl_cmap_shader *shader, const char *name)
>  {
> @@ -73,11 +82,15 @@ gl_cmap_init_shader(struct gl_cmap_shader *shader,
> const char *name)
>
>         /* Allocate shader */
>         shader->prog = glCreateProgram();
> +       gl_check("glCreateProgram");
>         shader->shader = glCreateShader(GL_FRAGMENT_SHADER);
> +       gl_check("glCreateShader");
>
>         /* Compile / Link / Attach */
>         glShaderSource(shader->shader, 1, (const char **)&shader_src,
> NULL);
> +       gl_check("glShaderSource");
>         glCompileShader(shader->shader);
> +       gl_check("glCompileShader");
>
>         /* Check success and compile log */
>         glGetShaderiv(shader->shader, GL_COMPILE_STATUS, &orv);
>
>
>
>
> > The app is running, but the render area of the spectrum is completely
> blank.
> >
> > I am on your "gr3.8" branch. OpenCL is exactly the same as on Ubuntu
> 18.04 (I need the older 340 Nvidia driver on my old NVS 4200M, if you
> remember), GLFW is the latest master. Everything compiles just fine, only
> at runtime this issue presents itself.
>
> This is unrelated to OpenCL.
> Theses shaders are purely OpenGL stuff.
>
> Cheers,
>
>     Sylvain
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/osmocom-sdr/attachments/20210120/7369ce05/attachment.htm>


More information about the osmocom-sdr mailing list