Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jmoguillansky/meson windows master #4

Open
wants to merge 388 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
388 commits
Select commit Hold shift + click to select a range
46e6d98
tests/rtt: add rtt_load_attachment test
mbouron Oct 5, 2020
38cea76
pgcraft: define ngl_{instance,vertex}_index
mbouron May 26, 2020
7218355
block: add ngli_block_field_copy() helper
ubitux Jun 23, 2020
3116b23
pgcraft: fix precision being specified for bools
ubitux Oct 7, 2020
c9fb835
nodes: add UniformBool
ubitux Oct 7, 2020
361d513
block: add support for UniformBool
ubitux Oct 7, 2020
ebcd7a5
compute: add support for UniformBool
ubitux Oct 7, 2020
0132d73
render: add support for UniformBool
ubitux Oct 7, 2020
517143a
tests: add UniformBool data and live-change tests
ubitux Oct 7, 2020
bdde95b
utils/seekbar: remove now unused stop_button
ubitux Oct 6, 2020
c3a86b2
utils/graph_view: remove playback mechanism
ubitux Oct 6, 2020
b7ec34c
utils/clock: inline it in graph_view
ubitux Oct 8, 2020
aaf1a64
pass: add curly braces around pipeline type condition block
mbouron Oct 7, 2020
7f8a6f8
rtt: move the rendertarget binding from rtt_draw() to ngli_pass_exec()
mbouron Oct 7, 2020
7f28875
build: add DEBUG_SCENE parameter
mbouron Oct 7, 2020
8a9fcdb
rtt: detect sub optimal render passes
mbouron Oct 6, 2020
c4f812a
media: prevent Media nodes from being shared
ubitux Oct 12, 2020
d977f92
pipeline_gl: use ngli_darray_get() in update functions
mbouron Oct 1, 2020
452672b
pipeline_gl: prefix desc local variables in update functions
mbouron Oct 1, 2020
13c2e3c
pipeline: add ngli_pipeline_update_buffer()
mbouron Oct 1, 2020
205bbd3
pipeline: decouple resources from pipeline initialization
jmoguillansky-gpsw Oct 1, 2020
92280e6
pipeline: move darray description fields to pipeline_gl structure
mbouron Oct 15, 2020
00a7cda
pipeline_gl: rename *_desc structures, variables and fields to *_binding
mbouron Oct 15, 2020
1acbdd4
tools/player: only enable blending on the UI elements
mbouron Oct 9, 2020
9acb047
hud, text: bind rendertarget if needed
mbouron Oct 14, 2020
f440ee6
gctx_gl: move rendertarget field
mbouron Oct 5, 2020
afbbabc
tests/rtt: specify clear color
mbouron Oct 12, 2020
2e5d8c3
tests/texture: specify clear color in texture_scissor test
mbouron Oct 12, 2020
50c23b5
rtt: stop inheriting from parent clear color
mbouron Oct 12, 2020
38975ac
rtt: remove the no_clear feature
mbouron Oct 14, 2020
0695ac6
glfeatures: cosmetics
mbouron Oct 13, 2020
ba59402
glfeatures: add clear_buffer feature
mbouron Oct 12, 2020
65e8061
rendertarget: specify load and store operations in attachment structure
mbouron Oct 14, 2020
8de319c
gctx: remove ngli_gctx_invalidate_depth_stencil()
mbouron Oct 14, 2020
3259577
gctx: remove clear functions
mbouron Oct 12, 2020
a7fc90b
gctx: add ngli_gctx_rendertarget_{begin,end}_render_pass()
mbouron Oct 12, 2020
8003680
gctx: rename ngli_gctx_get_rendertarget() to ngli_gctx_get_default_re…
mbouron Oct 16, 2020
00f21b7
ngl_ctx: rename bind_rendertarget field to begin_render_pass
mbouron Oct 15, 2020
9dfa103
rendertarget: remove ngli_rendertarget_resolve()
mbouron Oct 18, 2020
ccd7731
render,program: hold the vert_out_vars array in the program
ubitux Oct 8, 2020
943e2ac
hmap: remove constness from ngli_hmap_next() return
ubitux Oct 9, 2020
5c5434d
text: simplify realloc check code
ubitux Oct 19, 2020
dce4d8d
text: re-indent after previous commit
ubitux Oct 19, 2020
fe61ad4
block: do not switch from SSBO type back to UBO
ubitux Oct 15, 2020
b81a1ba
tests/compute: set writable properties to output resources
ubitux Oct 15, 2020
3f35f83
rtt: remove vflip parameter
mbouron Oct 20, 2020
f4ca76b
rendertarget: move samples field from attachment_desc to rendertarget…
mbouron Sep 29, 2020
bbddaed
internal: rename features.h to feature.h
ubitux Oct 20, 2020
a07a332
internal: rename limits.h to limit.h
ubitux Oct 20, 2020
2afbc31
internal: remove unused limits.h includes
ubitux Oct 20, 2020
7ac2c55
tools/common: define _POSIX_C_SOURCE for clock_gettime()
ubitux Oct 22, 2020
8b7750d
gl: set wrapper generator output files as argument
ubitux Oct 22, 2020
5356d62
gctx: rename pre_draw()/post_draw() to begin_draw()/end_draw()
mbouron Oct 21, 2020
51c9f6d
rendertarget_gl: remove unused prev_id field
mbouron Oct 22, 2020
86bdcb8
rendertarget: remove nb_resolve_color_attachments field
mbouron Oct 22, 2020
5b8a7a6
rendertarget_gl: remove nb_color_attachment field
mbouron Oct 22, 2020
7475884
rendertarget_gl: simplify resolve draw buffers logic
mbouron Oct 22, 2020
0f79946
rendertarget_gl: add ngli_default_rendertarget_gl_init()
mbouron Oct 22, 2020
427e7a6
gctx_gl: improve offscreen capture callback and resources comment
mbouron Oct 22, 2020
cd00bf2
gctx_gl: use ngli_default_rendertarget_gl_init()
mbouron Oct 22, 2020
e9d29c1
rtt: cosmetics
mbouron Oct 22, 2020
555d015
rtt: set the proper rendertarget at the end of rtt_draw()
mbouron Oct 22, 2020
0e650df
tests/rtt: add rtt_clear_attachment_with_timeranges test
mbouron Oct 22, 2020
b794ab5
rendertarget_gl: do not try to delete the default framebuffer
mbouron Oct 23, 2020
0941bd4
texture: move access field to pipeline_texture_desc
mbouron Oct 23, 2020
bad8be3
texture: move NGLI_ACCESS_* definitions to pipeline.h
mbouron Oct 26, 2020
30ad3f4
texture: remove NGLI_TEXTURE_PARAM_DEFAULTS macro
mbouron Oct 23, 2020
5cc8e20
media: cosmetics
mbouron Oct 23, 2020
e8749f4
hwupload_vaapi_gl: cosmetics
mbouron Oct 23, 2020
62ab2fd
ci: Add Github action workflow ci_win.yml file
mrobertseidowsky-gpsw Oct 23, 2020
aca3053
README: add Windows test badge
mrobertseidowsky-gpsw Oct 26, 2020
4e9dc1b
specs: remove access flags
ubitux Oct 27, 2020
bf11a13
tools/desktop: workaround a SDL issue on macOS
mbouron Oct 29, 2020
65db76f
test/compute: mark hist block as writable in the clear_histogram program
mbouron Oct 27, 2020
173726a
pgcraft: allow the shader to read and write if the image is set to wr…
mbouron Oct 27, 2020
48224b1
pgcraft: specify buffer memory qualifiers
mbouron Oct 27, 2020
050aafd
pipeline: add access field to pipeline_buffer_desc
mbouron Oct 27, 2020
a8a7b6a
glfeatures: declare glMemoryBarrier as part of GL_ARB_shader_image_lo…
mbouron Oct 27, 2020
75ea726
pipeline_gl: only insert memory barriers after glDispatchCompute()
mbouron Oct 27, 2020
b842c04
pipeline_gl: add missing feature checks
mbouron Oct 27, 2020
a8f26b9
pipeline_gl: insert memory barriers after draw calls
mbouron Oct 27, 2020
bc4d84a
tools/desktop: simplify macOS SDL issue workaround
ubitux Oct 30, 2020
ac7b809
glincludes: add missing GL_COLOR, GL_DEPTH and GL_STENCIL definitions
mbouron Nov 3, 2020
33603da
rendertarget: remove ngli_rendertarget_resolve() declaration
mbouron Nov 5, 2020
5bd9ee2
pgcraft: use GLSL version to check if explicit bindings are supported
mbouron Nov 4, 2020
15c0a5e
pgcraft: rename has_buffer_bindings to has_explicit_bindings
mbouron Nov 4, 2020
8f4f464
gctx: add language version field
mbouron Nov 4, 2020
6214463
pgcraft: use gctx language_version field
mbouron Nov 4, 2020
41b15eb
glfeatures: add NGLI_FEATURE_SHADER_IMAGE_SIZE feature
mbouron Nov 4, 2020
a855537
glfeatures: add NGLI_FEATURE_SHADING_LANGUAGE_420PACK feature
mbouron Nov 4, 2020
d66783a
pgcraft: enable explicit bindings if NGLI_FEATURE_SHADING_LANGUAGE_42…
mbouron Nov 4, 2020
572223c
pgcraft: add support for GLSL extensions
mbouron Nov 4, 2020
576eec3
pgcraft: use ngli_darray_count() where appropriate
mbouron Nov 6, 2020
2bf0741
pynodegl: move ngl_config initialization to a dedicated function
mbouron Sep 15, 2020
8ffde4f
log: add NGL_LOG_QUIET
ubitux Nov 3, 2020
4c48eb7
utils: do not hard fail when the configuration keys change
ubitux Nov 3, 2020
db99414
utils,tools: harmonize backend string identifiers
ubitux Nov 3, 2020
df61b21
gctx: include a backend string identifier
ubitux Nov 3, 2020
6f46628
api: add ngl_backends_{probe,freep}()
mbouron Sep 15, 2020
f3a5335
api: add unique backend string identifier to ngl_backend structure
ubitux Nov 3, 2020
c05e0eb
api: add capabilities to ngl_backend structure
ubitux Nov 9, 2020
a404661
tools: add ngl-probe
ubitux Nov 2, 2020
ccfec34
tests: use ngl-probe to detect features instead of hardcoding them
ubitux Nov 2, 2020
4fa7f65
tools/opts: use backend probing API to parse the backend
ubitux Nov 2, 2020
6346c4f
log: set default min level to warning
ubitux Nov 3, 2020
f33ae86
tests: dump probe info at the beginning of the tests
ubitux Nov 3, 2020
e2f2cd6
ci/coverage: remove unneeded -fPIE CFLAGS
ubitux Nov 7, 2020
7ccf711
ci: give build_libs jobs a more meaningful name
ubitux Nov 7, 2020
340b0b2
tests: make ngl-test work without a reference file
ubitux Nov 5, 2020
ae804b8
tools/player: use bilinear filtering to improve quality when scaled
ubitux Nov 5, 2020
a71374e
api: add max_compute_group_{invocations,size} capabilities
mbouron Nov 9, 2020
3288863
api: re-indent after previous commit
mbouron Nov 9, 2020
e263ef5
tests: add TEST_OPTIONS=dump to dump tests outputs to the filesystem
jmoguillansky-gpsw Nov 3, 2020
f9f5dac
log: use pretty function in log messages
jmoguillansky-gpsw Nov 4, 2020
a5b7ac7
darray: use assertion to verify that index is valid in ngli_darray_get()
jmoguillansky-gpsw Nov 4, 2020
3e4d900
build: bump and build sxplayer with meson
ubitux Nov 7, 2020
825c7e8
build: switch libnodegl and ngl-tools to meson
ubitux Oct 22, 2020
3b3c4ec
build: inline common.mak in the root Makefile
ubitux Nov 10, 2020
0df8d8b
build: use Pillow from system site packages on MinGW
mbouron Nov 12, 2020
14748e5
tests/data: fix pts data array type
mbouron Nov 12, 2020
be549da
glcontext_wgl: do not try to enable multisampling when offscreen
mbouron Nov 12, 2020
90e9a53
build: do not rely on symbolic links on MinGW
mbouron Nov 12, 2020
9fa4e79
internal: workaround a critical gcc 10 issue
mbouron Nov 12, 2020
457af3f
tests/rtt: add rtt_sample_depth test
mbouron Nov 12, 2020
7d0b97d
tests/shape: remove geometry_rtt_* tests
mbouron Nov 12, 2020
2c80e15
build: enable LTO by default in the venv
ubitux Nov 12, 2020
61cbec7
build: fix C args not being forwarded to native tools
ubitux Nov 13, 2020
46f7ab2
build: split nodegl-install rule with nodegl-setup
ubitux Nov 13, 2020
158ceb7
build: do not make custom target calls depend on the install of the lib
ubitux Nov 13, 2020
83d0a81
build: move GL backend specific code to a dedicated directory
ubitux Nov 13, 2020
260fac3
build: generate a config.h header instead of passing down c_args
ubitux Nov 13, 2020
e45e78f
gctx: expose ngli_gctx_{begin,end}_draw()
mbouron Nov 16, 2020
328095f
hud: store ctx at init for simpler access in widgets
ubitux Nov 17, 2020
79aeb49
hud: transmit the private context instead of the node where appropriate
ubitux Nov 17, 2020
ee048c5
hud: rename struct hud_priv to struct hud
ubitux Nov 17, 2020
a4ed646
hud: use the private context instead of the node in the csv report
ubitux Nov 17, 2020
ae918a1
hud: remove gpu update latency measure
mbouron Nov 13, 2020
74fc265
hud: remove total gpu latency measure
mbouron Nov 17, 2020
4977dfa
hud: move the draw GPU measure below the total CPU measure
mbouron Nov 17, 2020
b1bf2fb
hud: use nearest filtering for the HUD texture
mbouron Nov 16, 2020
7bea1c7
utils: remove HUD node support
mbouron Nov 16, 2020
73a58a1
hud: move the HUD to an internal module
mbouron Nov 16, 2020
b28b1d4
utils/cmp: remove unused scene_wrap parameter
mbouron Nov 16, 2020
02d00f8
gl: add glQueryCounter{,EXT} functions
mbouron Nov 13, 2020
ef181fa
gctx: add ngli_gctx_query_draw_time()
mbouron Nov 13, 2020
5688e35
gctx_gl: use GL_TIME_ELAPSED query on macOS
mbouron Nov 16, 2020
899b106
internal: use ngli_gctx_query_draw_time() instead of the gtimer API
mbouron Nov 16, 2020
eb114b7
internal: remove gtimer abstraction
mbouron Nov 13, 2020
6da3c97
tools/player: add hud support
mbouron Nov 16, 2020
eb82d84
utils/tests: remove unused get_temp_dir imports
ubitux Nov 16, 2020
67e8f09
utils/misc: add and use get_nodegl_tempdir()
ubitux Nov 16, 2020
9d9a674
utils/config: use misc.get_nodegl_tempdir()
ubitux Nov 16, 2020
abace64
utils/export: use misc.get_nodegl_tempdir()
ubitux Nov 16, 2020
55e56cc
utils/tests: use get_nodegl_tempdir()
ubitux Nov 16, 2020
977a121
utils/graph_view: use get_nodegl_tempdir()
ubitux Nov 16, 2020
16816ce
utils/examples: add missing writable properties in compute demos
ubitux Nov 13, 2020
25c315e
utils/misc: use a try-except form in get_nodegl_tempdir()
ubitux Nov 17, 2020
bc71fcf
build: remap DEBUG_{GL,MEM,SCENE} to libnodegl debug_opts
ubitux Nov 17, 2020
775463b
rendertarget_gl: fix depth stencil texture attachment on OpenGLES 2.0
mbouron Nov 18, 2020
846772b
tests/data: remove usage of length() in the data test shader
mbouron Nov 18, 2020
f883974
tests/texture: use a dedicated fragment shader to render textures
mbouron Nov 18, 2020
53a1b6f
glfeatures_data: add missing <stddef.h> include
mbouron Nov 23, 2020
04e32b9
glfeatures: add shader_texture_lod feature
mbouron Nov 23, 2020
2ec8f42
pgcraft: define ngl_tex*lod()
mbouron Nov 23, 2020
cf9cb33
internal: sort capabilities array alphabetically
mbouron Nov 23, 2020
22ebe07
api: add NGL_CAP_SHADER_TEXTURE_LOD
mbouron Nov 23, 2020
4f71609
glfeatures: enable texture_3D feature if GL_OES_texture_3D is available
mbouron Nov 23, 2020
4ba3519
pgcraft: add support for GL_OES_texture_3d
mbouron Nov 23, 2020
16f6542
api: add NGL_CAP_MAX_COLOR_ATTACHMENTS
mbouron Nov 23, 2020
13a4b0f
tests: run tests with meson
ubitux Nov 18, 2020
da75d36
build: expose more default settings
ubitux Nov 18, 2020
5301641
api: add NGL_CAP_UINT_UNIFORMS
ubitux Nov 23, 2020
7aad400
tests: use backend capability probing more extensively
ubitux Nov 23, 2020
bc4b8fb
ci/linux: add an OpenGLES 2 job
ubitux Nov 23, 2020
7037ccc
build: disable LTO on MinGW-w64
ubitux Nov 23, 2020
19cd8cd
tests/compute: fix compute_particules workgroups count
ubitux Nov 24, 2020
65608f9
tests/compute: derivate the number of particules from group and local…
ubitux Nov 24, 2020
3259232
tests/compute: rename group_size to workgroups
ubitux Nov 24, 2020
0baf613
tests/compute: adjust the index formula to work with any workgroup co…
ubitux Nov 24, 2020
ecc464a
tests/compute: diversify the workgroups layout
ubitux Nov 24, 2020
1748271
tests/compute: rename particules to particles
ubitux Nov 24, 2020
178f9db
examples/misc: rename particules to particles
ubitux Nov 24, 2020
71e9bbf
build: properly check for CONFIG_* settings
ubitux Nov 25, 2020
8ab0d71
build: refuse to build gen_doc when small option is set
ubitux Nov 25, 2020
c888a2c
build: reindent after previous commit
ubitux Nov 25, 2020
381b78d
gen_doc: refuse to compile when CONFIG_SMALL is set
ubitux Nov 25, 2020
67acb98
gctx_gl: move CVPixelBuffer wrapping code to a dedicated function
mbouron Dec 2, 2020
7998169
gctx_gl: move CVPixelBuffer cleanup code to a dedicated function
mbouron Dec 2, 2020
807ba25
api: add capture_buffer_type field to ngl_config structure
mbouron Nov 30, 2020
05f73ff
api: add ngl_set_capture_buffer()
mbouron Dec 2, 2020
30f1fc7
gctx_gl: rename capture_{default,ios]() to capture_{cpu,corevideo}()
mbouron Dec 3, 2020
59c3322
gctx_gl: only call the capture function if there is a capture buffer
mbouron Dec 3, 2020
e40c2c3
tests/api: remove superfluous context creation
mbouron Dec 2, 2020
88c030b
tests/api: add api_capture_buffer test
mbouron Dec 2, 2020
ad86ee2
tools: use read/write instead of recv/send where appropriate
mbouron Dec 4, 2020
87ab544
tools/desktop: improve listening socket shutdown code
mbouron Dec 7, 2020
f0b9c5b
tools/desktop: move socket shutdown code to a dedicated function
mbouron Dec 7, 2020
b885dbb
tools/desktop: use close_socket() to shutdown client connections
mbouron Dec 7, 2020
0a6da50
tools/ipc: fix file reading on MinGW
mbouron Dec 5, 2020
5a90ab4
doc: add newly available dependencies for MinGW installation
mbouron Dec 5, 2020
ad34348
build: update comments regarding the ngl-control situation on MinGW
mbouron Dec 5, 2020
cb66a8e
tools/ipc: move upload file size probing to a dedicated function
mbouron Dec 9, 2020
062c869
tools/ipc: implement get_filesize() on Windows
mbouron Dec 9, 2020
5801fbf
tools/ipc: use fopen()/fread() instead of open()/read()
mbouron Dec 8, 2020
40bf604
tools/desktop: use fopen()/fwrite() instead of open()/write()
mbouron Dec 8, 2020
0d3c816
utils: add ngli_get_filesize()
mbouron Dec 9, 2020
2ffa1c4
buffer: use ngli_get_filesize()
mbouron Dec 9, 2020
9b1cfcc
internal: use NGL_PLATFORM_WINDOWS for msvc and mingw
jmoguillansky-gpsw Dec 2, 2020
d311d30
internal: use declspec align on windows
jmoguillansky-gpsw Nov 25, 2020
0561e34
camera: remove unused unistd.h include
jmoguillansky-gpsw Dec 2, 2020
1494a18
log: don't use isatty() on windows
jmoguillansky-gpsw Dec 4, 2020
b353f4d
internal: replace read()/write() with fread()/fwrite()
jmoguillansky-gpsw Dec 4, 2020
24353d8
utils: remove unused ngli_gettime()
jmoguillansky-gpsw Dec 1, 2020
6e2d7b8
utils: don't use clock_gettime() on windows
jmoguillansky-gpsw Dec 4, 2020
fa1cdb9
utils: check return value of clock_gettime()
jmoguillansky-gpsw Dec 4, 2020
11d45d4
tools: remove unused sys/time.h
jmoguillansky-gpsw Dec 2, 2020
b4de18f
tools/ipc: remove unused O_BINARY define
mbouron Dec 9, 2020
04f2744
tools/ipc: use an int instead of a ssize_t to store the send()/recv()…
jmoguillansky-gpsw Dec 9, 2020
2f7cc34
tools/wsi_windows: add missing <stdio.h> include
jmoguillansky-gpsw Dec 9, 2020
0d78b4c
tools/common: implement gettime{,_relative}() on windows
jmoguillansky-gpsw Dec 9, 2020
3e7d82f
tools/desktop: scope <unistd.h> include to non-windows systems
jmoguillansky-gpsw Dec 9, 2020
41cba1a
tools/ipc: remove unused <unistd.h> include
mbouron Dec 9, 2020
f2b857c
tools/serialize: open file descriptor in binary mode
mbouron Dec 9, 2020
38a06cb
tools/player: use fopen()/fwrite() instead of open()/write()
jmoguillansky-gpsw Dec 9, 2020
a8aa706
tools/common: use fopen()/fread() instead of open()/read()
jmoguillansky-gpsw Dec 9, 2020
fb74bf3
tools: define STDOUT_FILENO and STDERR_FILENO for msvc
jmoguillansky-gpsw Dec 9, 2020
9ea84b3
glcontext_wgl: use uppercase Windows.h
jmoguillansky-gpsw Dec 2, 2020
05bd9ff
build: require sxplayer version 9.7.0
mbouron Dec 10, 2020
13a323b
build: isolate sxplayer download in a dedicated external directory
ubitux Dec 10, 2020
d91962c
build: update gitignore
jmoguillansky-gpsw Nov 30, 2020
559d49d
build: port Makefile to Windows
jmoguillansky-gpsw Dec 11, 2020
618da16
build: port nodegl build to Windows
jmoguillansky-gpsw Nov 24, 2020
306564b
build: port ngl-tools to Windows
jmoguillansky-gpsw Nov 24, 2020
76e5f90
nodegl: port glincludes to windows
jmoguillansky-gpsw Nov 25, 2020
0fc7340
nodegl: use TARGET_WINDOWS instead of TARGET_MINGW
jmoguillansky-gpsw Nov 25, 2020
ca2b877
build: patch libnodegl.pc. TODO: remove
jmoguillansky-gpsw Dec 11, 2020
5209617
build: port tests target to windows
jmoguillansky-gpsw Nov 25, 2020
d41b370
pynodegl: update .gitignore
jmoguillansky-gpsw Dec 1, 2020
25889f7
pynodegl: update setup script
jmoguillansky-gpsw Dec 1, 2020
cc85944
build: add extra log messages to show if each backend is enabled
jmoguillansky-gpsw Nov 25, 2020
fbffa7d
build: use ninja backend for unit tests, and copy dlls to search path…
jmoguillansky-gpsw Nov 25, 2020
02ce625
build: build sxplayer shared lib
jmoguillansky-gpsw Dec 11, 2020
4a048e8
build: update nodegl build
jmoguillansky-gpsw Dec 2, 2020
3ea91c9
build: rework public symbol exporting logic
jmoguillansky-gpsw Dec 2, 2020
8d9871b
disable automatic line ending conversion
jmoguillansky-gpsw Dec 10, 2020
c473d78
build: misc improvements to Makefile
jmoguillansky-gpsw Dec 12, 2020
2e94876
log: bugfix. config.h needs to be included before using config macro…
jmoguillansky-gpsw Dec 12, 2020
d92a879
utils: bugfix. Windows.h needs to be included first.
jmoguillansky-gpsw Dec 12, 2020
27275cb
build: remove external sync script. Build external packages using vc…
jmoguillansky-gpsw Dec 13, 2020
89b3504
ci: add windows/msvc build/run + debug
jmoguillansky-gpsw Jan 4, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* -text
15 changes: 5 additions & 10 deletions .github/workflows/ci_coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- 'master'

