summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i915/i830_context.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/i915/i830_context.c')
-rw-r--r--src/mesa/drivers/dri/i915/i830_context.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i915/i830_context.c b/src/mesa/drivers/dri/i915/i830_context.c
index e822660..288dfcc 100644
--- a/src/mesa/drivers/dri/i915/i830_context.c
+++ b/src/mesa/drivers/dri/i915/i830_context.c
@@ -52,23 +52,33 @@ i830InitDriverFunctions(struct dd_function_table *functions)
extern const struct tnl_pipeline_stage *intel_pipeline[];
bool
-i830CreateContext(const struct gl_config * mesaVis,
+i830CreateContext(int api,
+ const struct gl_config * mesaVis,
__DRIcontext * driContextPriv,
+ unsigned major_version,
+ unsigned minor_version,
+ unsigned *error,
void *sharedContextPrivate)
{
struct dd_function_table functions;
struct i830_context *i830 = rzalloc(NULL, struct i830_context);
struct intel_context *intel = &i830->intel;
struct gl_context *ctx = &intel->ctx;
- if (!i830)
+
+ if (!i830) {
+ *error = __DRI_CTX_ERROR_NO_MEMORY;
return false;
+ }
i830InitVtbl(i830);
i830InitDriverFunctions(&functions);
- if (!intelInitContext(intel, __DRI_API_OPENGL, mesaVis, driContextPriv,
- sharedContextPrivate, &functions)) {
- free(i830);
+ if (!intelInitContext(intel, __DRI_API_OPENGL,
+ major_version, minor_version,
+ mesaVis, driContextPriv,
+ sharedContextPrivate, &functions,
+ error)) {
+ ralloc_free(i830);
return false;
}