Skip to content

global: eliminate `priv` indirections

Niklas Haas requested to merge no_priv into master

This has some advantages:

  • one fewer pointer to dereference per object
  • leaks fewer internal implementation details

And some drawbacks:

  • can no longer peek inside pl_pass_params.target_dummy, but this was not really useful anyways
  • dummy.c got slightly uglier
  • pl_fmt.priv can no longer directly point at the underlying fmt
  • can no longer use priv structs as talloc contexts (but this shouldn't be done anyway, with vk being the exception)

In addition to eliminating priv, I also decided to eliminate the pl_gpu_fns indirection. pl_gpus are now directly "cast down" to pl_gpu_fns by the gpu.c helpers.

Merge request reports