Introduce an eGL base helper class which provides an eGL context based on a passed width and height. The initGLContext function could be overloaded to provide an interface to a real display. A set of helper functions is provided to compile and link GLSL shaders. linkShaderProgram currently compiles vertex/fragment pairs but could be overloaded or passed a parameter to link a compute shader instead. Breaking the eGL interface away from debayering - allows to use the eGL context inside of a dma-buf heap cleanly, reuse that context inside of a debayer layer and conceivably reuse the context in a multi-stage shader pass. Small note the image_attrs[] array doesn't pass checkstyle.py however the elements of the array are in pairs. Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com> [bod: Takes fix from Hans for constructor stride bpp] [bod: Drops eglClientWaitSync in favour of glFinish Robert/Milan] Co-developed-by: Hans de Goede <johannes.goede@oss.qualcomm.com> Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com> Co-developed-by: Milan Zamazal <mzamazal@redhat.com> Signed-off-by: Milan Zamazal <mzamazal@redhat.com> Reviewed-by: Robert Mader <robert.mader@collabora.com> Tested-by: Robert Mader <robert.mader@collabora.com> Tested-by: Hans de Goede <johannes.goede@oss.qualcomm.com> # ThinkPad T14s gen 6 (arm64) ov02c10 + X1c gen 12 ov08x40 Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com> # Lenovo X13s Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
67 lines
1.5 KiB
Meson
67 lines
1.5 KiB
Meson
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
subdir('tracepoints')
|
|
|
|
libcamera_internal_headers = files([
|
|
'bayer_format.h',
|
|
'byte_stream_buffer.h',
|
|
'camera.h',
|
|
'camera_controls.h',
|
|
'camera_lens.h',
|
|
'camera_manager.h',
|
|
'camera_sensor.h',
|
|
'camera_sensor_properties.h',
|
|
'clock_recovery.h',
|
|
'control_serializer.h',
|
|
'control_validator.h',
|
|
'converter.h',
|
|
'debug_controls.h',
|
|
'delayed_controls.h',
|
|
'device_enumerator.h',
|
|
'device_enumerator_sysfs.h',
|
|
'device_enumerator_udev.h',
|
|
'dma_buf_allocator.h',
|
|
'formats.h',
|
|
'framebuffer.h',
|
|
'egl.h',
|
|
'gbm.h',
|
|
'global_configuration.h',
|
|
'ipa_data_serializer.h',
|
|
'ipa_manager.h',
|
|
'ipa_module.h',
|
|
'ipa_proxy.h',
|
|
'ipc_pipe.h',
|
|
'ipc_unixsocket.h',
|
|
'mapped_framebuffer.h',
|
|
'matrix.h',
|
|
'media_device.h',
|
|
'media_object.h',
|
|
'media_pipeline.h',
|
|
'pipeline_handler.h',
|
|
'process.h',
|
|
'pub_key.h',
|
|
'request.h',
|
|
'shared_mem_object.h',
|
|
'source_paths.h',
|
|
'sysfs.h',
|
|
'v4l2_device.h',
|
|
'v4l2_pixelformat.h',
|
|
'v4l2_request.h',
|
|
'v4l2_subdevice.h',
|
|
'v4l2_videodevice.h',
|
|
'vector.h',
|
|
'yaml_parser.h',
|
|
])
|
|
|
|
tracepoints_h = custom_target(
|
|
'tp_header',
|
|
input : ['tracepoints.h.in', tracepoint_files],
|
|
output : 'tracepoints.h',
|
|
command : [gen_tracepoints, include_build_dir, '@OUTPUT@', '@INPUT@'],
|
|
)
|
|
|
|
libcamera_internal_headers += tracepoints_h
|
|
|
|
subdir('converter')
|
|
subdir('software_isp')
|