jobs:
build_libs:
coverage:
runs-on: ubuntu-20.04

steps:
Expand All @@ -18,18 +18,13 @@ jobs:
sudo apt -y install libsdl2-dev python3-venv gcovr
sudo apt -y install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libavdevice-dev libavfilter-dev libswscale-dev libswresample-dev libpostproc-dev

- name: Run tests with GL backend
- name: Run tests
run: |
export CFLAGS=-fPIE
DISABLE_TESTS_SAMPLES=yes DISABLE_TESTS_STD430=yes BACKEND=gl DEBUG=yes DEBUG_GL=yes make -k -j$(($(nproc)+1)) tests COVERAGE=yes
- name: Run tests with GLES backend
run: |
DISABLE_TESTS_SAMPLES=yes DISABLE_TESTS_STD430=yes BACKEND=gles DEBUG=yes DEBUG_GL=yes make -k -j$(($(nproc)+1)) tests COVERAGE=yes
DEBUG=yes DEBUG_GL=yes make -k -j$(($(nproc)+1)) tests COVERAGE=yes
- name: Get coverage
run: |
gcovr -r libnodegl -s -x -o coverage.xml
make clean
make coverage-xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
file: coverage.xml
file: builddir/libnodegl/meson-logs/coverage.xml
49 changes: 22 additions & 27 deletions .github/workflows/ci_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
pull_request:

