{"record":{"id":"df5cace7dc8bb5fb","repo":"stride3d/stride","slug":"graphics-profile-level-11-or-higher-required-for","errorCode":null,"errorMessage":"Graphics Profile Level 11 or higher required for Voxelization.","messagePattern":"Graphics Profile Level 11 or higher required for Voxelization\\.","errorType":"exception","errorClass":"ArgumentOutOfRangeException","httpStatus":null,"severity":"error","filePath":"sources/engine/Stride.Voxels/Voxels/GraphicsCompositor/VoxelRenderer.cs","lineNumber":53,"sourceCode":"        readonly ProfilingKey MipmappingVoxelizationProfilingKey = new ProfilingKey(\"Voxelization: Mipmapping\");\n\n        public List<RenderStage> VoxelStages { get; set; } = new List<RenderStage>();\n\n        public Dictionary<VoxelVolumeComponent, ProcessedVoxelVolume> GetProcessedVolumes()\n        {\n            return renderVoxelVolumeData;\n        }\n        public virtual void Collect(RenderContext Context, Shadows.IShadowMapRenderer ShadowMapRenderer)\n        {\n            renderVoxelVolumes = Context.VisibilityGroup.Tags.Get(CurrentRenderVoxelVolumes);\n            renderVoxelVolumeData = Context.VisibilityGroup.Tags.Get(CurrentProcessedVoxelVolumes);\n\n            if (renderVoxelVolumes == null || renderVoxelVolumes.Count == 0)\n                return;\n\n            if (Context.RenderSystem.GraphicsDevice.Features.CurrentProfile < GraphicsProfile.Level_11_0)\n            {\n                throw new ArgumentOutOfRangeException(\"Graphics Profile Level 11 or higher required for Voxelization.\");\n            }\n\n            //Setup per volume passes and texture allocations\n            foreach ( var pair in renderVoxelVolumes )\n            {\n                var dataVolume = pair.Value;\n                var bounds = dataVolume.VolumeSize;\n\n                ProcessedVoxelVolume processedVolume;\n                if (!renderVoxelVolumeData.TryGetValue(pair.Key, out processedVolume))\n                {\n                    processedVolume = new ProcessedVoxelVolume();\n                    renderVoxelVolumeData.Add(pair.Key, processedVolume);\n                }\n\n\n                //Setup matrix\n                Vector3 matScale = dataVolume.VolumeSize;","sourceCodeStart":35,"sourceCodeEnd":71,"githubUrl":"https://github.com/stride3d/stride/blob/96fad776d210c221682aac1ccdf4c79dc046fc38/sources/engine/Stride.Voxels/Voxels/GraphicsCompositor/VoxelRenderer.cs#L35-L71","documentation":"VoxelRenderer.Collect throws ArgumentOutOfRangeException when the active graphics profile is below Level_11_0 (feature level 11). Voxelization relies on compute shaders and resources only available at feature level 11+, so the renderer refuses to run on weaker profiles. This is a hard capability requirement, not a data-range problem despite the exception type.","triggerScenarios":"Rendering a scene containing voxel volumes on a GraphicsDevice whose Features.CurrentProfile is below GraphicsProfile.Level_11_0 (e.g. D3D feature level 10 hardware or a profile-limited initialization).","commonSituations":"Running on old GPUs/integrated graphics that only support feature level 10.x; the game initialized with a lower minimum graphics profile; headless/emulated adapters reporting low profiles.","solutions":["Run on hardware and drivers supporting Direct3D feature level 11.0 or higher.","Raise/verify the requested minimum graphics profile at device initialization so the device is created with Level_11_0 capability.","Remove or conditionally disable voxel volumes when the device profile is below Level_11_0, degrading visuals instead of crashing."],"exampleFix":"// before\nscene.Add(voxelVolume); // Collect throws on Level_10 devices\n// after\nif (device.Features.CurrentProfile >= GraphicsProfile.Level_11_0)\n{\n    scene.Add(voxelVolume);\n}","handlingStrategy":"validation","validationCode":"if (device.Features.CurrentProfile < GraphicsProfile.Level_11_0)\n{\n    // disable voxel volumes, use fallback lighting\n    voxelEnabled = false;\n}","typeGuard":null,"tryCatchPattern":"try { scene.Add(voxelVolume); }\ncatch (ArgumentOutOfRangeException) { voxelEnabled = false; }","preventionTips":["Require feature level 11 hardware for voxel features.","Check GraphicsDevice.Features.CurrentProfile at startup and disable voxels below Level_11_0.","Set an explicit minimum graphics profile in device initialization."],"tags":["stride","voxels","graphics-profile","gpu-capability"],"backgroundTag":"unsupported-operation","analyzedSha":"96fad776d210c221682aac1ccdf4c79dc046fc38","analyzedAt":"2026-09-14T02:59:31.279Z","contentChangedAt":"2026-09-14T02:59:31.279Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}