Workaround clang/LLVM bug with /fp:fast+SSE+float_control (#449)

This commit is contained in:
Chuck Walbourn
2024-02-05 10:08:59 -08:00
committed by GitHub
parent 95796ba57e
commit 819c5b78f7
11 changed files with 235 additions and 32 deletions

View File

@@ -746,6 +746,9 @@ namespace
// No 3:3:2 or paletted DXGI formats aka D3DFMT_R3G3B2, D3DFMT_P8
break;
default:
return DXGI_FORMAT_UNKNOWN;
}
}
else if (ddpf.flags & DDS_LUMINANCE)
@@ -776,6 +779,9 @@ namespace
return DXGI_FORMAT_R8G8_UNORM; // Some DDS writers assume the bitcount should be 8 instead of 16
}
break;
default:
return DXGI_FORMAT_UNKNOWN;
}
}
else if (ddpf.flags & DDS_ALPHA)
@@ -808,6 +814,9 @@ namespace
return DXGI_FORMAT_R8G8_SNORM; // D3DX10/11 writes this out as DX10 extension
}
break;
default:
return DXGI_FORMAT_UNKNOWN;
}
// No DXGI format maps to DDPF_BUMPLUMINANCE aka D3DFMT_L6V5U5, D3DFMT_X8L8V8U8
@@ -908,6 +917,9 @@ namespace
return DXGI_FORMAT_R32G32B32A32_FLOAT;
// No DXGI format maps to D3DFMT_CxV8U8
default:
return DXGI_FORMAT_UNKNOWN;
}
}
@@ -1312,6 +1324,9 @@ namespace
}
}
break;
default:
return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED);
}
return hr;

View File

@@ -830,6 +830,9 @@ namespace
// No 3:3:2 or paletted DXGI formats aka D3DFMT_R3G3B2, D3DFMT_P8
break;
default:
return DXGI_FORMAT_UNKNOWN;
}
}
else if (ddpf.flags & DDS_LUMINANCE)
@@ -860,6 +863,9 @@ namespace
return DXGI_FORMAT_R8G8_UNORM; // Some DDS writers assume the bitcount should be 8 instead of 16
}
break;
default:
return DXGI_FORMAT_UNKNOWN;
}
}
else if (ddpf.flags & DDS_ALPHA)
@@ -892,6 +898,9 @@ namespace
return DXGI_FORMAT_R8G8_SNORM; // D3DX10/11 writes this out as DX10 extension
}
break;
default:
return DXGI_FORMAT_UNKNOWN;
}
// No DXGI format maps to DDPF_BUMPLUMINANCE aka D3DFMT_L6V5U5, D3DFMT_X8L8V8U8
@@ -992,6 +1001,9 @@ namespace
return DXGI_FORMAT_R32G32B32A32_FLOAT;
// No DXGI format maps to D3DFMT_CxV8U8
default:
return DXGI_FORMAT_UNKNOWN;
}
}
@@ -1127,6 +1139,9 @@ namespace
res.SlicePitch = res.RowPitch * static_cast<LONG>(height);
}
break;
default:
break;
}
}

View File

@@ -620,6 +620,9 @@ namespace
// Paletted texture formats are typically not supported on modern video cards aka D3DFMT_P8, D3DFMT_A8P8
break;
default:
return D3DFMT_UNKNOWN;
}
}
else if (ddpf.flags & DDS_LUMINANCE)
@@ -651,6 +654,9 @@ namespace
return D3DFMT_A8L8; // Some DDS writers assume the bitcount should be 8 instead of 16
}
break;
default:
return D3DFMT_UNKNOWN;
}
}
else if (ddpf.flags & DDS_ALPHA)
@@ -685,6 +691,9 @@ namespace
return D3DFMT_V8U8;
}
break;
default:
return D3DFMT_UNKNOWN;
}
}
else if (ddpf.flags & DDS_BUMPLUMINANCE)
@@ -704,6 +713,9 @@ namespace
return D3DFMT_L6V5U5;
}
break;
default:
return D3DFMT_UNKNOWN;
}
}
else if (ddpf.flags & DDS_FOURCC)
@@ -760,6 +772,9 @@ namespace
case D3DFMT_A32B32G32R32F:
case D3DFMT_CxV8U8:
return static_cast<D3DFORMAT>(ddpf.fourCC);
default:
return D3DFMT_UNKNOWN;
}
}