----- Original Message ----- > On Sat, Sep 8, 2012 at 8:39 AM, Dave Airlie <airl...@gmail.com> > wrote: > > Hi, > > > > so I've been working on ARB_texture_cube_map_array, and it requires > > that sometimes TEX takes an extra src, since for sampler compare > > values there isn't enough space in one src, so we need to add > > another. > > > > Now I've done a special case in the GLSL->TGSI emitter > > else if (sampler_type->sampler_dimensionality == > > GLSL_SAMPLER_DIM_CUBE && > > sampler_type->sampler_array) { > > inst = emit(ir, opcode, result_dst, coord, cube_sc); > > } > > > > However this run into an assert in the later tgsi_ureg.c:validate > > where the nr_src != info->num_src. > > > > So are people okay with always making the TEX opcode take 3 src? or > > should I fix validate to work around the special case? > > Just to check the impact, it would also move the sampler to the final > src, > the way things currently work, which would mean changing all the > drivers.
Instead of overloading TEX opcode, what about making a special opcode for the compare case, where the reference value is also separate? This seems to be what how D3D10 tokenized form represents it: http://msdn.microsoft.com/en-us/library/windows/desktop/hh447227(v=vs.85).aspx I think it will be less invasive change, and less hassle, as there is a lot of TGSI parse/analyze/transfor TEX opcodes that would need to be changed. Jose _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev