From 5b90cf2f2f3dcda0d674c01859847149b4054608 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Sat, 10 Jun 2006 00:51:54 +0000 Subject: [PATCH] enable arb_vertex_program by default if drm is new enough. Do a fallback when it's a nv_vp as there could be issues. --- src/mesa/drivers/dri/r200/r200_context.c | 3 ++- src/mesa/drivers/dri/r200/r200_vertprog.c | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c index 3e41d863148..0e85b9680ce 100644 --- a/src/mesa/drivers/dri/r200/r200_context.c +++ b/src/mesa/drivers/dri/r200/r200_context.c @@ -478,7 +478,8 @@ GLboolean r200CreateContext( const __GLcontextModes *glVisual, if (rmesa->r200Screen->drmSupportsBlendColor) { driInitExtensions( ctx, blend_extensions, GL_FALSE ); } - if(driQueryOptionb(&rmesa->optionCache, "arb_vertex_program")) + if(rmesa->r200Screen->drmSupportsVertexProgram || + driQueryOptionb(&rmesa->optionCache, "arb_vertex_program")) driInitSingleExtension( ctx, ARB_vp_extension ); if(driQueryOptionb(&rmesa->optionCache, "nv_vertex_program")) driInitSingleExtension( ctx, NV_vp_extension ); diff --git a/src/mesa/drivers/dri/r200/r200_vertprog.c b/src/mesa/drivers/dri/r200/r200_vertprog.c index dfacdc88cc4..615953b6100 100644 --- a/src/mesa/drivers/dri/r200/r200_vertprog.c +++ b/src/mesa/drivers/dri/r200/r200_vertprog.c @@ -414,6 +414,11 @@ static GLboolean r200_translate_vertex_program(struct r200_vertex_program *vp) return GL_FALSE; } + if (mesa_vp->IsNVProgram) { + /* subtle differences in spec like guaranteed initialized regs could cause + headaches. Might want to remove the driconf option to enable it completely */ + return GL_FALSE; + } /* Initial value should be last tmp reg that hw supports. Strangely enough r300 doesnt mind even though these would be out of range. Smart enough to realize that it doesnt need it? */ -- 2.30.2