diff --git a/renderdoc/api/replay/vk_pipestate.h b/renderdoc/api/replay/vk_pipestate.h index 6873ce58f..c37aa08e5 100644 --- a/renderdoc/api/replay/vk_pipestate.h +++ b/renderdoc/api/replay/vk_pipestate.h @@ -171,10 +171,10 @@ struct VulkanPipelineState struct Raster { Raster() - : depthClipEnable(false), rasterizerDiscardEnable(false), FrontCCW(false), FillMode(eFill_Solid), CullMode(eCull_None) + : depthClampEnable(false), rasterizerDiscardEnable(false), FrontCCW(false), FillMode(eFill_Solid), CullMode(eCull_None) , depthBias(0), depthBiasClamp(0), slopeScaledDepthBias(0), lineWidth(0) {} - bool32 depthClipEnable, rasterizerDiscardEnable, FrontCCW; + bool32 depthClampEnable, rasterizerDiscardEnable, FrontCCW; TriangleFillMode FillMode; TriangleCullMode CullMode; diff --git a/renderdoc/driver/vulkan/vk_debug.cpp b/renderdoc/driver/vulkan/vk_debug.cpp index e0461c53e..3fc799126 100644 --- a/renderdoc/driver/vulkan/vk_debug.cpp +++ b/renderdoc/driver/vulkan/vk_debug.cpp @@ -342,7 +342,7 @@ VulkanDebugManager::VulkanDebugManager(WrappedVulkan *driver, VkDevice dev) sampInfo.minFilter = VK_TEX_FILTER_NEAREST; sampInfo.magFilter = VK_TEX_FILTER_NEAREST; - sampInfo.mipMode = VK_TEX_MIPMAP_MODE_NEAREST; + sampInfo.mipmapMode = VK_TEX_MIPMAP_MODE_NEAREST; vkr = vt->CreateSampler(Unwrap(dev), &sampInfo, &m_PointSampler); RDCASSERT(vkr == VK_SUCCESS); @@ -788,13 +788,13 @@ VulkanDebugManager::VulkanDebugManager(WrappedVulkan *driver, VkDevice dev) GetResourceManager()->WrapResource(Unwrap(dev), m_CheckerboardPipeline); - msaa.rasterSamples = VULKAN_MESH_VIEW_SAMPLES; + msaa.rasterizationSamples = VULKAN_MESH_VIEW_SAMPLES; pipeInfo.renderPass = RGBA8MSRP; vkr = vt->CreateGraphicsPipelines(Unwrap(dev), VK_NULL_HANDLE, 1, &pipeInfo, &m_CheckerboardMSAAPipeline); RDCASSERT(vkr == VK_SUCCESS); - msaa.rasterSamples = 1; + msaa.rasterizationSamples = 1; pipeInfo.renderPass = RGBA8RP; GetResourceManager()->WrapResource(Unwrap(dev), m_CheckerboardMSAAPipeline); @@ -1851,20 +1851,20 @@ void VulkanDebugManager::MakeGraphicsPipelineInfo(VkGraphicsPipelineCreateInfo & static VkPipelineRasterStateCreateInfo rs = { VK_STRUCTURE_TYPE_PIPELINE_RASTER_STATE_CREATE_INFO }; - rs.depthClipEnable = pipeInfo.depthClipEnable; + rs.depthClipEnable = pipeInfo.depthClampEnable; rs.rasterizerDiscardEnable = pipeInfo.rasterizerDiscardEnable, rs.fillMode = pipeInfo.fillMode; rs.cullMode = pipeInfo.cullMode; rs.frontFace = pipeInfo.frontFace; rs.depthBiasEnable = pipeInfo.depthBiasEnable; - rs.depthBias = pipeInfo.depthBias; + rs.depthBias = pipeInfo.depthBiasConstantFactor; rs.depthBiasClamp = pipeInfo.depthBiasClamp; - rs.slopeScaledDepthBias = pipeInfo.slopeScaledDepthBias; + rs.slopeScaledDepthBias = pipeInfo.depthBiasSlopeFactor; rs.lineWidth = pipeInfo.lineWidth; static VkPipelineMultisampleStateCreateInfo msaa = { VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO }; - msaa.rasterSamples = pipeInfo.rasterSamples; + msaa.rasterizationSamples = pipeInfo.rasterizationSamples; msaa.sampleShadingEnable = pipeInfo.sampleShadingEnable; msaa.minSampleShading = pipeInfo.minSampleShading; msaa.pSampleMask = &pipeInfo.sampleMask; diff --git a/renderdoc/driver/vulkan/vk_info.cpp b/renderdoc/driver/vulkan/vk_info.cpp index 063671c3d..98413e7d6 100644 --- a/renderdoc/driver/vulkan/vk_info.cpp +++ b/renderdoc/driver/vulkan/vk_info.cpp @@ -28,10 +28,10 @@ void DescSetLayout::Init(VulkanResourceManager *resourceMan, VulkanCreationInfo { dynamicCount = 0; - bindings.resize(pCreateInfo->count); - for(uint32_t i=0; i < pCreateInfo->count; i++) + bindings.resize(pCreateInfo->bindingCount); + for(uint32_t i=0; i < pCreateInfo->bindingCount; i++) { - bindings[i].arraySize = pCreateInfo->pBinding[i].arraySize; + bindings[i].descriptorCount = pCreateInfo->pBinding[i].descriptorCount; bindings[i].descriptorType = pCreateInfo->pBinding[i].descriptorType; bindings[i].stageFlags = pCreateInfo->pBinding[i].stageFlags; @@ -41,21 +41,21 @@ void DescSetLayout::Init(VulkanResourceManager *resourceMan, VulkanCreationInfo if(pCreateInfo->pBinding[i].pImmutableSamplers) { - bindings[i].immutableSampler = new ResourceId[bindings[i].arraySize]; + bindings[i].immutableSampler = new ResourceId[bindings[i].descriptorCount]; - for(uint32_t s=0; s < bindings[i].arraySize; s++) + for(uint32_t s=0; s < bindings[i].descriptorCount; s++) bindings[i].immutableSampler[s] = resourceMan->GetNonDispWrapper(pCreateInfo->pBinding[i].pImmutableSamplers[s])->id; } } } -void DescSetLayout::CreateBindingsArray(vector &descBindings) +void DescSetLayout::CreateBindingsArray(vector &descBindings) { descBindings.resize(bindings.size()); for(size_t i=0; i < bindings.size(); i++) { - descBindings[i] = new VkDescriptorInfo[bindings[i].arraySize]; - memset(descBindings[i], 0, sizeof(VkDescriptorInfo)*bindings[i].arraySize); + descBindings[i] = new DescriptorSetSlot[bindings[i].descriptorCount]; + memset(descBindings[i], 0, sizeof(DescriptorSetSlot)*bindings[i].descriptorCount); } } @@ -70,27 +70,35 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk // need to figure out which states are valid to be NULL // VkPipelineShaderStageCreateInfo - RDCEraseEl(shaders); for(uint32_t i=0; i < pCreateInfo->stageCount; i++) - shaders[ pCreateInfo->pStages[i].stage ] = resourceMan->GetNonDispWrapper(pCreateInfo->pStages[i].shader)->id; + { + ResourceId id = resourceMan->GetNonDispWrapper(pCreateInfo->pStages[i].module)->id; + Shader &shad = shaders[ pCreateInfo->pStages[i].stage ]; + + shad.module = id; + shad.refl = new ShaderReflection(info.m_ShaderModule[id].refl); + shad.refl->DebugInfo.entryFunc = pCreateInfo->pStages[i].pName; + // VKTODOLOW set this properly + shad.refl->DebugInfo.entryFile = 0; + } if(pCreateInfo->pVertexInputState) { - vertexBindings.resize(pCreateInfo->pVertexInputState->bindingCount); - for(uint32_t i=0; i < pCreateInfo->pVertexInputState->bindingCount; i++) + vertexBindings.resize(pCreateInfo->pVertexInputState->vertexBindingDescriptionCount); + for(uint32_t i=0; i < pCreateInfo->pVertexInputState->vertexBindingDescriptionCount; i++) { vertexBindings[i].vbufferBinding = pCreateInfo->pVertexInputState->pVertexBindingDescriptions[i].binding; - vertexBindings[i].bytestride = pCreateInfo->pVertexInputState->pVertexBindingDescriptions[i].strideInBytes; - vertexBindings[i].perInstance = pCreateInfo->pVertexInputState->pVertexBindingDescriptions[i].stepRate == VK_VERTEX_INPUT_STEP_RATE_INSTANCE; + vertexBindings[i].bytestride = pCreateInfo->pVertexInputState->pVertexBindingDescriptions[i].stride; + vertexBindings[i].perInstance = pCreateInfo->pVertexInputState->pVertexBindingDescriptions[i].inputRate == VK_VERTEX_INPUT_RATE_INSTANCE; } - vertexAttrs.resize(pCreateInfo->pVertexInputState->attributeCount); - for(uint32_t i=0; i < pCreateInfo->pVertexInputState->attributeCount; i++) + vertexAttrs.resize(pCreateInfo->pVertexInputState->vertexAttributeDescriptionCount); + for(uint32_t i=0; i < pCreateInfo->pVertexInputState->vertexAttributeDescriptionCount; i++) { vertexAttrs[i].binding = pCreateInfo->pVertexInputState->pVertexAttributeDescriptions[i].binding; vertexAttrs[i].location = pCreateInfo->pVertexInputState->pVertexAttributeDescriptions[i].location; vertexAttrs[i].format = pCreateInfo->pVertexInputState->pVertexAttributeDescriptions[i].format; - vertexAttrs[i].byteoffset = pCreateInfo->pVertexInputState->pVertexAttributeDescriptions[i].offsetInBytes; + vertexAttrs[i].byteoffset = pCreateInfo->pVertexInputState->pVertexAttributeDescriptions[i].offset; } } @@ -117,22 +125,24 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk } // VkPipelineRasterStateCreateInfo - depthClipEnable = pCreateInfo->pRasterState->depthClipEnable ? true : false; - rasterizerDiscardEnable = pCreateInfo->pRasterState->rasterizerDiscardEnable ? true : false; - fillMode = pCreateInfo->pRasterState->fillMode; - cullMode = pCreateInfo->pRasterState->cullMode; - frontFace = pCreateInfo->pRasterState->frontFace; - depthBiasEnable = pCreateInfo->pRasterState->depthBiasEnable ? true : false; - depthBias = pCreateInfo->pRasterState->depthBias; - depthBiasClamp = pCreateInfo->pRasterState->depthBiasClamp; - slopeScaledDepthBias = pCreateInfo->pRasterState->slopeScaledDepthBias; - lineWidth = pCreateInfo->pRasterState->lineWidth; + depthClampEnable = pCreateInfo->pRasterizationState->depthClampEnable ? true : false; + rasterizerDiscardEnable = pCreateInfo->pRasterizationState->rasterizerDiscardEnable ? true : false; + polygonMode = pCreateInfo->pRasterizationState->polygonMode; + cullMode = pCreateInfo->pRasterizationState->cullMode; + frontFace = pCreateInfo->pRasterizationState->frontFace; + depthBiasEnable = pCreateInfo->pRasterizationState->depthBiasEnable ? true : false; + depthBiasConstantFactor = pCreateInfo->pRasterizationState->depthBiasConstantFactor; + depthBiasClamp = pCreateInfo->pRasterizationState->depthBiasClamp; + depthBiasSlopeFactor = pCreateInfo->pRasterizationState->depthBiasSlopeFactor; + lineWidth = pCreateInfo->pRasterizationState->lineWidth; // VkPipelineMultisampleStateCreateInfo - rasterSamples = pCreateInfo->pMultisampleState->rasterSamples; + rasterizationSamples = pCreateInfo->pMultisampleState->rasterizationSamples; sampleShadingEnable = pCreateInfo->pMultisampleState->sampleShadingEnable ? true : false; minSampleShading = pCreateInfo->pMultisampleState->minSampleShading; sampleMask = pCreateInfo->pMultisampleState->pSampleMask ? *pCreateInfo->pMultisampleState->pSampleMask : ~0U; + alphaToCoverageEnable = pCreateInfo->pMultisampleState->alphaToCoverageEnable ? true : false; + alphaToOneEnable = pCreateInfo->pMultisampleState->alphaToOneEnable ? true : false; // VkPipelineDepthStencilStateCreateInfo depthTestEnable = pCreateInfo->pDepthStencilState->depthTestEnable ? true : false; @@ -146,11 +156,9 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk maxDepthBounds = pCreateInfo->pDepthStencilState->maxDepthBounds; // VkPipelineColorBlendStateCreateInfo - alphaToCoverageEnable = pCreateInfo->pColorBlendState->alphaToCoverageEnable ? true : false; - alphaToOneEnable = pCreateInfo->pColorBlendState->alphaToOneEnable ? true : false; logicOpEnable = pCreateInfo->pColorBlendState->logicOpEnable ? true : false; logicOp = pCreateInfo->pColorBlendState->logicOp; - memcpy(blendConst, pCreateInfo->pColorBlendState->blendConst, sizeof(blendConst)); + memcpy(blendConst, pCreateInfo->pColorBlendState->blendConstants, sizeof(blendConst)); attachments.resize(pCreateInfo->pColorBlendState->attachmentCount); @@ -158,15 +166,15 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk { attachments[i].blendEnable = pCreateInfo->pColorBlendState->pAttachments[i].blendEnable ? true : false; - attachments[i].blend.Source = pCreateInfo->pColorBlendState->pAttachments[i].srcBlendColor; - attachments[i].blend.Destination = pCreateInfo->pColorBlendState->pAttachments[i].destBlendColor; - attachments[i].blend.Operation = pCreateInfo->pColorBlendState->pAttachments[i].blendOpColor; + attachments[i].blend.Source = pCreateInfo->pColorBlendState->pAttachments[i].srcColorBlendFactor; + attachments[i].blend.Destination = pCreateInfo->pColorBlendState->pAttachments[i].dstColorBlendFactor; + attachments[i].blend.Operation = pCreateInfo->pColorBlendState->pAttachments[i].colorBlendOp; - attachments[i].alphaBlend.Source = pCreateInfo->pColorBlendState->pAttachments[i].srcBlendAlpha; - attachments[i].alphaBlend.Destination = pCreateInfo->pColorBlendState->pAttachments[i].destBlendAlpha; - attachments[i].alphaBlend.Operation = pCreateInfo->pColorBlendState->pAttachments[i].blendOpAlpha; + attachments[i].alphaBlend.Source = pCreateInfo->pColorBlendState->pAttachments[i].srcAlphaBlendFactor; + attachments[i].alphaBlend.Destination = pCreateInfo->pColorBlendState->pAttachments[i].dstAlphaBlendFactor; + attachments[i].alphaBlend.Operation = pCreateInfo->pColorBlendState->pAttachments[i].alphaBlendOp; - attachments[i].channelWriteMask = pCreateInfo->pColorBlendState->pAttachments[i].channelWriteMask; + attachments[i].channelWriteMask = pCreateInfo->pColorBlendState->pAttachments[i].colorWriteMask; } RDCEraseEl(dynamicStates); @@ -186,8 +194,16 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk // need to figure out which states are valid to be NULL // VkPipelineShaderStageCreateInfo - RDCEraseEl(shaders); - shaders[0] = resourceMan->GetNonDispWrapper(pCreateInfo->stage.shader)->id; + { + ResourceId id = resourceMan->GetNonDispWrapper(pCreateInfo->stage.module)->id; + Shader &shad = shaders[0]; + + shad.module = id; + shad.refl = new ShaderReflection(info.m_ShaderModule[id].refl); + shad.refl->DebugInfo.entryFunc = pCreateInfo->stage.pName; + // VKTODOLOW set this properly + shad.refl->DebugInfo.entryFile = 0; + } topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST; primitiveRestartEnable = false; @@ -197,14 +213,14 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk viewportCount = 0; // VkPipelineRasterStateCreateInfo - depthClipEnable = false; + depthClampEnable = false; rasterizerDiscardEnable = false; - fillMode = VK_FILL_MODE_SOLID; + polygonMode = VK_POLYGON_MODE_FILL; cullMode = VK_CULL_MODE_NONE; - frontFace = VK_FRONT_FACE_CW; + frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE; // VkPipelineMultisampleStateCreateInfo - rasterSamples = 1; + rasterizationSamples = 1; sampleShadingEnable = false; minSampleShading = 1.0f; sampleMask = ~0U; @@ -221,13 +237,13 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk // VkPipelineColorBlendStateCreateInfo alphaToCoverageEnable = false; logicOpEnable = false; - logicOp = VK_LOGIC_OP_NOOP; + logicOp = VK_LOGIC_OP_NO_OP; } void VulkanCreationInfo::PipelineLayout::Init(VulkanResourceManager *resourceMan, VulkanCreationInfo &info, const VkPipelineLayoutCreateInfo* pCreateInfo) { - descSetLayouts.resize(pCreateInfo->descriptorSetCount); - for(uint32_t i=0; i < pCreateInfo->descriptorSetCount; i++) + descSetLayouts.resize(pCreateInfo->setLayoutCount); + for(uint32_t i=0; i < pCreateInfo->setLayoutCount; i++) descSetLayouts[i] = resourceMan->GetNonDispWrapper(pCreateInfo->pSetLayouts[i])->id; pushRanges.reserve(pCreateInfo->pushConstantRangeCount); @@ -254,16 +270,16 @@ void VulkanCreationInfo::RenderPass::Init(VulkanResourceManager *resourceMan, Vu const VkSubpassDescription &subp = pCreateInfo->pSubpasses[i]; Subpass &s = subpasses[i]; - s.inputAttachments.resize(subp.inputCount); - for(uint32_t i=0; i < subp.inputCount; i++) + s.inputAttachments.resize(subp.inputAttachmentCount); + for(uint32_t i=0; i < subp.inputAttachmentCount; i++) s.inputAttachments[i] = subp.pInputAttachments[i].attachment; - s.colorAttachments.resize(subp.colorCount); - for(uint32_t i=0; i < subp.colorCount; i++) + s.colorAttachments.resize(subp.colorAttachmentCount); + for(uint32_t i=0; i < subp.colorAttachmentCount; i++) s.colorAttachments[i] = subp.pColorAttachments[i].attachment; - s.depthstencilAttachment = (subp.depthStencilAttachment.attachment != VK_ATTACHMENT_UNUSED - ? (int32_t)subp.depthStencilAttachment.attachment : -1); + s.depthstencilAttachment = (subp.pDepthStencilAttachment != NULL && subp.pDepthStencilAttachment->attachment != VK_ATTACHMENT_UNUSED + ? (int32_t)subp.pDepthStencilAttachment->attachment : -1); } } @@ -281,7 +297,7 @@ void VulkanCreationInfo::Framebuffer::Init(VulkanResourceManager *resourceMan, V } } -void VulkanCreationInfo::Memory::Init(VulkanResourceManager *resourceMan, VulkanCreationInfo &info, const VkMemoryAllocInfo* pAllocInfo) +void VulkanCreationInfo::Memory::Init(VulkanResourceManager *resourceMan, VulkanCreationInfo &info, const VkMemoryAllocateInfo* pAllocInfo) { size = pAllocInfo->allocationSize; } @@ -306,7 +322,7 @@ void VulkanCreationInfo::Image::Init(VulkanResourceManager *resourceMan, VulkanC type = pCreateInfo->imageType; format = pCreateInfo->format; extent = pCreateInfo->extent; - arraySize = pCreateInfo->arraySize; + arrayLayers = pCreateInfo->arrayLayers; mipLevels = pCreateInfo->mipLevels; samples = pCreateInfo->samples; @@ -328,7 +344,7 @@ void VulkanCreationInfo::Sampler::Init(VulkanResourceManager *resourceMan, Vulka { magFilter = pCreateInfo->magFilter; minFilter = pCreateInfo->minFilter; - mipMode = pCreateInfo->mipMode; + mipmapMode = pCreateInfo->mipmapMode; address[0] = pCreateInfo->addressModeU; address[1] = pCreateInfo->addressModeV; address[2] = pCreateInfo->addressModeW; @@ -362,16 +378,5 @@ void VulkanCreationInfo::ShaderModule::Init(VulkanResourceManager *resourceMan, ParseSPIRV((uint32_t *)pCreateInfo->pCode, pCreateInfo->codeSize/sizeof(uint32_t), spirv); } - spirv.MakeReflection(&reflTemplate, &mapping); + spirv.MakeReflection(&refl, &mapping); } - -void VulkanCreationInfo::Shader::Init(VulkanResourceManager *resourceMan, VulkanCreationInfo &info, const VkShaderCreateInfo* pCreateInfo, VulkanCreationInfo::ShaderModule &moduleinfo) -{ - module = resourceMan->GetNonDispWrapper(pCreateInfo->module)->id; - entry = pCreateInfo->pName; - mapping = moduleinfo.mapping; - refl = moduleinfo.reflTemplate; - refl.DebugInfo.entryFunc = pCreateInfo->pName; - // VKTODOLOW set this properly - refl.DebugInfo.entryFile = 0; -} \ No newline at end of file diff --git a/renderdoc/driver/vulkan/vk_info.h b/renderdoc/driver/vulkan/vk_info.h index a429e4466..5f817d4cc 100644 --- a/renderdoc/driver/vulkan/vk_info.h +++ b/renderdoc/driver/vulkan/vk_info.h @@ -43,7 +43,7 @@ struct DescSetLayout ~Binding() { SAFE_DELETE_ARRAY(immutableSampler); } VkDescriptorType descriptorType; - uint32_t arraySize; + uint32_t descriptorCount; VkShaderStageFlags stageFlags; ResourceId *immutableSampler; }; @@ -67,7 +67,15 @@ struct VulkanCreationInfo VkPipelineCreateFlags flags; // VkPipelineShaderStageCreateInfo - ResourceId shaders[6]; + struct Shader + { + Shader() : refl(NULL), mapping(NULL) {} + ~Shader() { SAFE_DELETE(refl); } + ResourceId module; + ShaderReflection *refl; + ShaderBindpointMapping *mapping; + }; + Shader shaders[6]; // VkPipelineVertexInputStateCreateInfo struct Binding @@ -106,16 +114,18 @@ struct VulkanCreationInfo VkCullModeFlags cullMode; VkFrontFace frontFace; bool depthBiasEnable; - float depthBias; + float depthBiasConstantFactor; float depthBiasClamp; - float slopeScaledDepthBias; + float depthBiasSlopeFactor; float lineWidth; // VkPipelineMultisampleStateCreateInfo - uint32_t rasterSamples; + uint32_t rasterizationSamples; bool sampleShadingEnable; float minSampleShading; VkSampleMask sampleMask; + bool alphaToCoverageEnable; + bool alphaToOneEnable; // VkPipelineDepthStencilStateCreateInfo bool depthTestEnable; @@ -129,8 +139,6 @@ struct VulkanCreationInfo float maxDepthBounds; // VkPipelineColorBlendStateCreateInfo - bool alphaToCoverageEnable; - bool alphaToOneEnable; bool logicOpEnable; VkLogicOp logicOp; float blendConst[4]; @@ -242,7 +250,7 @@ struct VulkanCreationInfo VkImageType type; VkFormat format; VkExtent3D extent; - int arraySize, mipLevels, samples; + int arrayLayers, mipLevels, samples; bool cube; uint32_t creationFlags; @@ -255,7 +263,7 @@ struct VulkanCreationInfo VkFilter magFilter; VkFilter minFilter; - VkSamplerMipmapMode mipMode; + VkSamplerMipmapMode mipmapMode; VkSamplerAddressMode address[3]; float mipLodBias; float maxAnisotropy; @@ -283,7 +291,7 @@ struct VulkanCreationInfo void Init(VulkanResourceManager *resourceMan, VulkanCreationInfo &info, const VkShaderModuleCreateInfo* pCreateInfo); SPVModule spirv; - ShaderReflection reflTemplate; + ShaderReflection refl; ShaderBindpointMapping mapping; }; map m_ShaderModule; diff --git a/renderdoc/driver/vulkan/vk_initstate.cpp b/renderdoc/driver/vulkan/vk_initstate.cpp index 000cef146..141f3fad3 100644 --- a/renderdoc/driver/vulkan/vk_initstate.cpp +++ b/renderdoc/driver/vulkan/vk_initstate.cpp @@ -1400,7 +1400,7 @@ bool WrappedVulkan::Serialise_InitialState(WrappedVkRes *res) m_CreationInfo.m_Image[liveim->id].format, m_CreationInfo.m_Image[liveim->id].extent, (uint32_t)m_CreationInfo.m_Image[liveim->id].mipLevels, - (uint32_t)m_CreationInfo.m_Image[liveim->id].arraySize, + (uint32_t)m_CreationInfo.m_Image[liveim->id].arrayLayers, (uint32_t)m_CreationInfo.m_Image[liveim->id].samples, VK_IMAGE_TILING_OPTIMAL, // make this optimal since the format/etc is more likely supported as optimal VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT|VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT, @@ -1847,16 +1847,16 @@ void WrappedVulkan::Apply_InitialState(WrappedVkRes *live, VulkanResourceManager 0, 0, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL, VK_QUEUE_FAMILY_IGNORED, VK_QUEUE_FAMILY_IGNORED, ToHandle(live), - { aspectFlags, 0, 1, 0, (uint32_t)m_CreationInfo.m_Image[id].arraySize } + { aspectFlags, 0, 1, 0, (uint32_t)m_CreationInfo.m_Image[id].arrayLayers } }; // loop over every mip for(int m=0; m < m_CreationInfo.m_Image[id].mipLevels; m++) { VkImageCopy region = { - { aspect, (uint32_t)m, 0, (uint32_t)m_CreationInfo.m_Image[id].arraySize }, + { aspect, (uint32_t)m, 0, (uint32_t)m_CreationInfo.m_Image[id].arrayLayers }, { 0, 0, 0 }, - { aspect, (uint32_t)m, 0, (uint32_t)m_CreationInfo.m_Image[id].arraySize }, + { aspect, (uint32_t)m, 0, (uint32_t)m_CreationInfo.m_Image[id].arrayLayers }, { 0, 0, 0 }, extent, }; diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index af0d759e8..4c66b8fc6 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -659,7 +659,7 @@ FetchTexture VulkanReplay::GetTexture(ResourceId id) FetchTexture ret; ret.ID = m_pDriver->GetResourceManager()->GetOriginalID(id); - ret.arraysize = iminfo.arraySize; + ret.arraysize = iminfo.arrayLayers; ret.creationFlags = iminfo.creationFlags; ret.cubemap = iminfo.cube; ret.width = iminfo.extent.width; @@ -681,13 +681,13 @@ FetchTexture VulkanReplay::GetTexture(ResourceId id) switch(iminfo.type) { case VK_IMAGE_TYPE_1D: - ret.resType = iminfo.arraySize > 1 ? eResType_Texture1DArray : eResType_Texture1D; + ret.resType = iminfo.arrayLayers > 1 ? eResType_Texture1DArray : eResType_Texture1D; ret.dimension = 1; break; case VK_IMAGE_TYPE_2D: - if(ret.msSamp > 1) ret.resType = iminfo.arraySize > 1 ? eResType_Texture2DMSArray : eResType_Texture2DMS; - else if(ret.cubemap) ret.resType = iminfo.arraySize > 6 ? eResType_TextureCubeArray : eResType_TextureCube; - else ret.resType = iminfo.arraySize > 1 ? eResType_Texture2DArray : eResType_Texture2D; + if(ret.msSamp > 1) ret.resType = iminfo.arrayLayers > 1 ? eResType_Texture2DMSArray : eResType_Texture2DMS; + else if(ret.cubemap) ret.resType = iminfo.arrayLayers > 6 ? eResType_TextureCubeArray : eResType_TextureCube; + else ret.resType = iminfo.arrayLayers > 1 ? eResType_Texture2DArray : eResType_Texture2D; ret.dimension = 2; break; case VK_IMAGE_TYPE_3D: @@ -2675,7 +2675,7 @@ void VulkanReplay::SavePipelineState() } // Rasterizer - m_VulkanPipelineState.RS.depthClipEnable = p.depthClipEnable; + m_VulkanPipelineState.RS.depthClampEnable = p.depthClampEnable; m_VulkanPipelineState.RS.rasterizerDiscardEnable = p.rasterizerDiscardEnable; m_VulkanPipelineState.RS.FrontCCW = p.frontFace == VK_FRONT_FACE_CCW; @@ -2708,7 +2708,7 @@ void VulkanReplay::SavePipelineState() m_VulkanPipelineState.RS.lineWidth = state.lineWidth; // MSAA - m_VulkanPipelineState.MSAA.rasterSamples = p.rasterSamples; + m_VulkanPipelineState.MSAA.rasterSamples = p.rasterizationSamples; m_VulkanPipelineState.MSAA.sampleShadingEnable = p.sampleShadingEnable; m_VulkanPipelineState.MSAA.minSampleShading = p.minSampleShading; m_VulkanPipelineState.MSAA.sampleMask = p.sampleMask; @@ -2881,7 +2881,7 @@ void VulkanReplay::SavePipelineState() // sampler info el.mag = ToStr::Get(sampl.magFilter); el.min = ToStr::Get(sampl.minFilter); - el.mip = ToStr::Get(sampl.mipMode); + el.mip = ToStr::Get(sampl.mipmapMode); el.addrU = ToStr::Get(sampl.address[0]); el.addrV = ToStr::Get(sampl.address[1]); el.addrW = ToStr::Get(sampl.address[2]); @@ -3349,7 +3349,7 @@ bool VulkanReplay::GetMinMax(ResourceId texid, uint32_t sliceFace, uint32_t mip, data->HistogramTextureResolution.x = (float)RDCMAX(uint32_t(iminfo.extent.width)>>mip, 1U); data->HistogramTextureResolution.y = (float)RDCMAX(uint32_t(iminfo.extent.height)>>mip, 1U); - data->HistogramTextureResolution.z = (float)RDCMAX(uint32_t(iminfo.arraySize)>>mip, 1U); + data->HistogramTextureResolution.z = (float)RDCMAX(uint32_t(iminfo.arrayLayers)>>mip, 1U); data->HistogramSlice = (float)sliceFace; data->HistogramMip = (int)mip; data->HistogramNumSamples = iminfo.samples; @@ -3556,7 +3556,7 @@ bool VulkanReplay::GetHistogram(ResourceId texid, uint32_t sliceFace, uint32_t m data->HistogramTextureResolution.x = (float)RDCMAX(uint32_t(iminfo.extent.width)>>mip, 1U); data->HistogramTextureResolution.y = (float)RDCMAX(uint32_t(iminfo.extent.height)>>mip, 1U); - data->HistogramTextureResolution.z = (float)RDCMAX(uint32_t(iminfo.arraySize)>>mip, 1U); + data->HistogramTextureResolution.z = (float)RDCMAX(uint32_t(iminfo.arrayLayers)>>mip, 1U); data->HistogramSlice = (float)sliceFace; data->HistogramMip = (int)mip; data->HistogramNumSamples = iminfo.samples; @@ -3715,7 +3715,7 @@ byte *VulkanReplay::GetTextureData(ResourceId tex, uint32_t arrayIdx, uint32_t m VkImageCreateInfo imCreateInfo = { VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, NULL, imInfo.type, imInfo.format, imInfo.extent, - imInfo.mipLevels, imInfo.arraySize, imInfo.samples, + imInfo.mipLevels, imInfo.arrayLayers, imInfo.samples, VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT|VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT, 0, VK_SHARING_MODE_EXCLUSIVE, 0, NULL, diff --git a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp index 4f4402144..fffe283af 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp @@ -911,9 +911,9 @@ bool WrappedVulkan::Serialise_vkCmdBindPipeline( } if(!m_CreationInfo.m_Pipeline[liveid].dynamicStates[VK_DYNAMIC_STATE_DEPTH_BIAS]) { - m_RenderState.bias.depth = m_CreationInfo.m_Pipeline[liveid].depthBias; + m_RenderState.bias.depth = m_CreationInfo.m_Pipeline[liveid].depthBiasConstantFactor; m_RenderState.bias.biasclamp = m_CreationInfo.m_Pipeline[liveid].depthBiasClamp; - m_RenderState.bias.slope = m_CreationInfo.m_Pipeline[liveid].slopeScaledDepthBias; + m_RenderState.bias.slope = m_CreationInfo.m_Pipeline[liveid].depthBiasSlopeFactor; } if(!m_CreationInfo.m_Pipeline[liveid].dynamicStates[VK_DYNAMIC_STATE_BLEND_CONSTANTS]) { diff --git a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp index 96789419d..057d2eda4 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp @@ -262,7 +262,7 @@ bool WrappedVulkan::Serialise_vkCreateSwapchainKHR( iminfo.extent.height = info.imageExtent.height; iminfo.extent.depth = 1; iminfo.mipLevels = 1; - iminfo.arraySize = info.imageArraySize; + iminfo.arrayLayers = info.imageArraySize; iminfo.creationFlags = eTextureCreate_SRV|eTextureCreate_RTV|eTextureCreate_SwapBuffer; iminfo.cube = false; iminfo.samples = 1;