Commit f0c91f32 authored by Kenneth Graunke's avatar Kenneth Graunke

i965: Precompile ARB programs.

We already precompile GLSL programs; it seems logical to precompile ARB
programs as well.  We just never hooked it up.

This also makes the programs compile even if no drawing occurs, which is
useful for shader-db.
Signed-off-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian H. Kristensen's avatarKristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Matt Turner's avatarMatt Turner <mattst88@gmail.com>
parent b55777f3
......@@ -42,6 +42,7 @@
#include "glsl/ir.h"
#include "brw_context.h"
#include "brw_shader.h"
#include "brw_wm.h"
static unsigned
......@@ -136,6 +137,10 @@ brwProgramStringNotify(struct gl_context *ctx,
if (newFP == curFP)
brw->state.dirty.brw |= BRW_NEW_FRAGMENT_PROGRAM;
newFP->id = get_new_program_id(brw->intelScreen);
brw_add_texrect_params(prog);
brw_fs_precompile(ctx, NULL, prog);
break;
}
case GL_VERTEX_PROGRAM_ARB: {
......@@ -154,6 +159,10 @@ brwProgramStringNotify(struct gl_context *ctx,
/* Also tell tnl about it:
*/
_tnl_program_string(ctx, target, prog);
brw_add_texrect_params(prog);
brw_vs_precompile(ctx, NULL, prog);
break;
}
default:
......@@ -167,8 +176,6 @@ brwProgramStringNotify(struct gl_context *ctx,
unreachable("Unexpected target in brwProgramStringNotify");
}
brw_add_texrect_params(prog);
return true;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment