Skip to content

context.h/mtypes.h split + cleanup

Dave Airlie requested to merge airlied/mesa:mtypes-cleanups into main

This series is based on !14433 (merged) and takes things a bit further.

It splits a bunch of things out from mtypes.h

gl_extensions gl_shader_compiler_options gl_precision gl_program_constants gl_constants get splits into main/consts_exts.h

gl_shader_info enum gl_compile_status gl_shader gl_linked_shader enum gl_link_status gl_shader_program_data gl_shader_program gl_program gl_active_atomic_buffer gl_transform_feedback_varying_info gl_transform_feedback_output gl_transform_feedback_buffer gl_transform_feedback_info gl_subroutine_function gl_program_resource gl_uniform_buffer_variable gl_uniform_block gl_bindless_sampler gl_bindless_image gl_shader_variable are all split out into main/shader_types.h

gl_config splits into main/glconfig.h

Then the GLSL compiler use of mtypes.h is taken down to places where it just needs to access inside ctx-> and a couple of other places are cleaned up to avoid these.

This should make changing gl_context a lot less onerous and avoid a lot of pointless recompiles of the GLSL compiler.

gl_config is also used in the gallium state tracker code so best to keep it clean on it's own.

marked WIP while the other resolves, but also for discussion.

Edited by Dave Airlie

Merge request reports