i965/fs: Add a new fs_inst::regs_written function.
Certain instructions write more than one register. Texturing, for example, returns 4 registers. (We set rlen to 4 even for TXS and float shadow sampling.) Some math functions return 2. Most return 1. The next commit introduces a use of this function. NOTE: This is a candidate for the 8.0 branch (dependency of a fix). Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -286,6 +286,18 @@ public:
|
||||
offset == inst->offset);
|
||||
}
|
||||
|
||||
int regs_written()
|
||||
{
|
||||
if (is_tex())
|
||||
return 4;
|
||||
|
||||
/* The SINCOS and INT_DIV_QUOTIENT_AND_REMAINDER math functions return 2,
|
||||
* but we don't currently use them...nor do we have an opcode for them.
|
||||
*/
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool is_tex()
|
||||
{
|
||||
return (opcode == SHADER_OPCODE_TEX ||
|
||||
|
||||
Reference in New Issue
Block a user