X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fi915%2Fi830_context.c;h=299e54d50eb968b2c3583f1ad4b3417e7d61eda2;hb=0febd0ecfd1e2a36381ab7793811b9c7891ed82f;hp=e822660c635aa535ba48c227745aee9575d533e0;hpb=4bea4cb9fd55cdb267003a6e6e16f7e903e00940;p=mesa.git diff --git a/src/mesa/drivers/dri/i915/i830_context.c b/src/mesa/drivers/dri/i915/i830_context.c index e822660c635..299e54d50eb 100644 --- a/src/mesa/drivers/dri/i915/i830_context.c +++ b/src/mesa/drivers/dri/i915/i830_context.c @@ -1,6 +1,6 @@ /************************************************************************** * - * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. + * Copyright 2003 VMware, Inc. * All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a @@ -18,7 +18,7 @@ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -34,9 +34,8 @@ #include "tnl/t_vertex.h" #include "tnl/t_context.h" #include "tnl/t_pipeline.h" -#include "intel_span.h" #include "intel_tris.h" -#include "../glsl/ralloc.h" +#include "util/ralloc.h" /*************************************** * Mesa's Driver Functions @@ -52,23 +51,34 @@ 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, + uint32_t flags, + 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, flags, + mesaVis, driContextPriv, + sharedContextPrivate, &functions, + error)) { + ralloc_free(i830); return false; } @@ -77,7 +87,6 @@ i830CreateContext(const struct gl_config * mesaVis, _math_matrix_ctr(&intel->ViewportMatrix); /* Initialize swrast, tnl driver tables: */ - intelInitSpanFuncs(ctx); intelInitTriFuncs(ctx); /* Install the customized pipeline: */ @@ -88,7 +97,7 @@ i830CreateContext(const struct gl_config * mesaVis, FALLBACK(intel, INTEL_FALLBACK_USER, 1); intel->ctx.Const.MaxTextureUnits = I830_TEX_UNITS; - intel->ctx.Const.MaxTextureImageUnits = I830_TEX_UNITS; + intel->ctx.Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits = I830_TEX_UNITS; intel->ctx.Const.MaxTextureCoordUnits = I830_TEX_UNITS; /* Advertise the full hardware capabilities. The new memory @@ -103,6 +112,7 @@ i830CreateContext(const struct gl_config * mesaVis, ctx->Const.MaxTextureMaxAnisotropy = 2.0; ctx->Const.MaxDrawBuffers = 1; + ctx->Const.QueryCounterBits.SamplesPassed = 0; _tnl_init_vertices(ctx, ctx->Const.MaxArrayLockSize + 12, 18 * sizeof(GLfloat)); @@ -116,7 +126,7 @@ i830CreateContext(const struct gl_config * mesaVis, _mesa_compute_version(ctx); - _mesa_initialize_exec_table(ctx); + _mesa_initialize_dispatch_tables(ctx); _mesa_initialize_vbo_vtxfmt(ctx); return true;