mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-09 06:04:03 +00:00

Performing a full-screen RenderPass resolve is too expensive. Because most composite cases only require a small area to be rendered off-screen. To improve performance, use the bounds of the Geometry for off-screen rendering whenever possible
58 lines
1.4 KiB
Meson
58 lines
1.4 KiB
Meson
source_file = [
|
|
'tvgGlCommon.h',
|
|
'tvgGlGeometry.h',
|
|
'tvgGlGpuBuffer.h',
|
|
'tvgGlList.h',
|
|
'tvgGlProgram.h',
|
|
'tvgGlRenderer.h',
|
|
'tvgGlRenderPass.h',
|
|
'tvgGlRenderTarget.h',
|
|
'tvgGlRenderTask.h',
|
|
'tvgGlShader.h',
|
|
'tvgGlShaderSrc.h',
|
|
'tvgGlGeometry.cpp',
|
|
'tvgGlGpuBuffer.cpp',
|
|
'tvgGlProgram.cpp',
|
|
'tvgGlRenderer.cpp',
|
|
'tvgGlRenderPass.cpp',
|
|
'tvgGlRenderTarget.cpp',
|
|
'tvgGlRenderTask.cpp',
|
|
'tvgGlShader.cpp',
|
|
'tvgGlShaderSrc.cpp',
|
|
'tvgGlTessellator.cpp',
|
|
'tvgGlTessellator.h',
|
|
]
|
|
|
|
if host_machine.system() == 'darwin'
|
|
gl_dep = declare_dependency(link_args: ['-framework', 'OpenGL'])
|
|
else
|
|
#find a opengl library with fallbacks
|
|
gl_dep = dependency('GL', required: false)
|
|
|
|
if not gl_dep.found()
|
|
gl_dep = meson.get_compiler('cpp').find_library('GL', required: false)
|
|
endif
|
|
|
|
if not gl_dep.found()
|
|
gl_dep = dependency('GLESv3', required: false)
|
|
target_opengles = true
|
|
endif
|
|
|
|
if not gl_dep.found()
|
|
gl_dep = meson.get_compiler('cpp').find_library('GLESv3')
|
|
target_opengles = true
|
|
endif
|
|
endif
|
|
|
|
if target_opengles
|
|
gl_target_profile = '-DTHORVG_GL_TARGET_GLES=1'
|
|
else
|
|
gl_target_profile = '-DTHORVG_GL_TARGET_GL=1'
|
|
endif
|
|
|
|
engine_dep += [declare_dependency(
|
|
compile_args : gl_target_profile,
|
|
dependencies : gl_dep,
|
|
include_directories : include_directories('.'),
|
|
sources : source_file,
|
|
)]
|