Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> --- src/mesa/drivers/dri/i965/brw_context.c | 23 ++++++++++++++++++----- src/mesa/drivers/dri/intel/intel_context.c | 18 +++++++++++++----- src/mesa/drivers/dri/intel/intel_context.h | 3 +++ 3 files changed, 34 insertions(+), 10 deletions(-) mode change 100644 => 100755 src/mesa/drivers/dri/intel/intel_context.c
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 1448965..3aea256 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -55,6 +55,9 @@ * Mesa's Driver Functions ***************************************/ +static void +brwInitializeVersionFeatures(struct gl_context * ctx); + static void brwInitDriverFunctions(struct intel_screen *screen, struct dd_function_table *functions) { @@ -63,6 +66,8 @@ static void brwInitDriverFunctions(struct intel_screen *screen, brwInitFragProgFuncs( functions ); brw_init_queryobj_functions(functions); + functions->InitializeVersionFeatures = brwInitializeVersionFeatures; + functions->BeginTransformFeedback = brw_begin_transform_feedback; if (screen->gen >= 7) @@ -214,11 +219,6 @@ brwCreateContext(int api, ctx->Const.MaxTransformFeedbackSeparateComponents = BRW_MAX_SOL_BINDINGS / BRW_MAX_SOL_BUFFERS; - if (intel->gen == 6) - ctx->Const.MaxSamples = 4; - else if (intel->gen >= 7) - ctx->Const.MaxSamples = 8; - /* if conformance mode is set, swrast can handle any size AA point */ ctx->Const.MaxPointSizeAA = 255.0; @@ -394,3 +394,16 @@ brwCreateContext(int api, return true; } +static void +brwInitializeVersionFeatures(struct gl_context * ctx) +{ + struct intel_context *intel = intel_context(ctx); + + intelInitializeVersionFeatures(ctx); + + if (intel->gen == 6) + ctx->Const.MaxSamples = 4; + else if (intel->gen >= 7) + ctx->Const.MaxSamples = 8; + +} diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c old mode 100644 new mode 100755 index 204609e..113af90 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -495,6 +495,12 @@ static const struct dri_debug_control debug_control[] = { }; +void +intelInitializeVersionFeatures(struct gl_context * ctx) +{ + intelInitExtensions(ctx); +} + static void intelInvalidateState(struct gl_context * ctx, GLuint new_state) { @@ -561,6 +567,7 @@ intelInitDriverFunctions(struct dd_function_table *functions) { _mesa_init_driver_functions(functions); + functions->InitializeVersionFeatures = intelInitializeVersionFeatures; functions->Flush = intel_glFlush; functions->Finish = intelFinish; functions->GetString = intelGetString; @@ -607,6 +614,11 @@ intelInitContext(struct intel_context *intel, mesaVis = &visual; } + intel->bufmgr = intelScreen->bufmgr; + + driParseConfigFiles(&intel->optionCache, &intelScreen->optionCache, + sPriv->myNum, (intel->gen >= 4) ? "i965" : "i915"); + if (!_mesa_initialize_context(&intel->ctx, api, mesaVis, shareCtx, functions)) { printf("%s: failed to init mesa context\n", __FUNCTION__); @@ -649,15 +661,11 @@ intelInitContext(struct intel_context *intel, memset(&ctx->TextureFormatSupported, 0, sizeof(ctx->TextureFormatSupported)); - driParseConfigFiles(&intel->optionCache, &intelScreen->optionCache, - sPriv->myNum, (intel->gen >= 4) ? "i965" : "i915"); if (intel->gen < 4) intel->maxBatchSize = 4096; else intel->maxBatchSize = sizeof(intel->batch.map); - intel->bufmgr = intelScreen->bufmgr; - bo_reuse_mode = driQueryOptioni(&intel->optionCache, "bo_reuse"); switch (bo_reuse_mode) { case DRI_CONF_BO_REUSE_DISABLED: @@ -741,7 +749,7 @@ intelInitContext(struct intel_context *intel, intel->RenderIndex = ~0; - intelInitExtensions(ctx); + ctx->Driver.InitializeVersionFeatures(ctx); INTEL_DEBUG = driParseDebugString(getenv("INTEL_DEBUG"), debug_control); if (INTEL_DEBUG & DEBUG_BUFMGR) diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index eeefadf..218c6fc 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -519,6 +519,9 @@ extern bool intelInitContext(struct intel_context *intel, void *sharedContextPrivate, struct dd_function_table *functions); +extern void +intelInitializeVersionFeatures(struct gl_context * ctx); + extern void intelFinish(struct gl_context * ctx); extern void intel_flush_rendering_to_batch(struct gl_context *ctx); extern void _intel_flush(struct gl_context * ctx, const char *file, int line); -- 1.7.9.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev