@@ -666,7 +666,7 @@ struct SPhysicalDeviceLimits
666
666
if (viewportBoundsRange[0 ] > _rhs.viewportBoundsRange [0 ]) return false ;
667
667
if (viewportBoundsRange[1 ] > _rhs.viewportBoundsRange [1 ]) return false ;
668
668
if (viewportSubPixelBits > _rhs.viewportSubPixelBits ) return false ;
669
- if (minMemoryMapAlignment > _rhs.minMemoryMapAlignment ) return false ;
669
+ if (minMemoryMapAlignment < _rhs.minMemoryMapAlignment ) return false ;
670
670
if (bufferViewAlignment > _rhs.bufferViewAlignment ) return false ;
671
671
if (minUBOAlignment > _rhs.minUBOAlignment ) return false ;
672
672
if (minSSBOAlignment > _rhs.minSSBOAlignment ) return false ;
@@ -680,35 +680,33 @@ struct SPhysicalDeviceLimits
680
680
if (maxFramebufferHeight > _rhs.maxFramebufferHeight ) return false ;
681
681
if (maxFramebufferLayers > _rhs.maxFramebufferLayers ) return false ;
682
682
if (maxColorAttachments > _rhs.maxColorAttachments ) return false ;
683
- if ((framebufferColorSampleCounts. value & _rhs.framebufferColorSampleCounts .value ) != framebufferColorSampleCounts. value ) return false ;
684
- if ((framebufferDepthSampleCounts. value & _rhs.framebufferDepthSampleCounts .value ) != framebufferDepthSampleCounts. value ) return false ;
685
- if ((framebufferStencilSampleCounts. value & _rhs.framebufferStencilSampleCounts .value ) != framebufferStencilSampleCounts. value ) return false ;
686
- if ((framebufferNoAttachmentsSampleCounts. value & _rhs.framebufferNoAttachmentsSampleCounts .value ) != framebufferNoAttachmentsSampleCounts. value ) return false ;
687
- if ((sampledImageColorSampleCounts. value & _rhs.sampledImageColorSampleCounts .value ) != sampledImageColorSampleCounts. value ) return false ;
688
- if ((sampledImageIntegerSampleCounts. value & _rhs.sampledImageIntegerSampleCounts .value ) != sampledImageIntegerSampleCounts. value ) return false ;
689
- if ((sampledImageDepthSampleCounts. value & _rhs.sampledImageDepthSampleCounts .value ) != sampledImageDepthSampleCounts. value ) return false ;
690
- if ((sampledImageStencilSampleCounts. value & _rhs.sampledImageStencilSampleCounts .value ) != sampledImageStencilSampleCounts. value ) return false ;
691
- if ((storageImageSampleCounts. value & _rhs.storageImageSampleCounts .value ) != storageImageSampleCounts. value ) return false ;
683
+ if (! _rhs.framebufferColorSampleCounts .hasFlags ( framebufferColorSampleCounts) ) return false ;
684
+ if (! _rhs.framebufferDepthSampleCounts .hasFlags ( framebufferDepthSampleCounts) ) return false ;
685
+ if (! _rhs.framebufferStencilSampleCounts .hasFlags ( framebufferStencilSampleCounts) ) return false ;
686
+ if (! _rhs.framebufferNoAttachmentsSampleCounts .hasFlags ( framebufferNoAttachmentsSampleCounts) ) return false ;
687
+ if (! _rhs.sampledImageColorSampleCounts .hasFlags ( sampledImageColorSampleCounts) ) return false ;
688
+ if (! _rhs.sampledImageIntegerSampleCounts .hasFlags ( sampledImageIntegerSampleCounts) ) return false ;
689
+ if (! _rhs.sampledImageDepthSampleCounts .hasFlags ( sampledImageDepthSampleCounts) ) return false ;
690
+ if (! _rhs.sampledImageStencilSampleCounts .hasFlags ( sampledImageStencilSampleCounts) ) return false ;
691
+ if (! _rhs.storageImageSampleCounts .hasFlags ( storageImageSampleCounts) ) return false ;
692
692
if (maxSampleMaskWords > _rhs.maxSampleMaskWords ) return false ;
693
- if (timestampComputeAndGraphics > _rhs.timestampComputeAndGraphics ) return false ;
693
+ if (timestampComputeAndGraphics && ! _rhs.timestampComputeAndGraphics ) return false ;
694
694
if (timestampPeriodInNanoSeconds > _rhs.timestampPeriodInNanoSeconds ) return false ;
695
695
if (maxClipDistances > _rhs.maxClipDistances ) return false ;
696
696
if (maxCullDistances > _rhs.maxCullDistances ) return false ;
697
697
if (maxCombinedClipAndCullDistances > _rhs.maxCombinedClipAndCullDistances ) return false ;
698
698
if (discreteQueuePriorities > _rhs.discreteQueuePriorities ) return false ;
699
- if (pointSizeRange[0 ] > _rhs.pointSizeRange [0 ]) return false ;
700
- if (pointSizeRange[1 ] > _rhs.pointSizeRange [1 ]) return false ;
701
- if (lineWidthRange[0 ] > _rhs.lineWidthRange [0 ]) return false ;
702
- if (lineWidthRange[1 ] > _rhs.lineWidthRange [1 ]) return false ;
703
- if (pointSizeGranularity > _rhs.pointSizeGranularity ) return false ;
704
- if (lineWidthGranularity > _rhs.lineWidthGranularity ) return false ;
699
+ if (pointSizeRange[0 ] < _rhs.pointSizeRange [0 ] || pointSizeRange[1 ] > _rhs.pointSizeRange [1 ]) return false ;
700
+ if (lineWidthRange[0 ] < _rhs.lineWidthRange [0 ] || lineWidthRange[1 ] > _rhs.lineWidthRange [1 ]) return false ;
701
+ if (pointSizeGranularity < _rhs.pointSizeGranularity ) return false ;
702
+ if (lineWidthGranularity < _rhs.lineWidthGranularity ) return false ;
705
703
if (strictLines > _rhs.strictLines ) return false ;
706
704
if (standardSampleLocations > _rhs.standardSampleLocations ) return false ;
707
705
if (optimalBufferCopyOffsetAlignment > _rhs.optimalBufferCopyOffsetAlignment ) return false ;
708
706
if (optimalBufferCopyRowPitchAlignment > _rhs.optimalBufferCopyRowPitchAlignment ) return false ;
709
707
if (nonCoherentAtomSize > _rhs.nonCoherentAtomSize ) return false ;
710
708
if (subgroupSize > _rhs.subgroupSize ) return false ;
711
- if ((subgroupOpsShaderStages. value & _rhs.subgroupOpsShaderStages .value ) != subgroupOpsShaderStages. value ) return false ;
709
+ if (! _rhs.subgroupOpsShaderStages .hasFlags ( subgroupOpsShaderStages) ) return false ;
712
710
if (shaderSubgroupBasic && !_rhs.shaderSubgroupBasic ) return false ;
713
711
if (shaderSubgroupVote && !_rhs.shaderSubgroupVote ) return false ;
714
712
if (shaderSubgroupArithmetic && !_rhs.shaderSubgroupArithmetic ) return false ;
@@ -763,7 +761,7 @@ struct SPhysicalDeviceLimits
763
761
if (minSubgroupSize > _rhs.minSubgroupSize ) return false ;
764
762
if (maxSubgroupSize > _rhs.maxSubgroupSize ) return false ;
765
763
if (maxComputeWorkgroupSubgroups > _rhs.maxComputeWorkgroupSubgroups ) return false ;
766
- if ((requiredSubgroupSizeStages. value & _rhs.requiredSubgroupSizeStages .value ) != requiredSubgroupSizeStages. value ) return false ;
764
+ if (! _rhs.requiredSubgroupSizeStages .hasFlags ( requiredSubgroupSizeStages) ) return false ;
767
765
if (storageTexelBufferOffsetAlignmentBytes > _rhs.storageTexelBufferOffsetAlignmentBytes ) return false ;
768
766
if (uniformTexelBufferOffsetAlignmentBytes > _rhs.uniformTexelBufferOffsetAlignmentBytes ) return false ;
769
767
if (maxBufferSize > _rhs.maxBufferSize ) return false ;
@@ -820,14 +818,13 @@ struct SPhysicalDeviceLimits
820
818
if (minAccelerationStructureScratchOffsetAlignment > _rhs.minAccelerationStructureScratchOffsetAlignment ) return false ;
821
819
if (variableSampleLocations && !_rhs.variableSampleLocations ) return false ;
822
820
if (sampleLocationSubPixelBits > _rhs.sampleLocationSubPixelBits ) return false ;
823
- if ((sampleLocationSampleCounts. value & _rhs.sampleLocationSampleCounts .value ) != sampleLocationSampleCounts. value ) return false ;
821
+ if (! _rhs.sampleLocationSampleCounts .hasFlags ( sampleLocationSampleCounts) ) return false ;
824
822
if (maxSampleLocationGridSize.width > _rhs.maxSampleLocationGridSize .width ) return false ;
825
823
if (maxSampleLocationGridSize.height > _rhs.maxSampleLocationGridSize .height ) return false ;
826
- if (sampleLocationCoordinateRange[0 ] > _rhs.sampleLocationCoordinateRange [0 ]) return false ;
827
- if (sampleLocationCoordinateRange[1 ] > _rhs.sampleLocationCoordinateRange [1 ]) return false ;
824
+ if (sampleLocationCoordinateRange[0 ] < _rhs.sampleLocationCoordinateRange [0 ] || sampleLocationCoordinateRange[1 ] > _rhs.sampleLocationCoordinateRange [1 ]) return false ;
828
825
if (minImportedHostPointerAlignment > _rhs.minImportedHostPointerAlignment ) return false ;
829
- if (minFragmentDensityTexelSize.width > _rhs.minFragmentDensityTexelSize .width ) return false ;
830
- if (minFragmentDensityTexelSize.height > _rhs.minFragmentDensityTexelSize .height ) return false ;
826
+ if (minFragmentDensityTexelSize.width < _rhs.minFragmentDensityTexelSize .width ) return false ;
827
+ if (minFragmentDensityTexelSize.height < _rhs.minFragmentDensityTexelSize .height ) return false ;
831
828
if (maxFragmentDensityTexelSize.width > _rhs.maxFragmentDensityTexelSize .width ) return false ;
832
829
if (maxFragmentDensityTexelSize.height > _rhs.maxFragmentDensityTexelSize .height ) return false ;
833
830
if (fragmentDensityInvocations && !_rhs.fragmentDensityInvocations ) return false ;
@@ -847,7 +844,7 @@ struct SPhysicalDeviceLimits
847
844
if (maxRayDispatchInvocationCount > _rhs.maxRayDispatchInvocationCount ) return false ;
848
845
if (shaderGroupHandleAlignment > _rhs.shaderGroupHandleAlignment ) return false ;
849
846
if (maxRayHitAttributeSize > _rhs.maxRayHitAttributeSize ) return false ;
850
- if ((cooperativeMatrixSupportedStages. value & _rhs.cooperativeMatrixSupportedStages .value ) != cooperativeMatrixSupportedStages. value ) return false ;
847
+ if (! _rhs.cooperativeMatrixSupportedStages .hasFlags ( cooperativeMatrixSupportedStages) ) return false ;
851
848
if (shaderOutputViewportIndex && !_rhs.shaderOutputViewportIndex ) return false ;
852
849
if (shaderOutputLayer && !_rhs.shaderOutputLayer ) return false ;
853
850
if (shaderIntegerFunctions2 && !_rhs.shaderIntegerFunctions2 ) return false ;
0 commit comments