Similar changes were done before for views, that fixed actual issue when object couldn't and shouldn't have been created, but pointer was still used afterwards. These are the same kind of changes for shader objects. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/141