X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fcompiler%2Fshader_info.h;h=2e22614b75bdc82ab1f5112ca7883c73a03f8ad0;hb=5d904d27491aab489d54746bc6650b27c5927c39;hp=fcd235112a06c5b7a2a8b5208702bb6687842c88;hpb=85a723975bbd651fa6692655b9a4f14b4405d0ae;p=mesa.git diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h index fcd235112a0..2e22614b75b 100644 --- a/src/compiler/shader_info.h +++ b/src/compiler/shader_info.h @@ -134,6 +134,15 @@ typedef struct shader_info { /* Which patch outputs are read */ uint32_t patch_outputs_read; + /* Which inputs are read indirectly (subset of inputs_read) */ + uint64_t inputs_read_indirectly; + /* Which outputs are read or written indirectly */ + uint64_t outputs_accessed_indirectly; + /* Which patch inputs are read indirectly (subset of patch_inputs_read) */ + uint64_t patch_inputs_read_indirectly; + /* Which patch outputs are read or written indirectly */ + uint64_t patch_outputs_accessed_indirectly; + /** Bitfield of which textures are used */ uint32_t textures_used; @@ -182,6 +191,9 @@ typedef struct shader_info { /* Whether the shader writes memory, including transform feedback. */ bool writes_memory:1; + /* Whether gl_Layer is viewport-relative */ + bool layer_viewport_relative:1; + union { struct { /* Which inputs are doubles */ @@ -289,6 +301,7 @@ typedef struct shader_info { struct { uint16_t local_size[3]; + uint16_t max_variable_local_size; bool local_size_variable:1; uint8_t user_data_components_amd:3; @@ -324,6 +337,16 @@ typedef struct shader_info { /** Is the vertex order counterclockwise? */ bool ccw:1; bool point_mode:1; + + /* Bit mask of TCS per-vertex inputs (VS outputs) that are used + * with a vertex index that is NOT the invocation id + */ + uint64_t tcs_cross_invocation_inputs_read; + + /* Bit mask of TCS per-vertex outputs that are used + * with a vertex index that is NOT the invocation id + */ + uint64_t tcs_cross_invocation_outputs_read; } tess; }; } shader_info;