• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

shader-slang / slang-rhi / 19960839712

05 Dec 2025 10:59AM UTC coverage: 33.004% (+0.2%) from 32.818%
19960839712

push

github

web-flow
Add tests for motion blur (#584)

* Add RayTracingMotionBlur feature

Add a feature for motion blur with ray tracing and query it during VK
device creation.

* Update VK accel structure validation to handle motion blur

* Add tests for MakeMiss, MakeMotionMiss, and MakeMotionHit

* Expose motion blur in Vulkan backend

API Changes:
- Add AccelerationStructureBuildFlags::CreateMotion flag for building
  acceleration structures with motion blur support
- Add RayTracingPipelineFlags::EnableMotion flag to enable motion blur
  in ray tracing pipelines

Vulkan Implementation:
- Add motionTrianglesDatas vector to store motion data structures
- Chain VkAccelerationStructureGeometryMotionTrianglesDataNV to
  triangle geometry via pNext pointer
- Translate CreateMotion flag to VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV
- Translate EnableMotion flag to VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
- Return SLANG_E_NOT_AVAILABLE for motion with procedural primitives,
  spheres, and linear swept spheres (only triangles supported)

Other Backends (CUDA/OptiX, D3D12, Metal):
- Return SLANG_E_NOT_AVAILABLE when motion blur is requested
- Ensures API compatibility while awaiting backend-specific implementations

* Add motion blur tests

* formatting

* make sure motion functions aren't compiled in CUDA

* Fix issue where wrong vertex buffer was used when converting motion instances

* Add support for static transform instances and update motion tests

* add missing REQUIRE_CALL error checks

* formatting

* require vertex buffer count to be 1 when motion blur isn't supported for geometry

* Added VK motion instance structs to new header

* add WAR for union causing tests to fail

* formatting

* Add instance descs for matrix and srt motion

* Update motion intersection test to check interpolated triangle

* Fix Vulkan motion instance accel padding and add type enum

* Add motion info for accel structures

Also supply motion info during acceleration structure c... (continued)

4824 of 19636 branches covered (24.57%)

Branch coverage included in aggregate %.

48 of 81 new or added lines in 7 files covered. (59.26%)

233 existing lines in 5 files now uncovered.

15776 of 42780 relevant lines covered (36.88%)

92.21 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

67.74
/src/vulkan/vk-device.cpp


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc