aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/include
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2011-11-19 22:38:22 +0100
committerMarek Olšák <[email protected]>2011-11-22 20:56:50 +0100
commitbb71f9249a66b9a4921a878766c0a2d87624c369 (patch)
tree1e1a6447b396846a60f038fe7e7ed6f99e5bc9dc /src/gallium/include
parent2a0126932b320806e030c1c085791e257516e0cd (diff)
gallium: separate out floating-point CAPs into its own enum
The motivation behind this is to add some self-documentation in the code about how each CAP can be used. The idea is: - enum pipe_cap is only valid in get_param - enum pipe_capf is only valid in get_paramf Which CAPs are floating-point have been determined based on how everybody except svga implemented the functions. svga have been modified to match all the other drivers. Besides that, the floating-point CAPs are now prefixed with PIPE_CAPF_.
Diffstat (limited to 'src/gallium/include')
-rw-r--r--src/gallium/include/pipe/p_defines.h30
-rw-r--r--src/gallium/include/pipe/p_screen.h2
2 files changed, 20 insertions, 12 deletions
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index afbf0af67dc..8a077f0e36c 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -419,7 +419,7 @@ enum pipe_transfer_usage {
/**
* Implementation capabilities/limits which are queried through
- * pipe_screen::get_param() and pipe_screen::get_paramf().
+ * pipe_screen::get_param()
*/
enum pipe_cap {
PIPE_CAP_NPOT_TEXTURES = 1,
@@ -435,16 +435,6 @@ enum pipe_cap {
PIPE_CAP_MAX_TEXTURE_2D_LEVELS = 12,
PIPE_CAP_MAX_TEXTURE_3D_LEVELS = 13,
PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS = 14,
- PIPE_CAP_MAX_LINE_WIDTH = 15,
- PIPE_CAP_MAX_LINE_WIDTH_AA = 16,
- PIPE_CAP_MAX_POINT_WIDTH = 17,
- PIPE_CAP_MAX_POINT_WIDTH_AA = 18,
- PIPE_CAP_MAX_TEXTURE_ANISOTROPY = 19,
- PIPE_CAP_MAX_TEXTURE_LOD_BIAS = 20,
- PIPE_CAP_GUARD_BAND_LEFT = 21, /*< float */
- PIPE_CAP_GUARD_BAND_TOP = 22, /*< float */
- PIPE_CAP_GUARD_BAND_RIGHT = 23, /*< float */
- PIPE_CAP_GUARD_BAND_BOTTOM = 24, /*< float */
PIPE_CAP_TEXTURE_MIRROR_CLAMP = 25,
PIPE_CAP_BLEND_EQUATION_SEPARATE = 28,
PIPE_CAP_SM3 = 29, /*< Shader Model, supported */
@@ -478,6 +468,24 @@ enum pipe_cap {
PIPE_CAP_TEXTURE_BARRIER = 53
};
+/**
+ * Implementation limits which are queried through
+ * pipe_screen::get_paramf()
+ */
+enum pipe_capf
+{
+ PIPE_CAPF_MAX_LINE_WIDTH = 15,
+ PIPE_CAPF_MAX_LINE_WIDTH_AA = 16,
+ PIPE_CAPF_MAX_POINT_WIDTH = 17,
+ PIPE_CAPF_MAX_POINT_WIDTH_AA = 18,
+ PIPE_CAPF_MAX_TEXTURE_ANISOTROPY = 19,
+ PIPE_CAPF_MAX_TEXTURE_LOD_BIAS = 20,
+ PIPE_CAPF_GUARD_BAND_LEFT = 21, /*< float */
+ PIPE_CAPF_GUARD_BAND_TOP = 22, /*< float */
+ PIPE_CAPF_GUARD_BAND_RIGHT = 23, /*< float */
+ PIPE_CAPF_GUARD_BAND_BOTTOM = 24, /*< float */
+};
+
/* Shader caps not specific to any single stage */
enum pipe_shader_cap
{
diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h
index 6821edd4a56..70d41357898 100644
--- a/src/gallium/include/pipe/p_screen.h
+++ b/src/gallium/include/pipe/p_screen.h
@@ -85,7 +85,7 @@ struct pipe_screen {
* Query a float-valued capability/parameter/limit
* \param param one of PIPE_CAP_x
*/
- float (*get_paramf)( struct pipe_screen *, enum pipe_cap param );
+ float (*get_paramf)( struct pipe_screen *, enum pipe_capf param );
/**
* Query a per-shader-stage integer-valued capability/parameter/limit