debug: Introduce "strict" build option
virglrenderer is permissive for errors and it often emits messages with vrend_printf() in an abnormal situation. The behavior is preferrable for real use, but not for testing.
The new "strict" build option introduces alternative behaviors effective to catch such errors in the following two situations:
- When the guest issues invalid commands. Such guest errors are now trapped with report_guest_errorf() in vrend_renderer.c or warnf() in vrend_shader.c and invalidates the context in "strict" build.
- When the host encounters unexpected but non-fatal internal errors. In such a case, vrend_printf() is replaced with vrend_unhandled_warnf(), which aborts after logging in "strict" build.
The earlier commits fix some problems detected with this change.
Signed-off-by: Akihiko Odaki akihiko.odaki@gmail.com