diff options
author | Marek Olšák <[email protected]> | 2011-11-19 22:38:22 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2011-11-22 20:56:50 +0100 |
commit | bb71f9249a66b9a4921a878766c0a2d87624c369 (patch) | |
tree | 1e1a6447b396846a60f038fe7e7ed6f99e5bc9dc /src/gallium/include | |
parent | 2a0126932b320806e030c1c085791e257516e0cd (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.h | 30 | ||||
-rw-r--r-- | src/gallium/include/pipe/p_screen.h | 2 |
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 |