Hi Sylvain,
Since I switched to Ubuntu 20.04, I am not able to get Posphor working with osmocom_fft. I am getting the following error:
[!] 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
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.
If you have any idea, that would be lovely.
Regards, Csaba
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
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@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