From 0e55efbd998d42aa67b23f7e386acd2933c2e039 Mon Sep 17 00:00:00 2001 From: Larry Gritz Date: Thu, 26 Oct 2023 15:49:27 -0700 Subject: [PATCH 1/2] ci: Disable MacOS-11 CI (#1746) The MacOS 11 CI seems to be broken on GitHub's runners. I'm not sure why, but since it's old and getting various deprecation warnings from Homebrew and GH, I'm inclined to just disable it rather than work hard to keep this old version of the OS running. Signed-off-by: Larry Gritz --- .github/workflows/ci.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a63ec1b13..288e22bf46 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -444,17 +444,17 @@ jobs: fail-fast: false matrix: include: - - desc: MacOS-11 - os: macos-11 - nametag: macos11-py39 - cc_compiler: /usr/local/opt/llvm@14/bin/clang - cxx_compiler: /usr/local/opt/llvm@14/bin/clang++ - cxx_std: 17 - python_ver: "3.10" - aclang: 13 - setenvs: export LLVMBREWVER="@14" DO_BREW_UPDATE=1 - OPENIMAGEIO_VERSION=release - QT_BREW_VERSION="@5" + # - desc: MacOS-11 + # os: macos-11 + # nametag: macos11-py39 + # cc_compiler: /usr/local/opt/llvm@14/bin/clang + # cxx_compiler: /usr/local/opt/llvm@14/bin/clang++ + # cxx_std: 17 + # python_ver: "3.10" + # aclang: 13 + # setenvs: export LLVMBREWVER="@14" DO_BREW_UPDATE=1 + # OPENIMAGEIO_VERSION=release + # QT_BREW_VERSION="@5" - desc: MacOS-12 os: macos-12 nametag: macos12-p310 From 7710b1be46281df91b6f04408e3f4423824f21e3 Mon Sep 17 00:00:00 2001 From: Larry Gritz Date: Thu, 26 Oct 2023 15:50:17 -0700 Subject: [PATCH 2/2] fix: SymOverrideInfo bitfields should be the same type (#1745) Stephen Friedman alerted me to the fact that on Windows, bit fields within a struct will only be combined if they are the same type. We were a bit sloppy in the defintion of SymOverrideInfo, and that was causing the struct to end up a different size in Windows. I think the solution is that all those bit fields should be `unsigned int`. --------- Signed-off-by: Larry Gritz --- src/liboslexec/oslexec_pvt.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/liboslexec/oslexec_pvt.h b/src/liboslexec/oslexec_pvt.h index 05ae2e999c..7403049625 100644 --- a/src/liboslexec/oslexec_pvt.h +++ b/src/liboslexec/oslexec_pvt.h @@ -1468,11 +1468,13 @@ class ShaderInstance { /// instance overrides from the master copy. struct SymOverrideInfo { // Using bit fields to keep the data in 8 bytes in total. - unsigned char m_valuesource : 3; - bool m_connected_down : 1; - bool m_interpolated : 1; - bool m_interactive : 1; - int m_arraylen : 26; + // Note: it's important that all the bitfields are the same type + // (unsigned int), or MSVS won't merge them properly into one int. + unsigned int m_valuesource : 3; + unsigned int m_connected_down : 1; + unsigned int m_interpolated : 1; + unsigned int m_interactive : 1; + unsigned int m_arraylen : 26; int m_data_offset; SymOverrideInfo()