mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 14:08:05 +02:00
tgsi: Add condition code (CC) register.
This commit is contained in:
parent
087ee474ed
commit
e2da7edd64
2 changed files with 35 additions and 7 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
|
||||
* Copyright 2007-2008 Tungsten Graphics, Inc., Cedar Park, Texas.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
**************************************************************************/
|
||||
|
||||
/**
|
||||
* TGSI interpretor/executor.
|
||||
* TGSI interpreter/executor.
|
||||
*
|
||||
* Flow control information:
|
||||
*
|
||||
|
|
@ -88,6 +88,8 @@
|
|||
#define TEMP_OUTPUT_C TGSI_EXEC_TEMP_OUTPUT_C
|
||||
#define TEMP_PRIMITIVE_I TGSI_EXEC_TEMP_PRIMITIVE_I
|
||||
#define TEMP_PRIMITIVE_C TGSI_EXEC_TEMP_PRIMITIVE_C
|
||||
#define TEMP_CC_I TGSI_EXEC_TEMP_CC_I
|
||||
#define TEMP_CC_C TGSI_EXEC_TEMP_CC_C
|
||||
#define TEMP_3_I TGSI_EXEC_TEMP_THREE_I
|
||||
#define TEMP_3_C TGSI_EXEC_TEMP_THREE_C
|
||||
#define TEMP_HALF_I TGSI_EXEC_TEMP_HALF_I
|
||||
|
|
@ -2539,6 +2541,13 @@ tgsi_exec_machine_run( struct tgsi_exec_machine *mach )
|
|||
mach->Primitives[0] = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < QUAD_SIZE; i++) {
|
||||
mach->Temps[TEMP_CC_I].xyzw[TEMP_CC_C].u[i] =
|
||||
(TGSI_EXEC_CC_EQ << TGSI_EXEC_CC_X_SHIFT) |
|
||||
(TGSI_EXEC_CC_EQ << TGSI_EXEC_CC_Y_SHIFT) |
|
||||
(TGSI_EXEC_CC_EQ << TGSI_EXEC_CC_Z_SHIFT) |
|
||||
(TGSI_EXEC_CC_EQ << TGSI_EXEC_CC_W_SHIFT);
|
||||
}
|
||||
|
||||
/* execute declarations (interpolants) */
|
||||
for (i = 0; i < mach->NumDeclarations; i++) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
|
||||
* Copyright 2007-2008 Tungsten Graphics, Inc., Cedar Park, Texas.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
*
|
||||
**************************************************************************/
|
||||
|
||||
#if !defined TGSI_EXEC_H
|
||||
#ifndef TGSI_EXEC_H
|
||||
#define TGSI_EXEC_H
|
||||
|
||||
#include "pipe/p_compiler.h"
|
||||
|
|
@ -140,11 +140,30 @@ struct tgsi_exec_labels
|
|||
#define TGSI_EXEC_TEMP_PRIMITIVE_I (TGSI_EXEC_NUM_TEMPS + 2)
|
||||
#define TGSI_EXEC_TEMP_PRIMITIVE_C 2
|
||||
|
||||
#define TGSI_EXEC_TEMP_THREE_I (TGSI_EXEC_NUM_TEMPS + 2)
|
||||
#define TGSI_EXEC_TEMP_THREE_C 3
|
||||
/* NVIDIA condition code (CC) vector
|
||||
*/
|
||||
#define TGSI_EXEC_CC_GT 0x01
|
||||
#define TGSI_EXEC_CC_EQ 0x02
|
||||
#define TGSI_EXEC_CC_LT 0x04
|
||||
#define TGSI_EXEC_CC_UN 0x08
|
||||
|
||||
#define TGSI_EXEC_CC_X_MASK 0x000000ff
|
||||
#define TGSI_EXEC_CC_X_SHIFT 0
|
||||
#define TGSI_EXEC_CC_Y_MASK 0x0000ff00
|
||||
#define TGSI_EXEC_CC_Y_SHIFT 8
|
||||
#define TGSI_EXEC_CC_Z_MASK 0x00ff0000
|
||||
#define TGSI_EXEC_CC_Z_SHIFT 16
|
||||
#define TGSI_EXEC_CC_W_MASK 0xff000000
|
||||
#define TGSI_EXEC_CC_W_SHIFT 24
|
||||
|
||||
#define TGSI_EXEC_TEMP_CC_I (TGSI_EXEC_NUM_TEMPS + 2)
|
||||
#define TGSI_EXEC_TEMP_CC_C 3
|
||||
|
||||
#define TGSI_EXEC_TEMP_THREE_I (TGSI_EXEC_NUM_TEMPS + 3)
|
||||
#define TGSI_EXEC_TEMP_THREE_C 0
|
||||
|
||||
#define TGSI_EXEC_TEMP_HALF_I (TGSI_EXEC_NUM_TEMPS + 3)
|
||||
#define TGSI_EXEC_TEMP_HALF_C 0
|
||||
#define TGSI_EXEC_TEMP_HALF_C 1
|
||||
|
||||
#define TGSI_EXEC_TEMP_R0 (TGSI_EXEC_NUM_TEMPS + 4)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue