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/drivers | |
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/drivers')
-rw-r--r-- | src/gallium/drivers/cell/ppu/cell_screen.c | 14 | ||||
-rw-r--r-- | src/gallium/drivers/galahad/glhd_screen.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/i915/i915_screen.c | 14 | ||||
-rw-r--r-- | src/gallium/drivers/i965/brw_screen.c | 14 | ||||
-rw-r--r-- | src/gallium/drivers/identity/id_screen.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_screen.c | 22 | ||||
-rw-r--r-- | src/gallium/drivers/noop/noop_pipe.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/nv50/nv50_screen.c | 14 | ||||
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_screen.c | 14 | ||||
-rw-r--r-- | src/gallium/drivers/nvfx/nvfx_screen.c | 14 | ||||
-rw-r--r-- | src/gallium/drivers/r300/r300_screen.c | 23 | ||||
-rw-r--r-- | src/gallium/drivers/r300/r300_state.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.c | 15 | ||||
-rw-r--r-- | src/gallium/drivers/rbug/rbug_screen.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/softpipe/sp_screen.c | 14 | ||||
-rw-r--r-- | src/gallium/drivers/svga/svga_screen.c | 37 | ||||
-rw-r--r-- | src/gallium/drivers/trace/tr_screen.c | 2 |
17 files changed, 108 insertions, 100 deletions
diff --git a/src/gallium/drivers/cell/ppu/cell_screen.c b/src/gallium/drivers/cell/ppu/cell_screen.c index a4677fd9bc7..7ffdcc51bbd 100644 --- a/src/gallium/drivers/cell/ppu/cell_screen.c +++ b/src/gallium/drivers/cell/ppu/cell_screen.c @@ -118,23 +118,23 @@ cell_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_sha } static float -cell_get_paramf(struct pipe_screen *screen, enum pipe_cap param) +cell_get_paramf(struct pipe_screen *screen, enum pipe_capf param) { switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: return 255.0; /* arbitrary */ - case PIPE_CAP_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: return 255.0; /* arbitrary */ - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return 0.0; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 16.0; /* arbitrary */ default: diff --git a/src/gallium/drivers/galahad/glhd_screen.c b/src/gallium/drivers/galahad/glhd_screen.c index b4edebe4920..2fe82fe695b 100644 --- a/src/gallium/drivers/galahad/glhd_screen.c +++ b/src/gallium/drivers/galahad/glhd_screen.c @@ -92,7 +92,7 @@ galahad_screen_get_shader_param(struct pipe_screen *_screen, static float galahad_screen_get_paramf(struct pipe_screen *_screen, - enum pipe_cap param) + enum pipe_capf param) { struct galahad_screen *glhd_screen = galahad_screen(_screen); struct pipe_screen *screen = glhd_screen->screen; diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index f0128a3fe3a..9341fa92457 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -240,23 +240,23 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap cap) } static float -i915_get_paramf(struct pipe_screen *screen, enum pipe_cap cap) +i915_get_paramf(struct pipe_screen *screen, enum pipe_capf cap) { switch(cap) { - case PIPE_CAP_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: return 7.5; - case PIPE_CAP_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: return 255.0; - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return 4.0; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 16.0; default: diff --git a/src/gallium/drivers/i965/brw_screen.c b/src/gallium/drivers/i965/brw_screen.c index f4abd0fc4ec..b382e703a0c 100644 --- a/src/gallium/drivers/i965/brw_screen.c +++ b/src/gallium/drivers/i965/brw_screen.c @@ -248,23 +248,23 @@ brw_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_shad } static float -brw_get_paramf(struct pipe_screen *screen, enum pipe_cap param) +brw_get_paramf(struct pipe_screen *screen, enum pipe_capf param) { switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: return 7.5; - case PIPE_CAP_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: return 255.0; - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return 4.0; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 16.0; default: diff --git a/src/gallium/drivers/identity/id_screen.c b/src/gallium/drivers/identity/id_screen.c index 9bf7fd4c0ee..5675c27c63b 100644 --- a/src/gallium/drivers/identity/id_screen.c +++ b/src/gallium/drivers/identity/id_screen.c @@ -89,7 +89,7 @@ identity_screen_get_shader_param(struct pipe_screen *_screen, static float identity_screen_get_paramf(struct pipe_screen *_screen, - enum pipe_cap param) + enum pipe_capf param) { struct identity_screen *id_screen = identity_screen(_screen); struct pipe_screen *screen = id_screen->screen; diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 9d77cf8128e..98b838be4db 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -190,25 +190,25 @@ llvmpipe_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe } static float -llvmpipe_get_paramf(struct pipe_screen *screen, enum pipe_cap param) +llvmpipe_get_paramf(struct pipe_screen *screen, enum pipe_capf param) { switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: return 255.0; /* arbitrary */ - case PIPE_CAP_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: return 255.0; /* arbitrary */ - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return 16.0; /* not actually signficant at this time */ - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 16.0; /* arbitrary */ - case PIPE_CAP_GUARD_BAND_LEFT: - case PIPE_CAP_GUARD_BAND_TOP: - case PIPE_CAP_GUARD_BAND_RIGHT: - case PIPE_CAP_GUARD_BAND_BOTTOM: + case PIPE_CAPF_GUARD_BAND_LEFT: + case PIPE_CAPF_GUARD_BAND_TOP: + case PIPE_CAPF_GUARD_BAND_RIGHT: + case PIPE_CAPF_GUARD_BAND_BOTTOM: return 0.0; default: assert(0); diff --git a/src/gallium/drivers/noop/noop_pipe.c b/src/gallium/drivers/noop/noop_pipe.c index baa42552c9d..ec20e0d25a9 100644 --- a/src/gallium/drivers/noop/noop_pipe.c +++ b/src/gallium/drivers/noop/noop_pipe.c @@ -329,7 +329,8 @@ static int noop_get_param(struct pipe_screen* pscreen, enum pipe_cap param) return screen->get_param(screen, param); } -static float noop_get_paramf(struct pipe_screen* pscreen, enum pipe_cap param) +static float noop_get_paramf(struct pipe_screen* pscreen, + enum pipe_capf param) { struct pipe_screen *screen = ((struct noop_pipe_screen*)pscreen)->oscreen; diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c index 278b3ee20ef..47eba85ba84 100644 --- a/src/gallium/drivers/nv50/nv50_screen.c +++ b/src/gallium/drivers/nv50/nv50_screen.c @@ -200,18 +200,18 @@ nv50_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, } static float -nv50_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_cap param) +nv50_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) { switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: - case PIPE_CAP_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: return 10.0f; - case PIPE_CAP_MAX_POINT_WIDTH: - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: return 64.0f; - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return 16.0f; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 4.0f; default: NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c index 8b109a93a58..38f918ac83f 100644 --- a/src/gallium/drivers/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nvc0/nvc0_screen.c @@ -192,18 +192,18 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, } static float -nvc0_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_cap param) +nvc0_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) { switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: - case PIPE_CAP_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: return 10.0f; - case PIPE_CAP_MAX_POINT_WIDTH: - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: return 64.0f; - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return 16.0f; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 4.0f; default: NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); diff --git a/src/gallium/drivers/nvfx/nvfx_screen.c b/src/gallium/drivers/nvfx/nvfx_screen.c index ce23144f2c2..f56c6975a0b 100644 --- a/src/gallium/drivers/nvfx/nvfx_screen.c +++ b/src/gallium/drivers/nvfx/nvfx_screen.c @@ -188,20 +188,20 @@ nvfx_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, enum } static float -nvfx_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_cap param) +nvfx_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) { struct nvfx_screen *screen = nvfx_screen(pscreen); switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: - case PIPE_CAP_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: return 10.0; - case PIPE_CAP_MAX_POINT_WIDTH: - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: return 64.0; - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return screen->use_nv4x ? 16.0 : 8.0; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 15.0; default: NOUVEAU_ERR("Unknown PIPE_CAP %d\n", param); diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index aa7005c50ed..24d15c4f1c6 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -258,15 +258,16 @@ static int r300_get_shader_param(struct pipe_screen *pscreen, unsigned shader, e return 0; } -static float r300_get_paramf(struct pipe_screen* pscreen, enum pipe_cap param) +static float r300_get_paramf(struct pipe_screen* pscreen, + enum pipe_capf param) { struct r300_screen* r300screen = r300_screen(pscreen); switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: - case PIPE_CAP_MAX_LINE_WIDTH_AA: - case PIPE_CAP_MAX_POINT_WIDTH: - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: /* The maximum dimensions of the colorbuffer are our practical * rendering limits. 2048 pixels should be enough for anybody. */ if (r300screen->caps.is_r500) { @@ -276,14 +277,14 @@ static float r300_get_paramf(struct pipe_screen* pscreen, enum pipe_cap param) } else { return 2560.0f; } - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return 16.0f; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 16.0f; - case PIPE_CAP_GUARD_BAND_LEFT: - case PIPE_CAP_GUARD_BAND_TOP: - case PIPE_CAP_GUARD_BAND_RIGHT: - case PIPE_CAP_GUARD_BAND_BOTTOM: + case PIPE_CAPF_GUARD_BAND_LEFT: + case PIPE_CAPF_GUARD_BAND_TOP: + case PIPE_CAPF_GUARD_BAND_RIGHT: + case PIPE_CAPF_GUARD_BAND_BOTTOM: /* XXX I don't know what these should be but the least we can do is * silence the potential error message */ return 0.0f; diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index 10d7ac285d3..b0aae534a6d 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -1074,7 +1074,7 @@ static void* r300_create_rs_state(struct pipe_context* pipe, /* Per-vertex point size. * Clamp to [0, max FB size] */ psiz = pipe->screen->get_paramf(pipe->screen, - PIPE_CAP_MAX_POINT_WIDTH); + PIPE_CAPF_MAX_POINT_WIDTH); point_minmax = pack_float_16_6x(psiz) << R300_GA_POINT_MINMAX_MAX_SHIFT; } else { diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index ad5863a0ece..c31ddc254c3 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -432,23 +432,24 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) } } -static float r600_get_paramf(struct pipe_screen* pscreen, enum pipe_cap param) +static float r600_get_paramf(struct pipe_screen* pscreen, + enum pipe_capf param) { struct r600_screen *rscreen = (struct r600_screen *)pscreen; enum radeon_family family = rscreen->family; switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: - case PIPE_CAP_MAX_LINE_WIDTH_AA: - case PIPE_CAP_MAX_POINT_WIDTH: - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: if (family >= CHIP_CEDAR) return 16384.0f; else return 8192.0f; - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return 16.0f; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 16.0f; default: R600_ERR("r600: unsupported paramf %d\n", param); diff --git a/src/gallium/drivers/rbug/rbug_screen.c b/src/gallium/drivers/rbug/rbug_screen.c index 7c8dfdcc12a..fe7cdd81251 100644 --- a/src/gallium/drivers/rbug/rbug_screen.c +++ b/src/gallium/drivers/rbug/rbug_screen.c @@ -92,7 +92,7 @@ rbug_screen_get_shader_param(struct pipe_screen *_screen, static float rbug_screen_get_paramf(struct pipe_screen *_screen, - enum pipe_cap param) + enum pipe_capf param) { struct rbug_screen *rb_screen = rbug_screen(_screen); struct pipe_screen *screen = rb_screen->screen; diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index 4b71a35f170..7a09be7cfa0 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -155,20 +155,20 @@ softpipe_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe } static float -softpipe_get_paramf(struct pipe_screen *screen, enum pipe_cap param) +softpipe_get_paramf(struct pipe_screen *screen, enum pipe_capf param) { switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: return 255.0; /* arbitrary */ - case PIPE_CAP_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: return 255.0; /* arbitrary */ - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: return 16.0; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 16.0; /* arbitrary */ default: return 0; diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index b6061abd467..e8970effcce 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -94,34 +94,48 @@ svga_get_name( struct pipe_screen *pscreen ) static float -svga_get_paramf(struct pipe_screen *screen, enum pipe_cap param) +svga_get_paramf(struct pipe_screen *screen, enum pipe_capf param) { struct svga_screen *svgascreen = svga_screen(screen); struct svga_winsys_screen *sws = svgascreen->sws; SVGA3dDevCapResult result; switch (param) { - case PIPE_CAP_MAX_LINE_WIDTH: + case PIPE_CAPF_MAX_LINE_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_LINE_WIDTH_AA: + case PIPE_CAPF_MAX_LINE_WIDTH_AA: return 7.0; - case PIPE_CAP_MAX_POINT_WIDTH: + case PIPE_CAPF_MAX_POINT_WIDTH: /* fall-through */ - case PIPE_CAP_MAX_POINT_WIDTH_AA: + case PIPE_CAPF_MAX_POINT_WIDTH_AA: /* Keep this to a reasonable size to avoid failures in * conform/pntaa.c: */ return SVGA_MAX_POINTSIZE; - case PIPE_CAP_MAX_TEXTURE_ANISOTROPY: + case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: if(!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_TEXTURE_ANISOTROPY, &result)) return 4.0; return result.u; - case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: + case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: return 16.0; + default: + return 0; + } +} + + +static int +svga_get_param(struct pipe_screen *screen, enum pipe_cap param) +{ + struct svga_screen *svgascreen = svga_screen(screen); + struct svga_winsys_screen *sws = svgascreen->sws; + SVGA3dDevCapResult result; + + switch (param) { case PIPE_CAP_MAX_COMBINED_SAMPLERS: return 16; case PIPE_CAP_NPOT_TEXTURES: @@ -194,15 +208,6 @@ svga_get_paramf(struct pipe_screen *screen, enum pipe_cap param) } } - -/* This is a fairly pointless interface - */ -static int -svga_get_param(struct pipe_screen *screen, enum pipe_cap param) -{ - return (int) svga_get_paramf( screen, param ); -} - static int svga_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_shader_cap param) { struct svga_screen *svgascreen = svga_screen(screen); diff --git a/src/gallium/drivers/trace/tr_screen.c b/src/gallium/drivers/trace/tr_screen.c index a7d33661838..362b21a810e 100644 --- a/src/gallium/drivers/trace/tr_screen.c +++ b/src/gallium/drivers/trace/tr_screen.c @@ -132,7 +132,7 @@ trace_screen_get_shader_param(struct pipe_screen *_screen, unsigned shader, static float trace_screen_get_paramf(struct pipe_screen *_screen, - enum pipe_cap param) + enum pipe_capf param) { struct trace_screen *tr_scr = trace_screen(_screen); struct pipe_screen *screen = tr_scr->screen; |