From: Ian Romanick <ian.d.roman...@intel.com> Specifically, the following extensions are enabled:
GL_ARB_vertex_program GL_EXT_gpu_program_paramaters GL_NV_vertex_program GL_NV_vertex_program1_1 In addition, ctx->Const.MaxCombinedTextureImageUnits is set. This has been compiled, but I don't have any nv10 or nv20 hardware to test. I only have nv02, nv03, and nv05. This is the last swtnl that doesn't already have vertex programs enabled. The enable code was mostly copied from the (now removed) mga driver. Cc: Ben Skeggs <bske...@redhat.com> Cc: Francisco Jerez <curroje...@riseup.net> Cc: Viktor Novotný <novik...@seznam.cz> --- src/mesa/drivers/dri/nouveau/nouveau_context.c | 4 ++++ src/mesa/drivers/dri/nouveau/nv10_context.c | 3 +++ src/mesa/drivers/dri/nouveau/nv20_context.c | 3 +++ 3 files changed, 10 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c index 1c35578..f713078 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_context.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c @@ -119,6 +119,7 @@ nouveau_context_init(struct gl_context *ctx, struct nouveau_screen *screen, /* Enable any supported extensions. */ ctx->Extensions.ARB_multitexture = true; ctx->Extensions.ARB_texture_mirrored_repeat = true; + ctx->Extensions.ARB_vertex_program = true; ctx->Extensions.EXT_blend_color = true; ctx->Extensions.EXT_blend_logic_op = true; ctx->Extensions.EXT_blend_minmax = true; @@ -126,6 +127,7 @@ nouveau_context_init(struct gl_context *ctx, struct nouveau_screen *screen, ctx->Extensions.EXT_fog_coord = true; ctx->Extensions.EXT_framebuffer_blit = true; ctx->Extensions.EXT_framebuffer_object = true; + ctx->Extensions.EXT_gpu_program_parameters = true; ctx->Extensions.EXT_packed_depth_stencil = true; ctx->Extensions.EXT_secondary_color = true; ctx->Extensions.EXT_stencil_wrap = true; @@ -135,6 +137,8 @@ nouveau_context_init(struct gl_context *ctx, struct nouveau_screen *screen, ctx->Extensions.EXT_texture_lod_bias = true; ctx->Extensions.NV_blend_square = true; ctx->Extensions.NV_texture_env_combine4 = true; + ctx->Extensions.NV_vertex_program = true; + ctx->Extensions.NV_vertex_program1_1 = true; return GL_TRUE; } diff --git a/src/mesa/drivers/dri/nouveau/nv10_context.c b/src/mesa/drivers/dri/nouveau/nv10_context.c index da0ef2b..d6f8fcb 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_context.c +++ b/src/mesa/drivers/dri/nouveau/nv10_context.c @@ -442,6 +442,9 @@ nv10_context_create(struct nouveau_screen *screen, const struct gl_config *visua ctx->Const.MaxTextureCoordUnits = NV10_TEXTURE_UNITS; ctx->Const.MaxTextureImageUnits = NV10_TEXTURE_UNITS; ctx->Const.MaxTextureUnits = NV10_TEXTURE_UNITS; + ctx->Const.MaxCombinedTextureImageUnits = + ctx->Const.MaxVertexTextureImageUnits + + ctx->Const.MaxTextureImageUnits; ctx->Const.MaxTextureMaxAnisotropy = 2; ctx->Const.MaxTextureLodBias = 15; ctx->Driver.Clear = nv10_clear; diff --git a/src/mesa/drivers/dri/nouveau/nv20_context.c b/src/mesa/drivers/dri/nouveau/nv20_context.c index 2766851..5016568 100644 --- a/src/mesa/drivers/dri/nouveau/nv20_context.c +++ b/src/mesa/drivers/dri/nouveau/nv20_context.c @@ -455,6 +455,9 @@ nv20_context_create(struct nouveau_screen *screen, const struct gl_config *visua ctx->Const.MaxTextureCoordUnits = NV20_TEXTURE_UNITS; ctx->Const.MaxTextureImageUnits = NV20_TEXTURE_UNITS; ctx->Const.MaxTextureUnits = NV20_TEXTURE_UNITS; + ctx->Const.MaxCombinedTextureImageUnits = + ctx->Const.MaxVertexTextureImageUnits + + ctx->Const.MaxTextureImageUnits; ctx->Const.MaxTextureMaxAnisotropy = 8; ctx->Const.MaxTextureLodBias = 15; ctx->Driver.Clear = nv20_clear; -- 1.7.4.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev