summaryrefslogtreecommitdiffstats
path: root/docs/utilities.html
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2015-03-19 15:44:24 +0200
committerFrancisco Jerez <[email protected]>2015-03-20 17:01:35 +0200
commita902a5d6ba921ab006496aeecab0f68bca7ffb09 (patch)
tree6453d2f3113b045ad9f5f18673727a618fa599cb /docs/utilities.html
parentfd149628e142af769c1c0ec037bc297d8a3e871f (diff)
i965: Factor out logic to build a send message instruction with indirect descriptor.
This is going to be useful because the Gen7+ uniform and varying pull constant, texturing, typed and untyped surface read, write, and atomic generation code on the vec4 and fs back-end all require the same logic to handle conditionally indirect surface indices. In pseudocode: | if (surface.file == BRW_IMMEDIATE_VALUE) { | inst = brw_SEND(p, dst, payload); | set_descriptor_control_bits(inst, surface, ...); | } else { | inst = brw_OR(p, addr, surface, 0); | set_descriptor_control_bits(inst, ...); | inst = brw_SEND(p, dst, payload); | set_indirect_send_descriptor(inst, addr); | } This patch abstracts out this frequently recurring pattern so we can now write: | inst = brw_send_indirect_message(p, sfid, dst, payload, surface) | set_descriptor_control_bits(inst, ...); without worrying about handling the immediate and indirect surface index cases explicitly. v2: Rebase. Improve documentatation and commit message. (Topi) Preserve UW destination type cargo-cult. (Topi, Ken, Matt) Reviewed-by: Topi Pohjolainen <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'docs/utilities.html')
0 files changed, 0 insertions, 0 deletions