diff --git a/graphics/filament/Makefile b/graphics/filament/Makefile index 79bbd78c5b5b..92c4283b450c 100644 --- a/graphics/filament/Makefile +++ b/graphics/filament/Makefile @@ -1,61 +1,61 @@ PORTNAME= filament DISTVERSIONPREFIX= v -DISTVERSION= 1.74.1 +DISTVERSION= 1.77.0 CATEGORIES= graphics MAINTAINER= yuri@FreeBSD.org COMMENT= Real-time physically based rendering engine WWW= https://google.github.io/filament/ \ https://github.com/google/filament LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_armv7= compilation breaks: unexpected token in operand, see https://github.com/google/filament/issues/6131 BROKEN_i386= compilation breaks: register r11 is only available in 64-bit mode BROKEN_powerpc= compilation breaks: invalid register name, see https://github.com/google/filament/issues/7552 BROKEN_powerpc64= compilation breaks: invalid register name, see https://github.com/google/filament/issues/7552 BROKEN_powerpc64le= compilation breaks: invalid register name, see https://github.com/google/filament/issues/7552 BUILD_DEPENDS= bash:shells/bash \ evdev-proto>0:devel/evdev-proto USES= cmake compiler:c++17-lang localbase:ldflags python:build sdl shebangfix xorg USE_SDL= sdl2 USE_XORG= x11 USE_GITHUB= yes GH_ACCOUNT= google SHEBANG_FILES= build/launch-c.in build/launch-cxx.in #CMAKE_ON= BUILD_SHARED_LIBS # not yet supported, see https://github.com/google/filament/issues/1075 CMAKE_OFF= USE_STATIC_LIBCXX FILAMENT_ENABLE_JAVA CMAKE_ARGS+= -DDIST_DIR="." # prevent subdirectory for libraries CMAKE_ARGS+= -DUSE_CCACHE:BOOL=${CCACHE_ENABLED:tu} CMAKE_ARGS+= -DPython3_EXECUTABLE=${PYTHON_CMD} LDFLAGS+= -lexecinfo -lSDL2 OPTIONS_DEFINE= SAMPLES OPTIONS_SUB= yes SAMPLES_DESC= Build samples SAMPLES_CMAKE_OFF= -DFILAMENT_SKIP_SAMPLES=ON # gltf_viewer is broken with the Vulkan backend, see https://github.com/google/filament/issues/6445 post-patch: @${REINPLACE_CMD} -e 's|"/proc/self/exe"|"/proc/curproc/file"|' ${WRKSRC}/libs/utils/src/linux/Path.cpp post-install: # remove unnecessary files @cd ${STAGEDIR}${PREFIX} && ${RM} -r README.md LICENSE docs # remove conflicting file, see https://github.com/google/filament/issues/5957 @${RM} ${STAGEDIR}${PREFIX}/lib/libzstd.a # remove files installed by the improperly bundled spirv-tools package, see https://github.com/google/filament/issues/8965 @${FIND} ${STAGEDIR}${PREFIX} -iname "*spirv*" -delete @${RM} -r ${STAGEDIR}${PREFIX}/include/spirv-tools # workaround for the find(1) -delete bug, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288277 #@${RMDIR} ${STAGEDIR}${PREFIX}/lib/cmake .include diff --git a/graphics/filament/distinfo b/graphics/filament/distinfo index 4b133c54e7e7..4c6bf862634c 100644 --- a/graphics/filament/distinfo +++ b/graphics/filament/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1785390087 -SHA256 (google-filament-v1.74.1_GH0.tar.gz) = 2dd41a690325e0e9d63e1f5a50263fba949076801bf40458205a41ea488cc5bb -SIZE (google-filament-v1.74.1_GH0.tar.gz) = 679586176 +TIMESTAMP = 1789570393 +SHA256 (google-filament-v1.77.0_GH0.tar.gz) = cda68596471e2446aef3484ed2cf1a6a68d5cd40019c75a23db79ebf20c2d6d2 +SIZE (google-filament-v1.77.0_GH0.tar.gz) = 827803225 diff --git a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp index bded9df8b8d5..a8d8c67c72bf 100644 --- a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp +++ b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp @@ -1,20 +1,59 @@ ---- filament/backend/src/PlatformFactory.cpp.orig 2025-07-14 23:11:31 UTC +-- Add FreeBSD support for Vulkan, WebGPU, and OpenGL platform creation in PlatformFactory +-- Without this, PlatformFactory::create fails to instantiate the backend on FreeBSD + +--- filament/backend/src/PlatformFactory.cpp.orig 2026-09-15 21:05:50 UTC +++ filament/backend/src/PlatformFactory.cpp -@@ -42,7 +42,7 @@ +@@ -26,7 +26,7 @@ + #include "backend/platforms/WebGPUPlatformAndroid.h" + #elif defined(__APPLE__) + #include "backend/platforms/WebGPUPlatformApple.h" +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + #include "backend/platforms/WebGPUPlatformLinux.h" + #elif defined(WIN32) + #include "backend/platforms/WebGPUPlatformWindows.h" +@@ -50,7 +50,7 @@ + #else #include #endif - #endif --#elif defined(__linux__) -+#elif defined(__linux__) || defined(__FreeBSD__) - #if defined(FILAMENT_SUPPORTS_X11) - #if defined(FILAMENT_SUPPORTS_OPENGL) && !defined(FILAMENT_USE_EXTERNAL_GLES3) +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + #if defined(FILAMENT_SUPPORTS_X11) #include "backend/platforms/PlatformGLX.h" -@@ -152,7 +152,7 @@ Platform* PlatformFactory::create(Backend* backend) no + #elif defined(FILAMENT_SUPPORTS_EGL_ON_LINUX) +@@ -70,7 +70,7 @@ + #include "backend/platforms/VulkanPlatformAndroid.h" + #elif defined(__APPLE__) + #include "backend/platforms/VulkanPlatformApple.h" +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + #include "backend/platforms/VulkanPlatformLinux.h" + #elif defined(WIN32) + #include "backend/platforms/VulkanPlatformWindows.h" +@@ -124,7 +124,7 @@ Platform* PlatformFactory::create(Backend* backend) no + return new VulkanPlatformAndroid(); + #elif defined(__APPLE__) + return new VulkanPlatformApple(); +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + return new VulkanPlatformLinux(); + #elif defined(WIN32) + return new VulkanPlatformWindows(); +@@ -141,7 +141,7 @@ Platform* PlatformFactory::create(Backend* backend) no + return new WebGPUPlatformAndroid(); + #elif defined(__APPLE__) + return new WebGPUPlatformApple(); +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + return new WebGPUPlatformLinux(); + #elif defined(WIN32) + return new WebGPUPlatformWindows(); +@@ -175,7 +175,7 @@ Platform* PlatformFactory::create(Backend* backend) no #else return new PlatformCocoaGL(); #endif - #elif defined(__linux__) + #elif defined(__linux__) || defined(__FreeBSD__) #if defined(FILAMENT_SUPPORTS_X11) return new PlatformGLX(); #elif defined(FILAMENT_SUPPORTS_EGL_ON_LINUX) diff --git a/graphics/filament/pkg-plist b/graphics/filament/pkg-plist index ddd2b0c3c006..3d25dbc4f3f1 100644 --- a/graphics/filament/pkg-plist +++ b/graphics/filament/pkg-plist @@ -1,253 +1,256 @@ %%SAMPLES%%bin/assets/fonts/Roboto-License.txt %%SAMPLES%%bin/assets/fonts/Roboto-Medium.ttf %%SAMPLES%%bin/assets/ibl/lightroom_14b/lightroom_14b_ibl.ktx %%SAMPLES%%bin/assets/ibl/lightroom_14b/lightroom_14b_skybox.ktx %%SAMPLES%%bin/assets/ibl/lightroom_14b/sh.txt bin/basisu bin/cmgen bin/diffimg bin/filamesh bin/glslminifier %%SAMPLES%%bin/gltf_viewer bin/matc bin/matedit %%SAMPLES%%bin/material_sandbox bin/matinfo bin/mipgen bin/normal-blending bin/resgen bin/roughness-prefilter bin/specgen bin/specular-color bin/uberz include/backend/AcquiredImage.h include/backend/BufferDescriptor.h include/backend/CallbackHandler.h include/backend/DescriptorSetOffsetArray.h include/backend/DriverApiForward.h include/backend/DriverEnums.h include/backend/Handle.h include/backend/PipelineState.h include/backend/PixelBufferDescriptor.h include/backend/Platform.h include/backend/PresentCallable.h include/backend/Program.h include/backend/README.md include/backend/SamplerDescriptor.h include/backend/TargetBufferInfo.h include/backend/platforms/AndroidNdk.h include/backend/platforms/OpenGLPlatform.h include/backend/platforms/PlatformCocoaGL.h include/backend/platforms/PlatformCocoaTouchGL.h include/backend/platforms/PlatformEGL.h include/backend/platforms/PlatformEGLAndroid.h include/backend/platforms/PlatformEGLHeadless.h include/backend/platforms/PlatformGLX.h include/backend/platforms/PlatformMetal-ObjC.h include/backend/platforms/PlatformMetal.h include/backend/platforms/PlatformOSMesa.h include/backend/platforms/PlatformWGL.h include/backend/platforms/PlatformWebGL.h include/backend/platforms/VulkanPlatform.h include/backend/platforms/VulkanPlatformAndroid.h include/backend/platforms/VulkanPlatformApple.h include/backend/platforms/VulkanPlatformLinux.h include/backend/platforms/VulkanPlatformWindows.h include/backend/platforms/WebGPUPlatform.h include/backend/platforms/WebGPUPlatformAndroid.h include/backend/platforms/WebGPUPlatformApple.h include/backend/platforms/WebGPUPlatformLinux.h include/backend/platforms/WebGPUPlatformWasm.h include/backend/platforms/WebGPUPlatformWindows.h include/backend/platforms/WebGPUWasmPolyfill.h include/camutils/Bookmark.h include/camutils/Manipulator.h include/camutils/compiler.h include/filamat/Enums.h -include/filament/FramePacer.h -include/filament/FramePipelineEstimator.h include/filamat/MaterialBuilder.h include/filamat/Package.h include/filament-generatePrefilterMipmap/generatePrefilterMipmap.h include/filament-iblprefilter/IBLPrefilterContext.h include/filament-matp/Config.h include/filament-matp/MaterialParser.h include/filament/Box.h include/filament/BufferObject.h include/filament/Camera.h include/filament/Color.h include/filament/ColorGrading.h include/filament/ColorSpace.h include/filament/DebugRegistry.h include/filament/Engine.h include/filament/Exposure.h include/filament/Fence.h include/filament/FilamentAPI.h include/filament/FrameHistoryStream.h +include/filament/FramePacer.h +include/filament/FramePipelineEstimator.h include/filament/Frustum.h include/filament/IndexBuffer.h include/filament/IndirectLight.h include/filament/InstanceBuffer.h include/filament/LightManager.h include/filament/Material.h include/filament/MaterialChunkType.h include/filament/MaterialEnums.h include/filament/MaterialInstance.h include/filament/MorphTargetBuffer.h include/filament/Options.h include/filament/RenderTarget.h include/filament/RenderableManager.h include/filament/Renderer.h include/filament/Scene.h include/filament/SkinningBuffer.h include/filament/Skybox.h include/filament/Stream.h include/filament/SwapChain.h include/filament/Sync.h include/filament/Texture.h include/filament/TextureSampler.h include/filament/ToneMapper.h include/filament/TransformManager.h include/filament/VertexBuffer.h include/filament/View.h include/filament/Viewport.h include/filameshio/MeshReader.h include/geometry/SurfaceOrientation.h include/geometry/TangentSpaceMesh.h include/geometry/Transcoder.h include/gltfio/Animator.h include/gltfio/AssetLoader.h include/gltfio/FilamentAsset.h include/gltfio/FilamentInstance.h include/gltfio/MaterialProvider.h include/gltfio/NodeManager.h include/gltfio/ResourceLoader.h include/gltfio/TextureProvider.h include/gltfio/TrsTransformManager.h include/gltfio/materials/uberarchive.h include/gltfio/math.h include/ibl/Cubemap.h include/ibl/CubemapIBL.h include/ibl/CubemapSH.h include/ibl/CubemapUtils.h include/ibl/Image.h include/ibl/utilities.h include/image/ColorTransform.h include/image/ImageOps.h include/image/ImageSampler.h include/image/Ktx1Bundle.h include/image/LinearImage.h include/imageio-lite/ImageDecoder.h include/imageio-lite/ImageEncoder.h include/ktxreader/Ktx1Reader.h include/ktxreader/Ktx2Reader.h include/math/TMatHelpers.h include/math/TQuatHelpers.h include/math/TVecHelpers.h include/math/compiler.h include/math/fast.h include/math/half.h include/math/mat2.h include/math/mat3.h include/math/mat4.h include/math/mathfwd.h include/math/norm.h include/math/quat.h include/math/scalar.h include/math/vec2.h include/math/vec3.h include/math/vec4.h include/mathio/ostream.h include/mikktspace/mikktspace.h include/tsl/robin_growth_policy.h include/tsl/robin_hash.h include/tsl/robin_map.h include/tsl/robin_set.h include/uberz/ArchiveEnums.h include/uberz/ReadableArchive.h include/uberz/WritableArchive.h include/utils/Allocator.h include/utils/BitmaskEnum.h include/utils/CString.h include/utils/CallStack.h include/utils/Entity.h include/utils/EntityInstance.h include/utils/EntityManager.h include/utils/FixedCapacityVector.h include/utils/Hash.h include/utils/ImmutableCString.h include/utils/InternPool.h include/utils/Invocable.h include/utils/Log.h include/utils/Logger.h include/utils/LruCache.h include/utils/MonotonicRingMap.h include/utils/Mutex.h include/utils/NameComponentManager.h include/utils/PagedArenaBitset.h include/utils/PagedArenaBitsetPool.h include/utils/Panic.h include/utils/Path.h include/utils/PrivateImplementation-impl.h include/utils/PrivateImplementation.h include/utils/RefCountedMap.h include/utils/SingleInstanceComponentManager.h include/utils/Slice.h include/utils/StaticString.h include/utils/Status.h include/utils/StructureOfArrays.h include/utils/Systrace.h include/utils/algorithm.h include/utils/bitset.h include/utils/compiler.h include/utils/compressed_pair.h -include/utils/debug/Mutex.h include/utils/debug.h +include/utils/debug/Mutex.h include/utils/generic/Mutex.h include/utils/getopt.h include/utils/memalign.h include/utils/ostream.h include/utils/sstream.h include/utils/tribool.h include/utils/unwindows.h include/viewer/AutomationEngine.h include/viewer/AutomationSpec.h include/viewer/RemoteServer.h include/viewer/Settings.h include/viewer/ViewerGui.h lib/libabseil.a +lib/libassimp.a lib/libbackend.a lib/libbasis_transcoder.a lib/libbluegl.a lib/libbluevk.a lib/libcamutils.a lib/libcivetweb.a lib/libdracodec.a lib/libfilabridge.a lib/libfilaflat.a lib/libfilamat.a lib/libfilament-generatePrefilterMipmap.a lib/libfilament-iblprefilter.a lib/libfilament.a +%%SAMPLES%%lib/libfilamentapp-resources.a +%%SAMPLES%%lib/libfilamentapp.a lib/libfilameshio.a lib/libgeometry.a lib/libgltfio.a lib/libgltfio_core.a lib/libibl-lite.a lib/libibl.a lib/libimage.a lib/libimagediff.a lib/libimageio-lite.a lib/libktxreader.a lib/libmatdbg.a lib/libmatp.a lib/libmeshoptimizer.a lib/libmikktspace.a lib/libperfetto.a lib/libshaders.a lib/libsmol-v.a lib/libstb.a lib/libuberarchive.a lib/libuberzlib.a lib/libutils.a lib/libviewer.a