diff options
author | Charmaine Lee <[email protected]> | 2015-12-22 11:20:41 -0800 |
---|---|---|
committer | Brian Paul <[email protected]> | 2016-01-14 10:44:25 -0700 |
commit | 6303231a1ddf646b05c43c6bbc7fa71314ebb3fc (patch) | |
tree | 5a1c447d74ff7b7bbc2c9576fbe8dbd23208a5f3 /src/gallium/drivers/svga/svga_screen.c | |
parent | 78e628ae43015a2a8b6a1d7339eb7eb63ab56848 (diff) |
svga: add DXGenMips command support
For those formats that support hw mipmap generation, use the
DXGenMips command. Otherwise fallback to the mipmap generation utility.
Tested with piglit, OpenGL apps (Heaven, Turbine, Cinebench)
v2: make sure the texture surface was created with the render target bind flag
set relocation flag to SVGA_RELOC_WRITE for the texture surface
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/drivers/svga/svga_screen.c')
-rw-r--r-- | src/gallium/drivers/svga/svga_screen.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index 1ff3143096d..b21634f3d73 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -319,6 +319,9 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_PRIMITIVE_RESTART: return 1; /* may be a sw fallback, depending on restart index */ + case PIPE_CAP_GENERATE_MIPMAP: + return sws->have_vgpu10; + /* Unsupported features */ case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: case PIPE_CAP_TEXTURE_MIRROR_CLAMP: @@ -392,7 +395,6 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_DRAW_PARAMETERS: case PIPE_CAP_TGSI_FS_POSITION_IS_SYSVAL: case PIPE_CAP_TGSI_FS_FACE_IS_INTEGER_SYSVAL: - case PIPE_CAP_GENERATE_MIPMAP: return 0; } |