diff options
author | Jason Ekstrand <[email protected]> | 2015-06-17 18:02:11 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-06-30 15:58:12 -0700 |
commit | aca5228011e7b9e96f3bd3a621c88e63ba47a4f3 (patch) | |
tree | eb87d056cd3c07f7074d26d29320feada7f2e101 /src | |
parent | 241317d59ab440bdcda25bacaadacfb3b4c2dd93 (diff) |
i965/fs: Fix fs_inst::regs_read() for uniform pull constant loads
Previously, fs_inst::regs_read() fell back to depending on the register
width for the second source. This isn't really correct since it isn't a
SIMD8 value at all, but a SIMD4x2 value. This commit changes it to
explicitly be always one register.
v2: Use mlen for determining the number of registers read
Reviewed-by: Iago Toral Quiroga <[email protected]>
Acked-by: Francisco Jerez <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 94f42949ce2..e83a0923e80 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -715,6 +715,12 @@ fs_inst::regs_read(int arg) const return mlen; break; + case FS_OPCODE_UNIFORM_PULL_CONSTANT_LOAD_GEN7: + /* The payload is actually stored in src1 */ + if (arg == 1) + return mlen; + break; + case FS_OPCODE_LINTERP: if (arg == 0) return exec_size / 4; |