freedreno/ir3: Handle GL_NONE in get_num_components_for_glformat()
authorEduardo Lima Mitev <elima@igalia.com>
Wed, 19 Dec 2018 08:18:04 +0000 (09:18 +0100)
committerEduardo Lima Mitev <elima@igalia.com>
Wed, 19 Dec 2018 21:49:05 +0000 (22:49 +0100)
An earlier patch that introduced the function failed to handle the case
where an image format layout qualifier is not specified, which is allowed
on desktop GL profiles. In these cases, nir_variable's image format is
GL_NONE, and we don't need to print a debug message for those.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@gmail.com>
src/freedreno/ir3/ir3_compiler_nir.c

index 19aef3eb27ed9d9632227b37a25538a37f21ba37..936c3277fff8c803bc29b85707f70d3c89d5ba2c 100644 (file)
@@ -1306,11 +1306,16 @@ get_num_components_for_glformat(GLuint format)
        case GL_RGB10_A2:
                return 4;
 
+       case GL_NONE:
+               /* Omitting the image format qualifier is allowed on desktop GL
+                * profiles. Assuming 4 components is always safe.
+                */
+               return 4;
+
        default:
                /* Return 4 components also for all other formats we don't know
-                * about. This is always safe. Also, the format should have been
-                * validated already by the higher level API. Drop a debug message
-                * just in case.
+                * about. The format should have been validated already by
+                * the higher level API, but drop a debug message just in case.
                 */
                debug_printf("Unhandled GL format %u while emitting imageStore()\n",
                                         format);