diff options
author | Francisco Jerez <[email protected]> | 2016-04-25 18:06:13 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-06-28 13:19:38 -0700 |
commit | 73d60455e90e14ef8618bfd09b0b4f54e1d58b48 (patch) | |
tree | 24c9d3f2d9f18fbcd328f51f1ee425d7fbc22a24 /src/intel/compiler/brw_fs.cpp | |
parent | 74b477039dbd144a3b31933a2326c32593f3ef12 (diff) |
intel/fs: Rework INTERPOLATE_AT_PER_SLOT_OFFSET
This reworks INTERPOLATE_AT_PER_SLOT_OFFSET to work more like an ALU
operation and less like a send. This is less code over-all and, as a
side-effect, it now properly handles execution groups and lowering so
SIMD32 support just falls out.
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_fs.cpp')
-rw-r--r-- | src/intel/compiler/brw_fs.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index 07be2e3da42..84becb3d4b4 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -805,6 +805,8 @@ fs_inst::components_read(unsigned i) const else return 1; } + case FS_OPCODE_INTERPOLATE_AT_PER_SLOT_OFFSET: + return (i == 0 ? 2 : 1); default: return 1; @@ -840,7 +842,6 @@ fs_inst::size_read(int arg) const case SHADER_OPCODE_TYPED_SURFACE_WRITE: case FS_OPCODE_INTERPOLATE_AT_SAMPLE: case FS_OPCODE_INTERPOLATE_AT_SHARED_OFFSET: - case FS_OPCODE_INTERPOLATE_AT_PER_SLOT_OFFSET: case SHADER_OPCODE_BYTE_SCATTERED_WRITE: case SHADER_OPCODE_BYTE_SCATTERED_READ: if (arg == 0) |