Go to the source code of this file.
#define need_GL_ARB_multisample |
Definition at line 45 of file intel_context.c.
#define need_GL_ARB_point_parameters |
Definition at line 46 of file intel_context.c.
#define need_GL_ARB_texture_compression |
Definition at line 47 of file intel_context.c.
#define need_GL_ARB_vertex_buffer_object |
Definition at line 48 of file intel_context.c.
#define need_GL_ARB_vertex_program |
Definition at line 49 of file intel_context.c.
#define need_GL_ARB_window_pos |
Definition at line 50 of file intel_context.c.
#define need_GL_EXT_blend_color |
Definition at line 51 of file intel_context.c.
#define need_GL_EXT_blend_equation_separate |
Definition at line 52 of file intel_context.c.
#define need_GL_EXT_blend_func_separate |
Definition at line 53 of file intel_context.c.
#define need_GL_EXT_blend_minmax |
Definition at line 54 of file intel_context.c.
#define need_GL_EXT_cull_vertex |
Definition at line 55 of file intel_context.c.
#define need_GL_EXT_fog_coord |
Definition at line 56 of file intel_context.c.
#define need_GL_EXT_framebuffer_object |
Definition at line 57 of file intel_context.c.
#define need_GL_EXT_multi_draw_arrays |
Definition at line 58 of file intel_context.c.
#define need_GL_EXT_secondary_color |
Definition at line 59 of file intel_context.c.
#define need_GL_NV_vertex_program |
Definition at line 60 of file intel_context.c.
void intel_bind_frontbuffer | ( | struct egl_drm_drawable * | draw, | |
struct egl_drm_frontbuffer * | front | |||
) |
Definition at line 221 of file intel_context.c.
References intel_device::base, egl_drm_drawable::device, intel_device::device, driBOSetReferenced(), driBOUnReference(), driGenBuffers(), egl_drm_drawable::h, egl_drm_frontbuffer::handle, egl_drm_drawable::priv, egl_drm_device::priv, st_resize_framebuffer(), intel_be_device::staticPool, and egl_drm_drawable::w.
00222 { 00223 struct intel_device *device = (struct intel_device *)draw->device->priv; 00224 struct intel_framebuffer *draw_fb = (struct intel_framebuffer *)draw->priv; 00225 00226 if (draw_fb->front_buffer) 00227 driBOUnReference(draw_fb->front_buffer); 00228 00229 draw_fb->front_buffer = NULL; 00230 draw_fb->front = NULL; 00231 00232 /* to unbind just call this function with front == NULL */ 00233 if (!front) 00234 return; 00235 00236 draw_fb->front = front; 00237 00238 driGenBuffers(device->base.staticPool, "front", 1, &draw_fb->front_buffer, 0, 0, 0); 00239 driBOSetReferenced(draw_fb->front_buffer, front->handle); 00240 00241 st_resize_framebuffer(draw_fb->stfb, draw->w, draw->h); 00242 }
int intel_create_context | ( | struct egl_drm_context * | egl_context, | |
const __GLcontextModes * | visual, | |||
void * | sharedContextPrivate | |||
) |
Definition at line 147 of file intel_context.c.
References intel_be_context::base, intel_be_device::base, intel_device::base, intel_context::base, CALLOC_STRUCT, egl_drm_context::device, intel_device::device, intel_device::dummy, intel_context::egl_context, intel_context::egl_device, intel_be_context::hardware_lock, intel_be_context::hardware_locked, intel_be_context::hardware_unlock, i915_create_context(), intel_be_init_context(), intel_create_softpipe(), intel_context::intel_device, intel_lock_hardware(), intel_locked_hardware(), intel_unlock_hardware(), intel_device::pipe, egl_drm_context::priv, egl_drm_device::priv, intel_context::st, st_create_context(), and TRUE.
00148 { 00149 struct intel_context *intel = CALLOC_STRUCT(intel_context); 00150 struct intel_device *device = (struct intel_device *)egl_context->device->priv; 00151 struct pipe_context *pipe; 00152 struct st_context *st_share = NULL; 00153 00154 egl_context->priv = intel; 00155 00156 intel->intel_device = device; 00157 intel->egl_context = egl_context; 00158 intel->egl_device = egl_context->device; 00159 00160 intel->base.hardware_lock = intel_lock_hardware; 00161 intel->base.hardware_unlock = intel_unlock_hardware; 00162 intel->base.hardware_locked = intel_locked_hardware; 00163 00164 intel_be_init_context(&intel->base, &device->base); 00165 00166 #if 0 00167 pipe = intel_create_softpipe(intel, screen->winsys); 00168 #else 00169 pipe = i915_create_context(device->pipe, &device->base.base, &intel->base.base); 00170 #endif 00171 00172 pipe->priv = intel; 00173 00174 intel->st = st_create_context(pipe, visual, st_share); 00175 00176 device->dummy = intel; 00177 00178 return TRUE; 00179 }
int intel_destroy_context | ( | struct egl_drm_context * | egl_context | ) |
Definition at line 182 of file intel_context.c.
References intel_context::base, intel_device::dummy, intel_be_destroy_context(), intel_context::intel_device, egl_drm_context::priv, intel_context::st, st_destroy_context(), and TRUE.
00183 { 00184 struct intel_context *intel = egl_context->priv; 00185 00186 if (intel->intel_device->dummy == intel) 00187 intel->intel_device->dummy = NULL; 00188 00189 st_destroy_context(intel->st); 00190 intel_be_destroy_context(&intel->base); 00191 free(intel); 00192 return TRUE; 00193 }
static void intel_lock_hardware | ( | struct intel_be_context * | context | ) | [static] |
static boolean intel_locked_hardware | ( | struct intel_be_context * | context | ) | [static] |
Definition at line 135 of file intel_context.c.
References FALSE.
00136 { 00137 (void)context; 00138 return FALSE; 00139 }
void intel_make_current | ( | struct egl_drm_context * | context, | |
struct egl_drm_drawable * | draw, | |||
struct egl_drm_drawable * | read | |||
) |
Definition at line 196 of file intel_context.c.
References assert, intel_context::egl_drawable, egl_drm_drawable::h, egl_drm_drawable::priv, egl_drm_context::priv, intel_context::st, st_make_current(), st_resize_framebuffer(), intel_framebuffer::stfb, and egl_drm_drawable::w.
00197 { 00198 if (context) { 00199 struct intel_context *intel = (struct intel_context *)context->priv; 00200 struct intel_framebuffer *draw_fb = (struct intel_framebuffer *)draw->priv; 00201 struct intel_framebuffer *read_fb = (struct intel_framebuffer *)read->priv; 00202 00203 assert(draw_fb->stfb); 00204 assert(read_fb->stfb); 00205 00206 st_make_current(intel->st, draw_fb->stfb, read_fb->stfb); 00207 00208 intel->egl_drawable = draw; 00209 00210 st_resize_framebuffer(draw_fb->stfb, draw->w, draw->h); 00211 00212 if (draw != read) 00213 st_resize_framebuffer(read_fb->stfb, read->w, read->h); 00214 00215 } else { 00216 st_make_current(NULL, NULL, NULL); 00217 } 00218 }
static void intel_unlock_hardware | ( | struct intel_be_context * | context | ) | [static] |
struct dri_extension card_extensions[] |
Extension strings exported by the intel driver.
Definition at line 71 of file intel_context.c.