case PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED:
return 1;
case PIPE_SHADER_CAP_DOUBLES:
+ case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
return 0;
}
/* if we get here, we missed a shader cap above (and should have seen
return 1;
case PIPE_SHADER_CAP_DOUBLES:
return 1;
+ case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
+ return 0;
}
/* if we get here, we missed a shader cap above (and should have seen
* a compiler warning.)
sampler views. Must not be lower than PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS.
* ``PIPE_SHADER_CAP_DOUBLES``: Whether double precision floating-point
operations are supported.
+* ``PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED``: Whether double precision rounding
+ is supported. If it is, DTRUNC/DCEIL/DFLR/DROUND opcodes may be used.
.. _pipe_compute_cap:
return 1;
case PIPE_SHADER_CAP_INTEGERS:
return 1;
+ case PIPE_SHADER_CAP_DOUBLES:
+ return 0;
+ case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
+ return 0;
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
return 16; /* would be 32 in linked (OpenGL-style) mode */
case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:
}
case PIPE_SHADER_CAP_DOUBLES:
return 0;
+ case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
+ return 0;
}
return 0;
}
case PIPE_SHADER_CAP_PREFERRED_IR:
return PIPE_SHADER_IR_TGSI;
case PIPE_SHADER_CAP_DOUBLES:
+ case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
return 0;
}
return 0;
case PIPE_SHADER_CAP_PREFERRED_IR:
return PIPE_SHADER_IR_TGSI;
case PIPE_SHADER_CAP_DOUBLES:
+ case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
return 0;
}
/* If we get here, we failed to handle a cap above */
PIPE_SHADER_CAP_PREFERRED_IR,
PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED,
PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS,
- PIPE_SHADER_CAP_DOUBLES
+ PIPE_SHADER_CAP_DOUBLES,
+ PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED, /* all rounding modes */
};
/**