st/mesa/glsl: add new is_arb_asm flag in gl_program
Set the flag via the _mesa_init_gl_program() and NewProgram() helpers. In i965 we currently check for the existance of gl_shader_program to decide if this is an ARB assembly style program or not. Adding a flag makes the code clearer and will help removes a dependency on gl_shader_program in the i965 codegen functions. Also this will allow use to skip initialising sampler units for linked shaders, we currently memset it to zero again during linking. Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -70,9 +70,9 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
|
||||
shared->Programs = _mesa_NewHashTable();
|
||||
|
||||
shared->DefaultVertexProgram =
|
||||
ctx->Driver.NewProgram(ctx, GL_VERTEX_PROGRAM_ARB, 0);
|
||||
ctx->Driver.NewProgram(ctx, GL_VERTEX_PROGRAM_ARB, 0, true);
|
||||
shared->DefaultFragmentProgram =
|
||||
ctx->Driver.NewProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, 0);
|
||||
ctx->Driver.NewProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, 0, true);
|
||||
|
||||
shared->ATIShaders = _mesa_NewHashTable();
|
||||
shared->DefaultFragmentShader = _mesa_new_ati_fragment_shader(ctx, 0);
|
||||
|
Reference in New Issue
Block a user