glsl: make stand-alone compiler work with tessellation shaders.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
c53aa26379
commit
0cfac91755
|
@ -204,6 +204,8 @@ initialize_context(struct gl_context *ctx, gl_api api)
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx->Const.GenerateTemporaryNames = true;
|
ctx->Const.GenerateTemporaryNames = true;
|
||||||
|
ctx->Const.MaxPatchVertices = 32;
|
||||||
|
|
||||||
ctx->Driver.NewShader = _mesa_new_shader;
|
ctx->Driver.NewShader = _mesa_new_shader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -273,7 +275,7 @@ usage_fail(const char *name)
|
||||||
{
|
{
|
||||||
|
|
||||||
const char *header =
|
const char *header =
|
||||||
"usage: %s [options] <file.vert | file.geom | file.frag>\n"
|
"usage: %s [options] <file.vert | file.tesc | file.tese | file.geom | file.frag | file.comp>\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Possible options are:\n";
|
"Possible options are:\n";
|
||||||
printf(header, name);
|
printf(header, name);
|
||||||
|
@ -373,6 +375,10 @@ main(int argc, char **argv)
|
||||||
const char *const ext = & argv[optind][len - 5];
|
const char *const ext = & argv[optind][len - 5];
|
||||||
if (strncmp(".vert", ext, 5) == 0 || strncmp(".glsl", ext, 5) == 0)
|
if (strncmp(".vert", ext, 5) == 0 || strncmp(".glsl", ext, 5) == 0)
|
||||||
shader->Type = GL_VERTEX_SHADER;
|
shader->Type = GL_VERTEX_SHADER;
|
||||||
|
else if (strncmp(".tesc", ext, 5) == 0)
|
||||||
|
shader->Type = GL_TESS_CONTROL_SHADER;
|
||||||
|
else if (strncmp(".tese", ext, 5) == 0)
|
||||||
|
shader->Type = GL_TESS_EVALUATION_SHADER;
|
||||||
else if (strncmp(".geom", ext, 5) == 0)
|
else if (strncmp(".geom", ext, 5) == 0)
|
||||||
shader->Type = GL_GEOMETRY_SHADER;
|
shader->Type = GL_GEOMETRY_SHADER;
|
||||||
else if (strncmp(".frag", ext, 5) == 0)
|
else if (strncmp(".frag", ext, 5) == 0)
|
||||||
|
|
|
@ -136,6 +136,7 @@ void initialize_context_to_defaults(struct gl_context *ctx, gl_api api)
|
||||||
ctx->Extensions.ARB_shader_texture_lod = true;
|
ctx->Extensions.ARB_shader_texture_lod = true;
|
||||||
ctx->Extensions.ARB_shading_language_420pack = true;
|
ctx->Extensions.ARB_shading_language_420pack = true;
|
||||||
ctx->Extensions.ARB_shading_language_packing = true;
|
ctx->Extensions.ARB_shading_language_packing = true;
|
||||||
|
ctx->Extensions.ARB_tessellation_shader = true;
|
||||||
ctx->Extensions.ARB_texture_cube_map_array = true;
|
ctx->Extensions.ARB_texture_cube_map_array = true;
|
||||||
ctx->Extensions.ARB_texture_gather = true;
|
ctx->Extensions.ARB_texture_gather = true;
|
||||||
ctx->Extensions.ARB_texture_multisample = true;
|
ctx->Extensions.ARB_texture_multisample = true;
|
||||||
|
|
|
@ -61,6 +61,10 @@ _mesa_shader_enum_to_shader_stage(GLenum v)
|
||||||
return MESA_SHADER_FRAGMENT;
|
return MESA_SHADER_FRAGMENT;
|
||||||
case GL_GEOMETRY_SHADER:
|
case GL_GEOMETRY_SHADER:
|
||||||
return MESA_SHADER_GEOMETRY;
|
return MESA_SHADER_GEOMETRY;
|
||||||
|
case GL_TESS_CONTROL_SHADER:
|
||||||
|
return MESA_SHADER_TESS_CTRL;
|
||||||
|
case GL_TESS_EVALUATION_SHADER:
|
||||||
|
return MESA_SHADER_TESS_EVAL;
|
||||||
case GL_COMPUTE_SHADER:
|
case GL_COMPUTE_SHADER:
|
||||||
return MESA_SHADER_COMPUTE;
|
return MESA_SHADER_COMPUTE;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue