LGTM RB On Aug 1, 2015 5:16 AM, "Eduardo Lima Mitev" <el...@igalia.com> wrote:
> From: Antia Puentes <apuen...@igalia.com> > > --- > src/mesa/drivers/dri/i965/brw_vec4.cpp | 47 > +++++++++++++++++----------------- > 1 file changed, 24 insertions(+), 23 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp > b/src/mesa/drivers/dri/i965/brw_vec4.cpp > index 8d83887..88b601a 100644 > --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp > +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp > @@ -1732,18 +1732,16 @@ vec4_visitor::run(gl_clip_plane *clip_planes) > > emit_prolog(); > > - if (shader) { > - if (use_vec4_nir) { > - assert(prog->nir != NULL); > - emit_nir_code(); > - if (failed) > - return false; > - } else { > - /* Generate VS IR for main(). (the visitor only descends into > - * functions called "main"). > - */ > - visit_instructions(shader->base.ir); > - } > + if (use_vec4_nir) { > + assert(prog->nir != NULL); > + emit_nir_code(); > + if (failed) > + return false; > + } else if (shader) { > + /* Generate VS IR for main(). (the visitor only descends into > + * functions called "main"). > + */ > + visit_instructions(shader->base.ir); > } else { > emit_program_code(); > } > @@ -1921,18 +1919,21 @@ brw_vs_emit(struct brw_context *brw, > if (unlikely(INTEL_DEBUG & DEBUG_VS)) > brw_dump_ir("vertex", prog, &shader->base, &vp->Base); > > - if (brw->intelScreen->compiler->scalar_vs) { > - if (!vp->Base.nir) { > - /* Normally we generate NIR in LinkShader() or > - * ProgramStringNotify(), but Mesa's fixed-function vertex > program > - * handling doesn't notify the driver at all. Just do it here, > at > - * the last minute, even though it's lame. > - */ > - assert(vp->Base.Id == 0 && prog == NULL); > - vp->Base.nir = > - brw_create_nir(brw, NULL, &vp->Base, MESA_SHADER_VERTEX, > true); > - } > + if (!vp->Base.nir && > + (brw->intelScreen->compiler->scalar_vs || > + > brw->intelScreen->compiler->glsl_compiler_options[MESA_SHADER_VERTEX].NirOptions > != NULL)) { > + /* Normally we generate NIR in LinkShader() or > + * ProgramStringNotify(), but Mesa's fixed-function vertex program > + * handling doesn't notify the driver at all. Just do it here, at > + * the last minute, even though it's lame. > + */ > + assert(vp->Base.Id == 0 && prog == NULL); > + vp->Base.nir = > + brw_create_nir(brw, NULL, &vp->Base, MESA_SHADER_VERTEX, > + brw->intelScreen->compiler->scalar_vs); > + } > > + if (brw->intelScreen->compiler->scalar_vs) { > prog_data->base.dispatch_mode = DISPATCH_MODE_SIMD8; > > fs_visitor v(brw->intelScreen->compiler, brw, > -- > 2.4.6 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev