| 333 | } |
| 334 | |
| 335 | inline Device::Limits queryLimits(gfx::IDevice* pDevice) |
| 336 | { |
| 337 | const auto& deviceLimits = pDevice->getDeviceInfo().limits; |
| 338 | |
| 339 | auto toUint3 = [](const uint32_t value[]) { return uint3(value[0], value[1], value[2]); }; |
| 340 | |
| 341 | Device::Limits limits = {}; |
| 342 | limits.maxComputeDispatchThreadGroups = toUint3(deviceLimits.maxComputeDispatchThreadGroups); |
| 343 | limits.maxShaderVisibleSamplers = deviceLimits.maxShaderVisibleSamplers; |
| 344 | return limits; |
| 345 | } |
| 346 | |
| 347 | inline Device::SupportedFeatures querySupportedFeatures(gfx::IDevice* pDevice) |
| 348 | { |