summaryrefslogtreecommitdiffstats
path: root/src/intel/compiler/brw_fs.h
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2019-02-06 15:42:17 -0600
committerJason Ekstrand <[email protected]>2019-04-19 19:56:42 +0000
commit843286d324c833198f4f5bd6d548ab3612968169 (patch)
tree38c0c13517ff3a52783d02bf792fd7e6722dbd0e /src/intel/compiler/brw_fs.h
parent2edf29b933564d4f1aae80b91f674f1175f91625 (diff)
intel/fs: Add support for bindless texture ops
We add two new texture sources for bindless surface and sampler handles. Bindless surface handles are expected to be pre-shifted so that the 20-bit surface state table index is in the top 20 bits of the 32-bit handle. This lets us avoid any extra shifts in the shader. Bindless sampler handles are 32-byte aligned byte offsets from general state base address. We use 32-byte aligned instead of 16-byte aligned to avoid having to use more indirect messages than needed. It means we can't tightly pack samplers but that's probably not a big deal. Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_fs.h')
-rw-r--r--src/intel/compiler/brw_fs.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_fs.h b/src/intel/compiler/brw_fs.h
index b6536eb7158..e8af99e1705 100644
--- a/src/intel/compiler/brw_fs.h
+++ b/src/intel/compiler/brw_fs.h
@@ -183,7 +183,8 @@ public:
void emit_interpolation_setup_gen6();
void compute_sample_position(fs_reg dst, fs_reg int_sample_pos);
fs_reg emit_mcs_fetch(const fs_reg &coordinate, unsigned components,
- const fs_reg &sampler);
+ const fs_reg &texture,
+ const fs_reg &texture_handle);
void emit_gen6_gather_wa(uint8_t wa, fs_reg dst);
fs_reg resolve_source_modifiers(const fs_reg &src);
void emit_discard_jump();