Reviewed-by: Brian Paul <brianp@vmware.com>tags/mesa-7.11-rc1
@@ -107,3 +107,7 @@ max_anisotropy | |||
Set to zero to disable anisotropic filtering. Any other setting enables | |||
anisotropic filtering, however it's not unexpected some drivers only will | |||
change their filtering with a setting of 2 and higher. | |||
seamless_cube_map | |||
If set, the bilinear filter of a cube map may take samples from adjacent | |||
cube map faces when sampled near a texture border to produce a seamless | |||
look. |
@@ -466,6 +466,8 @@ enum pipe_cap { | |||
PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR = 44, | |||
PIPE_CAP_FRAGMENT_COLOR_CLAMP_CONTROL = 45, | |||
PIPE_CAP_MIXED_COLORBUFFER_FORMATS = 46, | |||
PIPE_CAP_SEAMLESS_CUBE_MAP = 47, | |||
PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE = 48, | |||
}; | |||
/* Shader caps not specific to any single stage */ |
@@ -269,6 +269,7 @@ struct pipe_sampler_state | |||
unsigned compare_func:3; /**< PIPE_FUNC_x */ | |||
unsigned normalized_coords:1; /**< Are coords normalized to [0,1]? */ | |||
unsigned max_anisotropy:6; | |||
unsigned seamless_cube_map:1; | |||
float lod_bias; /**< LOD/lambda bias */ | |||
float min_lod, max_lod; /**< LOD clamp range, after bias */ | |||
float border_color[4]; |
@@ -201,6 +201,9 @@ update_samplers(struct st_context *st) | |||
= st_compare_func_to_pipe(msamp->CompareFunc); | |||
} | |||
sampler->seamless_cube_map = | |||
st->ctx->Texture.CubeMapSeamless || msamp->CubeMapSeamless; | |||
st->state.num_samplers = su + 1; | |||
/*printf("%s su=%u non-null\n", __FUNCTION__, su);*/ |
@@ -595,4 +595,12 @@ void st_init_extensions(struct st_context *st) | |||
PIPE_BIND_SAMPLER_VIEW)) { | |||
ctx->Extensions.EXT_packed_float = GL_TRUE; | |||
} | |||
if (screen->get_param(screen, PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE)) { | |||
ctx->Extensions.ARB_seamless_cube_map = GL_TRUE; | |||
ctx->Extensions.AMD_seamless_cubemap_per_texture = GL_TRUE; | |||
} | |||
else if (screen->get_param(screen, PIPE_CAP_SEAMLESS_CUBE_MAP)) { | |||
ctx->Extensions.ARB_seamless_cube_map = GL_TRUE; | |||
} | |||
} |