intel/compiler: Create and use struct for Bindless thread payload

Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176>
This commit is contained in:
Caio Oliveira
2022-08-25 17:00:15 -07:00
committed by Marge Bot
parent a70378f292
commit 9de790760e
4 changed files with 41 additions and 9 deletions

View File

@@ -154,6 +154,15 @@ struct task_mesh_thread_payload : public thread_payload {
fs_reg task_urb_input;
};
struct bs_thread_payload : public thread_payload {
bs_thread_payload();
fs_reg global_arg_ptr;
fs_reg local_arg_ptr;
void load_shader_type(const brw::fs_builder &bld, fs_reg &dest) const;
};
/**
* The fragment shader front-end.
*
@@ -493,6 +502,11 @@ public:
return *static_cast<task_mesh_thread_payload *>(this->payload_);
}
bs_thread_payload &bs_payload() {
assert(stage >= MESA_SHADER_RAYGEN && stage <= MESA_SHADER_CALLABLE);
return *static_cast<bs_thread_payload *>(this->payload_);
}
bool source_depth_to_render_target;
bool runtime_check_aads_emit;