Same issue as with conditional_render. Reviewed-by: Brian Paul <brianp@vmware.com>tags/mesa-8.0-rc1
@@ -137,6 +137,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) | |||
case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: | |||
case PIPE_CAP_MIXED_COLORBUFFER_FORMATS: | |||
case PIPE_CAP_CONDITIONAL_RENDER: | |||
case PIPE_CAP_TEXTURE_BARRIER: | |||
return 1; | |||
default: | |||
NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); |
@@ -125,6 +125,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) | |||
case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: | |||
case PIPE_CAP_MIXED_COLORBUFFER_FORMATS: | |||
case PIPE_CAP_CONDITIONAL_RENDER: | |||
case PIPE_CAP_TEXTURE_BARRIER: | |||
return 1; | |||
default: | |||
NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); |
@@ -115,6 +115,7 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) | |||
case PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT: | |||
case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER: | |||
case PIPE_CAP_CONDITIONAL_RENDER: | |||
case PIPE_CAP_TEXTURE_BARRIER: | |||
return 1; | |||
/* r300 cannot do swizzling of compressed textures. Supported otherwise. */ |
@@ -360,6 +360,7 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) | |||
case PIPE_CAP_FRAGMENT_COLOR_CLAMP_CONTROL: | |||
case PIPE_CAP_PRIMITIVE_RESTART: | |||
case PIPE_CAP_CONDITIONAL_RENDER: | |||
case PIPE_CAP_TEXTURE_BARRIER: | |||
return 1; | |||
/* Supported except the original R600. */ |
@@ -471,7 +471,8 @@ enum pipe_cap { | |||
PIPE_CAP_SCALED_RESOLVE = 49, | |||
PIPE_CAP_MIN_TEXEL_OFFSET = 50, | |||
PIPE_CAP_MAX_TEXEL_OFFSET = 51, | |||
PIPE_CAP_CONDITIONAL_RENDER = 52 | |||
PIPE_CAP_CONDITIONAL_RENDER = 52, | |||
PIPE_CAP_TEXTURE_BARRIER = 53 | |||
}; | |||
/* Shader caps not specific to any single stage */ |
@@ -611,7 +611,7 @@ void st_init_extensions(struct st_context *st) | |||
ctx->Extensions.ARB_sync = GL_TRUE; | |||
} | |||
if (st->pipe->texture_barrier) { | |||
if (screen->get_param(screen, PIPE_CAP_TEXTURE_BARRIER)) { | |||
ctx->Extensions.NV_texture_barrier = GL_TRUE; | |||
} | |||