X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fradeonsi%2Fsi_shader.h;h=b192617424ea386ffe375d169013fd72c6314591;hp=9465729dc64dd6d71017b5391d0e87cf984fafcf;hb=2828a994aea6c86be03376b511165c3cff774e7c;hpb=5fd2cfb71b6ce04af408f366af7189b89dea7a61 diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h index 9465729dc64..b192617424e 100644 --- a/src/gallium/drivers/radeonsi/si_shader.h +++ b/src/gallium/drivers/radeonsi/si_shader.h @@ -335,10 +335,9 @@ struct si_shader_info { ubyte color_interpolate_loc[2]; int constbuf0_num_slots; - unsigned const_buffers_declared; /**< bitmask of declared const buffers */ ubyte num_stream_output_components[4]; - uint num_memory_instructions; /**< sampler, buffer, and image instructions */ + uint num_memory_stores; ubyte colors_read; /**< which color components are read by the FS */ ubyte colors_written; @@ -349,19 +348,14 @@ struct si_shader_info { bool writes_stencil; /**< does fragment shader write stencil value? */ bool writes_samplemask; /**< does fragment shader write sample mask? */ bool writes_edgeflag; /**< vertex shader outputs edgeflag */ - bool uses_kill; /**< KILL or KILL_IF instruction used? */ bool uses_persp_center; bool uses_persp_centroid; bool uses_persp_sample; bool uses_linear_center; bool uses_linear_centroid; bool uses_linear_sample; - bool uses_persp_opcode_interp_sample; - bool uses_linear_opcode_interp_sample; + bool uses_interp_at_sample; bool uses_instanceid; - bool uses_vertexid; - bool uses_vertexid_nobase; - bool uses_basevertex; bool uses_drawid; bool uses_primid; bool uses_frontface; @@ -377,17 +371,10 @@ 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; - unsigned clipdist_writemask; - unsigned culldist_writemask; - unsigned num_written_culldistance; - unsigned num_written_clipdistance; - - unsigned images_declared; /**< bitmask of declared images */ /** Whether all codepaths write tess factors in all invocations. */ bool tessfactors_are_def_in_all_invocs; @@ -434,30 +421,26 @@ struct si_shader_selector { ubyte cs_images_sgpr_index; ubyte cs_images_num_sgprs; ubyte cs_num_images_in_user_sgprs; - unsigned num_vs_inputs; - unsigned num_vbos_in_user_sgprs; + ubyte num_vs_inputs; + ubyte num_vbos_in_user_sgprs; unsigned pa_cl_vs_out_cntl; ubyte clipdist_mask; ubyte culldist_mask; - unsigned rast_prim; + ubyte rast_prim; /* ES parameters. */ - unsigned esgs_itemsize; /* vertex stride */ - unsigned lshs_vertex_stride; + uint16_t esgs_itemsize; /* vertex stride */ + uint16_t lshs_vertex_stride; /* GS parameters. */ - unsigned gs_input_verts_per_prim; - unsigned gs_output_prim; - unsigned gs_max_out_vertices; - unsigned gs_num_invocations; - unsigned max_gs_stream; /* count - 1 */ - unsigned gsvs_vertex_size; + uint16_t gsvs_vertex_size; + ubyte gs_input_verts_per_prim; unsigned max_gsvs_emit_size; - unsigned enabled_streamout_buffer_mask; + uint16_t enabled_streamout_buffer_mask; bool tess_turns_off_ngg; /* PS parameters. */ - unsigned color_attr_index[2]; + ubyte color_attr_index[2]; unsigned db_shader_control; /* Set 0xf or 0x0 (4 bits) per each written output. * ANDed with spi_shader_col_format.