@ -315,7 +315,6 @@ public:
" supported on this device " ) ;
" supported on this device " ) ;
}
}
}
}
if ( ir . UsesLayer ( ) | | ir . UsesViewportIndex ( ) ) {
if ( ir . UsesLayer ( ) | | ir . UsesViewportIndex ( ) ) {
if ( ir . UsesViewportIndex ( ) ) {
if ( ir . UsesViewportIndex ( ) ) {
AddCapability ( spv : : Capability : : MultiViewport ) ;
AddCapability ( spv : : Capability : : MultiViewport ) ;
@ -325,11 +324,9 @@ public:
AddCapability ( spv : : Capability : : ShaderViewportIndexLayerEXT ) ;
AddCapability ( spv : : Capability : : ShaderViewportIndexLayerEXT ) ;
}
}
}
}
if ( device . IsFormatlessImageLoadSupported ( ) ) {
if ( device . IsFormatlessImageLoadSupported ( ) ) {
AddCapability ( spv : : Capability : : StorageImageReadWithoutFormat ) ;
AddCapability ( spv : : Capability : : StorageImageReadWithoutFormat ) ;
}
}
if ( device . IsFloat16Supported ( ) ) {
if ( device . IsFloat16Supported ( ) ) {
AddCapability ( spv : : Capability : : Float16 ) ;
AddCapability ( spv : : Capability : : Float16 ) ;
}
}
@ -377,6 +374,9 @@ public:
if ( header . ps . omap . depth ) {
if ( header . ps . omap . depth ) {
AddExecutionMode ( main , spv : : ExecutionMode : : DepthReplacing ) ;
AddExecutionMode ( main , spv : : ExecutionMode : : DepthReplacing ) ;
}
}
if ( specialization . early_fragment_tests ) {
AddExecutionMode ( main , spv : : ExecutionMode : : EarlyFragmentTests ) ;
}
break ;
break ;
case ShaderType : : Compute :
case ShaderType : : Compute :
const auto workgroup_size = specialization . workgroup_size ;
const auto workgroup_size = specialization . workgroup_size ;