Переглянути джерело

tgsi: Initial code for KILP, needs CCs working to be complete.

tags/mesa_20090313
Michal Krol 17 роки тому
джерело
коміт
3a1af846fe
1 змінених файлів з 21 додано та 3 видалено
  1. 21
    3
      src/gallium/auxiliary/tgsi/tgsi_exec.c

+ 21
- 3
src/gallium/auxiliary/tgsi/tgsi_exec.c Переглянути файл

@@ -1234,11 +1234,29 @@ static void
exec_kilp(struct tgsi_exec_machine *mach,
const struct tgsi_full_instruction *inst)
{
uint kilmask = 0; /* bit 0 = pixel 0, bit 1 = pixel 1, etc */
if (inst->InstructionExtNv.CondFlowEnable) {
uint swizzle[4];
uint chan_index;
uint kilmask = 0; /* bit 0 = pixel 0, bit 1 = pixel 1, etc */

/* TODO: build kilmask from CC mask */
swizzle[0] = inst->InstructionExtNv.CondSwizzleX;
swizzle[1] = inst->InstructionExtNv.CondSwizzleY;
swizzle[2] = inst->InstructionExtNv.CondSwizzleZ;
swizzle[3] = inst->InstructionExtNv.CondSwizzleW;

mach->Temps[TEMP_KILMASK_I].xyzw[TEMP_KILMASK_C].u[0] |= kilmask;
for (chan_index = 0; chan_index < 4; chan_index++)
{
uint i;

for (i = 0; i < 4; i++) {
/* TODO: evaluate the condition code */
if (0)
kilmask |= 1 << i;
}
}

mach->Temps[TEMP_KILMASK_I].xyzw[TEMP_KILMASK_C].u[0] |= kilmask;
}
}



Завантаження…
Відмінити
Зберегти