const float (*input)[4];
input = (const float (*)[4])(
(const char *)prim_ptr + (k * input_vertex_stride));
+ vidx = k * TGSI_EXEC_MAX_INPUT_ATTRIBS + slot;
debug_printf("\t%d)(%d) Input vert:\n", vidx, k);
#if 1
assert(!util_is_inf_or_nan(input[vs_slot][0]));
* sizeof(struct tgsi_full_declaration));
maxDeclarations += 10;
}
+ if (parse.FullToken.FullDeclaration.Declaration.File == TGSI_FILE_OUTPUT) {
+ unsigned reg;
+ for (reg = parse.FullToken.FullDeclaration.Range.First;
+ reg <= parse.FullToken.FullDeclaration.Range.Last;
+ ++reg) {
+ ++mach->NumOutputs;
+ }
+ }
memcpy(declarations + numDeclarations,
&parse.FullToken.FullDeclaration,
sizeof(declarations[0]));
dst = &mach->Outputs[offset + index].xyzw[chan_index];
#if 0
if (TGSI_PROCESSOR_GEOMETRY == mach->Processor) {
- fprintf(stderr, "STORING OUT[%d] mask(%d), = (", index, execmask);
+ fprintf(stderr, "STORING OUT[%d] mask(%d), = (", offset + index, execmask);
for (i = 0; i < QUAD_SIZE; i++)
if (execmask & (1 << i))
fprintf(stderr, "%f, ", chan->f[i]);