samplerAnisotropy is still required for SamplerVulkan, which nothing creates any more #175
Labels
No labels
claude:blocked
claude:done
claude:failed
claude:in-progress
claude:ready
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Catcrafts/Crafter.Graphics#175
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Since
6e94cc6, Sponza writes its sampler into the sampler heap from aVkSamplerCreateInfo, and nothing in the tree creates aSamplerVulkan. The library still putssamplerAnisotropyamong the device features it requires, because "SamplerVulkan turns anisotropic filtering on" (implementations/Crafter.Graphics-Device.cpp:977-978). So a GPU without the feature is rejected for a sampler nobody makes. Design rule 8: the library enables only the device features its own shaders use.The requirement cannot be dropped on its own while
SamplerVulkanstays exported withanisotropyEnable = VK_TRUE(interfaces/Crafter.Graphics-SamplerVulkan.cppm:30, VUID-VkSamplerCreateInfo-anisotropyEnable-01070).SamplerVulkanalso never destroys theVkSamplerit creates (:40). No library shader or sampler uses anisotropy:UIRenderer::RegisterLinearClampSamplerleaves it off.Both local GPUs have the feature, so nothing fails here today.
Line numbers refer to
6e94cc6.Suggested fix
Remove the
:SamplerVulkanpartition (the interface file, itsifacesentry inproject.cppand the umbrella'sexport import) together with the requirement. An application that wants anisotropic filtering asks forsamplerAnisotropythroughDevice::Initialize.Found in a code review of the #163 change.