mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-11 17:50:32 +01:00
v3dv: emit new shader state if viewport is dirty
If we have a dirty viewport then we need to re-emit our uniforms to update QUNIFORM_VIEWPORT_*. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
This commit is contained in:
parent
e7678f7c7f
commit
c4564f62aa
1 changed files with 5 additions and 1 deletions
|
|
@ -3896,11 +3896,15 @@ cmd_buffer_emit_pre_draw(struct v3dv_cmd_buffer *cmd_buffer)
|
|||
/* GL shader state binds shaders, uniform and vertex attribute state. The
|
||||
* compiler injects uniforms to handle some descriptor types (such as
|
||||
* textures), so we need to regen that when descriptor state changes.
|
||||
*
|
||||
* We also need to emit new shader state if we have a dirty viewport since
|
||||
* that will require that we new uniform state for QUNIFORM_VIEWPORT_*.
|
||||
*/
|
||||
if (*dirty & (V3DV_CMD_DIRTY_PIPELINE |
|
||||
V3DV_CMD_DIRTY_VERTEX_BUFFER |
|
||||
V3DV_CMD_DIRTY_DESCRIPTOR_SETS |
|
||||
V3DV_CMD_DIRTY_PUSH_CONSTANTS)) {
|
||||
V3DV_CMD_DIRTY_PUSH_CONSTANTS |
|
||||
V3DV_CMD_DIRTY_VIEWPORT)) {
|
||||
emit_gl_shader_state(cmd_buffer);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue