| 395 | } |
| 396 | |
| 397 | void VKCommandBuffer::SetViewports(std::uint32_t numViewports, const Viewport* viewports) |
| 398 | { |
| 399 | #if 0 |
| 400 | if (IsCompatibleToVkViewport()) |
| 401 | { |
| 402 | /* Cast viewport to VkViewport types */ |
| 403 | vkCmdSetViewport(commandBuffer_, 0, numViewports, reinterpret_cast<const VkViewport*>(viewports)); |
| 404 | } |
| 405 | else |
| 406 | #endif |
| 407 | { |
| 408 | VkViewport viewportsVK[g_maxNumViewportsPerBatch]; |
| 409 | |
| 410 | for (std::uint32_t i = 0, first = 0, count = 0; i < numViewports; numViewports -= count) |
| 411 | { |
| 412 | /* Convert viewport to VkViewport types */ |
| 413 | count = std::min(numViewports, g_maxNumViewportsPerBatch); |
| 414 | |
| 415 | for (first = i; i < first + count; ++i) |
| 416 | VKTypes::Convert(viewportsVK[i - first], viewports[i]); |
| 417 | |
| 418 | vkCmdSetViewport(commandBuffer_, first, count, viewportsVK); |
| 419 | } |
| 420 | } |
| 421 | } |
| 422 | |
| 423 | void VKCommandBuffer::SetScissor(const Scissor& scissor) |
| 424 | { |
no test coverage detected