i965: Use the fixed function GLSL program instead of the ARB program.
authorEric Anholt <eric@anholt.net>
Wed, 12 Jan 2011 20:37:08 +0000 (12:37 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 11 Mar 2011 20:55:14 +0000 (12:55 -0800)
This gets one more piece of the pipeline onto the new codegen backend.
Once ARB_fragment_program can generate GLSL programs, we can nuke the
old backend.

src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_wm_state.c

index ce7959b19de0d4b5eb9770f3c167a74ea7f0a9eb..ba4b508589e51748884a975d16a745013752b255 100644 (file)
@@ -1381,7 +1381,7 @@ fs_visitor::visit(ir_texture *ir)
    assert(!ir->projector);
 
    sampler = _mesa_get_sampler_uniform_value(ir->sampler,
-                                            ctx->Shader.CurrentFragmentProgram,
+                                            ctx->Shader._CurrentFragmentProgram,
                                             &brw->fragment_program->Base);
    sampler = c->fp->program.Base.SamplerUnits[sampler];
 
@@ -3454,7 +3454,7 @@ fs_visitor::generate_code()
 
    if (unlikely(INTEL_DEBUG & DEBUG_WM)) {
       printf("Native code for fragment shader %d:\n",
-            ctx->Shader.CurrentFragmentProgram->Name);
+            ctx->Shader._CurrentFragmentProgram->Name);
    }
 
    foreach_iter(exec_list_iterator, iter, this->instructions) {
@@ -3723,7 +3723,7 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c)
 {
    struct intel_context *intel = &brw->intel;
    struct gl_context *ctx = &intel->ctx;
-   struct gl_shader_program *prog = ctx->Shader.CurrentFragmentProgram;
+   struct gl_shader_program *prog = ctx->Shader._CurrentFragmentProgram;
 
    if (!prog)
       return GL_FALSE;
index 5b5afc4626b5b02c7f665bfdd6d761f27ef9e522..8d67b97edf39d43efa8436a8b0f22686bea3a0b3 100644 (file)
@@ -131,9 +131,9 @@ wm_unit_populate_key(struct brw_context *brw, struct brw_wm_unit_key *key)
    /* If using the fragment shader backend, the program is always
     * 8-wide.
     */
-   if (ctx->Shader.CurrentFragmentProgram) {
+   if (ctx->Shader._CurrentFragmentProgram) {
       struct brw_shader *shader = (struct brw_shader *)
-        ctx->Shader.CurrentFragmentProgram->_LinkedShaders[MESA_SHADER_FRAGMENT];
+        ctx->Shader._CurrentFragmentProgram->_LinkedShaders[MESA_SHADER_FRAGMENT];
 
       if (shader != NULL && shader->ir != NULL) {
         key->is_glsl = GL_TRUE;