2021-10-07 03:15:25 +00:00
|
|
|
gsk_private_gl_shaders = [
|
|
|
|
'gl/resources/preamble.glsl',
|
|
|
|
'gl/resources/preamble.fs.glsl',
|
|
|
|
'gl/resources/preamble.vs.glsl',
|
|
|
|
'gl/resources/border.glsl',
|
|
|
|
'gl/resources/blit.glsl',
|
|
|
|
'gl/resources/coloring.glsl',
|
|
|
|
'gl/resources/color.glsl',
|
|
|
|
'gl/resources/linear_gradient.glsl',
|
|
|
|
'gl/resources/radial_gradient.glsl',
|
|
|
|
'gl/resources/conic_gradient.glsl',
|
|
|
|
'gl/resources/color_matrix.glsl',
|
|
|
|
'gl/resources/blur.glsl',
|
|
|
|
'gl/resources/inset_shadow.glsl',
|
|
|
|
'gl/resources/outset_shadow.glsl',
|
|
|
|
'gl/resources/unblurred_outset_shadow.glsl',
|
|
|
|
'gl/resources/cross_fade.glsl',
|
|
|
|
'gl/resources/blend.glsl',
|
|
|
|
'gl/resources/repeat.glsl',
|
|
|
|
'gl/resources/custom.glsl',
|
|
|
|
'gl/resources/filled_border.glsl',
|
2023-02-11 15:38:56 +00:00
|
|
|
'gl/resources/mask.glsl',
|
2023-10-21 18:29:49 +00:00
|
|
|
'gl/resources/external.glsl',
|
2023-12-14 14:46:51 +00:00
|
|
|
'gl/resources/premultiply.glsl',
|
2021-03-12 02:31:31 +00:00
|
|
|
]
|
|
|
|
|
2017-03-11 22:31:31 +00:00
|
|
|
gsk_public_sources = files([
|
2019-05-01 21:58:57 +00:00
|
|
|
'gskcairorenderer.c',
|
2023-07-08 14:15:22 +00:00
|
|
|
'gskdiff.c',
|
2020-09-18 15:46:57 +00:00
|
|
|
'gskglshader.c',
|
2023-11-09 19:07:15 +00:00
|
|
|
'gskoffload.c',
|
2023-07-08 14:15:22 +00:00
|
|
|
'gskpath.c',
|
|
|
|
'gskpathbuilder.c',
|
2023-08-13 15:08:22 +00:00
|
|
|
'gskpathmeasure.c',
|
2023-09-17 16:29:46 +00:00
|
|
|
'gskpathparser.c',
|
2023-07-08 14:15:22 +00:00
|
|
|
'gskpathpoint.c',
|
2016-11-03 08:47:00 +00:00
|
|
|
'gskrenderer.c',
|
|
|
|
'gskrendernode.c',
|
2017-03-11 22:31:31 +00:00
|
|
|
'gskrendernodeimpl.c',
|
2019-05-14 01:20:09 +00:00
|
|
|
'gskrendernodeparser.c',
|
2019-02-28 08:52:49 +00:00
|
|
|
'gskroundedrect.c',
|
2023-07-08 14:32:52 +00:00
|
|
|
'gskstroke.c',
|
2019-02-28 08:52:49 +00:00
|
|
|
'gsktransform.c',
|
2021-10-07 03:15:25 +00:00
|
|
|
'gl/gskglrenderer.c',
|
2017-03-11 22:31:31 +00:00
|
|
|
])
|
|
|
|
|
|
|
|
gsk_private_sources = files([
|
|
|
|
'gskcairoblur.c',
|
2023-07-08 14:15:22 +00:00
|
|
|
'gskcontour.c',
|
|
|
|
'gskcurve.c',
|
2016-11-03 08:47:00 +00:00
|
|
|
'gskdebug.c',
|
|
|
|
'gskprivate.c',
|
|
|
|
'gskprofiler.c',
|
2021-10-07 03:15:25 +00:00
|
|
|
'gl/gskglattachmentstate.c',
|
|
|
|
'gl/gskglbuffer.c',
|
|
|
|
'gl/gskglcommandqueue.c',
|
|
|
|
'gl/gskglcompiler.c',
|
|
|
|
'gl/gskgldriver.c',
|
|
|
|
'gl/gskglglyphlibrary.c',
|
|
|
|
'gl/gskgliconlibrary.c',
|
|
|
|
'gl/gskglprogram.c',
|
|
|
|
'gl/gskglrenderjob.c',
|
|
|
|
'gl/gskglshadowlibrary.c',
|
|
|
|
'gl/gskgltexturelibrary.c',
|
|
|
|
'gl/gskgluniformstate.c',
|
|
|
|
'gl/gskgltexture.c',
|
|
|
|
'gl/gskglprofiler.c',
|
|
|
|
'gl/stb_rect_pack.c',
|
|
|
|
'gl/fp16.c',
|
2023-08-21 00:18:37 +00:00
|
|
|
'gpu/gskglbuffer.c',
|
2023-08-12 20:10:16 +00:00
|
|
|
'gpu/gskgldevice.c',
|
2023-10-03 19:04:21 +00:00
|
|
|
'gpu/gskgldescriptors.c',
|
2023-08-12 20:10:16 +00:00
|
|
|
'gpu/gskglframe.c',
|
|
|
|
'gpu/gskglimage.c',
|
|
|
|
'gpu/gskgpublitop.c',
|
2023-09-18 05:51:14 +00:00
|
|
|
'gpu/gskgpublurop.c',
|
2023-09-10 21:19:42 +00:00
|
|
|
'gpu/gskgpuborderop.c',
|
2023-10-08 04:47:19 +00:00
|
|
|
'gpu/gskgpuboxshadowop.c',
|
2023-08-21 00:18:37 +00:00
|
|
|
'gpu/gskgpubuffer.c',
|
2023-08-30 19:57:41 +00:00
|
|
|
'gpu/gskgpubufferwriter.c',
|
2023-09-22 08:34:56 +00:00
|
|
|
'gpu/gskgpuclearop.c',
|
2023-08-21 00:18:37 +00:00
|
|
|
'gpu/gskgpuclip.c',
|
2023-09-16 17:29:30 +00:00
|
|
|
'gpu/gskgpucolorizeop.c',
|
2023-09-21 15:52:06 +00:00
|
|
|
'gpu/gskgpucolorop.c',
|
2023-10-03 19:04:21 +00:00
|
|
|
'gpu/gskgpudescriptors.c',
|
2023-08-12 20:10:16 +00:00
|
|
|
'gpu/gskgpudownloadop.c',
|
|
|
|
'gpu/gskgpudevice.c',
|
|
|
|
'gpu/gskgpuframe.c',
|
2023-08-21 00:18:37 +00:00
|
|
|
'gpu/gskgpuglobalsop.c',
|
2023-08-12 20:10:16 +00:00
|
|
|
'gpu/gskgpuimage.c',
|
2023-11-01 05:43:15 +00:00
|
|
|
'gpu/gskgpumipmapop.c',
|
2023-08-12 20:10:16 +00:00
|
|
|
'gpu/gskgpunodeprocessor.c',
|
|
|
|
'gpu/gskgpuop.c',
|
|
|
|
'gpu/gskgpuprint.c',
|
|
|
|
'gpu/gskgpurenderer.c',
|
2023-08-21 00:18:37 +00:00
|
|
|
'gpu/gskgpurenderpassop.c',
|
2023-10-06 22:27:59 +00:00
|
|
|
'gpu/gskgpuroundedcolorop.c',
|
2023-08-21 00:18:37 +00:00
|
|
|
'gpu/gskgpushaderop.c',
|
2023-08-28 08:42:04 +00:00
|
|
|
'gpu/gskgpuscissorop.c',
|
2023-10-31 18:21:59 +00:00
|
|
|
'gpu/gskgpustraightalphaop.c',
|
2023-08-21 00:18:37 +00:00
|
|
|
'gpu/gskgputextureop.c',
|
2023-08-30 19:57:41 +00:00
|
|
|
'gpu/gskgpuuberop.c',
|
2023-08-12 20:10:16 +00:00
|
|
|
'gpu/gskgpuuploadop.c',
|
|
|
|
'gpu/gsknglrenderer.c',
|
2016-11-03 08:47:00 +00:00
|
|
|
])
|
|
|
|
|
2021-05-05 22:58:23 +00:00
|
|
|
gsk_f16c_sources = files([
|
2021-10-07 03:15:25 +00:00
|
|
|
'gl/fp16i.c',
|
2021-05-05 22:58:23 +00:00
|
|
|
])
|
|
|
|
|
2017-03-17 23:43:36 +00:00
|
|
|
gsk_public_headers = files([
|
2019-05-01 21:58:57 +00:00
|
|
|
'gskcairorenderer.h',
|
2016-11-03 08:47:00 +00:00
|
|
|
'gskenums.h',
|
2020-09-18 15:46:57 +00:00
|
|
|
'gskglshader.h',
|
2023-07-08 14:15:22 +00:00
|
|
|
'gskpath.h',
|
|
|
|
'gskpathbuilder.h',
|
2023-08-13 15:08:22 +00:00
|
|
|
'gskpathmeasure.h',
|
2023-07-08 14:15:22 +00:00
|
|
|
'gskpathpoint.h',
|
2016-11-03 08:47:00 +00:00
|
|
|
'gskrenderer.h',
|
|
|
|
'gskrendernode.h',
|
2017-03-17 23:43:36 +00:00
|
|
|
'gskroundedrect.h',
|
2023-07-08 14:32:52 +00:00
|
|
|
'gskstroke.h',
|
2019-02-28 08:52:49 +00:00
|
|
|
'gsktransform.h',
|
2016-11-03 08:47:00 +00:00
|
|
|
'gsktypes.h',
|
|
|
|
])
|
2017-04-26 15:02:17 +00:00
|
|
|
install_headers(gsk_public_headers, 'gsk.h', subdir: 'gtk-4.0/gsk')
|
2017-03-18 13:07:38 +00:00
|
|
|
|
2019-05-02 00:13:16 +00:00
|
|
|
gsk_public_gl_headers = files([
|
2021-10-07 03:15:25 +00:00
|
|
|
'gl/gskglrenderer.h',
|
2019-05-02 00:13:16 +00:00
|
|
|
])
|
|
|
|
install_headers(gsk_public_gl_headers, subdir: 'gtk-4.0/gsk/gl')
|
|
|
|
gsk_public_headers += gsk_public_gl_headers
|
|
|
|
|
2020-04-25 01:38:52 +00:00
|
|
|
if get_variable('broadway_enabled')
|
|
|
|
gsk_public_broadway_headers = files([
|
|
|
|
'broadway/gskbroadwayrenderer.h'
|
|
|
|
])
|
|
|
|
install_headers(gsk_public_broadway_headers, subdir: 'gtk-4.0/gsk/broadway')
|
|
|
|
gsk_public_headers += gsk_public_broadway_headers
|
|
|
|
endif
|
2019-05-02 00:46:23 +00:00
|
|
|
|
2023-08-12 20:10:16 +00:00
|
|
|
if have_vulkan
|
|
|
|
gsk_public_vulkan_headers = files([
|
|
|
|
'vulkan/gskvulkanrenderer.h'
|
|
|
|
])
|
|
|
|
install_headers(gsk_public_vulkan_headers, subdir: 'gtk-4.0/gsk/vulkan')
|
|
|
|
gsk_public_headers += gsk_public_vulkan_headers
|
|
|
|
endif
|
|
|
|
|
2017-03-18 12:14:12 +00:00
|
|
|
gsk_private_vulkan_shaders = []
|
|
|
|
gsk_private_vulkan_compiled_shaders = []
|
2017-09-05 16:47:10 +00:00
|
|
|
gsk_private_vulkan_compiled_shaders_deps = []
|
2023-06-27 04:45:31 +00:00
|
|
|
gsk_private_vulkan_shader_headers = []
|
2017-03-18 12:14:12 +00:00
|
|
|
|
2023-08-12 20:10:16 +00:00
|
|
|
if have_vulkan
|
|
|
|
gsk_private_sources += files([
|
|
|
|
'gpu/gskvulkanbuffer.c',
|
2023-10-03 19:04:21 +00:00
|
|
|
'gpu/gskvulkandescriptors.c',
|
2023-08-12 20:10:16 +00:00
|
|
|
'gpu/gskvulkandevice.c',
|
|
|
|
'gpu/gskvulkanframe.c',
|
|
|
|
'gpu/gskvulkanimage.c',
|
|
|
|
'gpu/gskvulkanmemory.c',
|
2023-11-05 09:00:11 +00:00
|
|
|
'gpu/gskvulkanrealdescriptors.c',
|
2023-08-12 20:10:16 +00:00
|
|
|
'gpu/gskvulkanrenderer.c',
|
2023-11-05 09:00:11 +00:00
|
|
|
'gpu/gskvulkansubdescriptors.c',
|
2023-08-12 20:10:16 +00:00
|
|
|
])
|
|
|
|
endif # have_vulkan
|
|
|
|
|
2023-08-21 00:18:37 +00:00
|
|
|
subdir('gpu/shaders')
|
|
|
|
|
2017-11-17 11:04:02 +00:00
|
|
|
if get_variable('broadway_enabled')
|
2019-05-02 00:46:23 +00:00
|
|
|
gsk_public_sources += files([
|
2019-03-29 08:09:54 +00:00
|
|
|
'broadway/gskbroadwayrenderer.c',
|
2017-11-17 11:04:02 +00:00
|
|
|
])
|
|
|
|
endif
|
|
|
|
|
2023-08-21 03:14:33 +00:00
|
|
|
gsk_resources_xml = custom_target(output: 'gsk.resources.xml',
|
2020-12-15 12:31:38 +00:00
|
|
|
input: 'gen-gsk-gresources-xml.py',
|
|
|
|
command: [
|
|
|
|
find_program('gen-gsk-gresources-xml.py'),
|
|
|
|
'@OUTPUT@',
|
2021-10-07 03:15:25 +00:00
|
|
|
gsk_private_gl_shaders,
|
2020-12-15 12:31:38 +00:00
|
|
|
gsk_private_vulkan_compiled_shaders,
|
2023-08-21 00:18:37 +00:00
|
|
|
gsk_private_vulkan_shaders,
|
|
|
|
gsk_private_gpu_gl_shaders,
|
2023-11-03 05:48:00 +00:00
|
|
|
gsk_private_gpu_vulkan_shaders,
|
2020-12-15 12:31:38 +00:00
|
|
|
],
|
|
|
|
)
|
2017-03-17 23:43:36 +00:00
|
|
|
|
2017-03-18 12:54:33 +00:00
|
|
|
gsk_enums = gnome.mkenums('gskenumtypes',
|
2020-12-15 12:31:38 +00:00
|
|
|
sources: gsk_public_headers,
|
|
|
|
c_template: 'gskenumtypes.c.template',
|
|
|
|
h_template: 'gskenumtypes.h.template',
|
|
|
|
install_dir: gtk_includedir / 'gtk-4.0/gsk',
|
|
|
|
install_header: true,
|
|
|
|
)
|
2017-03-18 12:54:33 +00:00
|
|
|
|
|
|
|
gskenum_h = gsk_enums[1]
|
2016-11-03 08:47:00 +00:00
|
|
|
|
2017-03-18 12:14:12 +00:00
|
|
|
gskresources = gnome.compile_resources('gskresources',
|
2020-12-15 12:31:38 +00:00
|
|
|
gsk_resources_xml,
|
2023-08-21 00:18:37 +00:00
|
|
|
dependencies: [
|
|
|
|
gsk_private_vulkan_compiled_shaders_deps,
|
2023-11-03 05:48:00 +00:00
|
|
|
gsk_private_gpu_vulkan_shaders,
|
2023-08-21 00:18:37 +00:00
|
|
|
],
|
2023-05-02 06:41:43 +00:00
|
|
|
source_dir: [meson.current_build_dir(), meson.current_source_dir()],
|
2020-12-15 12:31:38 +00:00
|
|
|
c_name: '_gsk',
|
|
|
|
extra_args: [ '--manual-register', ],
|
|
|
|
)
|
2016-11-03 08:47:00 +00:00
|
|
|
|
2017-04-26 15:02:17 +00:00
|
|
|
gsk_gen_headers = [ gskenum_h, ]
|
2016-11-03 08:47:00 +00:00
|
|
|
|
|
|
|
gsk_deps = [
|
|
|
|
graphene_dep,
|
|
|
|
pango_dep,
|
|
|
|
cairo_dep,
|
2019-05-28 03:51:20 +00:00
|
|
|
cairo_csi_dep,
|
2016-11-03 08:47:00 +00:00
|
|
|
libgdk_dep,
|
|
|
|
]
|
|
|
|
|
2021-05-05 22:58:23 +00:00
|
|
|
libgsk_f16c = static_library('gsk_f16c',
|
|
|
|
sources: gsk_f16c_sources,
|
|
|
|
dependencies: gsk_deps,
|
|
|
|
include_directories: [ confinc, ],
|
|
|
|
c_args: [
|
|
|
|
'-DGTK_COMPILATION',
|
|
|
|
'-DG_LOG_DOMAIN="Gsk"',
|
|
|
|
'-DG_LOG_STRUCTURED=1',
|
|
|
|
] + common_cflags + f16c_cflags,
|
|
|
|
)
|
|
|
|
|
2017-03-18 12:54:33 +00:00
|
|
|
libgsk = static_library('gsk',
|
2020-12-15 12:31:38 +00:00
|
|
|
sources: [
|
|
|
|
gsk_public_sources,
|
|
|
|
gsk_private_sources,
|
|
|
|
gsk_enums,
|
|
|
|
gskresources,
|
2023-06-27 04:45:31 +00:00
|
|
|
gsk_private_vulkan_shader_headers,
|
2023-08-21 00:18:37 +00:00
|
|
|
gsk_private_gpu_shader_headers,
|
2020-12-15 12:31:38 +00:00
|
|
|
],
|
|
|
|
dependencies: gsk_deps,
|
|
|
|
include_directories: [ confinc, ],
|
|
|
|
c_args: [
|
|
|
|
'-DGTK_COMPILATION',
|
|
|
|
'-DG_LOG_DOMAIN="Gsk"',
|
|
|
|
'-DG_LOG_STRUCTURED=1',
|
|
|
|
] + common_cflags,
|
2021-05-05 22:58:23 +00:00
|
|
|
link_with: [ libgdk, libgsk_f16c]
|
2020-12-15 12:31:38 +00:00
|
|
|
)
|
2016-11-03 08:47:00 +00:00
|
|
|
|
2017-03-22 00:45:39 +00:00
|
|
|
# We don't have link_with: to internal static libs here on purpose, just
|
|
|
|
# list the dependencies and generated headers and such, for use in the
|
|
|
|
# "public" libgtk_dep used by internal executables.
|
2017-08-15 12:55:17 +00:00
|
|
|
libgsk_dep = declare_dependency(include_directories: [ confinc, ],
|
2020-12-15 12:31:38 +00:00
|
|
|
sources: [ gskenum_h, ],
|
2021-03-16 08:52:13 +00:00
|
|
|
dependencies: [libgdk_dep, cairo_csi_dep],
|
2020-12-15 12:31:38 +00:00
|
|
|
)
|