mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 06:40:08 +01:00
radv: emit more default states for ESO on GFX10.3+
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236>
This commit is contained in:
parent
b7fdfdc901
commit
6a2b264526
3 changed files with 13 additions and 2 deletions
|
|
@ -9077,6 +9077,11 @@ radv_emit_shaders(struct radv_cmd_buffer *cmd_buffer)
|
|||
radv_emit_vgt_shader_config(device, cs, &vgt_shader_cfg_key);
|
||||
radv_emit_vgt_gs_out(device, cs, vgt_gs_out);
|
||||
|
||||
if (cmd_buffer->device->physical_device->rad_info.gfx_level >= GFX10_3) {
|
||||
gfx103_emit_vgt_draw_payload_cntl(cs, cmd_buffer->state.shaders[MESA_SHADER_MESH], false);
|
||||
gfx103_emit_vrs_state(device, cs, NULL, false, false, false);
|
||||
}
|
||||
|
||||
cmd_buffer->state.dirty &= ~RADV_CMD_DIRTY_SHADERS;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3532,7 +3532,7 @@ radv_emit_vgt_gs_out(const struct radv_device *device, struct radeon_cmdbuf *ctx
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
gfx103_emit_vgt_draw_payload_cntl(struct radeon_cmdbuf *ctx_cs, const struct radv_shader *mesh_shader, bool enable_vrs)
|
||||
{
|
||||
bool enable_prim_payload = false;
|
||||
|
|
@ -3568,7 +3568,7 @@ gfx103_pipeline_vrs_coarse_shading(const struct radv_device *device, const struc
|
|||
return true;
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
gfx103_emit_vrs_state(const struct radv_device *device, struct radeon_cmdbuf *ctx_cs, const struct radv_shader *ps,
|
||||
bool enable_vrs, bool enable_vrs_coarse_shading, bool force_vrs_per_vertex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2365,6 +2365,12 @@ void radv_emit_vgt_gs_out(const struct radv_device *device, struct radeon_cmdbuf
|
|||
void radv_emit_vgt_gs_mode(const struct radv_device *device, struct radeon_cmdbuf *ctx_cs,
|
||||
const struct radv_shader *last_vgt_api_shader);
|
||||
|
||||
void gfx103_emit_vgt_draw_payload_cntl(struct radeon_cmdbuf *ctx_cs, const struct radv_shader *mesh_shader,
|
||||
bool enable_vrs);
|
||||
|
||||
void gfx103_emit_vrs_state(const struct radv_device *device, struct radeon_cmdbuf *ctx_cs, const struct radv_shader *ps,
|
||||
bool enable_vrs, bool enable_vrs_coarse_shading, bool force_vrs_per_vertex);
|
||||
|
||||
void radv_emit_geometry_shader(const struct radv_device *device, struct radeon_cmdbuf *ctx_cs, struct radeon_cmdbuf *cs,
|
||||
const struct radv_shader *gs, const struct radv_shader *es,
|
||||
const struct radv_shader *gs_copy_shader);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue