Hi David,

On Thu, 07 Jul 2022 08:47:45 -0300
David Bremner <brem...@debian.org> wrote:

> Ricardo Mones <mo...@debian.org> writes:
> 
> >
> > Indeed, seems something specific, had never seen a similar error. A list
> > of questions which I think would be useful to know before forwarding this
> > upstream:
[…]
> >  • Are compute shaders supported? (glxinfo | grep ARB_compute_shader)  
> 
> That seems to be the problem, nothing found. According to the xorg page
> 
>      https://www.x.org/wiki/RadeonFeature/
> 
> the hardware does not support compute shaders? Or at least they write
> "N/A".
> 
> I'm not sure you'll get much sympathy upstream, but IMHO the error
> message could be improved in any case.

Agreed, as currently is pretty obscure, IMHO.

Could you build zutty on your system with the attached patch and check if it
improves somehow?

thanks in advance,
-- 
 Ricardo Mones
 http://people.debian.org/~mones
 «You think Oedipus had a problem -- Adam was Eve's mother.»
diff --git a/src/charvdev.cc b/src/charvdev.cc
index 7eb1979..4620292 100644
--- a/src/charvdev.cc
+++ b/src/charvdev.cc
@@ -396,6 +396,7 @@ namespace zutty
       : px (fontpk->getPx ())
       , py (fontpk->getPy ())
    {
+      checkExtensions ();
       createShaders ();
 
       /*
@@ -638,6 +639,20 @@ namespace zutty
 
    // private methods
 
+   void
+   CharVdev::checkExtensions ()
+   {
+        const GLubyte* what = glGetString(GL_EXTENSIONS);
+        char* p = strtok ((char *) what, " ");
+        while (p) {
+            if (strstr (p, "compute") != NULL)
+                return;
+            p = strtok (nullptr, " ");
+        }
+        logE << "sorry, your OpenGL doesn't have compute shaders\n" << std::endl;
+        exit (1);
+   }
+
    void
    CharVdev::createShaders ()
    {
diff --git a/src/charvdev.h b/src/charvdev.h
index ae94fc4..2135407 100644
--- a/src/charvdev.h
+++ b/src/charvdev.h
@@ -133,6 +133,7 @@ namespace zutty
 
       Cell * cells = nullptr; // valid pointer if mapped, else nullptr
 
+      void checkExtensions ();
       void createShaders ();
    };
 

Attachment: pgplV_ENWgvga.pgp
Description: Firma digital OpenPGP

Reply via email to