Skip to content

Commit a724fa6

Browse files
committed
Organize limits out
1 parent a1b6cf5 commit a724fa6

File tree

4 files changed

+238
-220
lines changed

4 files changed

+238
-220
lines changed

include/nbl/video/SPhysicalDeviceFeatures.h

Lines changed: 74 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ struct SPhysicalDeviceFeatures
4242
//bool textureCompressionBC;
4343

4444
bool occlusionQueryPrecise = false;
45-
//bool pipelineStatisticsQuery; [TODO]
45+
bool pipelineStatisticsQuery = false;
4646

4747
// [TODO] Always enable ones below, report as limit
4848
bool vertexPipelineStoresAndAtomics = false;
@@ -153,25 +153,25 @@ struct SPhysicalDeviceFeatures
153153

154154
//bool imagelessFramebuffer; // or VK_KHR_imageless_framebuffer // [FUTURE TODO]
155155

156-
bool uniformBufferStandardLayout = false; // or VK_KHR_uniform_buffer_standard_layout
156+
bool uniformBufferStandardLayout = false; // or VK_KHR_uniform_buffer_standard_layout
157157

158158
bool shaderSubgroupExtendedTypes = false; // or VK_KHR_shader_subgroup_extended_types
159159

160-
bool separateDepthStencilLayouts = false; // or VK_KHR_separate_depth_stencil_layouts
160+
bool separateDepthStencilLayouts = false; // or VK_KHR_separate_depth_stencil_layouts
161161

162162
//bool timelineSemaphore; // or VK_KHR_timeline_semaphore // [FUTURE TODO] won't expose for a long time
163163

164164
// or VK_KHR_buffer_device_address:
165165
bool bufferDeviceAddress = false;
166166
// bool bufferDeviceAddressCaptureReplay; // [DO NOT EXPOSE] for capture tools not engines
167-
bool bufferDeviceAddressMultiDevice = false;
167+
bool bufferDeviceAddressMultiDevice = false;
168168

169169
// or VK_KHR_vulkan_memory_model
170-
bool vulkanMemoryModel = false;
171-
bool vulkanMemoryModelDeviceScope = false;
172-
bool vulkanMemoryModelAvailabilityVisibilityChains = false;
170+
bool vulkanMemoryModel = false;
171+
bool vulkanMemoryModelDeviceScope = false;
172+
bool vulkanMemoryModelAvailabilityVisibilityChains = false;
173173

174-
bool subgroupBroadcastDynamicId = false; // if Vulkan 1.2 is supported
174+
bool subgroupBroadcastDynamicId = false; // if Vulkan 1.2 is supported
175175

176176

177177

@@ -186,8 +186,8 @@ struct SPhysicalDeviceFeatures
186186
// [DO NOT EXPOSE] ever
187187
//bool privateData; // or VK_EXT_private_data
188188

189-
bool shaderDemoteToHelperInvocation = false; // or VK_EXT_shader_demote_to_helper_invocation
190-
bool shaderTerminateInvocation = false; // or VK_KHR_shader_terminate_invocation
189+
bool shaderDemoteToHelperInvocation = false; // or VK_EXT_shader_demote_to_helper_invocation
190+
bool shaderTerminateInvocation = false; // or VK_KHR_shader_terminate_invocation
191191

192192
// or VK_EXT_subgroup_size_control
193193
bool subgroupSizeControl = false;
@@ -205,9 +205,7 @@ struct SPhysicalDeviceFeatures
205205
// [DO NOT EXPOSE] EVIL
206206
//bool dynamicRendering; // or VK_KHR_dynamic_rendering
207207

208-
bool shaderIntegerDotProduct = false; // or VK_KHR_shader_integer_dot_product
209-
//bool maintenance4; // [DO NOT EXPOSE] doesn't make sense
210-
208+
bool shaderIntegerDotProduct = false; // or VK_KHR_shader_integer_dot_product
211209

212210

213211

@@ -263,7 +261,7 @@ struct SPhysicalDeviceFeatures
263261
//bool minLod;
264262

265263
/* IndexTypeUint8FeaturesEXT *//* VK_EXT_index_type_uint8 */
266-
bool indexTypeUint8 = false;
264+
bool indexTypeUint8 = false;
267265

