#include "nouveau/nouveau_fence.h"
#include "nouveau/nouveau_heap.h"
+#include "nouveau/nv_object.xml.h"
+
#include "nvc0_winsys.h"
#include "nvc0_stateobj.h"
#define NVC0_TIC_MAX_ENTRIES 2048
#define NVC0_TSC_MAX_ENTRIES 2048
-struct nvc0_context;
-
-#define NVC0_SCRATCH_SIZE (2 << 20)
-#define NVC0_SCRATCH_NR_BUFFERS 2
+/* doesn't count reserved slots (for auxiliary constants, immediates, etc.) */
+#define NVC0_MAX_PIPE_CONSTBUFS 14
-#define NVC0_SCREEN_RESIDENT_BO_COUNT 5
+struct nvc0_context;
struct nvc0_blitctx;
int num_occlusion_queries_active;
struct nouveau_bo *text;
- struct nouveau_bo *uniforms;
+ struct nouveau_bo *uniform_bo;
struct nouveau_bo *tls;
struct nouveau_bo *txc; /* TIC (offset 0) and TSC (65536) */
- struct nouveau_bo *vfetch_cache;
+ struct nouveau_bo *poly_cache;
uint64_t tls_size;
struct nvc0_blitctx *blitctx;
- struct {
- struct nouveau_bo *bo[NVC0_SCRATCH_NR_BUFFERS];
- uint8_t *buf;
- int index;
- uint32_t offset;
- } scratch;
-
struct {
void **entries;
int next;
struct nouveau_mman *mm_VRAM_fe0;
- struct nouveau_object *fermi;
+ struct nouveau_object *eng3d; /* sqrt(1/2)|kepler> + sqrt(1/2)|fermi> */
struct nouveau_object *eng2d;
struct nouveau_object *m2mf;
struct nouveau_object *dijkstra;