This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit b3bcd320f5f9f66d587871ebe2eb63d3c1fe3d9f Author: Martin Storsjö <[email protected]> AuthorDate: Tue Jun 9 20:57:50 2026 +0300 Commit: Martin Storsjö <[email protected]> CommitDate: Tue Jun 9 20:57:50 2026 +0300 Squashed 'tests/checkasm/ext/' changes from 0df02535c7..e13b0bb3ff e13b0bb3ff x86: Skip the vzeroupper checks when built with MSVC 3cbf066c51 longjmp: Use raw arch defines for checking for x86_32 54817bd68f include: Fix a mismatched include guard comment 162f15c861 github: Build the UWP job as WINAPI_FAMILY_PHONE_APP 34d920e8bb arm/cpu: Avoid the Windows registry API in UWP builds 9a0cb83b69 utils: Avoid the GetStdHandle and GetConsoleScreenBufferInfo APIs in UWP builds 8d1609d583 ci: Test building ffmpeg with the latest checkasm d93232845f ci: Test building latest dav1d and dav2d with the current checkasm e15a8efbfc readme: Add me to the list of maintainers 01b4334a95 meson: Bump version to v1.3.0 git-subtree-dir: tests/checkasm/ext git-subtree-split: e13b0bb3ff0935b7d2a1c2cc91163370f2cc8f40 --- .github/workflows/build.yml | 2 +- .gitlab-ci.yml | 34 ++++++++++++++++++++++++++++++++++ README.md | 2 +- include/checkasm/header_config.h | 2 +- meson.build | 2 +- src/arm/cpu.c | 5 +++++ src/longjmp.h | 2 +- src/utils.c | 2 ++ src/x86/cpu.c | 8 ++++++++ 9 files changed, 54 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a7589aa9fe..fd0b93edac 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -114,7 +114,7 @@ jobs: - name: Set CFLAGS if: matrix.uwp run: | - echo "CFLAGS=-DWINAPI_FAMILY=WINAPI_FAMILY_APP" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append + echo "CFLAGS=-DWINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append - name: Build and test run: | meson setup build --buildtype release ` diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b1f48239c0..a085406f7e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -395,6 +395,40 @@ test-ext-build: - make -f ../ext-build-test.make NASM_FMT=elf64 -j$(getconf _NPROCESSORS_ONLN) EXTRA_CFLAGS=-Werror - ./checkasm-selftest +test-dav1d: + extends: .debian-amd64-common + script: + - git clone --depth 1 --branch master https://code.videolan.org/videolan/dav1d.git + - cd dav1d + - ln -s ../.. subprojects/checkasm + - meson setup build --buildtype debugoptimized + --werror + -Dtrim_dsp=false + - cd build && ninja + - meson test -v checkasm + +test-dav2d: + extends: .debian-amd64-common + script: + - git clone --depth 1 --branch main https://code.videolan.org/videolan/dav2d.git + - cd dav2d + - ln -s ../.. subprojects/checkasm + - meson setup build --buildtype debugoptimized + --werror + -Dtrim_dsp=false + - cd build && ninja + - meson test -v checkasm + +test-ffmpeg: + extends: .debian-amd64-common + script: + - git clone --depth 1 --branch master https://code.ffmpeg.org/ffmpeg/ffmpeg + - cd ffmpeg + - rm -rf tests/checkasm/ext + - ln -s ../../.. tests/checkasm/ext + - ./configure --enable-gpl + - make -j$(getconf _NPROCESSORS_ONLN) run-checkasm + deploy-docs: extends: .debian-amd64-common stage: deploy diff --git a/README.md b/README.md index 3420997ad8..356b22c1d8 100644 --- a/README.md +++ b/README.md @@ -169,4 +169,4 @@ This project was forked from [dav1d's](https://code.videolan.org/videolan/dav1d) This choice was made because dav1d was the closest to being feature complete, while also being permissively licensed and using a modern CI and build system. Some changes have been ported over from FFmpeg's copy of checkasm, with permission to relicense. -checkasm's original authors include Henrik Gramner, Loren Merritt, Fiona Glaser and others. This fork is maintained by Niklas Haas. +checkasm's original authors include Henrik Gramner, Loren Merritt, Fiona Glaser and others. This fork is maintained by Niklas Haas and Martin Storsjö. diff --git a/include/checkasm/header_config.h b/include/checkasm/header_config.h index 0558ddaf9a..87a5db1a42 100644 --- a/include/checkasm/header_config.h +++ b/include/checkasm/header_config.h @@ -124,4 +124,4 @@ #define CHECKASM_ARCH_LOONGARCH32 0 #endif -#endif /* CHECKASM_HEADER_CONFIG */ +#endif /* CHECKASM_HEADER_CONFIG_H */ diff --git a/meson.build b/meson.build index 81972249ee..6f5f9eef77 100644 --- a/meson.build +++ b/meson.build @@ -24,7 +24,7 @@ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. project('checkasm', 'c', - version: '1.2.0', + version: '1.3.0', default_options: ['c_std=c11', 'buildtype=debugoptimized', 'default_library=static', diff --git a/src/arm/cpu.c b/src/arm/cpu.c index e323947802..32ee1f280b 100644 --- a/src/arm/cpu.c +++ b/src/arm/cpu.c @@ -303,6 +303,7 @@ COLD const char *checkasm_get_arm_cpuinfo(char *buf, size_t buflen, int affinity #ifdef _WIN32 COLD const char *checkasm_get_arm_win32_reg(char *buf, size_t buflen, int affinity) { + #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) HKEY key; if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\CentralProcessor", 0, KEY_READ, @@ -374,6 +375,10 @@ COLD const char *checkasm_get_arm_win32_reg(char *buf, size_t buflen, int affini pos += snprintf(buf + pos, buflen - pos, " (%s)", cpu_name); return buf; + #else + (void) print_cores; + return NULL; + #endif } #endif #endif diff --git a/src/longjmp.h b/src/longjmp.h index 4ef6c9c464..7df62419af 100644 --- a/src/longjmp.h +++ b/src/longjmp.h @@ -32,7 +32,7 @@ #include "checkasm_config.h" -#if defined(_WIN32) && !ARCH_X86_32 +#if defined(_WIN32) && !(defined(__i386__) || defined(_M_IX86)) #include <windows.h> diff --git a/src/utils.c b/src/utils.c index 261eec6abd..768d3028ef 100644 --- a/src/utils.c +++ b/src/utils.c @@ -410,9 +410,11 @@ COLD void checkasm_setup_fprintf(void) static int get_terminal_width(void) { #ifdef _WIN32 + #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) CONSOLE_SCREEN_BUFFER_INFO csbi; if (GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi)) return csbi.srWindow.Right - csbi.srWindow.Left + 1; + #endif #elif defined(__OS2__) int dst[2]; _scrsize(dst); diff --git a/src/x86/cpu.c b/src/x86/cpu.c index 0c7b77a763..62fa4c55a0 100644 --- a/src/x86/cpu.c +++ b/src/x86/cpu.c @@ -131,6 +131,14 @@ COLD void checkasm_init_x86(void) #if ARCH_X86_32 && defined(_WIN32) /* x86_32 processes on Windows can spuriously get the dirty ymm bit set * while running; skip checking this aspect. */ +#elif defined(_MSC_VER) && !defined(__clang__) + /* MSVC can spontaneously generate code that uses AVX registers, without + * properly clearing the state afterwards with vzeroupper, see + * https://developercommunity.visualstudio.com/t/MSVC-x64-autovectorized-AVX-code-omits-f/11102637. + * Skip the vzeroupper tests in this configuration. This is technically + * inaccurate - checkasm as a library may be built with a different + * toolchain than the user code under test - but it is a first rough + * approximation. */ #else checkasm_check_vzeroupper = 1; #endif _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
