nvc0: copy engine surface params are only relevant for tiled surfaces
[mesa.git] / src / gallium / drivers / nouveau / nvc0 / nvc0_program.h
index 8b8d221edfc0dd24a44b3f581d06b7678267ad53..b73822ea9f7f2eadf77290e3814aaf830594193e 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,6 +36,7 @@ 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;
@@ -48,8 +46,11 @@ struct nvc0_program {
       uint8_t early_z;
       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 */
@@ -64,7 +65,7 @@ struct nvc0_program {
    uint8_t num_barriers;
 
    void *relocs;
-   void *interps;
+   void *fixups;
 
    struct nvc0_transform_feedback_state *tfb;