diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index c988b0b5ed2..0d267e691c4 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -517,9 +517,9 @@ set(EMBREE_HASH 4b525955b08e1249a700dea5b5ffc8b2) set(EMBREE_HASH_TYPE MD5) set(EMBREE_FILE embree-v${EMBREE_VERSION}.zip) -set(USD_VERSION 23.11) +set(USD_VERSION 24.05) set(USD_URI https://github.com/PixarAnimationStudios/OpenUSD/archive/v${USD_VERSION}.tar.gz) -set(USD_HASH 77358a244f50fc607e8b40764ea4f6c6) +set(USD_HASH 44a5b976a76588b485a652f08a55e91f) set(USD_HASH_TYPE MD5) set(USD_FILE usd-v${USD_VERSION}.tar.gz) diff --git a/build_files/build_environment/patches/usd.diff b/build_files/build_environment/patches/usd.diff index 23607839cdf..44772f206c3 100644 --- a/build_files/build_environment/patches/usd.diff +++ b/build_files/build_environment/patches/usd.diff @@ -112,32 +112,6 @@ index d78598a84..2f44a5f89 100644 /// A simple timer class for measuring an interval of time using the /// ArchTickTimer facilities. -diff --git a/pxr/base/tf/pxrDoubleConversion/utils.h b/pxr/base/tf/pxrDoubleConversion/utils.h -index 547ac1110..10fd96cf9 100644 ---- a/pxr/base/tf/pxrDoubleConversion/utils.h -+++ b/pxr/base/tf/pxrDoubleConversion/utils.h -@@ -78,7 +78,7 @@ inline void abort_noreturn() { abort(); } - defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ - defined(__SH4__) || defined(__alpha__) || \ - defined(_MIPS_ARCH_MIPS32R2) || \ -- defined(__AARCH64EL__) || defined(__aarch64__) || \ -+ defined(__AARCH64EL__) || defined(__aarch64__) || defined (_M_ARM64) || \ - defined(__riscv) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(__mc68000__) -diff --git a/pxr/imaging/hio/OpenEXR/OpenEXRCore/internal_dwa_simd.h b/pxr/imaging/hio/OpenEXR/OpenEXRCore/internal_dwa_simd.h -index 459fb3084..c1f98f160 100644 ---- a/pxr/imaging/hio/OpenEXR/OpenEXRCore/internal_dwa_simd.h -+++ b/pxr/imaging/hio/OpenEXR/OpenEXRCore/internal_dwa_simd.h -@@ -18,7 +18,7 @@ - // aligned. Unaligned pointers may risk seg-faulting. - // - --#if defined __SSE2__ || (_MSC_VER >= 1300 && !_M_CEE_PURE) -+#if defined __SSE2__ || (_MSC_VER >= 1300 && !_M_CEE_PURE && !defined(_M_ARM64)) - # define IMF_HAVE_SSE2 1 - # include - # include diff --git a/pxr/imaging/hioOpenVDB/CMakeLists.txt b/pxr/imaging/hioOpenVDB/CMakeLists.txt index e32762cea..d2c08d3da 100644 --- a/pxr/imaging/hioOpenVDB/CMakeLists.txt diff --git a/build_files/build_environment/patches/usd_core_profile.diff b/build_files/build_environment/patches/usd_core_profile.diff index 9fc4a52bcca..45f8f5b9b33 100644 --- a/build_files/build_environment/patches/usd_core_profile.diff +++ b/build_files/build_environment/patches/usd_core_profile.diff @@ -1,11 +1,11 @@ diff --git a/pxr/imaging/hdSt/indirectDrawBatch.cpp b/pxr/imaging/hdSt/indirectDrawBatch.cpp -index ec9b224..bf59cdf 100644 +index cdf400222f..e780d7343b 100644 --- a/pxr/imaging/hdSt/indirectDrawBatch.cpp +++ b/pxr/imaging/hdSt/indirectDrawBatch.cpp -@@ -109,11 +109,17 @@ HdSt_IndirectDrawBatch::HdSt_IndirectDrawBatch( - , _allowGpuFrustumCulling(allowGpuFrustumCulling) +@@ -111,11 +111,17 @@ HdSt_IndirectDrawBatch::HdSt_IndirectDrawBatch( , _instanceCountOffset(0) , _cullInstanceCountOffset(0) + , _needsTextureResourceRebinding(false) + , _vao(0) { _Init(drawItemInstance); @@ -21,7 +21,7 @@ index ec9b224..bf59cdf 100644 /*virtual*/ void -@@ -1146,6 +1152,14 @@ HdSt_IndirectDrawBatch::_ExecuteDraw( +@@ -1199,6 +1205,14 @@ HdSt_IndirectDrawBatch::_ExecuteDraw( state.instancePrimvarBars); } @@ -36,7 +36,7 @@ index ec9b224..bf59cdf 100644 state.BindResourcesForDrawing(renderPassState, *capabilities); HdSt_GeometricShaderSharedPtr geometricShader = state.geometricShader; -@@ -1374,6 +1388,15 @@ HdSt_IndirectDrawBatch::_ExecuteFrustumCull( +@@ -1455,6 +1469,15 @@ HdSt_IndirectDrawBatch::_ExecuteFrustumCull( cullingProgram.GetGeometricShader()); Hgi * hgi = resourceRegistry->GetHgi(); @@ -53,23 +53,23 @@ index ec9b224..bf59cdf 100644 HgiGraphicsPipelineSharedPtr const & pso = _GetCullPipeline(resourceRegistry, diff --git a/pxr/imaging/hdSt/indirectDrawBatch.h b/pxr/imaging/hdSt/indirectDrawBatch.h -index 44971f5..4292aa3 100644 +index 13da3917b0..84f013d310 100644 --- a/pxr/imaging/hdSt/indirectDrawBatch.h +++ b/pxr/imaging/hdSt/indirectDrawBatch.h -@@ -195,6 +195,8 @@ private: - - int _instanceCountOffset; +@@ -201,6 +201,8 @@ class HdSt_IndirectDrawBatch : public HdSt_DrawBatch int _cullInstanceCountOffset; + + bool _needsTextureResourceRebinding; + + uint32_t _vao; }; diff --git a/pxr/imaging/hdSt/renderPassState.cpp b/pxr/imaging/hdSt/renderPassState.cpp -index da0e4f3..8f87fc1 100644 +index 5c4d2fac07..908a49f310 100644 --- a/pxr/imaging/hdSt/renderPassState.cpp +++ b/pxr/imaging/hdSt/renderPassState.cpp -@@ -769,7 +769,9 @@ HdStRenderPassState::Bind(HgiCapabilities const &hgiCapabilities) +@@ -760,7 +760,9 @@ HdStRenderPassState::Bind(HgiCapabilities const &hgiCapabilities) // If not using GL_MULTISAMPLE, use GL_POINT_SMOOTH to render points as // circles instead of square. // XXX Switch points rendering to emit quad with FS that draws circle. @@ -80,7 +80,7 @@ index da0e4f3..8f87fc1 100644 } } -@@ -813,7 +815,9 @@ HdStRenderPassState::Unbind(HgiCapabilities const &hgiCapabilities) +@@ -804,7 +806,9 @@ HdStRenderPassState::Unbind(HgiCapabilities const &hgiCapabilities) } glEnable(GL_MULTISAMPLE); @@ -92,10 +92,10 @@ index da0e4f3..8f87fc1 100644 void diff --git a/pxr/imaging/hgi/capabilities.h b/pxr/imaging/hgi/capabilities.h -index ae2ecb4..c86afcb 100644 +index ae2ecb4e5b..c86afcb387 100644 --- a/pxr/imaging/hgi/capabilities.h +++ b/pxr/imaging/hgi/capabilities.h -@@ -52,6 +52,11 @@ public: +@@ -52,6 +52,11 @@ class HgiCapabilities HGI_API virtual int GetShaderVersion() const = 0; @@ -108,7 +108,7 @@ index ae2ecb4..c86afcb 100644 size_t GetMaxUniformBlockSize() const { return _maxUniformBlockSize; diff --git a/pxr/imaging/hgiGL/blitCmds.cpp b/pxr/imaging/hgiGL/blitCmds.cpp -index ce62f41..20888a1 100644 +index ce62f41a51..20888a1109 100644 --- a/pxr/imaging/hgiGL/blitCmds.cpp +++ b/pxr/imaging/hgiGL/blitCmds.cpp @@ -136,7 +136,7 @@ HgiGLBlitCmds::_Submit(Hgi* hgi, HgiSubmitWaitType wait) @@ -121,7 +121,7 @@ index ce62f41..20888a1 100644 HgiGL* hgiGL = static_cast(hgi); HgiGLDevice* device = hgiGL->GetPrimaryDevice(); diff --git a/pxr/imaging/hgiGL/capabilities.cpp b/pxr/imaging/hgiGL/capabilities.cpp -index 8711a62..e11324b 100644 +index 920f9cdff4..9941bef7b2 100644 --- a/pxr/imaging/hgiGL/capabilities.cpp +++ b/pxr/imaging/hgiGL/capabilities.cpp @@ -57,6 +57,7 @@ static const int _DefaultMaxClipDistances = 8; @@ -155,10 +155,10 @@ index 8711a62..e11324b 100644 + PXR_NAMESPACE_CLOSE_SCOPE diff --git a/pxr/imaging/hgiGL/capabilities.h b/pxr/imaging/hgiGL/capabilities.h -index 3c8f026..2f25b44 100644 +index 3c8f026426..2f25b44936 100644 --- a/pxr/imaging/hgiGL/capabilities.h +++ b/pxr/imaging/hgiGL/capabilities.h -@@ -52,6 +52,9 @@ public: +@@ -52,6 +52,9 @@ class HgiGLCapabilities final : public HgiCapabilities HGIGL_API int GetShaderVersion() const override; @@ -168,7 +168,7 @@ index 3c8f026..2f25b44 100644 private: void _LoadCapabilities(); -@@ -60,6 +63,9 @@ private: +@@ -60,6 +63,9 @@ class HgiGLCapabilities final : public HgiCapabilities // GLSL version int _glslVersion; // 400, 410, ... @@ -179,7 +179,7 @@ index 3c8f026..2f25b44 100644 PXR_NAMESPACE_CLOSE_SCOPE diff --git a/pxr/imaging/hgiGL/graphicsCmds.cpp b/pxr/imaging/hgiGL/graphicsCmds.cpp -index 5e17416..e59ae35 100644 +index 5e174165d7..e59ae3502f 100644 --- a/pxr/imaging/hgiGL/graphicsCmds.cpp +++ b/pxr/imaging/hgiGL/graphicsCmds.cpp @@ -249,7 +249,7 @@ HgiGLGraphicsCmds::_Submit(Hgi* hgi, HgiSubmitWaitType wait) @@ -192,7 +192,7 @@ index 5e17416..e59ae35 100644 // Resolve multisample textures HgiGL* hgiGL = static_cast(hgi); diff --git a/pxr/imaging/hgiGL/graphicsPipeline.cpp b/pxr/imaging/hgiGL/graphicsPipeline.cpp -index 6983dd1..a1c7af7 100644 +index 6983dd11e9..a1c7af754e 100644 --- a/pxr/imaging/hgiGL/graphicsPipeline.cpp +++ b/pxr/imaging/hgiGL/graphicsPipeline.cpp @@ -42,7 +42,12 @@ HgiGLGraphicsPipeline::HgiGLGraphicsPipeline( @@ -247,7 +247,7 @@ index 6983dd1..a1c7af7 100644 } diff --git a/pxr/imaging/hgiGL/scopedStateHolder.cpp b/pxr/imaging/hgiGL/scopedStateHolder.cpp -index 89cd0ac..5c65753 100644 +index 89cd0ac224..5c6575330b 100644 --- a/pxr/imaging/hgiGL/scopedStateHolder.cpp +++ b/pxr/imaging/hgiGL/scopedStateHolder.cpp @@ -26,6 +26,7 @@ @@ -322,7 +322,7 @@ index 89cd0ac..5c65753 100644 static const GLuint samplers[8] = {0}; diff --git a/pxr/imaging/hgiGL/scopedStateHolder.h b/pxr/imaging/hgiGL/scopedStateHolder.h -index d006480..be6698e 100644 +index d006480b9b..be6698e04c 100644 --- a/pxr/imaging/hgiGL/scopedStateHolder.h +++ b/pxr/imaging/hgiGL/scopedStateHolder.h @@ -32,6 +32,7 @@ @@ -342,7 +342,7 @@ index d006480..be6698e 100644 HGIGL_API ~HgiGL_ScopedStateHolder(); -@@ -59,6 +60,8 @@ private: +@@ -59,6 +60,8 @@ class HgiGL_ScopedStateHolder final HgiGL_ScopedStateHolder& operator=(const HgiGL_ScopedStateHolder&) = delete; HgiGL_ScopedStateHolder(const HgiGL_ScopedStateHolder&) = delete; @@ -352,7 +352,7 @@ index d006480..be6698e 100644 int32_t _restoreVao; diff --git a/pxr/imaging/hgiInterop/opengl.cpp b/pxr/imaging/hgiInterop/opengl.cpp -index 683c058..e921c2a 100644 +index 95736721f1..4f970ed608 100644 --- a/pxr/imaging/hgiInterop/opengl.cpp +++ b/pxr/imaging/hgiInterop/opengl.cpp @@ -110,6 +110,7 @@ HgiInteropOpenGL::HgiInteropOpenGL() @@ -402,10 +402,10 @@ index 683c058..e921c2a 100644 if (!blendEnabled) { glDisable(GL_BLEND); diff --git a/pxr/imaging/hgiInterop/opengl.h b/pxr/imaging/hgiInterop/opengl.h -index 18840a9..27434ac 100644 +index 18840a92bd..27434ac36f 100644 --- a/pxr/imaging/hgiInterop/opengl.h +++ b/pxr/imaging/hgiInterop/opengl.h -@@ -62,6 +62,7 @@ private: +@@ -62,6 +62,7 @@ class HgiInteropOpenGL final uint32_t _fsDepth; uint32_t _prgNoDepth; uint32_t _prgDepth;