lima/ppir: enable vectorize optimization
[mesa.git] / src / gallium / drivers / nouveau / nvc0 / nvc0_program.h
index 390e0c7a4f01208de865abc5ecc6906aabd2f1b0..183b14a42c2c2d2dc010ece70aaef77b7b5a70a0 100644 (file)
@@ -26,11 +26,8 @@ struct nvc0_program {
    uint8_t num_gprs;
 
    uint32_t *code;
-   uint32_t *immd_data;
    unsigned code_base;
    unsigned code_size;
-   unsigned immd_base;
-   unsigned immd_size; /* size of immediate array data */
    unsigned parm_size; /* size of non-bindable uniforms (c0[]) */
 
    uint32_t hdr[20];
@@ -39,18 +36,24 @@ struct nvc0_program {
    struct {
       uint32_t clip_mode; /* clip/cull selection */
       uint8_t clip_enable; /* mask of defined clip planes */
+      uint8_t cull_enable; /* mask of defined cull distances */
       uint8_t num_ucps; /* also set to max if ClipDistance is used */
       uint8_t edgeflag; /* attribute index of edgeflag input */
       bool need_vertex_id;
+      bool need_draw_parameters;
    } vp;
    struct {
       uint8_t early_z;
-      uint8_t in_pos[PIPE_MAX_SHADER_INPUTS];
-      uint8_t sample_interp;
+      uint8_t colors;
+      uint8_t color_interp[2];
+      bool sample_mask_in;
+      bool force_persample_interp;
+      bool flatshade;
+      bool reads_framebuffer;
+      bool post_depth_coverage;
    } fp;
    struct {
       uint32_t tess_mode; /* ~0 if defined by the other stage */
-      uint32_t input_patch_size;
    } tp;
    struct {
       uint32_t lmem_size; /* local memory (TGSI PRIVATE resource) size */
@@ -61,6 +64,7 @@ struct nvc0_program {
    uint8_t num_barriers;
 
    void *relocs;
+   void *fixups;
 
    struct nvc0_transform_feedback_state *tfb;