Skip to content

WIP: RFC: vrend - support a draw_vbo code path that doesn't check for certain errors

Gert Wollny requested to merge gerddie/virglrenderer:no-error-draw into master

This code path does not check whether the guest tries to use features that the host didn't advertise, and it also doesn't check whether the vertex arrays are correctly set up.

This reduces the time spent in the draw call and measurements with the Unigine Heaven benchmark showed that the framerate goes up about 1-2% on a radeonsi (Polaris) host.

Depending on the host implementation of the OpenGL library this might result in a crash of the VM though if a malicious guest were to sent a command stream that would result in calling one of these non-supported functions, e.g. epoxy might trigger and assertion failure instead of just signalling an error.

The feature can be enabled on the host side by specifying the environment variable VREND_NO_ERROR_DRAW.

WIP: because it is on top of !466 (merged) and also because we should discuss if doing makes actually sense.

Merge request reports