Merge pull request #107119 from DarioSamo/explicit-fp16

Optimize Mobile renderer by using FP16 explicitly.
This commit is contained in:
Thaddeus Crews
2025-06-09 17:08:46 -05:00
23 changed files with 938 additions and 786 deletions

View File

@ -5580,7 +5580,7 @@ uint64_t RenderingDeviceDriverD3D12::api_trait_get(ApiTrait p_trait) {
bool RenderingDeviceDriverD3D12::has_feature(Features p_feature) {
switch (p_feature) {
case SUPPORTS_FSR_HALF_FLOAT:
case SUPPORTS_HALF_FLOAT:
return shader_capabilities.native_16bit_ops && storage_buffer_capabilities.storage_buffer_16_bit_access_is_supported;
case SUPPORTS_FRAGMENT_SHADER_WITH_ONLY_SIDE_EFFECTS:
return true;

View File

@ -2725,7 +2725,7 @@ uint64_t RenderingDeviceDriverMetal::api_trait_get(ApiTrait p_trait) {
bool RenderingDeviceDriverMetal::has_feature(Features p_feature) {
switch (p_feature) {
case SUPPORTS_FSR_HALF_FLOAT:
case SUPPORTS_HALF_FLOAT:
return true;
case SUPPORTS_FRAGMENT_SHADER_WITH_ONLY_SIDE_EFFECTS:
return true;

View File

@ -5888,7 +5888,7 @@ uint64_t RenderingDeviceDriverVulkan::api_trait_get(ApiTrait p_trait) {
bool RenderingDeviceDriverVulkan::has_feature(Features p_feature) {
switch (p_feature) {
case SUPPORTS_FSR_HALF_FLOAT:
case SUPPORTS_HALF_FLOAT:
return shader_capabilities.shader_float16_is_supported && physical_device_features.shaderInt16 && storage_buffer_capabilities.storage_buffer_16_bit_access_is_supported;
case SUPPORTS_FRAGMENT_SHADER_WITH_ONLY_SIDE_EFFECTS:
return true;