mirror of
https://github.com/italicsjenga/portability.git
synced 2025-02-23 17:47:43 +11:00
Properly expose supported device features
This commit is contained in:
parent
2fce3aa575
commit
ba863e8c8e
1 changed files with 56 additions and 56 deletions
|
@ -1,6 +1,6 @@
|
|||
use hal::{command as com, memory, pass, pso, queue};
|
||||
use hal::{
|
||||
DescriptorPool, Device, Instance, PhysicalDevice, QueueFamily,
|
||||
DescriptorPool, Device, Features, Instance, PhysicalDevice, QueueFamily,
|
||||
Surface, Swapchain as HalSwapchain, FrameSync,
|
||||
};
|
||||
use hal::buffer::IndexBufferView;
|
||||
|
@ -144,61 +144,61 @@ pub extern "C" fn gfxGetPhysicalDeviceFeatures(
|
|||
|
||||
unsafe {
|
||||
*pFeatures = VkPhysicalDeviceFeatures {
|
||||
robustBufferAccess: VK_FALSE,
|
||||
fullDrawIndexUint32: VK_FALSE,
|
||||
imageCubeArray: VK_FALSE,
|
||||
independentBlend: VK_FALSE,
|
||||
geometryShader: VK_FALSE,
|
||||
tessellationShader: VK_FALSE,
|
||||
sampleRateShading: VK_FALSE,
|
||||
dualSrcBlend: VK_FALSE,
|
||||
logicOp: VK_FALSE,
|
||||
multiDrawIndirect: VK_FALSE,
|
||||
drawIndirectFirstInstance: VK_FALSE,
|
||||
depthClamp: VK_FALSE,
|
||||
depthBiasClamp: VK_FALSE,
|
||||
fillModeNonSolid: VK_FALSE,
|
||||
depthBounds: VK_FALSE,
|
||||
wideLines: VK_FALSE,
|
||||
largePoints: VK_FALSE,
|
||||
alphaToOne: VK_FALSE,
|
||||
multiViewport: VK_FALSE,
|
||||
samplerAnisotropy: VK_FALSE,
|
||||
textureCompressionETC2: VK_FALSE,
|
||||
textureCompressionASTC_LDR: VK_FALSE,
|
||||
textureCompressionBC: VK_FALSE,
|
||||
occlusionQueryPrecise: VK_FALSE,
|
||||
pipelineStatisticsQuery: VK_FALSE,
|
||||
vertexPipelineStoresAndAtomics: VK_FALSE,
|
||||
fragmentStoresAndAtomics: VK_FALSE,
|
||||
shaderTessellationAndGeometryPointSize: VK_FALSE,
|
||||
shaderImageGatherExtended: VK_FALSE,
|
||||
shaderStorageImageExtendedFormats: VK_FALSE,
|
||||
shaderStorageImageMultisample: VK_FALSE,
|
||||
shaderStorageImageReadWithoutFormat: VK_FALSE,
|
||||
shaderStorageImageWriteWithoutFormat: VK_FALSE,
|
||||
shaderUniformBufferArrayDynamicIndexing: VK_FALSE,
|
||||
shaderSampledImageArrayDynamicIndexing: VK_FALSE,
|
||||
shaderStorageBufferArrayDynamicIndexing: VK_FALSE,
|
||||
shaderStorageImageArrayDynamicIndexing: VK_FALSE,
|
||||
shaderClipDistance: VK_FALSE,
|
||||
shaderCullDistance: VK_FALSE,
|
||||
shaderFloat64: VK_FALSE,
|
||||
shaderInt64: VK_FALSE,
|
||||
shaderInt16: VK_FALSE,
|
||||
shaderResourceResidency: VK_FALSE,
|
||||
shaderResourceMinLod: VK_FALSE,
|
||||
sparseBinding: VK_FALSE,
|
||||
sparseResidencyBuffer: VK_FALSE,
|
||||
sparseResidencyImage2D: VK_FALSE,
|
||||
sparseResidencyImage3D: VK_FALSE,
|
||||
sparseResidency2Samples: VK_FALSE,
|
||||
sparseResidency4Samples: VK_FALSE,
|
||||
sparseResidency8Samples: VK_FALSE,
|
||||
sparseResidency16Samples: VK_FALSE,
|
||||
sparseResidencyAliased: VK_FALSE,
|
||||
variableMultisampleRate: VK_FALSE,
|
||||
inheritedQueries: VK_FALSE,
|
||||
robustBufferAccess: features.contains(Features::ROBUST_BUFFER_ACCESS) as _,
|
||||
fullDrawIndexUint32: features.contains(Features::FULL_DRAW_INDEX_U32) as _,
|
||||
imageCubeArray: features.contains(Features::IMAGE_CUBE_ARRAY) as _,
|
||||
independentBlend: features.contains(Features::INDEPENDENT_BLENDING) as _,
|
||||
geometryShader: features.contains(Features::GEOMETRY_SHADER) as _,
|
||||
tessellationShader: features.contains(Features::TESSELLATION_SHADER) as _,
|
||||
sampleRateShading: features.contains(Features::SAMPLE_RATE_SHADING) as _,
|
||||
dualSrcBlend: features.contains(Features::DUAL_SRC_BLENDING) as _,
|
||||
logicOp: features.contains(Features::LOGIC_OP) as _,
|
||||
multiDrawIndirect: features.contains(Features::MULTI_DRAW_INDIRECT) as _,
|
||||
drawIndirectFirstInstance: features.contains(Features::DRAW_INDIRECT_FIRST_INSTANCE) as _,
|
||||
depthClamp: features.contains(Features::DEPTH_CLAMP) as _,
|
||||
depthBiasClamp: features.contains(Features::DEPTH_BIAS_CLAMP) as _,
|
||||
fillModeNonSolid: features.contains(Features::NON_FILL_POLYGON_MODE) as _,
|
||||
depthBounds: features.contains(Features::DEPTH_BOUNDS) as _,
|
||||
wideLines: features.contains(Features::LINE_WIDTH) as _,
|
||||
largePoints: features.contains(Features::POINT_SIZE) as _,
|
||||
alphaToOne: features.contains(Features::ALPHA_TO_ONE) as _,
|
||||
multiViewport: features.contains(Features::MULTI_VIEWPORTS) as _,
|
||||
samplerAnisotropy: features.contains(Features::SAMPLER_ANISOTROPY) as _,
|
||||
textureCompressionETC2: features.contains(Features::FORMAT_ETC2) as _,
|
||||
textureCompressionASTC_LDR: features.contains(Features::FORMAT_ASTC_LDR) as _,
|
||||
textureCompressionBC: features.contains(Features::FORMAT_BC) as _,
|
||||
occlusionQueryPrecise: features.contains(Features::PRECISE_OCCLUSION_QUERY) as _,
|
||||
pipelineStatisticsQuery: features.contains(Features::PIPELINE_STATISTICS_QUERY) as _,
|
||||
vertexPipelineStoresAndAtomics: features.contains(Features::VERTEX_STORES_AND_ATOMICS) as _,
|
||||
fragmentStoresAndAtomics: features.contains(Features::FRAGMENT_STORES_AND_ATOMICS) as _,
|
||||
shaderTessellationAndGeometryPointSize: features.contains(Features::SHADER_TESSELLATION_AND_GEOMETRY_POINT_SIZE) as _,
|
||||
shaderImageGatherExtended: features.contains(Features::SHADER_IMAGE_GATHER_EXTENDED) as _,
|
||||
shaderStorageImageExtendedFormats: features.contains(Features::SHADER_STORAGE_IMAGE_EXTENDED_FORMATS) as _,
|
||||
shaderStorageImageMultisample: features.contains(Features::SHADER_STORAGE_IMAGE_MULTISAMPLE) as _,
|
||||
shaderStorageImageReadWithoutFormat: features.contains(Features::SHADER_STORAGE_IMAGE_READ_WITHOUT_FORMAT) as _,
|
||||
shaderStorageImageWriteWithoutFormat: features.contains(Features::SHADER_STORAGE_IMAGE_WRITE_WITHOUT_FORMAT) as _,
|
||||
shaderUniformBufferArrayDynamicIndexing: features.contains(Features::SHADER_UNIFORM_BUFFER_ARRAY_DYNAMIC_INDEXING) as _,
|
||||
shaderSampledImageArrayDynamicIndexing: features.contains(Features::SHADER_SAMPLED_IMAGE_ARRAY_DYNAMIC_INDEXING) as _,
|
||||
shaderStorageBufferArrayDynamicIndexing: features.contains(Features::SHADER_STORAGE_BUFFER_ARRAY_DYNAMIC_INDEXING) as _,
|
||||
shaderStorageImageArrayDynamicIndexing: features.contains(Features::SHADER_STORAGE_IMAGE_ARRAY_DYNAMIC_INDEXING) as _,
|
||||
shaderClipDistance: features.contains(Features::SHADER_CLIP_DISTANCE) as _,
|
||||
shaderCullDistance: features.contains(Features::SHADER_CULL_DISTANCE) as _,
|
||||
shaderFloat64: features.contains(Features::SHADER_FLOAT64) as _,
|
||||
shaderInt64: features.contains(Features::SHADER_INT64) as _,
|
||||
shaderInt16: features.contains(Features::SHADER_INT16) as _,
|
||||
shaderResourceResidency: features.contains(Features::SHADER_RESOURCE_RESIDENCY) as _,
|
||||
shaderResourceMinLod: features.contains(Features::SHADER_RESOURCE_MIN_LOD) as _,
|
||||
sparseBinding: features.contains(Features::SPARSE_BINDING) as _,
|
||||
sparseResidencyBuffer: features.contains(Features::SPARSE_RESIDENCY_BUFFER) as _,
|
||||
sparseResidencyImage2D: features.contains(Features::SHADER_RESIDENCY_IMAGE_2D) as _,
|
||||
sparseResidencyImage3D: features.contains(Features::SHADER_RESIDENSY_IMAGE_3D) as _,
|
||||
sparseResidency2Samples: features.contains(Features::SPARSE_RESIDENCY_2_SAMPLES) as _,
|
||||
sparseResidency4Samples: features.contains(Features::SPARSE_RESIDENCY_4_SAMPLES) as _,
|
||||
sparseResidency8Samples: features.contains(Features::SPARSE_RESIDENCY_8_SAMPLES) as _,
|
||||
sparseResidency16Samples: features.contains(Features::SPARSE_RESIDENCY_16_SAMPLES) as _,
|
||||
sparseResidencyAliased: features.contains(Features::SPARSE_RESIDENCY_ALIASED) as _,
|
||||
variableMultisampleRate: features.contains(Features::VARIABLE_MULTISAMPLE_RATE) as _,
|
||||
inheritedQueries: features.contains(Features::INHERITED_QUERIES) as _,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue