Shader programs are submitted for linking in the host driver twice as frequently as for native applications due to circular shader dependencies, immediate TGSI conversion, and explicit shader variant selection ordering at draw-time. Circular dependencies are resolved by re-running shader variant selection twice before emitting calling glUseProgram() in the host. The cost of this workaround is that GLSL is still emitted to the host driver for compilation into intermediate/native instructions even for unused shader variants, but the extraneous linking has been eliminated. Workaround for #180. v2: changed shader select order on second pass; only select frag shader once. Signed-off-by: Ryan Neph <ryanneph@google.com> Reviewed-by: Gert Wollny <gert.wollny@collabora.com>macos/master
parent
22cbf5fc12
commit
2d99aa61c6
Loading…
Reference in new issue