radeonsi: kill point size VS output if it's not used by the rasterizer
[mesa.git] / src / gallium / drivers / radeonsi / si_shader.h
index 5de060489f21cc30811ee2998eb8297572855076..d26f36a43880e57667df03a0fdc194b18b679f84 100644 (file)
@@ -362,7 +362,7 @@ struct si_shader_info {
    bool uses_invocationid;
    bool uses_thread_id[3];
    bool uses_block_id[3];
-   bool uses_block_size;
+   bool uses_variable_block_size;
    bool uses_grid_size;
    bool uses_subgroup_info;
    bool writes_position;
@@ -371,8 +371,6 @@ struct si_shader_info {
    bool writes_primid;
    bool writes_viewport_index;
    bool writes_layer;
-   bool writes_memory; /**< contains stores or atomics to buffers or images */
-   bool uses_derivatives;
    bool uses_bindless_samplers;
    bool uses_bindless_images;
    bool uses_fbfetch;
@@ -434,12 +432,8 @@ struct si_shader_selector {
    uint16_t lshs_vertex_stride;
 
    /* GS parameters. */
-   uint16_t gs_max_out_vertices;
    uint16_t gsvs_vertex_size;
    ubyte gs_input_verts_per_prim;
-   ubyte gs_output_prim;
-   ubyte gs_num_invocations;
-   ubyte max_gs_stream; /* count - 1 */
    unsigned max_gsvs_emit_size;
    uint16_t enabled_streamout_buffer_mask;
    bool tess_turns_off_ngg;
@@ -643,6 +637,7 @@ struct si_shader_key {
    struct {
       /* For HW VS (it can be VS, TES, GS) */
       uint64_t kill_outputs; /* "get_unique_index" bits */
+      unsigned kill_pointsize : 1;
       unsigned clip_disable : 1;
 
       /* For NGG VS and TES. */