Fix errors with Vulkan Xcode build (#2906)

This commit is contained in:
Tim Sylvester
2024-10-07 04:12:01 -07:00
committed by GitHub
parent ec26136988
commit d83c4ac407
6 changed files with 94 additions and 46 deletions

View File

@@ -269,7 +269,7 @@ void Drawable::draw(PaintParameters& parameters) const {
impl->pipelineInfo.setRenderable(renderPass_.getDescriptor().renderable);
const uint32_t instances = instanceAttributes ? instanceAttributes->getMaxCount() : 1;
const auto instances = instanceAttributes ? instanceAttributes->getMaxCount() : 1;
for (const auto& seg : impl->segments) {
const auto& segment = seg->getSegment();
@@ -283,9 +283,16 @@ void Drawable::draw(PaintParameters& parameters) const {
commandBuffer->bindPipeline(vk::PipelineBindPoint::eGraphics, pipeline.get());
if (segment.indexLength) {
commandBuffer->drawIndexed(segment.indexLength, instances, segment.indexOffset, segment.vertexOffset, 0);
commandBuffer->drawIndexed(static_cast<uint32_t>(segment.indexLength),
static_cast<uint32_t>(instances),
static_cast<uint32_t>(segment.indexOffset),
static_cast<int32_t>(segment.vertexOffset),
0);
} else {
commandBuffer->draw(segment.vertexLength, instances, segment.vertexOffset, 0);
commandBuffer->draw(static_cast<uint32_t>(segment.vertexLength),
static_cast<uint32_t>(instances),
static_cast<uint32_t>(segment.vertexOffset),
0);
}
context.renderingStats().numDrawCalls++;
@@ -344,7 +351,7 @@ void Drawable::buildVulkanInputBindings() noexcept {
const auto& buffer = vertexBuffer->get();
const auto& buffIt = std::find(uniqueBuffers.begin(), uniqueBuffers.end(), binding->vertexBufferResource);
uint32_t bindingIndex = 0;
std::size_t bindingIndex = 0;
if (buffIt == uniqueBuffers.end()) {
bindingIndex = impl->pipelineInfo.inputBindings.size();
@@ -353,7 +360,7 @@ void Drawable::buildVulkanInputBindings() noexcept {
// add new buffer binding
impl->pipelineInfo.inputBindings.push_back(vk::VertexInputBindingDescription()
.setBinding(bindingIndex)
.setBinding(static_cast<uint32_t>(bindingIndex))
.setStride(binding->vertexStride)
.setInputRate(inputRate));
@@ -365,8 +372,8 @@ void Drawable::buildVulkanInputBindings() noexcept {
impl->pipelineInfo.inputAttributes.push_back(
vk::VertexInputAttributeDescription()
.setBinding(bindingIndex)
.setLocation(i)
.setBinding(static_cast<uint32_t>(bindingIndex))
.setLocation(static_cast<uint32_t>(i))
.setFormat(PipelineInfo::vulkanFormat(binding->attribute.dataType))
.setOffset(binding->attribute.offset));
}
@@ -431,7 +438,7 @@ bool Drawable::bindDescriptors(CommandEncoder& encoder) const noexcept {
.setBufferInfo(descriptorBufferInfo)
.setDescriptorCount(1)
.setDescriptorType(vk::DescriptorType::eUniformBuffer)
.setDstBinding(id)
.setDstBinding(static_cast<uint32_t>(id))
.setDstSet(uniformDescriptorSet);
device->updateDescriptorSets(writeDescriptorSet, nullptr);
@@ -460,7 +467,7 @@ bool Drawable::bindDescriptors(CommandEncoder& encoder) const noexcept {
.setImageInfo(descriptorImageInfo)
.setDescriptorCount(1)
.setDescriptorType(vk::DescriptorType::eCombinedImageSampler)
.setDstBinding(id)
.setDstBinding(static_cast<uint32_t>(id))
.setDstSet(imageDescriptorSet);
device->updateDescriptorSets(writeDescriptorSet, nullptr);