X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Filo%2Filo_3d_pipeline.h;h=90c626e52744424a3b2437c9ed2394db021b97c5;hb=d2a3de19c6aa5881228734c73df706483a4aecf9;hp=ba3a4be584f91e40fd8e571eb2cc64f3cf012212;hpb=19204081ce7edce1d9847d3826f355fde65d4783;p=mesa.git diff --git a/src/gallium/drivers/ilo/ilo_3d_pipeline.h b/src/gallium/drivers/ilo/ilo_3d_pipeline.h index ba3a4be584f..90c626e5274 100644 --- a/src/gallium/drivers/ilo/ilo_3d_pipeline.h +++ b/src/gallium/drivers/ilo/ilo_3d_pipeline.h @@ -32,6 +32,7 @@ #include "ilo_gpe.h" struct intel_bo; +struct ilo_blitter; struct ilo_cp; struct ilo_context; @@ -49,6 +50,8 @@ enum ilo_3d_pipeline_action { ILO_3D_PIPELINE_FLUSH, ILO_3D_PIPELINE_WRITE_TIMESTAMP, ILO_3D_PIPELINE_WRITE_DEPTH_COUNT, + ILO_3D_PIPELINE_WRITE_STATISTICS, + ILO_3D_PIPELINE_RECTLIST, }; /** @@ -81,6 +84,12 @@ struct ilo_3d_pipeline { void (*emit_write_depth_count)(struct ilo_3d_pipeline *pipeline, struct intel_bo *bo, int index); + void (*emit_write_statistics)(struct ilo_3d_pipeline *pipeline, + struct intel_bo *bo, int index); + + void (*emit_rectlist)(struct ilo_3d_pipeline *pipeline, + const struct ilo_blitter *blitter); + /** * HW states. */ @@ -125,6 +134,8 @@ struct ilo_3d_pipeline { uint32_t SURFACE_STATE[ILO_MAX_WM_SURFACES]; uint32_t SAMPLER_STATE; uint32_t SAMPLER_BORDER_COLOR_STATE[ILO_MAX_SAMPLERS]; + uint32_t PUSH_CONSTANT_BUFFER; + int PUSH_CONSTANT_BUFFER_size; } wm; } state; }; @@ -169,6 +180,14 @@ void ilo_3d_pipeline_emit_write_depth_count(struct ilo_3d_pipeline *p, struct intel_bo *bo, int index); +void +ilo_3d_pipeline_emit_write_statistics(struct ilo_3d_pipeline *p, + struct intel_bo *bo, int index); + +void +ilo_3d_pipeline_emit_rectlist(struct ilo_3d_pipeline *p, + const struct ilo_blitter *blitter); + void ilo_3d_pipeline_get_sample_position(struct ilo_3d_pipeline *p, unsigned sample_count,