v3dv/pipeline: handle GL_SHADER_STATE_RECORD changed size on v71
authorAlejandro Piñeiro <apinheiro@igalia.com>
Wed, 28 Jul 2021 11:45:52 +0000 (13:45 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 13 Oct 2023 22:37:43 +0000 (22:37 +0000)
It is likely that we would need more changes, as this packet changed,
but this is enough to get basic tests running. Any additional support
will be handled with new commits.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450>

src/broadcom/vulkan/v3dvx_pipeline.c

index 4dc6d70..a640c1d 100644 (file)
@@ -360,7 +360,7 @@ v3dX(pipeline_pack_state)(struct v3dv_pipeline *pipeline,
 static void
 pack_shader_state_record(struct v3dv_pipeline *pipeline)
 {
-   assert(sizeof(pipeline->shader_state_record) ==
+   assert(sizeof(pipeline->shader_state_record) >=
           cl_packet_length(GL_SHADER_STATE_RECORD));
 
    struct v3d_fs_prog_data *prog_data_fs =
@@ -453,9 +453,6 @@ pack_shader_state_record(struct v3dv_pipeline *pipeline)
       shader.vertex_shader_has_separate_input_and_output_vpm_blocks =
          prog_data_vs->separate_segments;
 #endif
-#if V3D_VERSION >= 71
-      unreachable("HW generation 71 not supported yet.");
-#endif
 
       shader.coordinate_shader_input_vpm_segment_size =
          prog_data_vs_bin->separate_segments ?