When draw state uses depth, check if the framebuffer has a depth attachment.
This test is failing for overlay_image background images which seems to be the cause for T100034: Glitches with new AMD drivers (Adrenalin 22.7.1 or 22.8.2) when overlay has transparent images.
This patch makes sure that this invalid state is shown to developers.
libsystem_kernel.dylib!__pthread_kill (Unknown Source:0) libsystem_pthread.dylib!pthread_kill (Unknown Source:0) libsystem_c.dylib!abort (Unknown Source:0) Blender!_BLI_assert_abort (/Users/jeroen/blender-git/blender/source/blender/blenlib/intern/BLI_assert.c:46) Blender!drw_validate_state (/Users/jeroen/blender-git/blender/source/blender/draw/intern/draw_manager_exec.c:969) Blender!draw_shgroup (/Users/jeroen/blender-git/blender/source/blender/draw/intern/draw_manager_exec.c:1015) Blender!drw_draw_pass_ex (/Users/jeroen/blender-git/blender/source/blender/draw/intern/draw_manager_exec.c:1216) Blender!DRW_draw_pass (/Users/jeroen/blender-git/blender/source/blender/draw/intern/draw_manager_exec.c:1256) Blender!OVERLAY_image_background_draw (/Users/jeroen/blender-git/blender/source/blender/draw/engines/overlay/overlay_image.c:469) Blender!OVERLAY_draw_scene (/Users/jeroen/blender-git/blender/source/blender/draw/engines/overlay/overlay_engine.c:572) Blender!drw_engines_draw_scene (/Users/jeroen/blender-git/blender/source/blender/draw/intern/draw_manager.c:1083) Blender!DRW_draw_render_loop_ex (/Users/jeroen/blender-git/blender/source/blender/draw/intern/draw_manager.c:1726) Blender!DRW_draw_view (/Users/jeroen/blender-git/blender/source/blender/draw/intern/draw_manager.c:1606) Blender!view3d_draw_view (/Users/jeroen/blender-git/blender/source/blender/editors/space_view3d/view3d_draw.c:1540) Blender!view3d_main_region_draw (/Users/jeroen/blender-git/blender/source/blender/editors/space_view3d/view3d_draw.c:1562) Blender!ED_region_do_draw (/Users/jeroen/blender-git/blender/source/blender/editors/screen/area.c:546) Blender!wm_draw_window_offscreen (/Users/jeroen/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:944) Blender!wm_draw_window (/Users/jeroen/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:1111) Blender!wm_draw_update (/Users/jeroen/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:1371) Blender!WM_main (/Users/jeroen/blender-git/blender/source/blender/windowmanager/intern/wm.c:646)
I didn't add it into the GPU module as I couldn't locate a nice entry point. In the
draw manager this is isolated.
Should also be added to the new draw manager.