gallium: added PIPE_CAP_TEXTURE_MIRROR_CLAMP, PIPE_CAP_TEXTURE_MIRROR_REPEAT
Check for these caps in state tracker and enable corresponding GL extensions if supported.
This commit is contained in:
@@ -72,6 +72,10 @@ softpipe_get_param(struct pipe_screen *screen, int param)
|
|||||||
return PIPE_MAX_COLOR_BUFS;
|
return PIPE_MAX_COLOR_BUFS;
|
||||||
case PIPE_CAP_OCCLUSION_QUERY:
|
case PIPE_CAP_OCCLUSION_QUERY:
|
||||||
return 1;
|
return 1;
|
||||||
|
case PIPE_CAP_TEXTURE_MIRROR_CLAMP:
|
||||||
|
return 1;
|
||||||
|
case PIPE_CAP_TEXTURE_MIRROR_REPEAT:
|
||||||
|
return 1;
|
||||||
case PIPE_CAP_TEXTURE_SHADOW_MAP:
|
case PIPE_CAP_TEXTURE_SHADOW_MAP:
|
||||||
return 1;
|
return 1;
|
||||||
case PIPE_CAP_MAX_TEXTURE_2D_LEVELS:
|
case PIPE_CAP_MAX_TEXTURE_2D_LEVELS:
|
||||||
|
@@ -281,6 +281,9 @@ enum pipe_texture_target {
|
|||||||
#define PIPE_CAP_GUARD_BAND_TOP 21 /*< float */
|
#define PIPE_CAP_GUARD_BAND_TOP 21 /*< float */
|
||||||
#define PIPE_CAP_GUARD_BAND_RIGHT 22 /*< float */
|
#define PIPE_CAP_GUARD_BAND_RIGHT 22 /*< float */
|
||||||
#define PIPE_CAP_GUARD_BAND_BOTTOM 23 /*< float */
|
#define PIPE_CAP_GUARD_BAND_BOTTOM 23 /*< float */
|
||||||
|
#define PIPE_CAP_TEXTURE_MIRROR_CLAMP 24
|
||||||
|
#define PIPE_CAP_TEXTURE_MIRROR_REPEAT 25
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@@ -134,8 +134,6 @@ void st_init_extensions(struct st_context *st)
|
|||||||
ctx->Extensions.ARB_texture_env_combine = GL_TRUE;
|
ctx->Extensions.ARB_texture_env_combine = GL_TRUE;
|
||||||
ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE;
|
ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE;
|
||||||
ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE;
|
ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE;
|
||||||
ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE; /* XXX temp */
|
|
||||||
|
|
||||||
ctx->Extensions.ARB_vertex_program = GL_TRUE;
|
ctx->Extensions.ARB_vertex_program = GL_TRUE;
|
||||||
ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;
|
ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;
|
||||||
|
|
||||||
@@ -179,6 +177,14 @@ void st_init_extensions(struct st_context *st)
|
|||||||
ctx->Extensions.ARB_shading_language_120 = GL_TRUE;
|
ctx->Extensions.ARB_shading_language_120 = GL_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (screen->get_param(screen, PIPE_CAP_TEXTURE_MIRROR_REPEAT) > 0) {
|
||||||
|
ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (screen->get_param(screen, PIPE_CAP_TEXTURE_MIRROR_CLAMP) > 0) {
|
||||||
|
ctx->Extensions.EXT_texture_mirror_clamp = GL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
if (screen->get_param(screen, PIPE_CAP_NPOT_TEXTURES)) {
|
if (screen->get_param(screen, PIPE_CAP_NPOT_TEXTURES)) {
|
||||||
ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE;
|
ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE;
|
||||||
ctx->Extensions.NV_texture_rectangle = GL_TRUE;
|
ctx->Extensions.NV_texture_rectangle = GL_TRUE;
|
||||||
|
Reference in New Issue
Block a user