Add support for ARB_gpu_shader_fp64
GLSL Version : >= 150 Purpose: Allow users to use features by enabling this extension, even in low versions. Extension Name: ARB_gpu_shader_fp64 Builtin-variables: Nah Builtin-functions: functions overloaded for this extension, please check registry in reference. Keywords: Double Features: add support for type "double" Reference: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_fp64.txt Add support for implicit conversion 1. Remove builtin double vertex (this is introduced by vertex_attrib_64bit 2. Add extension check and implicit conversion as double has been introduced 3. Add test results.
This commit is contained in:
parent
6334d594f6
commit
a3c7a25e10
11 changed files with 138 additions and 60 deletions
|
|
@ -690,7 +690,7 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
//
|
||||
// double functions added to desktop 4.00, but not fma, frexp, ldexp, or pack/unpack
|
||||
//
|
||||
if (profile != EEsProfile && version >= 400) {
|
||||
if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64
|
||||
commonBuiltins.append(
|
||||
|
||||
"double sqrt(double);"
|
||||
|
|
@ -1298,15 +1298,15 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"vec3 fma(vec3, vec3, vec3 );"
|
||||
"vec4 fma(vec4, vec4, vec4 );"
|
||||
"\n");
|
||||
}
|
||||
|
||||
if (profile != EEsProfile) {
|
||||
if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64
|
||||
commonBuiltins.append(
|
||||
"double fma(double, double, double);"
|
||||
"dvec2 fma(dvec2, dvec2, dvec2 );"
|
||||
"dvec3 fma(dvec3, dvec3, dvec3 );"
|
||||
"dvec4 fma(dvec4, dvec4, dvec4 );"
|
||||
"\n");
|
||||
}
|
||||
}
|
||||
|
||||
if ((profile == EEsProfile && version >= 310) ||
|
||||
|
|
@ -1325,7 +1325,7 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"\n");
|
||||
}
|
||||
|
||||
if (profile != EEsProfile && version >= 400) {
|
||||
if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64
|
||||
commonBuiltins.append(
|
||||
"double frexp(double, out int);"
|
||||
"dvec2 frexp( dvec2, out ivec2);"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue