intel/brw: Add a new VEC() helper.
This gathers a number of sources into a contiguous vector register. Eventually, the plan is that it will use a MOV for a single source, or LOAD_PAYLOAD for multiple sources. For now, it emits a series of MOVs to allow us to rewrite a bunch of existing code to use the new helper, then change them all over at once later. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28971>
This commit is contained in:
@@ -789,6 +789,18 @@ namespace brw {
|
||||
return inst;
|
||||
}
|
||||
|
||||
void
|
||||
VEC(const fs_reg &dst, const fs_reg *src, unsigned sources) const
|
||||
{
|
||||
/* For now, this emits a series of MOVs to ease the transition
|
||||
* to the new helper. The intention is to have this emit either
|
||||
* a single MOV or a LOAD_PAYLOAD to fully initialize dst from a
|
||||
* the list of sources.
|
||||
*/
|
||||
for (unsigned i = 0; i < sources; i++)
|
||||
MOV(offset(dst, dispatch_width(), i), src[i]);
|
||||
}
|
||||
|
||||
fs_inst *
|
||||
SYNC(enum tgl_sync_function sync) const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user