--- /dev/null
+#ifndef __NOUVEAU_PUSH_H__
+#define __NOUVEAU_PUSH_H__
+
+#include "pipe/nouveau/nouveau_winsys.h"
+
+#ifndef NOUVEAU_PUSH_CONTEXT
+#error undefined push context
+#endif
+
+#define OUT_RING(data) do { \
+ NOUVEAU_PUSH_CONTEXT(pc); \
+ (*pc->nvws->channel->pushbuf->cur++) = (data); \
+} while(0)
+
+#define OUT_RINGp(src,size) do { \
+ NOUVEAU_PUSH_CONTEXT(pc); \
+ memcpy(pc->nvws->channel->pushbuf->cur, (src), (size) * 4); \
+ pc->nvws->channel->pushbuf->cur += (size); \
+} while(0)
+
+#define OUT_RINGf(data) do { \
+ union { float v; uint32_t u; } c; \
+ c.v = (data); \
+ OUT_RING(c.u); \
+} while(0)
+
+#define BEGIN_RING(obj,mthd,size) do { \
+ NOUVEAU_PUSH_CONTEXT(pc); \
+ if (pc->nvws->channel->pushbuf->remaining < ((size) + 1)) \
+ pc->nvws->push_flush(pc->nvws->channel, ((size) + 1)); \
+ OUT_RING((pc->obj->subc << 13) | ((size) << 18) | (mthd)); \
+ pc->nvws->channel->pushbuf->remaining -= ((size) + 1); \
+} while(0)
+
+#define BEGIN_RING_NI(obj,mthd,size) do { \
+ BEGIN_RING(obj, (mthd) | 0x40000000, (size)); \
+} while(0)
+
+#define FIRE_RING() do { \
+ NOUVEAU_PUSH_CONTEXT(pc); \
+ pc->nvws->push_flush(pc->nvws->channel, 0); \
+} while(0)
+
+#define OUT_RELOC(bo,data,flags,vor,tor) do { \
+ NOUVEAU_PUSH_CONTEXT(pc); \
+ pc->nvws->push_reloc(pc->nvws->channel, \
+ pc->nvws->channel->pushbuf->cur, \
+ (struct nouveau_bo *)(bo), \
+ (data), (flags), (vor), (tor)); \
+ OUT_RING(0); \
+} while(0)
+
+/* Raw data + flags depending on FB/TT buffer */
+#define OUT_RELOCd(bo,data,flags,vor,tor) do { \
+ OUT_RELOC((bo), (data), (flags) | NOUVEAU_BO_OR, (vor), (tor)); \
+} while(0)
+
+/* FB/TT object handle */
+#define OUT_RELOCo(bo,flags) do { \
+ OUT_RELOC((bo), 0, (flags) | NOUVEAU_BO_OR, \
+ pc->nvws->channel->vram->handle, \
+ pc->nvws->channel->gart->handle); \
+} while(0)
+
+/* Low 32-bits of offset */
+#define OUT_RELOCl(bo,delta,flags) do { \
+ OUT_RELOC((bo), (delta), (flags) | NOUVEAU_BO_LOW, 0, 0); \
+} while(0)
+
+/* High 32-bits of offset */
+#define OUT_RELOCh(bo,delta,flags) do { \
+ OUT_RELOC((bo), (delta), (flags) | NOUVEAU_BO_HIGH, 0, 0); \
+} while(0)
+
+#endif
#include "pipe/p_state.h"
#include "nv40_context.h"
-#include "nv40_dma.h"
-
void
nv40_clear(struct pipe_context *pipe, struct pipe_surface *ps,
#include "pipe/p_util.h"
#include "nv40_context.h"
-#include "nv40_dma.h"
static const char *
nv40_get_name(struct pipe_context *pipe)
#include "pipe/nouveau/nouveau_winsys.h"
#include "pipe/nouveau/nouveau_gldefs.h"
+#define NOUVEAU_PUSH_CONTEXT(ctx) \
+ struct nv40_context *ctx = nv40
+#include "pipe/nouveau/nouveau_push.h"
+
#include "nv40_state.h"
#define NOUVEAU_ERR(fmt, args...) \
#include "pipe/tgsi/util/tgsi_util.h"
#include "nv40_context.h"
-#include "nv40_dma.h"
#define SWZ_X 0
#define SWZ_Y 1
#include "pipe/p_context.h"
#include "nv40_context.h"
-#include "nv40_dma.h"
struct nv40_query {
struct nouveau_resource *object;
#include "pipe/p_util.h"
#include "nv40_context.h"
-#include "nv40_dma.h"
#include "nv40_state.h"
static void *
#include "nv40_context.h"
-#include "nv40_dma.h"
#include "nv40_state.h"
void
#include "nv40_context.h"
-#include "nv40_dma.h"
#define _(m,tf,ts0x,ts0y,ts0z,ts0w,ts1x,ts1y,ts1z,ts1w) \
{ \
#include "pipe/p_util.h"
#include "nv40_context.h"
-#include "nv40_dma.h"
#include "nv40_state.h"
#include "pipe/nouveau/nouveau_channel.h"
#include "pipe/tgsi/util/tgsi_parse.h"
#include "nv40_context.h"
-#include "nv40_dma.h"
#include "nv40_state.h"
/* TODO (at least...):
#include "pipe/p_state.h"
#include "nv50_context.h"
-#include "nv50_dma.h"
-
void
nv50_clear(struct pipe_context *pipe, struct pipe_surface *ps,
#include "pipe/p_util.h"
#include "nv50_context.h"
-#include "nv50_dma.h"
static boolean
nv50_is_format_supported(struct pipe_context *pipe, enum pipe_format format,
#include "pipe/nouveau/nouveau_winsys.h"
#include "pipe/nouveau/nouveau_gldefs.h"
+#define NOUVEAU_PUSH_CONTEXT(ctx) \
+ struct nv50_context *ctx = nv50
+#include "pipe/nouveau/nouveau_push.h"
+
#include "nv50_state.h"
#define NOUVEAU_ERR(fmt, args...) \
+++ /dev/null
-#ifndef __NV50_DMA_H__
-#define __NV50_DMA_H__
-
-#include "pipe/nouveau/nouveau_winsys.h"
-
-#define OUT_RING(data) do { \
- (*nv50->nvws->channel->pushbuf->cur++) = (data); \
-} while(0)
-
-#define OUT_RINGp(src,size) do { \
- memcpy(nv50->nvws->channel->pushbuf->cur, (src), (size) * 4); \
- nv50->nvws->channel->pushbuf->cur += (size); \
-} while(0)
-
-#define OUT_RINGf(data) do { \
- union { float v; uint32_t u; } c; \
- c.v = (data); \
- OUT_RING(c.u); \
-} while(0)
-
-#define BEGIN_RING(obj,mthd,size) do { \
- if (nv50->nvws->channel->pushbuf->remaining < ((size) + 1)) \
- nv50->nvws->push_flush(nv50->nvws->channel, ((size) + 1)); \
- OUT_RING((nv50->obj->subc << 13) | ((size) << 18) | (mthd)); \
- nv50->nvws->channel->pushbuf->remaining -= ((size) + 1); \
-} while(0)
-
-#define BEGIN_RING_NI(obj,mthd,size) do { \
- BEGIN_RING(obj, (mthd) | 0x40000000, (size)); \
-} while(0)
-
-#define FIRE_RING() do { \
- nv50->nvws->push_flush(nv50->nvws->channel, 0); \
-} while(0)
-
-#define OUT_RELOC(bo,data,flags,vor,tor) do { \
- nv50->nvws->push_reloc(nv50->nvws->channel, \
- nv50->nvws->channel->pushbuf->cur, \
- (struct nouveau_bo *)(bo), \
- (data), (flags), (vor), (tor)); \
- OUT_RING(0); \
-} while(0)
-
-/* Raw data + flags depending on FB/TT buffer */
-#define OUT_RELOCd(bo,data,flags,vor,tor) do { \
- OUT_RELOC((bo), (data), (flags) | NOUVEAU_BO_OR, (vor), (tor)); \
-} while(0)
-
-/* FB/TT object handle */
-#define OUT_RELOCo(bo,flags) do { \
- OUT_RELOC((bo), 0, (flags) | NOUVEAU_BO_OR, \
- nv50->nvws->channel->vram->handle, \
- nv50->nvws->channel->gart->handle); \
-} while(0)
-
-/* Low 32-bits of offset */
-#define OUT_RELOCl(bo,delta,flags) do { \
- OUT_RELOC((bo), (delta), (flags) | NOUVEAU_BO_LOW, 0, 0); \
-} while(0)
-
-/* High 32-bits of offset */
-#define OUT_RELOCh(bo,delta,flags) do { \
- OUT_RELOC((bo), (delta), (flags) | NOUVEAU_BO_HIGH, 0, 0); \
-} while(0)
-
-#endif
#include "pipe/p_context.h"
#include "nv50_context.h"
-#include "nv50_dma.h"
static struct pipe_query *
nv50_query_create(struct pipe_context *pipe, unsigned type)
#include "pipe/p_util.h"
#include "nv50_context.h"
-#include "nv50_dma.h"
#include "nv50_state.h"
static void *
nv50_vp_state_create(struct pipe_context *pipe,
const struct pipe_shader_state *cso)
{
+ return NULL;
}
static void
nv50_fp_state_create(struct pipe_context *pipe,
const struct pipe_shader_state *cso)
{
+ return NULL;
}
static void
#include "pipe/p_util.h"
#include "nv50_context.h"
-#include "nv50_dma.h"
#include "nv50_state.h"
boolean