Remove the ARB_occlusion_query support in the intel drivers. It was racy and

broken and the kernel ioctl doesn't exist anymore. GEM has a much better
solution for this.

ok matthieu (as part of a larger diff)
This commit is contained in:
oga 2009-01-10 15:09:50 +00:00
parent 9ae8285f50
commit dce0e78b94

View File

@ -76,7 +76,6 @@ int INTEL_DEBUG = (0);
#define need_GL_ARB_vertex_buffer_object
#define need_GL_ARB_vertex_program
#define need_GL_ARB_window_pos
#define need_GL_ARB_occlusion_query
#define need_GL_EXT_blend_color
#define need_GL_EXT_blend_equation_separate
#define need_GL_EXT_blend_func_separate
@ -272,11 +271,6 @@ static const struct dri_extension brw_extensions[] = {
{ NULL, NULL }
};
static const struct dri_extension arb_oc_extensions[] = {
{"GL_ARB_occlusion_query", GL_ARB_occlusion_query_functions},
{NULL, NULL}
};
static const struct dri_extension ttm_extensions[] = {
{"GL_EXT_framebuffer_object", GL_EXT_framebuffer_object_functions},
{"GL_ARB_pixel_buffer_object", NULL},
@ -300,11 +294,6 @@ void intelInitExtensions(GLcontext *ctx, GLboolean enable_imaging)
if (intel == NULL || intel->ttm)
driInitExtensions(ctx, ttm_extensions, GL_FALSE);
if (intel == NULL ||
(IS_965(intel->intelScreen->deviceID) &&
intel->intelScreen->drmMinor >= 8))
driInitExtensions(ctx, arb_oc_extensions, GL_FALSE);
if (intel == NULL || IS_965(intel->intelScreen->deviceID))
driInitExtensions(ctx, brw_extensions, GL_FALSE);
}
@ -389,37 +378,6 @@ intelFinish(GLcontext * ctx)
}
}
static void
intelBeginQuery(GLcontext *ctx, GLenum target, struct gl_query_object *q)
{
struct intel_context *intel = intel_context( ctx );
struct drm_i915_mmio io = {
.read_write = I915_MMIO_READ,
.reg = MMIO_REGS_PS_DEPTH_COUNT,
.data = &q->Result
};
intel->stats_wm++;
intelFinish(&intel->ctx);
drmCommandWrite(intel->driFd, DRM_I915_MMIO, &io, sizeof(io));
}
static void
intelEndQuery(GLcontext *ctx, GLenum target, struct gl_query_object *q)
{
struct intel_context *intel = intel_context( ctx );
GLuint64EXT tmp;
struct drm_i915_mmio io = {
.read_write = I915_MMIO_READ,
.reg = MMIO_REGS_PS_DEPTH_COUNT,
.data = &tmp
};
intelFinish(&intel->ctx);
drmCommandWrite(intel->driFd, DRM_I915_MMIO, &io, sizeof(io));
q->Result = tmp - q->Result;
q->Ready = GL_TRUE;
intel->stats_wm--;
}
/** Driver-specific fence emit implementation for the fake memory manager. */
static unsigned int
intel_fence_emit(void *private)
@ -527,9 +485,6 @@ intelInitDriverFunctions(struct dd_function_table *functions)
functions->CopyConvolutionFilter1D = _swrast_CopyConvolutionFilter1D;
functions->CopyConvolutionFilter2D = _swrast_CopyConvolutionFilter2D;
functions->BeginQuery = intelBeginQuery;
functions->EndQuery = intelEndQuery;
intelInitTextureFuncs(functions);
intelInitStateFuncs(functions);
intelInitBufferFuncs(functions);