Procházet zdrojové kódy

i965/fs: Assume FBO rendering in precompile if MRT.

If multiple color outputs are written, this shader is unlikely to be
useful with a winsys framebuffer.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
tags/mesa-10.2-rc1
Chris Forbes před 11 roky
rodič
revize
5eeb12c0bc
1 změnil soubory, kde provedl 5 přidání a 4 odebrání
  1. 5
    4
      src/mesa/drivers/dri/i965/brw_fs.cpp

+ 5
- 4
src/mesa/drivers/dri/i965/brw_fs.cpp Zobrazit soubor

@@ -3586,14 +3586,15 @@ brw_fs_precompile(struct gl_context *ctx, struct gl_shader_program *prog)
key.drawable_height = ctx->DrawBuffer->Height;
}

if ((fp->Base.InputsRead & VARYING_BIT_POS) || program_uses_dfdy) {
key.render_to_fbo = _mesa_is_user_fbo(ctx->DrawBuffer);
}

key.nr_color_regions = _mesa_bitcount_64(fp->Base.OutputsWritten &
~(BITFIELD64_BIT(FRAG_RESULT_DEPTH) |
BITFIELD64_BIT(FRAG_RESULT_SAMPLE_MASK)));

if ((fp->Base.InputsRead & VARYING_BIT_POS) || program_uses_dfdy) {
key.render_to_fbo = _mesa_is_user_fbo(ctx->DrawBuffer) ||
key.nr_color_regions > 1;
}

/* GL_FRAGMENT_SHADER_DERIVATIVE_HINT is almost always GL_DONT_CARE. The
* quality of the derivatives is likely to be determined by the driconf
* option.

Načítá se…
Zrušit
Uložit