Labels are always label targets.

Translate label for GLSL IF, ELSE.
This commit is contained in:
michal
2007-08-07 10:14:50 +01:00
parent 958a1ad420
commit 285c7d5931
6 changed files with 4 additions and 13 deletions
-4
View File
@@ -528,7 +528,6 @@ tgsi_build_full_instruction(
*instruction_ext_label = tgsi_build_instruction_ext_label(
full_inst->InstructionExtLabel.Label,
full_inst->InstructionExtLabel.Target,
prev_token,
instruction,
header );
@@ -835,7 +834,6 @@ tgsi_default_instruction_ext_label( void )
instruction_ext_label.Type = TGSI_INSTRUCTION_EXT_TYPE_LABEL;
instruction_ext_label.Label = 0;
instruction_ext_label.Target = 0;
instruction_ext_label.Padding = 0;
instruction_ext_label.Extended = 0;
@@ -855,7 +853,6 @@ tgsi_compare_instruction_ext_label(
struct tgsi_instruction_ext_label
tgsi_build_instruction_ext_label(
GLuint label,
GLuint target,
struct tgsi_token *prev_token,
struct tgsi_instruction *instruction,
struct tgsi_header *header )
@@ -864,7 +861,6 @@ tgsi_build_instruction_ext_label(
instruction_ext_label = tgsi_default_instruction_ext_label();
instruction_ext_label.Label = label;
instruction_ext_label.Target = target;
prev_token->Extended = 1;
instruction_grow( instruction, header );
-1
View File
@@ -160,7 +160,6 @@ tgsi_compare_instruction_ext_label(
struct tgsi_instruction_ext_label
tgsi_build_instruction_ext_label(
GLuint label,
GLuint target,
struct tgsi_token *prev_token,
struct tgsi_instruction *instruction,
struct tgsi_header *header );
-4
View File
@@ -618,10 +618,6 @@ tgsi_dump(
TXT( "\nLabel : " );
UID( inst->InstructionExtLabel.Label );
}
if( deflt || fi.InstructionExtLabel.Target != inst->InstructionExtLabel.Target ) {
TXT( "\nTarget : " );
UID( inst->InstructionExtLabel.Target );
}
if( ignored ) {
TXT( "\nPadding : " );
UIX( inst->InstructionExtLabel.Padding );
+1 -2
View File
@@ -134,8 +134,7 @@ tgsi_exec_prepare(
mach->ImmLimit += (parse.FullToken.FullImmediate.Immediate.Size - 1) / 4;
break;
case TGSI_TOKEN_TYPE_INSTRUCTION:
if( parse.FullToken.FullInstruction.InstructionExtLabel.Label &&
parse.FullToken.FullInstruction.InstructionExtLabel.Target ) {
if( parse.FullToken.FullInstruction.InstructionExtLabel.Label ) {
assert( labels->count < 128 );
labels->labels[labels->count][0] = parse.FullToken.FullInstruction.InstructionExtLabel.Label;
labels->labels[labels->count][1] = pointer;
+1 -2
View File
@@ -855,8 +855,7 @@ struct tgsi_instruction_ext_label
{
GLuint Type : 4; /* TGSI_INSTRUCTION_EXT_TYPE_LABEL */
GLuint Label : 24; /* UINT */
GLuint Target : 1; /* BOOL */
GLuint Padding : 2;
GLuint Padding : 3;
GLuint Extended : 1; /* BOOL */
};
+2
View File
@@ -293,6 +293,7 @@ compile_instruction(
break;
case OPCODE_ELSE:
fullinst->Instruction.Opcode = TGSI_OPCODE_ELSE;
fullinst->InstructionExtLabel.Label = inst->BranchTarget;
break;
case OPCODE_ENDIF:
fullinst->Instruction.Opcode = TGSI_OPCODE_ENDIF;
@@ -317,6 +318,7 @@ compile_instruction(
break;
case OPCODE_IF:
fullinst->Instruction.Opcode = TGSI_OPCODE_IF;
fullinst->InstructionExtLabel.Label = inst->BranchTarget;
break;
case OPCODE_INT:
fullinst->Instruction.Opcode = TGSI_OPCODE_INT;