diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa5583c07..7de7ebef8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -252,7 +252,6 @@ jobs: pybind11_ver: v2.11.1 simd: avx2,f16c batched: b8_AVX2 - # setenvs: export CONAN_PACKAGES="ptex/2.4.2@aswf/vfx2024" - desc: VP2025 gcc11/C++17 llvm18 py3.11 oiio-3.0 avx2 nametag: linux-vfx2025 runner: ubuntu-latest @@ -265,6 +264,18 @@ jobs: setenvs: export CTEST_EXCLUSIONS="broken|python-oslquery" # ^^ exclude python-oslquery test until the ASWF container properly # includes OIIO's python bindings, then we can remove that. + - desc: VP2026 gcc14/C++20 llvm20 py3.13 oiio-3.1 avx2 + nametag: linux-vfx2026 + runner: ubuntu-latest + container: aswftesting/ci-osl:2026-clang20 + cxx_std: 20 + python_ver: "3.13" + # pybind11_ver: v2.11.1 + simd: avx2,f16c + batched: b8_AVX2 + setenvs: export CTEST_EXCLUSIONS="broken|python-oslquery" + # ^^ exclude python-oslquery test until the ASWF container properly + # includes OIIO's python bindings, then we can remove that. # Address and leak sanitizers (debug build) - desc: sanitizers diff --git a/src/build-scripts/build_pybind11.bash b/src/build-scripts/build_pybind11.bash index 24321c163..0e57772ae 100755 --- a/src/build-scripts/build_pybind11.bash +++ b/src/build-scripts/build_pybind11.bash @@ -11,7 +11,7 @@ set -ex # Repo and branch/tag/commit of pybind11 to download if we don't have it yet PYBIND11_REPO=${PYBIND11_REPO:=https://github.com/pybind/pybind11.git} -PYBIND11_VERSION=${PYBIND11_VERSION:=v2.12.0} +PYBIND11_VERSION=${PYBIND11_VERSION:=v3.0.0} # Where to put pybind11 repo source (default to the ext area) PYBIND11_SRC_DIR=${PYBIND11_SRC_DIR:=${PWD}/ext/pybind11} diff --git a/src/osltoy/osltoyapp.cpp b/src/osltoy/osltoyapp.cpp index e3b61c6b8..5071160e6 100644 --- a/src/osltoy/osltoyapp.cpp +++ b/src/osltoy/osltoyapp.cpp @@ -692,7 +692,7 @@ OSLToyMainWindow::OSLToyMainWindow(OSLToyRenderer* rend, int xr, int yr) control_area_layout->addWidget(restartButton); searchPathEditor - = new OSLToySearchPathEditor(this, [this](auto&& paths) mutable { + = new OSLToySearchPathEditor(this, [&](auto&& paths) mutable { update_include_search_paths(paths); }); @@ -1052,7 +1052,7 @@ OSLToyMainWindow::timed_rerender_trigger(void) m_working = 1; renderer()->set_time(now); } - trigger_pool.push([=](int) { this->osl_do_rerender(now); }); + trigger_pool.push([&](int) { this->osl_do_rerender(now); }); } @@ -1300,10 +1300,10 @@ OSLToyMainWindow::make_param_adjustment_row(ParamRec* param, diddleCheckbox->setCheckState(Qt::Checked); #if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0) connect(diddleCheckbox, &QCheckBox::checkStateChanged, this, - [=](Qt::CheckState state) { set_param_diddle(param, int(state)); }); + [&](Qt::CheckState state) { set_param_diddle(param, int(state)); }); #else connect(diddleCheckbox, &QCheckBox::stateChanged, this, - [=](int state) { set_param_diddle(param, state); }); + [&](int state) { set_param_diddle(param, state); }); #endif layout->addWidget(diddleCheckbox, row, 0); @@ -1332,7 +1332,7 @@ OSLToyMainWindow::make_param_adjustment_row(ParamRec* param, layout->addWidget(adjustWidget, row, 2); param->widgets.push_back(adjustWidget); connect(adjustWidget, &QSpinBox::valueChanged, - this, [=](int) { + this, [&](int) { set_param_instance_value(param); }); } else if (param->type == TypeDesc::FLOAT) { @@ -1341,7 +1341,7 @@ OSLToyMainWindow::make_param_adjustment_row(ParamRec* param, param->widgets.push_back(adjustWidget); connect( adjustWidget, &QDoubleSpinBox::valueChanged, this, - [=](double) { set_param_instance_value(param); }); + [&](double) { set_param_instance_value(param); }); } else if (param->type.is_vec3()) { auto xyzBox = new QWidget; auto xyzLayout = new QHBoxLayout; @@ -1367,7 +1367,7 @@ OSLToyMainWindow::make_param_adjustment_row(ParamRec* param, param->widgets.push_back(adjustWidget); connect( adjustWidget, &QDoubleSpinBox::valueChanged, this, - [=](double) { set_param_instance_value(param); }); + [&](double) { set_param_instance_value(param); }); } layout->addWidget(xyzBox, row, 2); } else if (param->type == TypeDesc::STRING) { @@ -1376,12 +1376,12 @@ OSLToyMainWindow::make_param_adjustment_row(ParamRec* param, layout->addWidget(adjustWidget, row, 2); param->widgets.push_back(adjustWidget); connect(adjustWidget, &QLineEdit::returnPressed, this, - [=]() { set_param_instance_value(param); }); + [&]() { set_param_instance_value(param); }); } auto resetButton = new QPushButton("Reset"); connect(resetButton, &QPushButton::clicked, this, - [=]() { reset_param_to_default(param); }); + [&]() { reset_param_to_default(param); }); layout->addWidget(resetButton, row, 3); set_ui_to_paramval(param);