From: Brian Date: Wed, 7 Mar 2007 14:52:24 +0000 (-0700) Subject: Generate an error if the vertex shader does not write to gl_Position. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=55821d021d87fba6551509f5612ee16d9ece977f;p=mesa.git Generate an error if the vertex shader does not write to gl_Position. --- diff --git a/src/mesa/shader/slang/slang_link.c b/src/mesa/shader/slang/slang_link.c index 8f924739b49..e564d6d5767 100644 --- a/src/mesa/shader/slang/slang_link.c +++ b/src/mesa/shader/slang/slang_link.c @@ -548,8 +548,19 @@ _slang_link(GLcontext *ctx, } } - if (shProg->VertexProgram) + if (shProg->VertexProgram) { _slang_update_inputs_outputs(&shProg->VertexProgram->Base); + if (!(shProg->VertexProgram->Base.OutputsWritten & VERT_RESULT_HPOS)) { + /* the vertex program did not compute a vertex position */ + if (shProg->InfoLog) { + _mesa_free(shProg->InfoLog); + } + shProg->InfoLog + = _mesa_strdup("gl_Position was not written by vertex shader"); + shProg->LinkStatus = GL_FALSE; + return; + } + } if (shProg->FragmentProgram) _slang_update_inputs_outputs(&shProg->FragmentProgram->Base);