Labels are always label targets.
Translate label for GLSL IF, ELSE.
This commit is contained in:
@@ -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 );
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user