Implement GPU backend detection for Blender compatibility
- Added functionality to detect GPU backends (HIP and NVIDIA) during runner registration, enhancing compatibility for Blender versions below 4.x. - Introduced a new method, DetectAndStoreGPUBackends, to download the latest Blender and run a detection script, storing the results for future rendering decisions. - Updated rendering logic to force CPU rendering when HIP is detected on systems with Blender < 4.x, ensuring stability and compatibility. - Enhanced the Context structure to include flags for GPU detection status, improving error handling and rendering decisions based on GPU availability.
This commit is contained in:
@@ -23,6 +23,7 @@ import (
|
||||
"time"
|
||||
|
||||
authpkg "jiggablend/internal/auth"
|
||||
"jiggablend/internal/runner/blender"
|
||||
"jiggablend/pkg/executils"
|
||||
"jiggablend/pkg/scripts"
|
||||
"jiggablend/pkg/types"
|
||||
@@ -2036,12 +2037,13 @@ func (s *Manager) runBlenderMetadataExtraction(blendFile, workDir, blenderVersio
|
||||
}
|
||||
}
|
||||
|
||||
// Execute Blender using executils
|
||||
// Execute Blender using executils (set LD_LIBRARY_PATH for tarball installs)
|
||||
runEnv := blender.TarballEnv(blenderBinary, os.Environ())
|
||||
result, err := executils.RunCommand(
|
||||
blenderBinary,
|
||||
[]string{"-b", blendFileRel, "--python", "extract_metadata.py"},
|
||||
workDir,
|
||||
nil, // inherit environment
|
||||
runEnv,
|
||||
0, // no task ID for metadata extraction
|
||||
nil, // no process tracker needed
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user