mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 04:20:08 +01:00
i965/vec4: Always split uniforms in array_access_to_pull_constants
Normally, we split uniforms at the end but in Vulkan, we bail because we don't want pull constants. However, we still need them split because pack_uniforms relies on it. I really don't like this patch not because it doesn't work (it does) but because now that we're using MOV_INDIRECT, uniform numbers and sizes don't really matter anymore. In the FS backend, uniform splitting and packing is handled all at once (actual re-assignment of locations happens later) and we really should do it that way in vec4 eventually as well. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94998 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95001
This commit is contained in:
parent
b3f43822c7
commit
87a4fb516e
1 changed files with 3 additions and 1 deletions
|
|
@ -1632,8 +1632,10 @@ vec4_visitor::move_uniform_array_access_to_pull_constants()
|
|||
/* The vulkan dirver doesn't support pull constants other than UBOs so
|
||||
* everything has to be pushed regardless.
|
||||
*/
|
||||
if (stage_prog_data->pull_param == NULL)
|
||||
if (stage_prog_data->pull_param == NULL) {
|
||||
split_uniform_registers();
|
||||
return;
|
||||
}
|
||||
|
||||
int pull_constant_loc[this->uniforms];
|
||||
memset(pull_constant_loc, -1, sizeof(pull_constant_loc));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue