intel/fs: Don't pull CS push constants if uses_inline_data
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8637>
This commit is contained in:
parent
79dc25d867
commit
b66d3e627a
|
@ -1035,6 +1035,7 @@ struct brw_cs_prog_data {
|
||||||
|
|
||||||
bool uses_barrier;
|
bool uses_barrier;
|
||||||
bool uses_num_work_groups;
|
bool uses_num_work_groups;
|
||||||
|
bool uses_inline_data;
|
||||||
bool uses_btd_stack_ids;
|
bool uses_btd_stack_ids;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
|
|
@ -1670,7 +1670,16 @@ fs_visitor::assign_curb_setup()
|
||||||
|
|
||||||
uint64_t used = 0;
|
uint64_t used = 0;
|
||||||
|
|
||||||
if (stage == MESA_SHADER_COMPUTE && devinfo->verx10 >= 125) {
|
if (stage == MESA_SHADER_COMPUTE &&
|
||||||
|
brw_cs_prog_data(prog_data)->uses_inline_data) {
|
||||||
|
/* With COMPUTE_WALKER, we can push up to one register worth of data via
|
||||||
|
* the inline data parameter in the COMPUTE_WALKER command itself.
|
||||||
|
*
|
||||||
|
* TODO: Support inline data and push at the same time.
|
||||||
|
*/
|
||||||
|
assert(devinfo->verx10 >= 125);
|
||||||
|
assert(uniform_push_length <= 1);
|
||||||
|
} else if (stage == MESA_SHADER_COMPUTE && devinfo->verx10 >= 125) {
|
||||||
fs_builder ubld = bld.exec_all().group(8, 0).at(
|
fs_builder ubld = bld.exec_all().group(8, 0).at(
|
||||||
cfg->first_block(), cfg->first_block()->start());
|
cfg->first_block(), cfg->first_block()->start());
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue