nouveau/ws: PUSH_IMMD only works with 16 bit values
authorKarol Herbst <kherbst@redhat.com>
Tue, 7 Jun 2022 00:54:20 +0000 (02:54 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 21:31:53 +0000 (21:31 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

src/nouveau/winsys/nouveau_push.h

index 1ad8ba2..dbf9f82 100644 (file)
@@ -231,6 +231,7 @@ void nouveau_ws_push_reset(struct nouveau_ws_push *);
 #define PUSH_NVIM(p,c,m,d) do {             \
        struct nouveau_ws_push *__p = (p);        \
        uint32_t __d = (d);                      \
+       assert(!(__d & ~0xffff) && "immediate value must be 16 bit"); \
        PUSH_IMMD_HDR(__p, c, m, __d);      \
        __p->map--;                         \
        PUSH_PRINTF(__p, "%08x-> "#m, __d); \