mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-12-01 00:21:50 +00:00
2334798432
Rather than just 0/1, it now acts as flags to control what messages are printed. In addition to the Vulkan enum names (long and short), none and all are supported (as well as raw numbers, but they're not checked for validity). This makes vulkan_use_validation a bit easier to use and less verbose by default. Now, if only it was easier to remember the name :P
343 lines
9 KiB
Text
343 lines
9 KiB
Text
{
|
|
search = (
|
|
VkAttachmentDescription,
|
|
VkDebugUtilsMessageSeverityFlagBitsEXT,
|
|
VkSubpassDescription,
|
|
VkSubpassDependency,
|
|
VkSpecializationInfo,
|
|
VkPipelineShaderStageCreateInfo,
|
|
VkPipelineVertexInputStateCreateInfo,
|
|
VkPipelineInputAssemblyStateCreateInfo,
|
|
VkPipelineViewportStateCreateInfo,
|
|
VkPipelineRasterizationStateCreateInfo,
|
|
VkPipelineMultisampleStateCreateInfo,
|
|
VkPipelineDepthStencilStateCreateInfo,
|
|
VkPipelineColorBlendStateCreateInfo,
|
|
VkPipelineDynamicStateCreateInfo,
|
|
VkDescriptorSetLayoutBinding,
|
|
VkDescriptorSetLayoutCreateInfo,
|
|
VkPushConstantRange,
|
|
VkPipelineLayoutCreateInfo,
|
|
VkGraphicsPipelineCreateInfo,
|
|
VkDescriptorPoolCreateInfo,
|
|
VkSamplerCreateInfo,
|
|
VkImageCreateInfo,
|
|
VkImageViewCreateInfo,
|
|
VkFramebufferCreateInfo,
|
|
VkClearValue,
|
|
);
|
|
parse = {
|
|
VkSubpassDescription = {
|
|
flags = auto;
|
|
pipelineBindPoint = auto;
|
|
inputAttachments = {
|
|
type = (array, VkAttachmentReference);
|
|
size = inputAttachmentCount;
|
|
values = pInputAttachments;
|
|
};
|
|
colorAttachments = {
|
|
type = (array, VkAttachmentReference);
|
|
size = colorAttachmentCount;
|
|
values = pColorAttachments;
|
|
};
|
|
resolveAttachments = {
|
|
type = (array, VkAttachmentReference);
|
|
values = pResolveAttachments;
|
|
matchSize = colorAttachments;
|
|
};
|
|
depthStencilAttachment = {
|
|
type = (single, VkAttachmentReference);
|
|
value = pDepthStencilAttachment;
|
|
};
|
|
preserveAttachments = {
|
|
type = (array, uint32_t);
|
|
size = preserveAttachmentCount;
|
|
values = pPreserveAttachments;
|
|
};
|
|
};
|
|
VkRenderPassCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
attachments = {
|
|
type = (array, VkAttachmentDescription);
|
|
size = attachmentCount;
|
|
values = pAttachments;
|
|
};
|
|
subpasses = {
|
|
type = (array, VkSubpassDescription);
|
|
size = subpassCount;
|
|
values = pSubpasses;
|
|
};
|
|
dependencies = {
|
|
type = (array, VkSubpassDependency);
|
|
size = dependencyCount;
|
|
values = pDependencies;
|
|
};
|
|
};
|
|
VkSpecializationInfo = {
|
|
mapEntries = {
|
|
type = (array, VkSpecializationMapEntry);
|
|
size = mapEntryCount;
|
|
values = pMapEntries;
|
|
};
|
|
data = {
|
|
type = data;
|
|
size = dataSize;
|
|
data = pData;
|
|
};
|
|
};
|
|
VkPipelineShaderStageCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
stage = auto;
|
|
name = {
|
|
type = string;
|
|
string = pName;
|
|
};
|
|
module = {
|
|
type = (custom, QFString, parse_VkShaderModule);
|
|
fields = (module);
|
|
};
|
|
specializationInfo = {
|
|
type = (single, VkSpecializationInfo);
|
|
value = pSpecializationInfo;
|
|
};
|
|
};
|
|
VkShaderModuleCreateInfo = skip;
|
|
VkDescriptorSetLayoutBinding = {
|
|
binding = auto;
|
|
descriptorType = auto;
|
|
descriptorCount = auto;
|
|
stageFlags = auto;
|
|
// skip pImmutableSamplers (default to 0) until I know how it works
|
|
};
|
|
VkDescriptorSetLayoutCreateInfo = {
|
|
flags = auto;
|
|
bindings = {
|
|
type = (array, VkDescriptorSetLayoutBinding);
|
|
size = bindingCount;
|
|
values = pBindings;
|
|
};
|
|
};
|
|
VkDescriptorPoolCreateInfo = {
|
|
flags = auto;
|
|
maxSets = auto;
|
|
bindings = {
|
|
type = (array, VkDescriptorPoolSize);
|
|
size = poolSizeCount;
|
|
values = pPoolSizes;
|
|
};
|
|
};
|
|
VkPipelineVertexInputStateCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
bindings = {
|
|
type = (array, VkVertexInputBindingDescription);
|
|
size = vertexBindingDescriptionCount;
|
|
values = pVertexBindingDescriptions;
|
|
};
|
|
attributes = {
|
|
type = (array, VkVertexInputAttributeDescription);
|
|
size = vertexAttributeDescriptionCount;
|
|
values = pVertexAttributeDescriptions;
|
|
};
|
|
};
|
|
VkPipelineInputAssemblyStateCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
topology = auto;
|
|
primitiveRestartEnable = auto;
|
|
};
|
|
VkPipelineViewportStateCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
//FIXME redo as one array
|
|
viewports = {
|
|
type = (array, VkViewport);
|
|
size = viewportCount;
|
|
values = pViewports;
|
|
};
|
|
scissors = {
|
|
type = (array, VkRect2D);
|
|
size = scissorCount;
|
|
values = pScissors;
|
|
};
|
|
};
|
|
VkPipelineRasterizationStateCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
depthClampEnable = auto;
|
|
rasterizerDiscardEnable = auto;
|
|
polygonMode = auto;
|
|
cullMode = auto;
|
|
frontFace = auto;
|
|
depthBiasEnable = auto;
|
|
depthBiasConstantFactor = auto;
|
|
depthBiasClamp = auto;
|
|
depthBiasSlopeFactor = auto;
|
|
lineWidth = auto;
|
|
};
|
|
VkPipelineMultisampleStateCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
rasterizationSamples = auto;
|
|
sampleShadingEnable = auto;
|
|
minSampleShading = auto;
|
|
//pSampleMask = auto; FIXME disabled until correct size is known
|
|
alphaToCoverageEnable = auto;
|
|
alphaToOneEnable = auto;
|
|
};
|
|
VkPipelineDepthStencilStateCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
depthTestEnable = auto;
|
|
depthWriteEnable = auto;
|
|
depthCompareOp = auto;
|
|
depthBoundsTestEnable = auto;
|
|
stencilTestEnable = auto;
|
|
front = auto;
|
|
back = auto;
|
|
minDepthBounds = auto;
|
|
maxDepthBounds = auto;
|
|
};
|
|
VkPipelineColorBlendStateCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
logicOpEnable = auto;
|
|
logicOp = auto;
|
|
attachments = {
|
|
type = (array, VkPipelineColorBlendAttachmentState);
|
|
size = attachmentCount;
|
|
values = pAttachments;
|
|
};
|
|
blendConstants = {
|
|
type = (custom, QFString, parse_RGBA);
|
|
fields = (blendConstants);
|
|
};
|
|
};
|
|
VkPipelineDynamicStateCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
dynamicState = {
|
|
type = (array, VkDynamicState);
|
|
size = dynamicStateCount;
|
|
values = pDynamicStates;
|
|
};
|
|
};
|
|
VkPipelineLayoutCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
setLayouts = {
|
|
type = (array, {
|
|
parse_type = (QFDictionary, QFString);
|
|
type = VkDescriptorSetLayout;
|
|
parser = parse_VkDescriptorSetLayout;
|
|
});
|
|
size = setLayoutCount;
|
|
values = pSetLayouts;
|
|
};
|
|
pushConstantRanges = {
|
|
type = (array, VkPushConstantRange);
|
|
size = pushConstantRangeCount;
|
|
values = pPushConstantRanges;
|
|
};
|
|
};
|
|
VkPipelineTessellationStateCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
patchControlPoints = auto;
|
|
};
|
|
VkGraphicsPipelineCreateInfo = {
|
|
flags = auto;
|
|
stages = {
|
|
type = (array, VkPipelineShaderStageCreateInfo);
|
|
size = stageCount;
|
|
values = pStages;
|
|
};
|
|
vertexInput = {
|
|
type = (single, VkPipelineVertexInputStateCreateInfo);
|
|
value = pVertexInputState;
|
|
};
|
|
inputAssembly = {
|
|
type = (single, VkPipelineInputAssemblyStateCreateInfo);
|
|
value = pInputAssemblyState;
|
|
};
|
|
tessellation = {
|
|
type = (single, VkPipelineTessellationStateCreateInfo);
|
|
value = pTessellationState;
|
|
};
|
|
viewport = {
|
|
type = (single, VkPipelineViewportStateCreateInfo);
|
|
value = pViewportState;
|
|
};
|
|
rasterization = {
|
|
type = (single, VkPipelineRasterizationStateCreateInfo);
|
|
value = pRasterizationState;
|
|
};
|
|
multisample = {
|
|
type = (single, VkPipelineMultisampleStateCreateInfo);
|
|
value = pMultisampleState;
|
|
};
|
|
depthStencil = {
|
|
type = (single, VkPipelineDepthStencilStateCreateInfo);
|
|
value = pDepthStencilState;
|
|
};
|
|
colorBlend = {
|
|
type = (single, VkPipelineColorBlendStateCreateInfo);
|
|
value = pColorBlendState;
|
|
};
|
|
dynamic = {
|
|
type = (single, VkPipelineDynamicStateCreateInfo);
|
|
value = pDynamicState;
|
|
};
|
|
layout = {
|
|
type = (custom, QFString, parse_VkPipelineLayout);
|
|
fields = (layout);
|
|
};
|
|
subpass = auto;
|
|
basePipelineHandle = {
|
|
type = (custom, QFString, parse_BasePipeline);
|
|
fields = (basePipelineHandle);
|
|
};
|
|
basePipelineIndex = auto;
|
|
};
|
|
VkImageCreateInfo = {
|
|
flags = auto;
|
|
imageType = auto;
|
|
format = auto;
|
|
extent = auto;
|
|
mipLevels = auto;
|
|
arrayLayers = auto;
|
|
samples = auto;
|
|
tiling = auto;
|
|
usage = auto;
|
|
sharingMode = skip; // FIXME for now
|
|
queueFamilyIndexCount = skip; // FIXME for now
|
|
pQueueFamilyIndices = skip; // FIXME for now
|
|
initialLayout = auto;
|
|
};
|
|
VkImageViewCreateInfo = {
|
|
flags = auto;
|
|
image = {
|
|
type = (custom, (QFDictionary, QFString),
|
|
parse_VkImage);
|
|
fields = (image);
|
|
};
|
|
viewType = auto;
|
|
format = auto;
|
|
components = auto;
|
|
subresourceRange = auto;
|
|
};
|
|
VkFramebufferCreateInfo = {
|
|
//flags = auto; reserved for future use (Bits enum does not exist)
|
|
renderPass = {
|
|
type = (custom, QFString, parse_VkRenderPass);
|
|
fields = (renderPass);
|
|
};
|
|
attachments = {
|
|
type = (array, VkImageView);
|
|
size = attachmentCount;
|
|
values = pAttachments;
|
|
};
|
|
width = auto;
|
|
height = auto;
|
|
layers = auto;
|
|
};
|
|
VkClearColorValue = skip;
|
|
VkClearValue = {
|
|
color = {
|
|
type = (custom, QFString, parse_RGBA);
|
|
fields = (color);
|
|
};
|
|
depthStencil = auto;
|
|
};
|
|
}
|
|
}
|