268266
// [DO NOT EXPOSE] this extension is dumb, if we're recording that many draws we will be using Multi Draw INDIRECT which is better supported
269267
/* MultiDrawFeaturesEXT *//* VK_EXT_multi_draw */
@@ -292,36 +290,36 @@ struct SPhysicalDeviceFeatures
292290
//bool transformFeedbackPreservesProvokingVertex;
293291

294292
/* ShaderAtomicFloatFeaturesEXT *//* VK_EXT_shader_atomic_float */
295-
bool shaderBufferFloat32Atomics = false;
296-
bool shaderBufferFloat32AtomicAdd = false;
297-
bool shaderBufferFloat64Atomics = false;
298-
bool shaderBufferFloat64AtomicAdd = false;
299-
bool shaderSharedFloat32Atomics = false;
300-
bool shaderSharedFloat32AtomicAdd = false;
301-
bool shaderSharedFloat64Atomics = false;
302-
bool shaderSharedFloat64AtomicAdd = false;
303-
bool shaderImageFloat32Atomics = false;
304-
bool shaderImageFloat32AtomicAdd = false;
305-
bool sparseImageFloat32Atomics = false;
306-
bool sparseImageFloat32AtomicAdd = false;
293+
bool shaderBufferFloat32Atomics = false;
294+
bool shaderBufferFloat32AtomicAdd = false;
295+
bool shaderBufferFloat64Atomics = false;
296+
bool shaderBufferFloat64AtomicAdd = false;
297+
bool shaderSharedFloat32Atomics = false;
298+
bool shaderSharedFloat32AtomicAdd = false;
299+
bool shaderSharedFloat64Atomics = false;
300+
bool shaderSharedFloat64AtomicAdd = false;
301+
bool shaderImageFloat32Atomics = false;
302+
bool shaderImageFloat32AtomicAdd = false;
303+
bool sparseImageFloat32Atomics = false;
304+
bool sparseImageFloat32AtomicAdd = false;
307305

308306
/* ShaderAtomicFloat2FeaturesEXT *//* VK_EXT_shader_atomic_float2 */
309-
bool shaderBufferFloat16Atomics = false;
310-
bool shaderBufferFloat16AtomicAdd = false;
311-
bool shaderBufferFloat16AtomicMinMax = false;
312-
bool shaderBufferFloat32AtomicMinMax = false;
313-
bool shaderBufferFloat64AtomicMinMax = false;
314-
bool shaderSharedFloat16Atomics = false;
315-
bool shaderSharedFloat16AtomicAdd = false;
316-
bool shaderSharedFloat16AtomicMinMax = false;
317-
bool shaderSharedFloat32AtomicMinMax = false;
318-
bool shaderSharedFloat64AtomicMinMax = false;
319-
bool shaderImageFloat32AtomicMinMax = false;
320-
bool sparseImageFloat32AtomicMinMax = false;
307+
bool shaderBufferFloat16Atomics = false;
308+
bool shaderBufferFloat16AtomicAdd = false;
309+
bool shaderBufferFloat16AtomicMinMax = false;
310+
bool shaderBufferFloat32AtomicMinMax = false;
311+
bool shaderBufferFloat64AtomicMinMax = false;
312+
bool shaderSharedFloat16Atomics = false;
313+
bool shaderSharedFloat16AtomicAdd = false;
314+
bool shaderSharedFloat16AtomicMinMax = false;
315+
bool shaderSharedFloat32AtomicMinMax = false;
316+
bool shaderSharedFloat64AtomicMinMax = false;
317+
bool shaderImageFloat32AtomicMinMax = false;
318+
bool sparseImageFloat32AtomicMinMax = false;
321319

322320
/* ShaderImageAtomicInt64FeaturesEXT *//* VK_EXT_shader_image_atomic_int64 */
323-
bool shaderImageInt64Atomics = false;
324-
bool sparseImageInt64Atomics = false;
321+
bool shaderImageInt64Atomics = false;
322+
bool sparseImageInt64Atomics = false;
325323

326324
// [DO NOT EXPOSE] always enable if we can
327325
/* TexelBufferAlignmentFeaturesEXT *//* VK_EXT_texel_buffer_alignment */
@@ -391,15 +389,15 @@ struct SPhysicalDeviceFeatures
391389
/* ShaderAtomicInt64FeaturesKHR *//* VK_KHR_shader_atomic_int64 *//* MOVED TO Vulkan 1.2 Core */
392390

393391
/* ShaderClockFeaturesKHR *//* VK_KHR_shader_clock */
394-
bool shaderDeviceClock = false;
392+
bool shaderDeviceClock = false;
395393

396394
/* VK_KHR_shader_draw_parameters *//* MOVED TO Vulkan 1.1 Core */
397395
/* VK_KHR_shader_float16_int8 *//* MOVED TO Vulkan 1.2 Core */
398396
/* VK_KHR_shader_integer_dot_product *//* MOVED TO Vulkan 1.3 Core */
399397
/* VK_KHR_shader_subgroup_extended_types *//* MOVED TO Vulkan 1.2 Core */
400398

401399
/* ShaderSubgroupUniformControlFlowFeaturesKHR *//* VK_KHR_shader_subgroup_uniform_control_flow */
402-
bool shaderSubgroupUniformControlFlow = false;
400+
bool shaderSubgroupUniformControlFlow = false;
403401

404402
/* VK_KHR_shader_terminate_invocation *//* MOVED TO Vulkan 1.3 Core */
405403
/* VK_KHR_synchronization2 *//* MOVED TO Vulkan 1.3 Core */
@@ -418,29 +416,29 @@ struct SPhysicalDeviceFeatures
418416
/* VK_KHX_multiview *//* see VK_KHR_multiview *//* MOVED TO Vulkan 1.1 Core */
419417

420418
/* ComputeShaderDerivativesFeaturesNV *//* VK_NV_compute_shader_derivatives */
421-
bool computeDerivativeGroupQuads = false;
422-
bool computeDerivativeGroupLinear = false;
419+
bool computeDerivativeGroupQuads = false;
420+
bool computeDerivativeGroupLinear = false;
423421

424422
/* CooperativeMatrixFeaturesNV *//* VK_NV_cooperative_matrix */
425423
bool cooperativeMatrix = false;
426424
bool cooperativeMatrixRobustBufferAccess = false;
427425

428426
/* RayTracingMotionBlurFeaturesNV *//* VK_NV_ray_tracing_motion_blur */
429-
bool rayTracingMotionBlur = false;
430-
bool rayTracingMotionBlurPipelineTraceRaysIndirect = false;
427+
bool rayTracingMotionBlur = false;
428+
bool rayTracingMotionBlurPipelineTraceRaysIndirect = false;
431429

432430
/* CoverageReductionModeFeaturesNV *//* VK_NV_coverage_reduction_mode */
433-
bool coverageReductionMode;
431+
bool coverageReductionMode;
434432

435433
/* DeviceGeneratedCommandsFeaturesNV *//* VK_NV_device_generated_commands */
436-
bool deviceGeneratedCommands = false;
434+
bool deviceGeneratedCommands = false;
437435

438436
/* MeshShaderFeaturesNV *//* VK_NV_mesh_shader */
439-
bool taskShader = false;
440-
bool meshShader = false;
437+
bool taskShader = false;
438+
bool meshShader = false;
441439

442440
/* RepresentativeFragmentTestFeaturesNV *//* VK_NV_representative_fragment_test */
443-
bool representativeFragmentTest = false;
441+
bool representativeFragmentTest = false;
444442

445443
/* VK_AMD_mixed_attachment_samples *//* OR *//* VK_NV_framebuffer_mixed_samples */
446444
bool mixedAttachmentSamples = false;
@@ -465,36 +463,36 @@ struct SPhysicalDeviceFeatures
465463
//bool variablePointers;
466464

467465
// [TODO] add implementation to engine
468-
bool hostQueryReset = false; // or VK_EXT_host_query_reset
466+
bool hostQueryReset = false; // or VK_EXT_host_query_reset
469467

470-
bool pipelineCreationCacheControl = false; // or VK_EXT_pipeline_creation_cache_control
468+
bool pipelineCreationCacheControl = false; // or VK_EXT_pipeline_creation_cache_control
471469

472470
// [TODO] need new commandbuffer methods, etc
473471
/* ColorWriteEnableFeaturesEXT *//* VK_EXT_color_write_enable */
474-
bool colorWriteEnable = false;
472+
bool colorWriteEnable = false;
475473

476474
// [TODO] now we need API to deal with queries and begin/end conditional blocks
477475
/* ConditionalRenderingFeaturesEXT *//* VK_EXT_conditional_rendering */
478-
bool conditionalRendering = false;
479-
bool inheritedConditionalRendering = false;
476+
bool conditionalRendering = false;
477+
bool inheritedConditionalRendering = false;
480478