jobs:
build_libs:
linux:

runs-on: ubuntu-20.04

Expand All @@ -30,32 +30,27 @@ jobs:

- name: Build
run: |
#
# This -fPIE is a workaround for the following link issue:
# relocation R_X86_64_32 against `.rodata.str1.8' can not be used
# when making a PIE object; recompile with -fPIE
#
# To summarize the issue:
#
# - On Python side, `python3-config` is a script generated from a
# template using a global CFLAGS. But at the same time, the script
# uses LIBS and SYSLIBS to construct the LDFLAGS (and not LDFLAGS for
# some moronic reason).
# - On Debian/Ubuntu side, they decided to have the following injected:
# CFLAGS="-specs=/usr/share/dpkg/no-pie-compile.specs"
# LDFLAGS="-specs=/usr/share/dpkg/no-pie-link.specs"
# And unfortunately, the former can not go without the latter
# (otherwise there is a link error).
#
# As a result, `python3-config --cflags` will return the `-specs=...`
# flags, but `python3-config --ldflags` will not return the
# complementary `-specs=...`.
#
export CFLAGS=-fPIE
make -j$(($(nproc)+1))
- name: Run tests with GL backend
- name: Run tests
run: |
DISABLE_TESTS_SAMPLES=yes DISABLE_TESTS_STD430=yes BACKEND=gl DEBUG=yes DEBUG_GL=yes make -k -j$(($(nproc)+1)) tests
- name: Run tests with GLES backend
DEBUG=yes DEBUG_GL=yes make -k -j$(($(nproc)+1)) tests

gles2:

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v1

- name: Install dependencies
run: |
sudo apt -y update
sudo apt -y install libsdl2-dev python3-venv
sudo apt -y install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libavdevice-dev libavfilter-dev libswscale-dev libswresample-dev libpostproc-dev

- name: Build
run: |
make -j$(($(nproc)+1))
- name: Run tests with OpenGLES2
run: |
DISABLE_TESTS_SAMPLES=yes DISABLE_TESTS_STD430=yes BACKEND=gles DEBUG=yes DEBUG_GL=yes make -k -j$(($(nproc)+1)) tests
MESA_GLES_VERSION_OVERRIDE=2.0 DEBUG=yes DEBUG_GL=yes make -k -j$(($(nproc)+1)) tests TESTS_SUITE=opengles
2 changes: 1 addition & 1 deletion .github/workflows/ci_mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
pull_request:

jobs:
build_libs:
macos:

runs-on: macos-latest

Expand Down
98 changes: 98 additions & 0 deletions .github/workflows/ci_win.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: 'tests Windows'

on:
push:
branches:
- 'master'
pull_request:

jobs:
mingw:

runs-on: windows-latest

steps:
- uses: actions/checkout@v2

- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64 # Start a 64 bit Mingw environment
update: true

- name: Install dependencies
run: |
C:\msys64\usr\bin\bash -lc "pacman -S --noconfirm --needed git make"
C:\msys64\usr\bin\bash -lc "pacman -S --noconfirm --needed mingw-w64-x86_64-{toolchain,ffmpeg,python}"
C:\msys64\usr\bin\bash -lc "pacman -S --noconfirm --needed mingw-w64-x86_64-python3-{pillow,pip}"
C:\msys64\usr\bin\bash -lc "pacman -S --noconfirm --needed mingw-w64-x86_64-meson"

- name: Build
run: |
$env:CHERE_INVOKING = 'yes' # Preserve the current working directory
C:\msys64\usr\bin\bash -lc "make -j$(($(nproc)+1)) TARGET_OS=MinGW-w64"

win-msvc:

runs-on: windows-latest

defaults:
run:
shell: wsl-bash {0}

steps:
- uses: Vampire/setup-wsl@v1
with:
distribution: Ubuntu-20.04

- uses: actions/checkout@v2

- name: Install dependencies
run: |
sudo apt -y update
sudo apt -y install build-essential zip
pip.exe install meson
wget https://github.com/jmoguillansky-gpsw/gopro-pkg/blob/master/external/win64/pkg-config.exe?raw=true -O pkg-config.exe

- name: Restore from cache and install vcpkg
uses: lukka/run-vcpkg@v6
with:
vcpkgGitCommitId: 595777db2332a3442b73f9af9f656355f207aec9
vcpkgTriplet: x64-windows
vcpkgArguments: pthreads opengl-registry ffmpeg[ffmpeg] sdl2
cleanAfterBuild: false

- name: vcpkg integrate install
run: |
cd vcpkg && ./vcpkg.exe integrate install

- name: Build
run: |
make -j8 TARGET_OS=Windows PKG_CONFIG="D:\\\\a\\\\gopro-lib-node.gl\\\\gopro-lib-node.gl\\\\pkg-config.exe" VCPKG_DIR="D:\\\\a\\\\gopro-lib-node.gl\\\\gopro-lib-node.gl\\\\vcpkg"

# - name: Setup debug session using tmate
# if: always()
# run: |
# sudo apt -y update
# #Install tmate
# sudo apt-get install -y tmate openssh-client
# # Generate ssh key if needed
# [ -e ~/.ssh/id_rsa ] || ssh-keygen -t rsa -f ~/.ssh/id_rsa -q -N ""
# # Run deamonized tmate
# echo Running tmate...
# tmate -S /tmp/tmate.sock new-session -d
# tmate -S /tmp/tmate.sock wait tmate-ready
# # Print connection info
# tmate -S /tmp/tmate.sock display -p '#{tmate_ssh}'
#
# - name: Wait for connection
# if: always()
# run: |
# # Wait for connection
# while [ -S /tmp/tmate.sock ]; do
# sleep 1
# done


# - name: Run tests
# run: |
# make -j8 tests PYTHON="C:/hostedtoolcache/windows/Python/3.9.0/x64/python.exe" TARGET_OS=Windows
11 changes: 4 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
*.d
*.exe
*.o
/builddir
nodegl-env/
sxplayer*
*.gcda
*.gcno
ngl-cov/
/sxplayer*
/external/win64
external/token.cfg
Loading