481479
/* DeviceMemoryReportFeaturesEXT *//* VK_EXT_device_memory_report */
482-
bool deviceMemoryReport = false;
480+
bool deviceMemoryReport = false;
483481

484482
/* FragmentDensityMapFeaturesEXT *//* VK_EXT_fragment_density_map */
485-
bool fragmentDensityMap = false;
486-
bool fragmentDensityMapDynamic = false;
487-
bool fragmentDensityMapNonSubsampledImages = false;
483+
bool fragmentDensityMap = false;
484+
bool fragmentDensityMapDynamic = false;
485+
bool fragmentDensityMapNonSubsampledImages = false;
488486

489487
/* FragmentDensityMap2FeaturesEXT *//* VK_EXT_fragment_density_map2 */
490-
bool fragmentDensityMapDeferred = false;
488+
bool fragmentDensityMapDeferred = false;
491489

492490
// [TODO] Investigate later
493491
/* Image2DViewOf3DFeaturesEXT *//* VK_EXT_image_2d_view_of_3d */
494492
//bool image2DViewOf3D;
495493
//bool sampler2DViewOf3D;
496494

497-
bool robustImageAccess = false; // or VK_EXT_image_robustness
495+
bool robustImageAccess = false; // or VK_EXT_image_robustness
498496

499497
/* InlineUniformBlockFeaturesEXT *//* VK_EXT_inline_uniform_block *//* MOVED TO Vulkan 1.3 Core */
500498
bool inlineUniformBlock = false;
@@ -503,34 +501,34 @@ struct SPhysicalDeviceFeatures
503501
// [TODO] this feature introduces new/more pipeline state with VkPipelineRasterizationLineStateCreateInfoEXT
504502
/* LineRasterizationFeaturesEXT *//* VK_EXT_line_rasterization */
505503
// GL HINT (remove when implemented): MULTI_SAMPLE_LINE_WIDTH_RANGE (which is necessary for this) is guarded by !IsGLES || Version>=320 no idea is something enables this or not
506-
bool rectangularLines = false;
507-
bool bresenhamLines = false;
508-
bool smoothLines = false;
504+
bool rectangularLines = false;
505+
bool bresenhamLines = false;
506+
bool smoothLines = false;
509507
// end of hint
510-
bool stippledRectangularLines = false;
511-
bool stippledBresenhamLines = false;
512-
bool stippledSmoothLines = false;
508+
bool stippledRectangularLines = false;
509+
bool stippledBresenhamLines = false;
510+
bool stippledSmoothLines = false;
513511

514512
/* MemoryPriorityFeaturesEXT *//* VK_EXT_memory_priority */
515-
bool memoryPriority = false;
513+
bool memoryPriority = false;
516514

517515
/* Robustness2FeaturesEXT *//* VK_EXT_robustness2 */
518-
bool robustBufferAccess2 = false;
519-
bool robustImageAccess2 = false;
520-
bool nullDescriptor = false;
516+
bool robustBufferAccess2 = false;
517+
bool robustImageAccess2 = false;
518+
bool nullDescriptor = false;
521519

522520
/* PerformanceQueryFeaturesKHR *//* VK_KHR_performance_query */
523-
bool performanceCounterQueryPools = false;
524-
bool performanceCounterMultipleQueryPools = false;
521+
bool performanceCounterQueryPools = false;
522+
bool performanceCounterMultipleQueryPools = false;
525523

526524
/* PipelineExecutablePropertiesFeaturesKHR *//* VK_KHR_pipeline_executable_properties */
527-
bool pipelineExecutableInfo = false;
525+
bool pipelineExecutableInfo = false;
528526

529527
/* Maintenance4FeaturesKHR *//* VK_KHR_maintenance4 *//* MOVED TO Vulkan 1.3 Core */
530528
bool maintenance4 = false;
531529

532530
/* CoherentMemoryFeaturesAMD *//* VK_AMD_device_coherent_memory */
533-
bool deviceCoherentMemory = false;
531+
bool deviceCoherentMemory = false;
534532

535533
/* VK_AMD_buffer_marker */
536534
bool bufferMarkerAMD = false;

0 commit comments

Comments
 (0)