commit f63520e
Michael Forney
·
2014-01-14 10:14:14 +0000 UTC
parent 2e467a3
Add initial nouveau support Still need to implement text rendering.
8 files changed,
+1911,
-1
M
Makefile
+6,
-0
1@@ -38,6 +38,12 @@ ifeq ($(ENABLE_DRM),1)
2 WLD_SOURCES += intel.c
3 WLD_CPPFLAGS += -DWITH_DRM_INTEL=1
4 endif
5+
6+ ifneq ($(findstring nouveau,$(DRM_DRIVERS)),)
7+ WLD_REQUIRES_PRIVATE += libdrm_nouveau
8+ WLD_SOURCES += nouveau.c
9+ WLD_CPPFLAGS += -DWITH_DRM_NOUVEAU=1
10+ endif
11 endif
12
13 ifeq ($(ENABLE_PIXMAN),1)
+1,
-1
1@@ -14,7 +14,7 @@ ENABLE_PIXMAN = 1
2 ENABLE_DRM = 1
3 ENABLE_WAYLAND = 0
4
5-DRM_DRIVERS = intel
6+DRM_DRIVERS = intel nouveau
7 WAYLAND_INTERFACES = shm
8
9 ifeq ($(ENABLE_DRM),1)
+3,
-0
1@@ -36,6 +36,9 @@ struct drm_driver
2 #if WITH_DRM_INTEL
3 extern const struct drm_driver intel_drm_driver;
4 #endif
5+#if WITH_DRM_NOUVEAU
6+extern const struct drm_driver nouveau_drm_driver;
7+#endif
8 extern const struct drm_driver dumb_drm_driver;
9 extern const struct wld_context_impl * dumb_context_impl;
10
M
drm.c
+3,
-0
1@@ -27,6 +27,9 @@
2 const static struct drm_driver * drivers[] = {
3 #if WITH_DRM_INTEL
4 &intel_drm_driver,
5+#endif
6+#if WITH_DRM_NOUVEAU
7+ &nouveau_drm_driver,
8 #endif
9 &dumb_drm_driver
10 };
+556,
-0
1@@ -0,0 +1,556 @@
2+/* wld: nouveau.c
3+ *
4+ * Copyright (c) 2013, 2014 Michael Forney
5+ *
6+ * Based in part upon nvc0_exa.c from xf86-video-nouveau, which is:
7+ *
8+ * Copyright 2007 NVIDIA, Corporation
9+ * Copyright 2008 Ben Skeggs
10+ *
11+ * Permission is hereby granted, free of charge, to any person obtaining a copy
12+ * of this software and associated documentation files (the "Software"), to deal
13+ * in the Software without restriction, including without limitation the rights
14+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15+ * copies of the Software, and to permit persons to whom the Software is
16+ * furnished to do so, subject to the following conditions:
17+ *
18+ * The above copyright notice and this permission notice shall be included in
19+ * all copies or substantial portions of the Software.
20+ *
21+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27+ * SOFTWARE.
28+ */
29+
30+#include "drm-private.h"
31+#include "drm.h"
32+#include "pixman.h"
33+#include "nouveau/nv_object.xml.h"
34+#include "nouveau/nv50_2d.xml.h"
35+#include "nouveau/nv50_defs.xml.h"
36+
37+#include <nouveau.h>
38+#include <sys/mman.h>
39+
40+struct nouveau_context
41+{
42+ struct wld_context base;
43+ struct nouveau_device * device;
44+ struct nouveau_client * client;
45+};
46+
47+struct nouveau_renderer
48+{
49+ struct wld_renderer base;
50+ struct nouveau_object * channel;
51+ struct nouveau_pushbuf * pushbuf;
52+ struct nouveau_bufctx * bufctx;
53+ struct nouveau_object * nvc0_2d;
54+
55+ struct nouveau_buffer * target;
56+};
57+
58+struct nouveau_buffer
59+{
60+ struct wld_buffer base;
61+ struct wld_exporter exporter;
62+ struct nouveau_context * context;
63+ struct nouveau_bo * bo;
64+};
65+
66+#include "interface/context.h"
67+#include "interface/renderer.h"
68+#include "interface/buffer.h"
69+#define DRM_DRIVER_NAME nouveau
70+#include "interface/drm.h"
71+#include "interface/exporter.h"
72+IMPL(nouveau, context)
73+IMPL(nouveau, renderer)
74+IMPL(nouveau, buffer)
75+
76+/**** DRM driver ****/
77+bool driver_device_supported(uint32_t vendor_id, uint32_t device_id)
78+{
79+ return vendor_id == 0x10de;
80+}
81+
82+struct wld_context * driver_create_context(int drm_fd)
83+{
84+ struct nouveau_context * context;
85+
86+ if (!(context = malloc(sizeof *context)))
87+ goto error0;
88+
89+ if (nouveau_device_wrap(drm_fd, 0, &context->device) != 0)
90+ goto error1;
91+
92+ if (nouveau_client_new(context->device, &context->client) != 0)
93+ goto error2;
94+
95+ context_initialize(&context->base, &context_impl);
96+
97+ return &context->base;
98+
99+ error2:
100+ nouveau_device_del(&context->device);
101+ error1:
102+ free(context);
103+ error0:
104+ return NULL;
105+}
106+
107+/**** Context ****/
108+static inline bool ensure_space(struct nouveau_pushbuf * push, uint32_t count)
109+{
110+ if (push->end - push->cur > count)
111+ return true;
112+
113+ return nouveau_pushbuf_space(push, count, 0, 0) == 0;
114+}
115+
116+static uint32_t nvc0_format(uint32_t format)
117+{
118+ switch (format)
119+ {
120+ case WLD_FORMAT_XRGB8888:
121+ case WLD_FORMAT_ARGB8888:
122+ return NV50_SURFACE_FORMAT_BGRA8_UNORM;
123+ }
124+
125+ return 0;
126+}
127+
128+static inline void nvc0_command(struct nouveau_pushbuf * push,
129+ uint8_t subchannel, uint16_t method,
130+ uint8_t count, ...)
131+{
132+ va_list dwords;
133+ va_start(dwords, count);
134+ *push->cur++ = 0x20000000 | count << 16 | subchannel << 13 | method >> 2;
135+ while (count--)
136+ *push->cur++ = va_arg(dwords, uint32_t);
137+ va_end(dwords);
138+}
139+
140+#define NVC0_SUBCHANNEL_2D 3
141+
142+#define nvc0_2d(push, method, count, ...) \
143+ nvc0_command(push, NVC0_SUBCHANNEL_2D, method, count, __VA_ARGS__)
144+
145+static bool nvc0_2d_initialize(struct nouveau_renderer * renderer)
146+{
147+ int ret;
148+
149+ ret = nouveau_object_new(renderer->channel, NVC0_2D, NVC0_2D, NULL, 0,
150+ &renderer->nvc0_2d);
151+
152+ if (ret != 0)
153+ goto error0;
154+
155+ if (!ensure_space(renderer->pushbuf, 6))
156+ goto error1;
157+
158+ nvc0_2d(renderer->pushbuf, NV01_SUBCHAN_OBJECT, 1,
159+ renderer->nvc0_2d->handle);
160+ nvc0_2d(renderer->pushbuf, NV50_2D_UNK0884, 1, 0x3f);
161+ nvc0_2d(renderer->pushbuf, NV50_2D_UNK0888, 1, 1);
162+
163+ return true;
164+
165+ error1:
166+ nouveau_object_del(&renderer->nvc0_2d);
167+ error0:
168+ return false;
169+}
170+
171+static void nvc0_2d_finalize(struct nouveau_renderer * renderer)
172+{
173+ nouveau_object_del(&renderer->nvc0_2d);
174+}
175+
176+struct wld_renderer * context_create_renderer(struct wld_context * base)
177+{
178+ struct nouveau_context * context = nouveau_context(base);
179+ struct nouveau_renderer * renderer;
180+ struct nvc0_fifo fifo = { };
181+ int ret;
182+
183+ if (!(renderer = malloc(sizeof *renderer)))
184+ goto error0;
185+
186+ ret = nouveau_object_new(&context->device->object, 0,
187+ NOUVEAU_FIFO_CHANNEL_CLASS, &fifo, sizeof fifo,
188+ &renderer->channel);
189+
190+ if (ret != 0)
191+ goto error1;
192+
193+ ret = nouveau_pushbuf_new(context->client, renderer->channel, 4, 32 * 1024,
194+ true, &renderer->pushbuf);
195+
196+ if (ret != 0)
197+ goto error2;
198+
199+ if (nouveau_bufctx_new(context->client, 1, &renderer->bufctx) != 0)
200+ goto error3;
201+
202+ if (!nvc0_2d_initialize(renderer))
203+ goto error4;
204+
205+ renderer_initialize(&renderer->base, &renderer_impl);
206+ renderer->target = NULL;
207+
208+ return &renderer->base;
209+
210+ error4:
211+ nouveau_bufctx_del(&renderer->bufctx);
212+ error3:
213+ nouveau_pushbuf_del(&renderer->pushbuf);
214+ error2:
215+ nouveau_object_del(&renderer->channel);
216+ error1:
217+ free(renderer);
218+ error0:
219+ return NULL;
220+}
221+
222+static struct nouveau_buffer * new_buffer(struct nouveau_context * context,
223+ uint32_t width, uint32_t height,
224+ uint32_t format, uint32_t pitch)
225+{
226+ struct nouveau_buffer * buffer;
227+
228+ if (!(buffer = malloc(sizeof *buffer)))
229+ return NULL;
230+
231+ buffer_initialize(&buffer->base, &buffer_impl,
232+ width, height, format, pitch);
233+ buffer->context = context;
234+ exporter_initialize(&buffer->exporter, &exporter_impl);
235+ buffer_add_exporter(&buffer->base, &buffer->exporter);
236+
237+ return buffer;
238+}
239+
240+static inline uint32_t roundup(uint32_t value, uint32_t alignment)
241+{
242+ return (value + alignment - 1) & ~(alignment - 1);
243+}
244+
245+struct wld_buffer * context_create_buffer(struct wld_context * base,
246+ uint32_t width, uint32_t height,
247+ uint32_t format)
248+{
249+ struct nouveau_context * context = nouveau_context(base);
250+ struct nouveau_buffer * buffer;
251+ uint32_t bpp = format_bytes_per_pixel(format),
252+ pitch = roundup(width * bpp, 64), flags;
253+ union nouveau_bo_config config = { };
254+
255+ if (!(buffer = new_buffer(context, width, height, format, pitch)))
256+ goto error0;
257+
258+ flags = NOUVEAU_BO_VRAM;
259+
260+ /* FIXME: Only need CONTIG for scanout buffers */
261+ flags |= NOUVEAU_BO_CONTIG;
262+
263+ /* FIXME: Use tiling
264+ if (height > 0x40)
265+ {
266+ config.nvc0.tile_mode = 0x40;
267+ config.nvc0.memtype = 0xfe;
268+ height = roundup(height, 0x80);
269+ }
270+ else
271+ */
272+ flags |= NOUVEAU_BO_MAP;
273+
274+ if (nouveau_bo_new(context->device, flags, 0, pitch * height,
275+ &config, &buffer->bo) != 0)
276+ {
277+ goto error1;
278+ }
279+
280+ return &buffer->base;
281+
282+ error1:
283+ free(buffer);
284+ error0:
285+ return NULL;
286+}
287+
288+struct wld_buffer * context_import_buffer
289+ (struct wld_context * base, uint32_t type, union wld_object object,
290+ uint32_t width, uint32_t height, uint32_t format, uint32_t pitch)
291+{
292+ struct nouveau_context * context = (void *) base;
293+ struct nouveau_buffer * buffer;
294+ struct nouveau_bo * bo;
295+
296+ switch (type)
297+ {
298+ case WLD_DRM_OBJECT_PRIME_FD:
299+ if (nouveau_bo_prime_handle_ref(context->device,
300+ object.i, &bo) != 0)
301+ {
302+ goto error0;
303+ }
304+ break;
305+ case WLD_DRM_OBJECT_GEM_NAME:
306+ if (nouveau_bo_name_ref(context->device, object.u32, &bo) != 0)
307+ goto error0;
308+ break;
309+ default: goto error0;
310+ }
311+
312+ if (!(buffer = new_buffer(context, width, height, format, pitch)))
313+ goto error1;
314+
315+ buffer->bo = bo;
316+
317+ return &buffer->base;
318+
319+ error1:
320+ nouveau_bo_ref(NULL, &buffer->bo);
321+ error0:
322+ return NULL;
323+}
324+
325+void context_destroy(struct wld_context * base)
326+{
327+ struct nouveau_context * context = nouveau_context(base);
328+
329+ nouveau_client_del(&context->client);
330+ nouveau_device_del(&context->device);
331+ free(context);
332+}
333+
334+/**** Renderer ****/
335+uint32_t renderer_capabilities(struct wld_renderer * renderer,
336+ struct wld_buffer * buffer)
337+{
338+ if (buffer->impl == &buffer_impl)
339+ return WLD_CAPABILITY_READ | WLD_CAPABILITY_WRITE;
340+
341+ return 0;
342+}
343+
344+bool renderer_set_target(struct wld_renderer * base,
345+ struct wld_buffer * buffer)
346+{
347+ struct nouveau_renderer * renderer = nouveau_renderer(base);
348+
349+ if (buffer && buffer->impl != &buffer_impl)
350+ return false;
351+
352+ renderer->target = buffer ? nouveau_buffer(buffer) : NULL;
353+
354+ return true;
355+}
356+
357+static inline void nvc0_2d_dst(struct nouveau_renderer * renderer,
358+ struct nouveau_buffer * buffer, uint32_t format)
359+{
360+
361+ if (buffer->bo->config.nvc0.memtype)
362+ {
363+ nvc0_2d(renderer->pushbuf, NV50_2D_DST_FORMAT, 5,
364+ format, 0, buffer->bo->config.nvc0.tile_mode, 1, 0);
365+ }
366+ else
367+ {
368+ nvc0_2d(renderer->pushbuf, NV50_2D_DST_FORMAT, 2, format, 1);
369+ nvc0_2d(renderer->pushbuf, NV50_2D_DST_PITCH, 1, buffer->base.pitch);
370+ }
371+
372+ nvc0_2d(renderer->pushbuf, NV50_2D_DST_WIDTH, 4,
373+ buffer->base.width, buffer->base.height,
374+ buffer->bo->offset >> 32, buffer->bo->offset);
375+ nouveau_bufctx_refn(renderer->bufctx, 0, buffer->bo,
376+ NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
377+}
378+
379+static inline void nvc0_2d_src(struct nouveau_renderer * renderer,
380+ struct nouveau_buffer * buffer, uint32_t format)
381+{
382+ if (buffer->bo->config.nvc0.memtype)
383+ {
384+ nvc0_2d(renderer->pushbuf, NV50_2D_SRC_FORMAT, 5,
385+ format, 0, buffer->bo->config.nvc0.tile_mode, 1, 0);
386+ }
387+ else
388+ {
389+ nvc0_2d(renderer->pushbuf, NV50_2D_SRC_FORMAT, 2, format, 1);
390+ nvc0_2d(renderer->pushbuf, NV50_2D_SRC_PITCH, 1, buffer->base.pitch);
391+ }
392+
393+ nvc0_2d(renderer->pushbuf, NV50_2D_SRC_WIDTH, 4,
394+ buffer->base.width, buffer->base.height,
395+ buffer->bo->offset >> 32, buffer->bo->offset);
396+ nouveau_bufctx_refn(renderer->bufctx, 0, buffer->bo,
397+ NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
398+}
399+
400+void renderer_fill_rectangle(struct wld_renderer * base, uint32_t color,
401+ int32_t x, int32_t y,
402+ uint32_t width, uint32_t height)
403+{
404+ struct nouveau_renderer * renderer = nouveau_renderer(base);
405+ uint32_t format;
406+
407+ if (!ensure_space(renderer->pushbuf, 22))
408+ return;
409+
410+ format = nvc0_format(renderer->target->base.format);
411+
412+ nouveau_bufctx_reset(renderer->bufctx, 0);
413+ nvc0_2d_dst(renderer, renderer->target, format);
414+ nvc0_2d(renderer->pushbuf, NV50_2D_OPERATION, 1, NV50_2D_OPERATION_SRCCOPY);
415+ nvc0_2d(renderer->pushbuf, NV50_2D_DRAW_SHAPE, 3,
416+ NV50_2D_DRAW_SHAPE_RECTANGLES, format, color);
417+ nouveau_pushbuf_bufctx(renderer->pushbuf, renderer->bufctx);
418+
419+ if (nouveau_pushbuf_validate(renderer->pushbuf) != 0)
420+ return;
421+
422+ nvc0_2d(renderer->pushbuf, NV50_2D_DRAW_POINT32_X(0), 4,
423+ x, y, x + width, y + height);
424+}
425+
426+void renderer_copy_rectangle(struct wld_renderer * base,
427+ struct wld_buffer * buffer_base,
428+ int32_t dst_x, int32_t dst_y,
429+ int32_t src_x, int32_t src_y,
430+ uint32_t width, uint32_t height)
431+{
432+ struct nouveau_renderer * renderer = nouveau_renderer(base);
433+
434+ if (buffer_base->impl != &buffer_impl)
435+ return;
436+
437+ struct nouveau_buffer * buffer = nouveau_buffer(buffer_base);
438+ uint32_t src_format, dst_format;
439+
440+ if (!ensure_space(renderer->pushbuf, 41))
441+ return;
442+
443+ src_format = nvc0_format(buffer->base.format);
444+ dst_format = nvc0_format(renderer->target->base.format);
445+
446+ nouveau_bufctx_reset(renderer->bufctx, 0);
447+ nvc0_2d_src(renderer, buffer, src_format);
448+ nvc0_2d_dst(renderer, renderer->target, dst_format);
449+ nvc0_2d(renderer->pushbuf, NV50_2D_OPERATION, 1, NV50_2D_OPERATION_SRCCOPY);
450+ nouveau_pushbuf_bufctx(renderer->pushbuf, renderer->bufctx);
451+
452+ if (nouveau_pushbuf_validate(renderer->pushbuf) != 0)
453+ return;
454+
455+ nvc0_2d(renderer->pushbuf, NV50_GRAPH_SERIALIZE, 1, 0);
456+ nvc0_2d(renderer->pushbuf, NV50_2D_BLIT_CONTROL, 1, 0);
457+ nvc0_2d(renderer->pushbuf, NV50_2D_BLIT_DST_X, 12,
458+ dst_x, dst_y, width, height, 0, 1, 0, 1, 0, src_x, 0, src_y);
459+
460+ renderer_flush(base);
461+}
462+
463+void renderer_draw_text(struct wld_renderer * base,
464+ struct font * font, uint32_t color,
465+ int32_t x, int32_t y, const char * text, int32_t length,
466+ struct wld_extents * extents)
467+{
468+ /* TODO: Implement */
469+}
470+
471+void renderer_flush(struct wld_renderer * base)
472+{
473+ struct nouveau_renderer * renderer = nouveau_renderer(base);
474+
475+ nouveau_pushbuf_kick(renderer->pushbuf, renderer->channel);
476+ nouveau_pushbuf_bufctx(renderer->pushbuf, NULL);
477+}
478+
479+void renderer_destroy(struct wld_renderer * base)
480+{
481+ struct nouveau_renderer * renderer = nouveau_renderer(base);
482+
483+ nvc0_2d_finalize(renderer);
484+ nouveau_bufctx_del(&renderer->bufctx);
485+ nouveau_pushbuf_del(&renderer->pushbuf);
486+ nouveau_object_del(&renderer->channel);
487+ free(renderer);
488+}
489+
490+/**** Buffer ****/
491+bool buffer_map(struct wld_buffer * base)
492+{
493+ struct nouveau_buffer * buffer = nouveau_buffer(base);
494+
495+ if (buffer->bo->config.nvc0.tile_mode)
496+ return false;
497+
498+ if (nouveau_bo_map(buffer->bo, NOUVEAU_BO_WR,
499+ buffer->context->client) != 0)
500+ {
501+ return false;
502+ }
503+
504+ base->map.data = buffer->bo->map;
505+
506+ return true;
507+}
508+
509+bool buffer_unmap(struct wld_buffer * base)
510+{
511+ struct nouveau_buffer * buffer = nouveau_buffer(base);
512+
513+ if (munmap(buffer->bo->map, buffer->bo->size) == -1)
514+ return false;
515+
516+ buffer->bo->map = NULL;
517+ base->map.data = NULL;
518+
519+ return true;
520+}
521+
522+void buffer_destroy(struct wld_buffer * base)
523+{
524+ struct nouveau_buffer * buffer = (void *) base;
525+
526+ nouveau_bo_ref(NULL, &buffer->bo);
527+ free(buffer);
528+}
529+
530+/**** Exporter ****/
531+bool exporter_export(struct wld_exporter * exporter, struct wld_buffer * base,
532+ uint32_t type, union wld_object * object)
533+{
534+ struct nouveau_buffer * buffer = nouveau_buffer(base);
535+
536+ switch (type)
537+ {
538+ case WLD_DRM_OBJECT_HANDLE:
539+ object->u32 = buffer->bo->handle;
540+ return true;
541+ case WLD_DRM_OBJECT_PRIME_FD:
542+ if (nouveau_bo_set_prime(buffer->bo, &object->i) != 0)
543+ return false;
544+ return true;
545+ case WLD_DRM_OBJECT_GEM_NAME:
546+ if (nouveau_bo_name_get(buffer->bo, &object->u32) != 0)
547+ return false;
548+ return true;
549+ default:
550+ return false;
551+ }
552+}
553+
554+void exporter_destroy(struct wld_exporter * exporter)
555+{
556+}
557+
+541,
-0
1@@ -0,0 +1,541 @@
2+#ifndef NV50_2D_XML
3+#define NV50_2D_XML
4+
5+/* Autogenerated file, DO NOT EDIT manually!
6+
7+This file was generated by the rules-ng-ng headergen tool in this git repository:
8+http://github.com/envytools/envytools/
9+git clone https://github.com/envytools/envytools.git
10+
11+The rules-ng-ng source files this header was generated from are:
12+- /home/michael/src/envytools/rnndb/root.xml ( 514 bytes, from 2014-01-29 23:36:47)
13+- /home/michael/src/envytools/rnndb/copyright.xml ( 6452 bytes, from 2014-01-29 23:36:47)
14+- /home/michael/src/envytools/rnndb/nv_mmio.xml ( 7086 bytes, from 2014-01-29 23:36:47)
15+- /home/michael/src/envytools/rnndb/nvchipsets.xml ( 4092 bytes, from 2014-01-29 23:36:47)
16+- /home/michael/src/envytools/rnndb/bus/pmc.xml ( 11084 bytes, from 2014-01-29 23:36:47)
17+- /home/michael/src/envytools/rnndb/bus/pbus.xml ( 19828 bytes, from 2014-01-29 23:36:47)
18+- /home/michael/src/envytools/rnndb/nv50_defs.xml ( 16877 bytes, from 2014-01-29 23:36:47)
19+- /home/michael/src/envytools/rnndb/memory/nv50_vm.xml ( 9860 bytes, from 2014-01-29 23:36:47)
20+- /home/michael/src/envytools/rnndb/display/nv_vga.xml ( 13113 bytes, from 2014-01-29 23:36:47)
21+- /home/michael/src/envytools/rnndb/bus/pci.xml ( 17502 bytes, from 2014-01-29 23:36:47)
22+- /home/michael/src/envytools/rnndb/fifo/nv01_pfifo.xml ( 10607 bytes, from 2014-01-29 23:36:47)
23+- /home/michael/src/envytools/rnndb/fifo/nv04_pfifo.xml ( 24125 bytes, from 2014-01-29 23:36:47)
24+- /home/michael/src/envytools/rnndb/fifo/nv50_pfifo.xml ( 23242 bytes, from 2014-01-29 23:36:47)
25+- /home/michael/src/envytools/rnndb/fifo/nvc0_pfifo.xml ( 26418 bytes, from 2014-01-29 23:36:47)
26+- /home/michael/src/envytools/rnndb/memory/nvc0_vm.xml ( 8573 bytes, from 2014-01-29 23:36:47)
27+- /home/michael/src/envytools/rnndb/pm/nv40_pclock.xml ( 1171 bytes, from 2014-01-29 23:36:47)
28+- /home/michael/src/envytools/rnndb/pm/nv50_pclock.xml ( 16532 bytes, from 2014-01-29 23:36:47)
29+- /home/michael/src/envytools/rnndb/pm/nva3_pclock.xml ( 4463 bytes, from 2014-01-29 23:36:47)
30+- /home/michael/src/envytools/rnndb/display/nv10_pvideo.xml ( 451 bytes, from 2014-01-29 23:36:47)
31+- /home/michael/src/envytools/rnndb/bus/ptimer.xml ( 2287 bytes, from 2014-01-29 23:36:47)
32+- /home/michael/src/envytools/rnndb/nv10_pcounter.xml ( 5914 bytes, from 2014-01-29 23:36:47)
33+- /home/michael/src/envytools/rnndb/nv40_pcounter.xml ( 9692 bytes, from 2014-01-29 23:36:47)
34+- /home/michael/src/envytools/rnndb/vdec/vpe/pmpeg.xml ( 12766 bytes, from 2014-01-29 23:36:47)
35+- /home/michael/src/envytools/rnndb/vdec/vpe/pvpe.xml ( 704 bytes, from 2014-01-29 23:36:47)
36+- /home/michael/src/envytools/rnndb/vdec/vpe/mpeg_fifo.xml ( 2622 bytes, from 2014-01-29 23:36:47)
37+- /home/michael/src/envytools/rnndb/fifo/nv_object.xml ( 14664 bytes, from 2014-01-29 23:36:47)
38+- /home/michael/src/envytools/rnndb/vdec/vpe/pme.xml ( 5124 bytes, from 2014-01-29 23:36:47)
39+- /home/michael/src/envytools/rnndb/display/nv17_ptv.xml ( 458 bytes, from 2014-01-29 23:36:47)
40+- /home/michael/src/envytools/rnndb/io/pnvio.xml ( 32034 bytes, from 2014-01-29 23:36:47)
41+- /home/michael/src/envytools/rnndb/vdec/vpe/pvp1.xml ( 2111 bytes, from 2014-01-29 23:36:47)
42+- /home/michael/src/envytools/rnndb/vdec/vp2/pvp2.xml ( 1618 bytes, from 2014-01-29 23:36:47)
43+- /home/michael/src/envytools/rnndb/vdec/vp2/xtensa.xml ( 5386 bytes, from 2014-01-29 23:36:47)
44+- /home/michael/src/envytools/rnndb/pm/ptherm.xml ( 32292 bytes, from 2014-01-29 23:36:47)
45+- /home/michael/src/envytools/rnndb/bus/pfuse.xml ( 803 bytes, from 2014-01-29 23:36:47)
46+- /home/michael/src/envytools/rnndb/bus/punits.xml ( 4193 bytes, from 2014-01-29 23:36:47)
47+- /home/michael/src/envytools/rnndb/vdec/vp3/pvld.xml ( 13233 bytes, from 2014-01-29 23:36:47)
48+- /home/michael/src/envytools/rnndb/falcon.xml ( 16884 bytes, from 2014-01-29 23:36:47)
49+- /home/michael/src/envytools/rnndb/falcon_crypt.xml ( 3446 bytes, from 2014-01-29 23:36:47)
50+- /home/michael/src/envytools/rnndb/vdec/vp3/pvdec.xml ( 14115 bytes, from 2014-01-29 23:36:47)
51+- /home/michael/src/envytools/rnndb/vdec/vp3/pppp.xml ( 8830 bytes, from 2014-01-29 23:36:47)
52+- /home/michael/src/envytools/rnndb/nv_defs.xml ( 4399 bytes, from 2014-01-29 23:36:47)
53+- /home/michael/src/envytools/rnndb/vdec/vp3/pcrypt3.xml ( 1003 bytes, from 2014-01-29 23:36:47)
54+- /home/michael/src/envytools/rnndb/nv84_punk089.xml ( 449 bytes, from 2014-01-29 23:36:47)
55+- /home/michael/src/envytools/rnndb/display/nv03_prmvio.xml ( 654 bytes, from 2014-01-29 23:36:47)
56+- /home/michael/src/envytools/rnndb/memory/nv01_pdma.xml ( 5345 bytes, from 2014-01-29 23:36:47)
57+- /home/michael/src/envytools/rnndb/memory/nv03_pfb.xml ( 4511 bytes, from 2014-01-29 23:36:47)
58+- /home/michael/src/envytools/rnndb/memory/nv10_pfb.xml ( 25274 bytes, from 2014-01-29 23:36:47)
59+- /home/michael/src/envytools/rnndb/memory/nv_pfb.xml ( 1135 bytes, from 2014-01-29 23:36:47)
60+- /home/michael/src/envytools/rnndb/memory/nvc0_pffb.xml ( 2707 bytes, from 2014-01-29 23:36:47)
61+- /home/michael/src/envytools/rnndb/io/pstraps.xml ( 8077 bytes, from 2014-01-29 23:36:47)
62+- /home/michael/src/envytools/rnndb/vdec/vp2/pcrypt2.xml ( 3578 bytes, from 2014-01-29 23:36:47)
63+- /home/michael/src/envytools/rnndb/vdec/vp2/pbsp.xml ( 10624 bytes, from 2014-01-29 23:36:47)
64+- /home/michael/src/envytools/rnndb/fifo/pcopy.xml ( 7843 bytes, from 2014-01-29 23:36:47)
65+- /home/michael/src/envytools/rnndb/display/nva3_pcodec.xml ( 448 bytes, from 2014-01-29 23:36:47)
66+- /home/michael/src/envytools/rnndb/display/nva3_pkfuse.xml ( 447 bytes, from 2014-01-29 23:36:47)
67+- /home/michael/src/envytools/rnndb/pm/pdaemon.xml ( 17194 bytes, from 2014-01-29 23:36:47)
68+- /home/michael/src/envytools/rnndb/memory/nvc0_pbfb.xml ( 2898 bytes, from 2014-01-29 23:36:47)
69+- /home/michael/src/envytools/rnndb/bus/pibus.xml ( 8356 bytes, from 2014-01-29 23:36:47)
70+- /home/michael/src/envytools/rnndb/pm/nvc0_pclock.xml ( 7279 bytes, from 2014-01-29 23:36:47)
71+- /home/michael/src/envytools/rnndb/memory/nvc0_pp2p.xml ( 1946 bytes, from 2014-01-29 23:36:47)
72+- /home/michael/src/envytools/rnndb/memory/nvc0_pxbar.xml ( 1156 bytes, from 2014-01-29 23:36:47)
73+- /home/michael/src/envytools/rnndb/memory/nvc0_pmfb.xml ( 3631 bytes, from 2014-01-29 23:36:47)
74+- /home/michael/src/envytools/rnndb/nvc0_pcounter.xml ( 12613 bytes, from 2014-01-29 23:36:47)
75+- /home/michael/src/envytools/rnndb/vdec/pvcomp.xml ( 8682 bytes, from 2014-01-29 23:36:47)
76+- /home/michael/src/envytools/rnndb/vdec/pvenc.xml ( 1233 bytes, from 2014-01-29 23:36:47)
77+- /home/michael/src/envytools/rnndb/display/nvd9_punk1c3.xml ( 978 bytes, from 2014-01-29 23:36:47)
78+- /home/michael/src/envytools/rnndb/io/pmedia.xml ( 432 bytes, from 2014-01-29 23:36:47)
79+- /home/michael/src/envytools/rnndb/nv01_paudio.xml ( 1863 bytes, from 2014-01-29 23:36:47)
80+- /home/michael/src/envytools/rnndb/extdev/ad1848.xml ( 5260 bytes, from 2014-01-29 23:36:47)
81+- /home/michael/src/envytools/rnndb/graph/nv01_pgraph.xml ( 14241 bytes, from 2014-01-29 23:36:47)
82+- /home/michael/src/envytools/rnndb/graph/nv01_2d.xml ( 36779 bytes, from 2014-01-29 23:36:47)
83+- /home/michael/src/envytools/rnndb/graph/nv03_pgraph.xml ( 4011 bytes, from 2014-01-29 23:36:47)
84+- /home/michael/src/envytools/rnndb/graph/nv04_pgraph.xml ( 11363 bytes, from 2014-01-29 23:36:47)
85+- /home/michael/src/envytools/rnndb/graph/nv50_pgraph.xml ( 54643 bytes, from 2014-01-29 23:36:47)
86+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/pgraph.xml ( 23719 bytes, from 2014-01-29 23:36:47)
87+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/ctxctl.xml ( 12648 bytes, from 2014-01-29 23:36:47)
88+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/gpc.xml ( 7276 bytes, from 2014-01-29 23:36:47)
89+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/tpc.xml ( 15311 bytes, from 2014-01-29 23:36:47)
90+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/ppc.xml ( 1170 bytes, from 2014-01-29 23:36:47)
91+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/rop.xml ( 2143 bytes, from 2014-01-29 23:36:47)
92+- /home/michael/src/envytools/rnndb/graph/nv03_pdma.xml ( 2293 bytes, from 2014-01-29 23:36:47)
93+- /home/michael/src/envytools/rnndb/display/nv01_pfb.xml ( 4033 bytes, from 2014-01-29 23:36:47)
94+- /home/michael/src/envytools/rnndb/display/nv03_pcrtc.xml ( 1114 bytes, from 2014-01-29 23:36:47)
95+- /home/michael/src/envytools/rnndb/memory/nv01_pram.xml ( 1241 bytes, from 2014-01-29 23:36:47)
96+- /home/michael/src/envytools/rnndb/io/pchipid.xml ( 494 bytes, from 2014-01-29 23:36:47)
97+- /home/michael/src/envytools/rnndb/display/nv01_pdac.xml ( 4639 bytes, from 2014-01-29 23:36:47)
98+- /home/michael/src/envytools/rnndb/io/peeprom.xml ( 703 bytes, from 2014-01-29 23:36:47)
99+- /home/michael/src/envytools/rnndb/display/nv03_pramdac.xml ( 4455 bytes, from 2014-01-29 23:36:47)
100+- /home/michael/src/envytools/rnndb/display/nv50_pdisplay.xml ( 38497 bytes, from 2014-01-29 23:36:47)
101+- /home/michael/src/envytools/rnndb/bus/prm.xml ( 5098 bytes, from 2014-01-29 23:36:47)
102+- /home/michael/src/envytools/rnndb/display/nv_evo.xml ( 10560 bytes, from 2014-01-29 23:36:47)
103+- /home/michael/src/envytools/rnndb/fifo/nv_objects.xml ( 1054 bytes, from 2014-01-29 23:36:47)
104+- /home/michael/src/envytools/rnndb/graph/nv_m2mf.xml ( 2701 bytes, from 2014-01-29 23:36:47)
105+- /home/michael/src/envytools/rnndb/graph/nvc0_m2mf.xml ( 2788 bytes, from 2014-01-29 23:36:47)
106+- /home/michael/src/envytools/rnndb/graph/nv04_dvd.xml ( 3005 bytes, from 2014-01-29 23:36:47)
107+- /home/michael/src/envytools/rnndb/graph/nv03_3d.xml ( 5214 bytes, from 2014-01-29 23:36:47)
108+- /home/michael/src/envytools/rnndb/graph/nv04_3d.xml ( 17770 bytes, from 2014-01-29 23:36:47)
109+- /home/michael/src/envytools/rnndb/graph/nv_3ddefs.xml ( 16394 bytes, from 2014-01-29 23:36:47)
110+- /home/michael/src/envytools/rnndb/graph/nv10_3d.xml ( 18441 bytes, from 2014-01-29 23:36:47)
111+- /home/michael/src/envytools/rnndb/graph/nv20_3d.xml ( 21106 bytes, from 2014-01-29 23:36:47)
112+- /home/michael/src/envytools/rnndb/graph/nv30-40_3d.xml ( 32461 bytes, from 2014-01-29 23:36:47)
113+- /home/michael/src/envytools/rnndb/graph/nv50_2d.xml ( 11441 bytes, from 2014-01-29 23:36:47)
114+- /home/michael/src/envytools/rnndb/graph/nv50_3d.xml ( 65928 bytes, from 2014-01-29 23:36:47)
115+- /home/michael/src/envytools/rnndb/graph/nv50_compute.xml ( 14047 bytes, from 2014-01-29 23:36:47)
116+- /home/michael/src/envytools/rnndb/graph/nvc0_3d.xml ( 59735 bytes, from 2014-01-29 23:36:47)
117+- /home/michael/src/envytools/rnndb/graph/nve4_p2mf.xml ( 2378 bytes, from 2014-01-29 23:36:47)
118+- /home/michael/src/envytools/rnndb/graph/nvc0_compute.xml ( 11150 bytes, from 2014-01-29 23:36:47)
119+- /home/michael/src/envytools/rnndb/graph/nve4_compute.xml ( 10179 bytes, from 2014-01-29 23:36:47)
120+- /home/michael/src/envytools/rnndb/vdec/vpe/me_fifo.xml ( 1690 bytes, from 2014-01-29 23:36:47)
121+- /home/michael/src/envytools/rnndb/vdec/vpe/vp1_fifo.xml ( 675 bytes, from 2014-01-29 23:36:47)
122+- /home/michael/src/envytools/rnndb/vdec/vp2/crypt2_fifo.xml ( 2077 bytes, from 2014-01-29 23:36:47)
123+- /home/michael/src/envytools/rnndb/fifo/nve4_copy.xml ( 3928 bytes, from 2014-01-29 23:36:47)
124+- /home/michael/src/envytools/rnndb/graph/nv50_texture.xml ( 8648 bytes, from 2014-01-29 23:36:47)
125+- /home/michael/src/envytools/rnndb/graph/nvc0_shaders.xml ( 7409 bytes, from 2014-01-29 23:36:47)
126+- /home/michael/src/envytools/rnndb/vdec/vpe/mpeg_cmd.xml ( 7682 bytes, from 2014-01-29 23:36:47)
127+- /home/michael/src/envytools/rnndb/extdev/adt7473.xml ( 11411 bytes, from 2014-01-29 23:36:47)
128+
129+Copyright (C) 2006-2014 by the following authors:
130+- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
131+- Ben Skeggs (darktama, darktama_)
132+- B. R. <koala_br@users.sourceforge.net> (koala_br)
133+- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
134+- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
135+- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
136+- Dmitry Baryshkov
137+- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
138+- EdB <edb_@users.sf.net> (edb_)
139+- Erik Waling <erikwailing@users.sf.net> (erikwaling)
140+- Francisco Jerez <currojerez@riseup.net> (curro)
141+- imirkin <imirkin@users.sf.net> (imirkin)
142+- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
143+- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
144+- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
145+- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
146+- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
147+- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin)
148+- Mark Carey <mark.carey@gmail.com> (careym)
149+- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
150+- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
151+- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
152+- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
153+- Peter Popov <ironpeter@users.sf.net> (ironpeter)
154+- Richard Hughes <hughsient@users.sf.net> (hughsient)
155+- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
156+- Serge Martin
157+- Simon Raffeiner
158+- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
159+- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
160+- sturmflut <sturmflut@users.sf.net> (sturmflut)
161+- Sylvain Munaut <tnt@246tNt.com>
162+- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
163+- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
164+- Younes Manton <younes.m@gmail.com> (ymanton)
165+
166+Permission is hereby granted, free of charge, to any person obtaining
167+a copy of this software and associated documentation files (the
168+"Software"), to deal in the Software without restriction, including
169+without limitation the rights to use, copy, modify, merge, publish,
170+distribute, sublicense, and/or sell copies of the Software, and to
171+permit persons to whom the Software is furnished to do so, subject to
172+the following conditions:
173+
174+The above copyright notice and this permission notice (including the
175+next paragraph) shall be included in all copies or substantial
176+portions of the Software.
177+
178+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
179+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
180+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
181+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
182+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
183+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
184+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
185+*/
186+
187+
188+
189+
190+#define NV50_2D_DMA_NOTIFY 0x00000180
191+
192+#define NV50_2D_DMA_DST 0x00000184
193+
194+#define NV50_2D_DMA_SRC 0x00000188
195+
196+#define NV50_2D_DMA_COND 0x0000018c
197+
198+#define NV50_2D_DST_FORMAT 0x00000200
199+
200+#define NV50_2D_DST_LINEAR 0x00000204
201+
202+#define NV50_2D_DST_TILE_MODE 0x00000208
203+
204+#define NV50_2D_DST_DEPTH 0x0000020c
205+
206+#define NV50_2D_DST_LAYER 0x00000210
207+
208+#define NV50_2D_DST_PITCH 0x00000214
209+
210+#define NV50_2D_DST_WIDTH 0x00000218
211+
212+#define NV50_2D_DST_HEIGHT 0x0000021c
213+
214+#define NV50_2D_DST_ADDRESS_HIGH 0x00000220
215+
216+#define NV50_2D_DST_ADDRESS_LOW 0x00000224
217+
218+#define NV50_2D_UNK228 0x00000228
219+
220+#define NVC0_2D_UNK228 0x00000228
221+
222+#define NVC0_2D_UNK22C 0x0000022c
223+
224+#define NV50_2D_SRC_FORMAT 0x00000230
225+
226+#define NV50_2D_SRC_LINEAR 0x00000234
227+
228+#define NV50_2D_SRC_TILE_MODE 0x00000238
229+
230+#define NV50_2D_SRC_DEPTH 0x0000023c
231+
232+#define NV50_2D_SRC_LAYER 0x00000240
233+
234+#define NVC0_2D_UNK0240 0x00000240
235+
236+#define NV50_2D_SRC_PITCH 0x00000244
237+#define NV50_2D_SRC_PITCH__MAX 0x00040000
238+
239+#define NV50_2D_SRC_WIDTH 0x00000248
240+#define NV50_2D_SRC_WIDTH__MAX 0x00010000
241+
242+#define NV50_2D_SRC_HEIGHT 0x0000024c
243+#define NV50_2D_SRC_HEIGHT__MAX 0x00010000
244+
245+#define NV50_2D_SRC_ADDRESS_HIGH 0x00000250
246+
247+#define NV50_2D_SRC_ADDRESS_LOW 0x00000254
248+
249+#define NV50_2D_UNK258 0x00000258
250+
251+#define NVC0_2D_UNK25C 0x0000025c
252+
253+#define NV50_2D_UNK260 0x00000260
254+
255+#define NVC0_2D_SINGLE_GPC 0x00000260
256+
257+#define NV50_2D_COND_ADDRESS_HIGH 0x00000264
258+
259+#define NV50_2D_COND_ADDRESS_LOW 0x00000268
260+
261+#define NV50_2D_COND_MODE 0x0000026c
262+#define NV50_2D_COND_MODE_NEVER 0x00000000
263+#define NV50_2D_COND_MODE_ALWAYS 0x00000001
264+#define NV50_2D_COND_MODE_RES_NON_ZERO 0x00000002
265+#define NV50_2D_COND_MODE_EQUAL 0x00000003
266+#define NV50_2D_COND_MODE_NOT_EQUAL 0x00000004
267+
268+#define NVC0_2D_UNK0270(i0) (0x00000270 + 0x4*(i0))
269+#define NVC0_2D_UNK0270__ESIZE 0x00000004
270+#define NVC0_2D_UNK0270__LEN 0x00000004
271+
272+#define NV50_2D_CLIP_X 0x00000280
273+
274+#define NV50_2D_CLIP_Y 0x00000284
275+
276+#define NV50_2D_CLIP_W 0x00000288
277+
278+#define NV50_2D_CLIP_H 0x0000028c
279+
280+#define NV50_2D_CLIP_ENABLE 0x00000290
281+
282+#define NV50_2D_COLOR_KEY_FORMAT 0x00000294
283+#define NV50_2D_COLOR_KEY_FORMAT_16BPP 0x00000000
284+#define NV50_2D_COLOR_KEY_FORMAT_15BPP 0x00000001
285+#define NV50_2D_COLOR_KEY_FORMAT_24BPP 0x00000002
286+#define NV50_2D_COLOR_KEY_FORMAT_30BPP 0x00000003
287+#define NV50_2D_COLOR_KEY_FORMAT_8BPP 0x00000004
288+#define NV50_2D_COLOR_KEY_FORMAT_16BPP2 0x00000005
289+#define NV50_2D_COLOR_KEY_FORMAT_32BPP 0x00000006
290+
291+#define NV50_2D_COLOR_KEY 0x00000298
292+
293+#define NV50_2D_COLOR_KEY_ENABLE 0x0000029c
294+
295+#define NV50_2D_ROP 0x000002a0
296+
297+#define NV50_2D_BETA1 0x000002a4
298+#define NV50_2D_BETA1_BETA1__MASK 0x7f800000
299+#define NV50_2D_BETA1_BETA1__SHIFT 23
300+
301+#define NV50_2D_BETA4 0x000002a8
302+#define NV50_2D_BETA4_B__MASK 0x000000ff
303+#define NV50_2D_BETA4_B__SHIFT 0
304+#define NV50_2D_BETA4_G__MASK 0x0000ff00
305+#define NV50_2D_BETA4_G__SHIFT 8
306+#define NV50_2D_BETA4_R__MASK 0x00ff0000
307+#define NV50_2D_BETA4_R__SHIFT 16
308+#define NV50_2D_BETA4_A__MASK 0xff000000
309+#define NV50_2D_BETA4_A__SHIFT 24
310+
311+#define NV50_2D_OPERATION 0x000002ac
312+#define NV50_2D_OPERATION_SRCCOPY_AND 0x00000000
313+#define NV50_2D_OPERATION_ROP_AND 0x00000001
314+#define NV50_2D_OPERATION_BLEND 0x00000002
315+#define NV50_2D_OPERATION_SRCCOPY 0x00000003
316+#define NV50_2D_OPERATION_ROP 0x00000004
317+#define NV50_2D_OPERATION_SRCCOPY_PREMULT 0x00000005
318+#define NV50_2D_OPERATION_BLEND_PREMULT 0x00000006
319+
320+#define NV50_2D_PATTERN_OFFSET 0x000002b0
321+#define NV50_2D_PATTERN_OFFSET_X__MASK 0x0000003f
322+#define NV50_2D_PATTERN_OFFSET_X__SHIFT 0
323+#define NV50_2D_PATTERN_OFFSET_Y__MASK 0x00003f00
324+#define NV50_2D_PATTERN_OFFSET_Y__SHIFT 8
325+
326+#define NV50_2D_PATTERN_SELECT 0x000002b4
327+#define NV50_2D_PATTERN_SELECT_BITMAP_8X8 0x00000000
328+#define NV50_2D_PATTERN_SELECT_BITMAP_64X1 0x00000001
329+#define NV50_2D_PATTERN_SELECT_BITMAP_1X64 0x00000002
330+#define NV50_2D_PATTERN_SELECT_COLOR 0x00000003
331+
332+#define NVC0_2D_UNK02B8(i0) (0x000002b8 + 0x4*(i0))
333+#define NVC0_2D_UNK02B8__ESIZE 0x00000004
334+#define NVC0_2D_UNK02B8__LEN 0x00000009
335+
336+#define NVC0_2D_UNK2DC 0x000002dc
337+
338+#define NVC0_2D_UNK2E0 0x000002e0
339+
340+#define NVC0_2D_UNK02E4 0x000002e4
341+
342+#define NV50_2D_PATTERN_COLOR_FORMAT 0x000002e8
343+#define NV50_2D_PATTERN_COLOR_FORMAT_A16R5G6B5 0x00000000
344+#define NV50_2D_PATTERN_COLOR_FORMAT_X16A1R5G5B5 0x00000001
345+#define NV50_2D_PATTERN_COLOR_FORMAT_A8R8G8B8 0x00000002
346+#define NV50_2D_PATTERN_COLOR_FORMAT_X16A8Y8 0x00000003
347+#define NV50_2D_PATTERN_COLOR_FORMAT_UNK4 0x00000004
348+#define NV50_2D_PATTERN_COLOR_FORMAT_UNK5 0x00000005
349+
350+#define NV50_2D_PATTERN_BITMAP_FORMAT 0x000002ec
351+#define NV50_2D_PATTERN_BITMAP_FORMAT_CGA6 0x00000000
352+#define NV50_2D_PATTERN_BITMAP_FORMAT_LE 0x00000001
353+
354+#define NV50_2D_PATTERN_BITMAP_COLOR(i0) (0x000002f0 + 0x4*(i0))
355+#define NV50_2D_PATTERN_BITMAP_COLOR__ESIZE 0x00000004
356+#define NV50_2D_PATTERN_BITMAP_COLOR__LEN 0x00000002
357+
358+#define NV50_2D_PATTERN_BITMAP(i0) (0x000002f8 + 0x4*(i0))
359+#define NV50_2D_PATTERN_BITMAP__ESIZE 0x00000004
360+#define NV50_2D_PATTERN_BITMAP__LEN 0x00000002
361+
362+#define NV50_2D_PATTERN_X8R8G8B8(i0) (0x00000300 + 0x4*(i0))
363+#define NV50_2D_PATTERN_X8R8G8B8__ESIZE 0x00000004
364+#define NV50_2D_PATTERN_X8R8G8B8__LEN 0x00000040
365+#define NV50_2D_PATTERN_X8R8G8B8_B__MASK 0x000000ff
366+#define NV50_2D_PATTERN_X8R8G8B8_B__SHIFT 0
367+#define NV50_2D_PATTERN_X8R8G8B8_G__MASK 0x0000ff00
368+#define NV50_2D_PATTERN_X8R8G8B8_G__SHIFT 8
369+#define NV50_2D_PATTERN_X8R8G8B8_R__MASK 0x00ff0000
370+#define NV50_2D_PATTERN_X8R8G8B8_R__SHIFT 16
371+
372+#define NV50_2D_PATTERN_R5G6B5(i0) (0x00000400 + 0x4*(i0))
373+#define NV50_2D_PATTERN_R5G6B5__ESIZE 0x00000004
374+#define NV50_2D_PATTERN_R5G6B5__LEN 0x00000020
375+#define NV50_2D_PATTERN_R5G6B5_B0__MASK 0x0000001f
376+#define NV50_2D_PATTERN_R5G6B5_B0__SHIFT 0
377+#define NV50_2D_PATTERN_R5G6B5_G0__MASK 0x000007e0
378+#define NV50_2D_PATTERN_R5G6B5_G0__SHIFT 5
379+#define NV50_2D_PATTERN_R5G6B5_R0__MASK 0x0000f800
380+#define NV50_2D_PATTERN_R5G6B5_R0__SHIFT 11
381+#define NV50_2D_PATTERN_R5G6B5_B1__MASK 0x001f0000
382+#define NV50_2D_PATTERN_R5G6B5_B1__SHIFT 16
383+#define NV50_2D_PATTERN_R5G6B5_G1__MASK 0x07e00000
384+#define NV50_2D_PATTERN_R5G6B5_G1__SHIFT 21
385+#define NV50_2D_PATTERN_R5G6B5_R1__MASK 0xf8000000
386+#define NV50_2D_PATTERN_R5G6B5_R1__SHIFT 27
387+
388+#define NV50_2D_PATTERN_X1R5G5B5(i0) (0x00000480 + 0x4*(i0))
389+#define NV50_2D_PATTERN_X1R5G5B5__ESIZE 0x00000004
390+#define NV50_2D_PATTERN_X1R5G5B5__LEN 0x00000020
391+#define NV50_2D_PATTERN_X1R5G5B5_B0__MASK 0x0000001f
392+#define NV50_2D_PATTERN_X1R5G5B5_B0__SHIFT 0
393+#define NV50_2D_PATTERN_X1R5G5B5_G0__MASK 0x000003e0
394+#define NV50_2D_PATTERN_X1R5G5B5_G0__SHIFT 5
395+#define NV50_2D_PATTERN_X1R5G5B5_R0__MASK 0x00007c00
396+#define NV50_2D_PATTERN_X1R5G5B5_R0__SHIFT 10
397+#define NV50_2D_PATTERN_X1R5G5B5_B1__MASK 0x001f0000
398+#define NV50_2D_PATTERN_X1R5G5B5_B1__SHIFT 16
399+#define NV50_2D_PATTERN_X1R5G5B5_G1__MASK 0x03e00000
400+#define NV50_2D_PATTERN_X1R5G5B5_G1__SHIFT 21
401+#define NV50_2D_PATTERN_X1R5G5B5_R1__MASK 0x7c000000
402+#define NV50_2D_PATTERN_X1R5G5B5_R1__SHIFT 26
403+
404+#define NV50_2D_PATTERN_Y8(i0) (0x00000500 + 0x4*(i0))
405+#define NV50_2D_PATTERN_Y8__ESIZE 0x00000004
406+#define NV50_2D_PATTERN_Y8__LEN 0x00000010
407+#define NV50_2D_PATTERN_Y8_Y0__MASK 0x000000ff
408+#define NV50_2D_PATTERN_Y8_Y0__SHIFT 0
409+#define NV50_2D_PATTERN_Y8_Y1__MASK 0x0000ff00
410+#define NV50_2D_PATTERN_Y8_Y1__SHIFT 8
411+#define NV50_2D_PATTERN_Y8_Y2__MASK 0x00ff0000
412+#define NV50_2D_PATTERN_Y8_Y2__SHIFT 16
413+#define NV50_2D_PATTERN_Y8_Y3__MASK 0xff000000
414+#define NV50_2D_PATTERN_Y8_Y3__SHIFT 24
415+
416+#define NVC0_2D_DRAW_COLOR_LONG(i0) (0x00000540 + 0x4*(i0))
417+#define NVC0_2D_DRAW_COLOR_LONG__ESIZE 0x00000004
418+#define NVC0_2D_DRAW_COLOR_LONG__LEN 0x00000004
419+
420+#define NV50_2D_DRAW_SHAPE 0x00000580
421+#define NV50_2D_DRAW_SHAPE_POINTS 0x00000000
422+#define NV50_2D_DRAW_SHAPE_LINES 0x00000001
423+#define NV50_2D_DRAW_SHAPE_LINE_STRIP 0x00000002
424+#define NV50_2D_DRAW_SHAPE_TRIANGLES 0x00000003
425+#define NV50_2D_DRAW_SHAPE_RECTANGLES 0x00000004
426+
427+#define NV50_2D_DRAW_COLOR_FORMAT 0x00000584
428+
429+#define NV50_2D_DRAW_COLOR 0x00000588
430+
431+#define NV50_2D_UNK58C 0x0000058c
432+#define NV50_2D_UNK58C_0 0x00000001
433+#define NV50_2D_UNK58C_1 0x00000010
434+#define NV50_2D_UNK58C_2 0x00000100
435+#define NV50_2D_UNK58C_3 0x00001000
436+
437+#define NV50_2D_DRAW_POINT16 0x000005e0
438+#define NV50_2D_DRAW_POINT16_X__MASK 0x0000ffff
439+#define NV50_2D_DRAW_POINT16_X__SHIFT 0
440+#define NV50_2D_DRAW_POINT16_Y__MASK 0xffff0000
441+#define NV50_2D_DRAW_POINT16_Y__SHIFT 16
442+
443+#define NV50_2D_DRAW_POINT32_X(i0) (0x00000600 + 0x8*(i0))
444+#define NV50_2D_DRAW_POINT32_X__ESIZE 0x00000008
445+#define NV50_2D_DRAW_POINT32_X__LEN 0x00000040
446+
447+#define NV50_2D_DRAW_POINT32_Y(i0) (0x00000604 + 0x8*(i0))
448+#define NV50_2D_DRAW_POINT32_Y__ESIZE 0x00000008
449+#define NV50_2D_DRAW_POINT32_Y__LEN 0x00000040
450+
451+#define NV50_2D_SIFC_BITMAP_ENABLE 0x00000800
452+
453+#define NV50_2D_SIFC_FORMAT 0x00000804
454+
455+#define NV50_2D_SIFC_BITMAP_FORMAT 0x00000808
456+#define NV50_2D_SIFC_BITMAP_FORMAT_I1 0x00000000
457+#define NV50_2D_SIFC_BITMAP_FORMAT_I4 0x00000001
458+#define NV50_2D_SIFC_BITMAP_FORMAT_I8 0x00000002
459+
460+#define NV50_2D_SIFC_BITMAP_LSB_FIRST 0x0000080c
461+
462+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE 0x00000810
463+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED 0x00000000
464+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE 0x00000001
465+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD 0x00000002
466+
467+#define NV50_2D_SIFC_BITMAP_COLOR_BIT0 0x00000814
468+
469+#define NV50_2D_SIFC_BITMAP_COLOR_BIT1 0x00000818
470+
471+#define NV50_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE 0x0000081c
472+
473+#define NV50_2D_SIFC_WIDTH 0x00000838
474+
475+#define NV50_2D_SIFC_HEIGHT 0x0000083c
476+
477+#define NV50_2D_SIFC_DX_DU_FRACT 0x00000840
478+
479+#define NV50_2D_SIFC_DX_DU_INT 0x00000844
480+
481+#define NV50_2D_SIFC_DY_DV_FRACT 0x00000848
482+
483+#define NV50_2D_SIFC_DY_DV_INT 0x0000084c
484+
485+#define NV50_2D_SIFC_DST_X_FRACT 0x00000850
486+
487+#define NV50_2D_SIFC_DST_X_INT 0x00000854
488+
489+#define NV50_2D_SIFC_DST_Y_FRACT 0x00000858
490+
491+#define NV50_2D_SIFC_DST_Y_INT 0x0000085c
492+
493+#define NV50_2D_SIFC_DATA 0x00000860
494+
495+#define NV50_2D_UNK0870 0x00000870
496+
497+#define NV50_2D_UNK0880 0x00000880
498+
499+#define NV50_2D_UNK0884 0x00000884
500+
501+#define NV50_2D_UNK0888 0x00000888
502+
503+#define NV50_2D_BLIT_CONTROL 0x0000088c
504+#define NV50_2D_BLIT_CONTROL_ORIGIN__MASK 0x00000001
505+#define NV50_2D_BLIT_CONTROL_ORIGIN__SHIFT 0
506+#define NV50_2D_BLIT_CONTROL_ORIGIN_CENTER 0x00000000
507+#define NV50_2D_BLIT_CONTROL_ORIGIN_CORNER 0x00000001
508+#define NV50_2D_BLIT_CONTROL_FILTER__MASK 0x00000010
509+#define NV50_2D_BLIT_CONTROL_FILTER__SHIFT 4
510+#define NV50_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE 0x00000000
511+#define NV50_2D_BLIT_CONTROL_FILTER_BILINEAR 0x00000010
512+
513+#define NV50_2D_BLIT_DST_X 0x000008b0
514+
515+#define NV50_2D_BLIT_DST_Y 0x000008b4
516+
517+#define NV50_2D_BLIT_DST_W 0x000008b8
518+
519+#define NV50_2D_BLIT_DST_H 0x000008bc
520+
521+#define NV50_2D_BLIT_DU_DX_FRACT 0x000008c0
522+
523+#define NV50_2D_BLIT_DU_DX_INT 0x000008c4
524+
525+#define NV50_2D_BLIT_DV_DY_FRACT 0x000008c8
526+
527+#define NV50_2D_BLIT_DV_DY_INT 0x000008cc
528+
529+#define NV50_2D_BLIT_SRC_X_FRACT 0x000008d0
530+
531+#define NV50_2D_BLIT_SRC_X_INT 0x000008d4
532+
533+#define NV50_2D_BLIT_SRC_Y_FRACT 0x000008d8
534+
535+#define NV50_2D_BLIT_SRC_Y_INT 0x000008dc
536+
537+#define NVC0_2D_FIRMWARE(i0) (0x000008e0 + 0x4*(i0))
538+#define NVC0_2D_FIRMWARE__ESIZE 0x00000004
539+#define NVC0_2D_FIRMWARE__LEN 0x00000020
540+
541+
542+#endif /* NV50_2D_XML */
+359,
-0
1@@ -0,0 +1,359 @@
2+#ifndef NV50_DEFS_XML
3+#define NV50_DEFS_XML
4+
5+/* Autogenerated file, DO NOT EDIT manually!
6+
7+This file was generated by the rules-ng-ng headergen tool in this git repository:
8+http://github.com/envytools/envytools/
9+git clone https://github.com/envytools/envytools.git
10+
11+The rules-ng-ng source files this header was generated from are:
12+- /home/michael/src/envytools/rnndb/root.xml ( 514 bytes, from 2014-01-29 23:36:47)
13+- /home/michael/src/envytools/rnndb/copyright.xml ( 6452 bytes, from 2014-01-29 23:36:47)
14+- /home/michael/src/envytools/rnndb/nv_mmio.xml ( 7086 bytes, from 2014-01-29 23:36:47)
15+- /home/michael/src/envytools/rnndb/nvchipsets.xml ( 4092 bytes, from 2014-01-29 23:36:47)
16+- /home/michael/src/envytools/rnndb/bus/pmc.xml ( 11084 bytes, from 2014-01-29 23:36:47)
17+- /home/michael/src/envytools/rnndb/bus/pbus.xml ( 19828 bytes, from 2014-01-29 23:36:47)
18+- /home/michael/src/envytools/rnndb/nv50_defs.xml ( 16877 bytes, from 2014-01-29 23:36:47)
19+- /home/michael/src/envytools/rnndb/memory/nv50_vm.xml ( 9860 bytes, from 2014-01-29 23:36:47)
20+- /home/michael/src/envytools/rnndb/display/nv_vga.xml ( 13113 bytes, from 2014-01-29 23:36:47)
21+- /home/michael/src/envytools/rnndb/bus/pci.xml ( 17502 bytes, from 2014-01-29 23:36:47)
22+- /home/michael/src/envytools/rnndb/fifo/nv01_pfifo.xml ( 10607 bytes, from 2014-01-29 23:36:47)
23+- /home/michael/src/envytools/rnndb/fifo/nv04_pfifo.xml ( 24125 bytes, from 2014-01-29 23:36:47)
24+- /home/michael/src/envytools/rnndb/fifo/nv50_pfifo.xml ( 23242 bytes, from 2014-01-29 23:36:47)
25+- /home/michael/src/envytools/rnndb/fifo/nvc0_pfifo.xml ( 26418 bytes, from 2014-01-29 23:36:47)
26+- /home/michael/src/envytools/rnndb/memory/nvc0_vm.xml ( 8573 bytes, from 2014-01-29 23:36:47)
27+- /home/michael/src/envytools/rnndb/pm/nv40_pclock.xml ( 1171 bytes, from 2014-01-29 23:36:47)
28+- /home/michael/src/envytools/rnndb/pm/nv50_pclock.xml ( 16532 bytes, from 2014-01-29 23:36:47)
29+- /home/michael/src/envytools/rnndb/pm/nva3_pclock.xml ( 4463 bytes, from 2014-01-29 23:36:47)
30+- /home/michael/src/envytools/rnndb/display/nv10_pvideo.xml ( 451 bytes, from 2014-01-29 23:36:47)
31+- /home/michael/src/envytools/rnndb/bus/ptimer.xml ( 2287 bytes, from 2014-01-29 23:36:47)
32+- /home/michael/src/envytools/rnndb/nv10_pcounter.xml ( 5914 bytes, from 2014-01-29 23:36:47)
33+- /home/michael/src/envytools/rnndb/nv40_pcounter.xml ( 9692 bytes, from 2014-01-29 23:36:47)
34+- /home/michael/src/envytools/rnndb/vdec/vpe/pmpeg.xml ( 12766 bytes, from 2014-01-29 23:36:47)
35+- /home/michael/src/envytools/rnndb/vdec/vpe/pvpe.xml ( 704 bytes, from 2014-01-29 23:36:47)
36+- /home/michael/src/envytools/rnndb/vdec/vpe/mpeg_fifo.xml ( 2622 bytes, from 2014-01-29 23:36:47)
37+- /home/michael/src/envytools/rnndb/fifo/nv_object.xml ( 14664 bytes, from 2014-01-29 23:36:47)
38+- /home/michael/src/envytools/rnndb/vdec/vpe/pme.xml ( 5124 bytes, from 2014-01-29 23:36:47)
39+- /home/michael/src/envytools/rnndb/display/nv17_ptv.xml ( 458 bytes, from 2014-01-29 23:36:47)
40+- /home/michael/src/envytools/rnndb/io/pnvio.xml ( 32034 bytes, from 2014-01-29 23:36:47)
41+- /home/michael/src/envytools/rnndb/vdec/vpe/pvp1.xml ( 2111 bytes, from 2014-01-29 23:36:47)
42+- /home/michael/src/envytools/rnndb/vdec/vp2/pvp2.xml ( 1618 bytes, from 2014-01-29 23:36:47)
43+- /home/michael/src/envytools/rnndb/vdec/vp2/xtensa.xml ( 5386 bytes, from 2014-01-29 23:36:47)
44+- /home/michael/src/envytools/rnndb/pm/ptherm.xml ( 32292 bytes, from 2014-01-29 23:36:47)
45+- /home/michael/src/envytools/rnndb/bus/pfuse.xml ( 803 bytes, from 2014-01-29 23:36:47)
46+- /home/michael/src/envytools/rnndb/bus/punits.xml ( 4193 bytes, from 2014-01-29 23:36:47)
47+- /home/michael/src/envytools/rnndb/vdec/vp3/pvld.xml ( 13233 bytes, from 2014-01-29 23:36:47)
48+- /home/michael/src/envytools/rnndb/falcon.xml ( 16884 bytes, from 2014-01-29 23:36:47)
49+- /home/michael/src/envytools/rnndb/falcon_crypt.xml ( 3446 bytes, from 2014-01-29 23:36:47)
50+- /home/michael/src/envytools/rnndb/vdec/vp3/pvdec.xml ( 14115 bytes, from 2014-01-29 23:36:47)
51+- /home/michael/src/envytools/rnndb/vdec/vp3/pppp.xml ( 8830 bytes, from 2014-01-29 23:36:47)
52+- /home/michael/src/envytools/rnndb/nv_defs.xml ( 4399 bytes, from 2014-01-29 23:36:47)
53+- /home/michael/src/envytools/rnndb/vdec/vp3/pcrypt3.xml ( 1003 bytes, from 2014-01-29 23:36:47)
54+- /home/michael/src/envytools/rnndb/nv84_punk089.xml ( 449 bytes, from 2014-01-29 23:36:47)
55+- /home/michael/src/envytools/rnndb/display/nv03_prmvio.xml ( 654 bytes, from 2014-01-29 23:36:47)
56+- /home/michael/src/envytools/rnndb/memory/nv01_pdma.xml ( 5345 bytes, from 2014-01-29 23:36:47)
57+- /home/michael/src/envytools/rnndb/memory/nv03_pfb.xml ( 4511 bytes, from 2014-01-29 23:36:47)
58+- /home/michael/src/envytools/rnndb/memory/nv10_pfb.xml ( 25274 bytes, from 2014-01-29 23:36:47)
59+- /home/michael/src/envytools/rnndb/memory/nv_pfb.xml ( 1135 bytes, from 2014-01-29 23:36:47)
60+- /home/michael/src/envytools/rnndb/memory/nvc0_pffb.xml ( 2707 bytes, from 2014-01-29 23:36:47)
61+- /home/michael/src/envytools/rnndb/io/pstraps.xml ( 8077 bytes, from 2014-01-29 23:36:47)
62+- /home/michael/src/envytools/rnndb/vdec/vp2/pcrypt2.xml ( 3578 bytes, from 2014-01-29 23:36:47)
63+- /home/michael/src/envytools/rnndb/vdec/vp2/pbsp.xml ( 10624 bytes, from 2014-01-29 23:36:47)
64+- /home/michael/src/envytools/rnndb/fifo/pcopy.xml ( 7843 bytes, from 2014-01-29 23:36:47)
65+- /home/michael/src/envytools/rnndb/display/nva3_pcodec.xml ( 448 bytes, from 2014-01-29 23:36:47)
66+- /home/michael/src/envytools/rnndb/display/nva3_pkfuse.xml ( 447 bytes, from 2014-01-29 23:36:47)
67+- /home/michael/src/envytools/rnndb/pm/pdaemon.xml ( 17194 bytes, from 2014-01-29 23:36:47)
68+- /home/michael/src/envytools/rnndb/memory/nvc0_pbfb.xml ( 2898 bytes, from 2014-01-29 23:36:47)
69+- /home/michael/src/envytools/rnndb/bus/pibus.xml ( 8356 bytes, from 2014-01-29 23:36:47)
70+- /home/michael/src/envytools/rnndb/pm/nvc0_pclock.xml ( 7279 bytes, from 2014-01-29 23:36:47)
71+- /home/michael/src/envytools/rnndb/memory/nvc0_pp2p.xml ( 1946 bytes, from 2014-01-29 23:36:47)
72+- /home/michael/src/envytools/rnndb/memory/nvc0_pxbar.xml ( 1156 bytes, from 2014-01-29 23:36:47)
73+- /home/michael/src/envytools/rnndb/memory/nvc0_pmfb.xml ( 3631 bytes, from 2014-01-29 23:36:47)
74+- /home/michael/src/envytools/rnndb/nvc0_pcounter.xml ( 12613 bytes, from 2014-01-29 23:36:47)
75+- /home/michael/src/envytools/rnndb/vdec/pvcomp.xml ( 8682 bytes, from 2014-01-29 23:36:47)
76+- /home/michael/src/envytools/rnndb/vdec/pvenc.xml ( 1233 bytes, from 2014-01-29 23:36:47)
77+- /home/michael/src/envytools/rnndb/display/nvd9_punk1c3.xml ( 978 bytes, from 2014-01-29 23:36:47)
78+- /home/michael/src/envytools/rnndb/io/pmedia.xml ( 432 bytes, from 2014-01-29 23:36:47)
79+- /home/michael/src/envytools/rnndb/nv01_paudio.xml ( 1863 bytes, from 2014-01-29 23:36:47)
80+- /home/michael/src/envytools/rnndb/extdev/ad1848.xml ( 5260 bytes, from 2014-01-29 23:36:47)
81+- /home/michael/src/envytools/rnndb/graph/nv01_pgraph.xml ( 14241 bytes, from 2014-01-29 23:36:47)
82+- /home/michael/src/envytools/rnndb/graph/nv01_2d.xml ( 36779 bytes, from 2014-01-29 23:36:47)
83+- /home/michael/src/envytools/rnndb/graph/nv03_pgraph.xml ( 4011 bytes, from 2014-01-29 23:36:47)
84+- /home/michael/src/envytools/rnndb/graph/nv04_pgraph.xml ( 11363 bytes, from 2014-01-29 23:36:47)
85+- /home/michael/src/envytools/rnndb/graph/nv50_pgraph.xml ( 54643 bytes, from 2014-01-29 23:36:47)
86+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/pgraph.xml ( 23719 bytes, from 2014-01-29 23:36:47)
87+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/ctxctl.xml ( 12648 bytes, from 2014-01-29 23:36:47)
88+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/gpc.xml ( 7276 bytes, from 2014-01-29 23:36:47)
89+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/tpc.xml ( 15311 bytes, from 2014-01-29 23:36:47)
90+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/ppc.xml ( 1170 bytes, from 2014-01-29 23:36:47)
91+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/rop.xml ( 2143 bytes, from 2014-01-29 23:36:47)
92+- /home/michael/src/envytools/rnndb/graph/nv03_pdma.xml ( 2293 bytes, from 2014-01-29 23:36:47)
93+- /home/michael/src/envytools/rnndb/display/nv01_pfb.xml ( 4033 bytes, from 2014-01-29 23:36:47)
94+- /home/michael/src/envytools/rnndb/display/nv03_pcrtc.xml ( 1114 bytes, from 2014-01-29 23:36:47)
95+- /home/michael/src/envytools/rnndb/memory/nv01_pram.xml ( 1241 bytes, from 2014-01-29 23:36:47)
96+- /home/michael/src/envytools/rnndb/io/pchipid.xml ( 494 bytes, from 2014-01-29 23:36:47)
97+- /home/michael/src/envytools/rnndb/display/nv01_pdac.xml ( 4639 bytes, from 2014-01-29 23:36:47)
98+- /home/michael/src/envytools/rnndb/io/peeprom.xml ( 703 bytes, from 2014-01-29 23:36:47)
99+- /home/michael/src/envytools/rnndb/display/nv03_pramdac.xml ( 4455 bytes, from 2014-01-29 23:36:47)
100+- /home/michael/src/envytools/rnndb/display/nv50_pdisplay.xml ( 38497 bytes, from 2014-01-29 23:36:47)
101+- /home/michael/src/envytools/rnndb/bus/prm.xml ( 5098 bytes, from 2014-01-29 23:36:47)
102+- /home/michael/src/envytools/rnndb/display/nv_evo.xml ( 10560 bytes, from 2014-01-29 23:36:47)
103+- /home/michael/src/envytools/rnndb/fifo/nv_objects.xml ( 1054 bytes, from 2014-01-29 23:36:47)
104+- /home/michael/src/envytools/rnndb/graph/nv_m2mf.xml ( 2701 bytes, from 2014-01-29 23:36:47)
105+- /home/michael/src/envytools/rnndb/graph/nvc0_m2mf.xml ( 2788 bytes, from 2014-01-29 23:36:47)
106+- /home/michael/src/envytools/rnndb/graph/nv04_dvd.xml ( 3005 bytes, from 2014-01-29 23:36:47)
107+- /home/michael/src/envytools/rnndb/graph/nv03_3d.xml ( 5214 bytes, from 2014-01-29 23:36:47)
108+- /home/michael/src/envytools/rnndb/graph/nv04_3d.xml ( 17770 bytes, from 2014-01-29 23:36:47)
109+- /home/michael/src/envytools/rnndb/graph/nv_3ddefs.xml ( 16394 bytes, from 2014-01-29 23:36:47)
110+- /home/michael/src/envytools/rnndb/graph/nv10_3d.xml ( 18441 bytes, from 2014-01-29 23:36:47)
111+- /home/michael/src/envytools/rnndb/graph/nv20_3d.xml ( 21106 bytes, from 2014-01-29 23:36:47)
112+- /home/michael/src/envytools/rnndb/graph/nv30-40_3d.xml ( 32461 bytes, from 2014-01-29 23:36:47)
113+- /home/michael/src/envytools/rnndb/graph/nv50_2d.xml ( 11441 bytes, from 2014-01-29 23:36:47)
114+- /home/michael/src/envytools/rnndb/graph/nv50_3d.xml ( 65928 bytes, from 2014-01-29 23:36:47)
115+- /home/michael/src/envytools/rnndb/graph/nv50_compute.xml ( 14047 bytes, from 2014-01-29 23:36:47)
116+- /home/michael/src/envytools/rnndb/graph/nvc0_3d.xml ( 59735 bytes, from 2014-01-29 23:36:47)
117+- /home/michael/src/envytools/rnndb/graph/nve4_p2mf.xml ( 2378 bytes, from 2014-01-29 23:36:47)
118+- /home/michael/src/envytools/rnndb/graph/nvc0_compute.xml ( 11150 bytes, from 2014-01-29 23:36:47)
119+- /home/michael/src/envytools/rnndb/graph/nve4_compute.xml ( 10179 bytes, from 2014-01-29 23:36:47)
120+- /home/michael/src/envytools/rnndb/vdec/vpe/me_fifo.xml ( 1690 bytes, from 2014-01-29 23:36:47)
121+- /home/michael/src/envytools/rnndb/vdec/vpe/vp1_fifo.xml ( 675 bytes, from 2014-01-29 23:36:47)
122+- /home/michael/src/envytools/rnndb/vdec/vp2/crypt2_fifo.xml ( 2077 bytes, from 2014-01-29 23:36:47)
123+- /home/michael/src/envytools/rnndb/fifo/nve4_copy.xml ( 3928 bytes, from 2014-01-29 23:36:47)
124+- /home/michael/src/envytools/rnndb/graph/nv50_texture.xml ( 8648 bytes, from 2014-01-29 23:36:47)
125+- /home/michael/src/envytools/rnndb/graph/nvc0_shaders.xml ( 7409 bytes, from 2014-01-29 23:36:47)
126+- /home/michael/src/envytools/rnndb/vdec/vpe/mpeg_cmd.xml ( 7682 bytes, from 2014-01-29 23:36:47)
127+- /home/michael/src/envytools/rnndb/extdev/adt7473.xml ( 11411 bytes, from 2014-01-29 23:36:47)
128+
129+Copyright (C) 2006-2014 by the following authors:
130+- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
131+- Ben Skeggs (darktama, darktama_)
132+- B. R. <koala_br@users.sourceforge.net> (koala_br)
133+- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
134+- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
135+- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
136+- Dmitry Baryshkov
137+- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
138+- EdB <edb_@users.sf.net> (edb_)
139+- Erik Waling <erikwailing@users.sf.net> (erikwaling)
140+- Francisco Jerez <currojerez@riseup.net> (curro)
141+- imirkin <imirkin@users.sf.net> (imirkin)
142+- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
143+- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
144+- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
145+- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
146+- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
147+- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin)
148+- Mark Carey <mark.carey@gmail.com> (careym)
149+- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
150+- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
151+- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
152+- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
153+- Peter Popov <ironpeter@users.sf.net> (ironpeter)
154+- Richard Hughes <hughsient@users.sf.net> (hughsient)
155+- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
156+- Serge Martin
157+- Simon Raffeiner
158+- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
159+- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
160+- sturmflut <sturmflut@users.sf.net> (sturmflut)
161+- Sylvain Munaut <tnt@246tNt.com>
162+- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
163+- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
164+- Younes Manton <younes.m@gmail.com> (ymanton)
165+
166+Permission is hereby granted, free of charge, to any person obtaining
167+a copy of this software and associated documentation files (the
168+"Software"), to deal in the Software without restriction, including
169+without limitation the rights to use, copy, modify, merge, publish,
170+distribute, sublicense, and/or sell copies of the Software, and to
171+permit persons to whom the Software is furnished to do so, subject to
172+the following conditions:
173+
174+The above copyright notice and this permission notice (including the
175+next paragraph) shall be included in all copies or substantial
176+portions of the Software.
177+
178+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
179+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
180+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
181+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
182+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
183+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
184+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
185+*/
186+
187+
188+#define NV50_VSTATUS_IDLE 0x00000000
189+#define NV50_VSTATUS_BUSY 0x00000001
190+#define NV50_VSTATUS_UNK2 0x00000002
191+#define NV50_VSTATUS_WAITING 0x00000003
192+#define NV50_VSTATUS_BLOCKED 0x00000005
193+#define NV50_VSTATUS_FAULTED 0x00000006
194+#define NV50_VSTATUS_PAUSED 0x00000007
195+#define NV50_SURFACE_FORMAT_BITMAP 0x0000001c
196+#define NV50_SURFACE_FORMAT_UNK1D 0x0000001d
197+#define NV50_SURFACE_FORMAT_RGBA32_FLOAT 0x000000c0
198+#define NV50_SURFACE_FORMAT_RGBA32_SINT 0x000000c1
199+#define NV50_SURFACE_FORMAT_RGBA32_UINT 0x000000c2
200+#define NV50_SURFACE_FORMAT_RGBX32_FLOAT 0x000000c3
201+#define NV50_SURFACE_FORMAT_RGBX32_SINT 0x000000c4
202+#define NV50_SURFACE_FORMAT_RGBX32_UINT 0x000000c5
203+#define NV50_SURFACE_FORMAT_RGBA16_UNORM 0x000000c6
204+#define NV50_SURFACE_FORMAT_RGBA16_SNORM 0x000000c7
205+#define NV50_SURFACE_FORMAT_RGBA16_SINT 0x000000c8
206+#define NV50_SURFACE_FORMAT_RGBA16_UINT 0x000000c9
207+#define NV50_SURFACE_FORMAT_RGBA16_FLOAT 0x000000ca
208+#define NV50_SURFACE_FORMAT_RG32_FLOAT 0x000000cb
209+#define NV50_SURFACE_FORMAT_RG32_SINT 0x000000cc
210+#define NV50_SURFACE_FORMAT_RG32_UINT 0x000000cd
211+#define NV50_SURFACE_FORMAT_RGBX16_FLOAT 0x000000ce
212+#define NV50_SURFACE_FORMAT_BGRA8_UNORM 0x000000cf
213+#define NV50_SURFACE_FORMAT_BGRA8_SRGB 0x000000d0
214+#define NV50_SURFACE_FORMAT_RGB10_A2_UNORM 0x000000d1
215+#define NV50_SURFACE_FORMAT_RGB10_A2_UINT 0x000000d2
216+#define NV50_SURFACE_FORMAT_RGBA8_UNORM 0x000000d5
217+#define NV50_SURFACE_FORMAT_RGBA8_SRGB 0x000000d6
218+#define NV50_SURFACE_FORMAT_RGBA8_SNORM 0x000000d7
219+#define NV50_SURFACE_FORMAT_RGBA8_SINT 0x000000d8
220+#define NV50_SURFACE_FORMAT_RGBA8_UINT 0x000000d9
221+#define NV50_SURFACE_FORMAT_RG16_UNORM 0x000000da
222+#define NV50_SURFACE_FORMAT_RG16_SNORM 0x000000db
223+#define NV50_SURFACE_FORMAT_RG16_SINT 0x000000dc
224+#define NV50_SURFACE_FORMAT_RG16_UINT 0x000000dd
225+#define NV50_SURFACE_FORMAT_RG16_FLOAT 0x000000de
226+#define NV50_SURFACE_FORMAT_BGR10_A2_UNORM 0x000000df
227+#define NV50_SURFACE_FORMAT_R11G11B10_FLOAT 0x000000e0
228+#define NV50_SURFACE_FORMAT_R32_SINT 0x000000e3
229+#define NV50_SURFACE_FORMAT_R32_UINT 0x000000e4
230+#define NV50_SURFACE_FORMAT_R32_FLOAT 0x000000e5
231+#define NV50_SURFACE_FORMAT_BGRX8_UNORM 0x000000e6
232+#define NV50_SURFACE_FORMAT_BGRX8_SRGB 0x000000e7
233+#define NV50_SURFACE_FORMAT_B5G6R5_UNORM 0x000000e8
234+#define NV50_SURFACE_FORMAT_BGR5_A1_UNORM 0x000000e9
235+#define NV50_SURFACE_FORMAT_RG8_UNORM 0x000000ea
236+#define NV50_SURFACE_FORMAT_RG8_SNORM 0x000000eb
237+#define NV50_SURFACE_FORMAT_RG8_SINT 0x000000ec
238+#define NV50_SURFACE_FORMAT_RG8_UINT 0x000000ed
239+#define NV50_SURFACE_FORMAT_R16_UNORM 0x000000ee
240+#define NV50_SURFACE_FORMAT_R16_SNORM 0x000000ef
241+#define NV50_SURFACE_FORMAT_R16_SINT 0x000000f0
242+#define NV50_SURFACE_FORMAT_R16_UINT 0x000000f1
243+#define NV50_SURFACE_FORMAT_R16_FLOAT 0x000000f2
244+#define NV50_SURFACE_FORMAT_R8_UNORM 0x000000f3
245+#define NV50_SURFACE_FORMAT_R8_SNORM 0x000000f4
246+#define NV50_SURFACE_FORMAT_R8_SINT 0x000000f5
247+#define NV50_SURFACE_FORMAT_R8_UINT 0x000000f6
248+#define NV50_SURFACE_FORMAT_A8_UNORM 0x000000f7
249+#define NV50_SURFACE_FORMAT_BGR5_X1_UNORM 0x000000f8
250+#define NV50_SURFACE_FORMAT_RGBX8_UNORM 0x000000f9
251+#define NV50_SURFACE_FORMAT_RGBX8_SRGB 0x000000fa
252+#define NV50_SURFACE_FORMAT_BGR5_X1_UNORM_UNKFB 0x000000fb
253+#define NV50_SURFACE_FORMAT_BGR5_X1_UNORM_UNKFC 0x000000fc
254+#define NV50_SURFACE_FORMAT_BGRX8_UNORM_UNKFD 0x000000fd
255+#define NV50_SURFACE_FORMAT_BGRX8_UNORM_UNKFE 0x000000fe
256+#define NV50_SURFACE_FORMAT_Y32_UINT_UNKFF 0x000000ff
257+#define NV50_ZETA_FORMAT_Z32_FLOAT 0x0000000a
258+#define NV50_ZETA_FORMAT_Z16_UNORM 0x00000013
259+#define NV50_ZETA_FORMAT_S8_Z24_UNORM 0x00000014
260+#define NV50_ZETA_FORMAT_Z24_X8_UNORM 0x00000015
261+#define NV50_ZETA_FORMAT_Z24_S8_UNORM 0x00000016
262+#define NV50_ZETA_FORMAT_Z24_C8_UNORM 0x00000018
263+#define NV50_ZETA_FORMAT_Z32_S8_X24_FLOAT 0x00000019
264+#define NV50_ZETA_FORMAT_Z24_X8_S8_C8_X16_UNORM 0x0000001d
265+#define NV50_ZETA_FORMAT_Z32_X8_C8_X16_FLOAT 0x0000001e
266+#define NV50_ZETA_FORMAT_Z32_S8_C8_X16_FLOAT 0x0000001f
267+#define NVE4_IMAGE_FORMAT_RGBA32_FLOAT 0x00000002
268+#define NVE4_IMAGE_FORMAT_RGBA32_SINT 0x00000003
269+#define NVE4_IMAGE_FORMAT_RGBA32_UINT 0x00000004
270+#define NVE4_IMAGE_FORMAT_RGBA16_UNORM 0x00000008
271+#define NVE4_IMAGE_FORMAT_RGBA16_SNORM 0x00000009
272+#define NVE4_IMAGE_FORMAT_RGBA16_SINT 0x0000000a
273+#define NVE4_IMAGE_FORMAT_RGBA16_UINT 0x0000000b
274+#define NVE4_IMAGE_FORMAT_RGBA16_FLOAT 0x0000000c
275+#define NVE4_IMAGE_FORMAT_RG32_FLOAT 0x0000000d
276+#define NVE4_IMAGE_FORMAT_RG32_SINT 0x0000000e
277+#define NVE4_IMAGE_FORMAT_RG32_UINT 0x0000000f
278+#define NVE4_IMAGE_FORMAT_RGB10_A2_UNORM 0x00000013
279+#define NVE4_IMAGE_FORMAT_RGB10_A2_UINT 0x00000015
280+#define NVE4_IMAGE_FORMAT_RGBA8_UNORM 0x00000018
281+#define NVE4_IMAGE_FORMAT_RGBA8_SNORM 0x0000001a
282+#define NVE4_IMAGE_FORMAT_RGBA8_SINT 0x0000001b
283+#define NVE4_IMAGE_FORMAT_RGBA8_UINT 0x0000001c
284+#define NVE4_IMAGE_FORMAT_RG16_UNORM 0x0000001d
285+#define NVE4_IMAGE_FORMAT_RG16_SNORM 0x0000001e
286+#define NVE4_IMAGE_FORMAT_RG16_SINT 0x0000001f
287+#define NVE4_IMAGE_FORMAT_RG16_UINT 0x00000020
288+#define NVE4_IMAGE_FORMAT_RG16_FLOAT 0x00000021
289+#define NVE4_IMAGE_FORMAT_R11G11B10_FLOAT 0x00000024
290+#define NVE4_IMAGE_FORMAT_R32_SINT 0x00000027
291+#define NVE4_IMAGE_FORMAT_R32_UINT 0x00000028
292+#define NVE4_IMAGE_FORMAT_R32_FLOAT 0x00000029
293+#define NVE4_IMAGE_FORMAT_RG8_UNORM 0x0000002e
294+#define NVE4_IMAGE_FORMAT_RG8_SNORM 0x0000002f
295+#define NVE4_IMAGE_FORMAT_RG8_SINT 0x00000030
296+#define NVE4_IMAGE_FORMAT_RG8_UINT 0x00000031
297+#define NVE4_IMAGE_FORMAT_R16_UNORM 0x00000032
298+#define NVE4_IMAGE_FORMAT_R16_SNORM 0x00000033
299+#define NVE4_IMAGE_FORMAT_R16_SINT 0x00000034
300+#define NVE4_IMAGE_FORMAT_R16_UINT 0x00000035
301+#define NVE4_IMAGE_FORMAT_R16_FLOAT 0x00000036
302+#define NVE4_IMAGE_FORMAT_R8_UNORM 0x00000037
303+#define NVE4_IMAGE_FORMAT_R8_SNORM 0x00000038
304+#define NVE4_IMAGE_FORMAT_R8_SINT 0x00000039
305+#define NVE4_IMAGE_FORMAT_R8_UINT 0x0000003a
306+#define NV50_PGRAPH_DATA_ERROR_INVALID_OPERATION 0x00000003
307+#define NV50_PGRAPH_DATA_ERROR_INVALID_VALUE 0x00000004
308+#define NV50_PGRAPH_DATA_ERROR_INVALID_ENUM 0x00000005
309+#define NV50_PGRAPH_DATA_ERROR_INVALID_OBJECT 0x00000008
310+#define NV50_PGRAPH_DATA_ERROR_READ_ONLY_OBJECT 0x00000009
311+#define NV50_PGRAPH_DATA_ERROR_SUPERVISOR_OBJECT 0x0000000a
312+#define NV50_PGRAPH_DATA_ERROR_INVALID_ADDRESS_ALIGNMENT 0x0000000b
313+#define NV50_PGRAPH_DATA_ERROR_INVALID_BITFIELD 0x0000000c
314+#define NV50_PGRAPH_DATA_ERROR_BEGIN_END_ACTIVE 0x0000000d
315+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_COLOR_BACK_OVER_LIMIT 0x0000000e
316+#define NV50_PGRAPH_DATA_ERROR_VIEWPORT_ID_NEEDS_GP 0x0000000f
317+#define NV50_PGRAPH_DATA_ERROR_RT_DOUBLE_BIND 0x00000010
318+#define NV50_PGRAPH_DATA_ERROR_RT_TYPES_MISMATCH 0x00000011
319+#define NV50_PGRAPH_DATA_ERROR_RT_LINEAR_WITH_ZETA 0x00000012
320+#define NV50_PGRAPH_DATA_ERROR_FP_TOO_FEW_REGS 0x00000015
321+#define NV50_PGRAPH_DATA_ERROR_ZETA_FORMAT_CSAA_MISMATCH 0x00000016
322+#define NV50_PGRAPH_DATA_ERROR_RT_LINEAR_WITH_MSAA 0x00000017
323+#define NV50_PGRAPH_DATA_ERROR_FP_INTERPOLANT_START_OVER_LIMIT 0x00000018
324+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_LAYER_OVER_LIMIT 0x00000019
325+#define NV50_PGRAPH_DATA_ERROR_RT_INVALID_ALIGNMENT 0x0000001a
326+#define NV50_PGRAPH_DATA_ERROR_SAMPLER_OVER_LIMIT 0x0000001b
327+#define NV50_PGRAPH_DATA_ERROR_TEXTURE_OVER_LIMIT 0x0000001c
328+#define NV50_PGRAPH_DATA_ERROR_GP_TOO_MANY_OUTPUTS 0x0000001e
329+#define NV50_PGRAPH_DATA_ERROR_RT_BPP128_WITH_MS8 0x0000001f
330+#define NV50_PGRAPH_DATA_ERROR_Z_OUT_OF_BOUNDS 0x00000021
331+#define NV50_PGRAPH_DATA_ERROR_XY_OUT_OF_BOUNDS 0x00000023
332+#define NV50_PGRAPH_DATA_ERROR_VP_ZERO_INPUTS 0x00000024
333+#define NV50_PGRAPH_DATA_ERROR_CP_MORE_PARAMS_THAN_SHARED 0x00000027
334+#define NV50_PGRAPH_DATA_ERROR_CP_NO_REG_SPACE_STRIPED 0x00000028
335+#define NV50_PGRAPH_DATA_ERROR_CP_NO_REG_SPACE_PACKED 0x00000029
336+#define NV50_PGRAPH_DATA_ERROR_CP_NOT_ENOUGH_WARPS 0x0000002a
337+#define NV50_PGRAPH_DATA_ERROR_CP_BLOCK_SIZE_MISMATCH 0x0000002b
338+#define NV50_PGRAPH_DATA_ERROR_CP_NOT_ENOUGH_LOCAL_WARPS 0x0000002c
339+#define NV50_PGRAPH_DATA_ERROR_CP_NOT_ENOUGH_STACK_WARPS 0x0000002d
340+#define NV50_PGRAPH_DATA_ERROR_CP_NO_BLOCKDIM_LATCH 0x0000002e
341+#define NV50_PGRAPH_DATA_ERROR_ENG2D_FORMAT_MISMATCH 0x00000031
342+#define NV50_PGRAPH_DATA_ERROR_ENG2D_OPERATION_ILLEGAL_FOR_DST_FORMAT 0x00000033
343+#define NV50_PGRAPH_DATA_ERROR_ENG2D_FORMAT_MISMATCH_B 0x00000034
344+#define NV50_PGRAPH_DATA_ERROR_PRIMITIVE_ID_NEEDS_GP 0x0000003f
345+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_VIEWPORT_OVER_LIMIT 0x00000044
346+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_COLOR_FRONT_OVER_LIMIT 0x00000045
347+#define NV50_PGRAPH_DATA_ERROR_LAYER_ID_NEEDS_GP 0x00000046
348+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_CLIP_OVER_LIMIT 0x00000047
349+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_PTSZ_OVER_LIMIT 0x00000048
350+#define NV50_PGRAPH_DATA_ERROR_RT_LINEAR_WITH_ZETA_NVC0 0x00000098
351+#define NV50_PGRAPH_DATA_ERROR_ENG2D_UNALIGNED_PITCH_NVC0 0x000000a5
352+#define NV50_QUERY__SIZE 0x00000010
353+#define NV50_QUERY_COUNTER 0x00000000
354+
355+#define NV50_QUERY_RES 0x00000004
356+
357+#define NV50_QUERY_TIME 0x00000008
358+
359+
360+#endif /* NV50_DEFS_XML */
+442,
-0
1@@ -0,0 +1,442 @@
2+#ifndef NV_OBJECT_XML
3+#define NV_OBJECT_XML
4+
5+/* Autogenerated file, DO NOT EDIT manually!
6+
7+This file was generated by the rules-ng-ng headergen tool in this git repository:
8+http://github.com/envytools/envytools/
9+git clone https://github.com/envytools/envytools.git
10+
11+The rules-ng-ng source files this header was generated from are:
12+- /home/michael/src/envytools/rnndb/root.xml ( 514 bytes, from 2014-01-29 23:36:47)
13+- /home/michael/src/envytools/rnndb/copyright.xml ( 6452 bytes, from 2014-01-29 23:36:47)
14+- /home/michael/src/envytools/rnndb/nv_mmio.xml ( 7086 bytes, from 2014-01-29 23:36:47)
15+- /home/michael/src/envytools/rnndb/nvchipsets.xml ( 4092 bytes, from 2014-01-29 23:36:47)
16+- /home/michael/src/envytools/rnndb/bus/pmc.xml ( 11084 bytes, from 2014-01-29 23:36:47)
17+- /home/michael/src/envytools/rnndb/bus/pbus.xml ( 19828 bytes, from 2014-01-29 23:36:47)
18+- /home/michael/src/envytools/rnndb/nv50_defs.xml ( 16877 bytes, from 2014-01-29 23:36:47)
19+- /home/michael/src/envytools/rnndb/memory/nv50_vm.xml ( 9860 bytes, from 2014-01-29 23:36:47)
20+- /home/michael/src/envytools/rnndb/display/nv_vga.xml ( 13113 bytes, from 2014-01-29 23:36:47)
21+- /home/michael/src/envytools/rnndb/bus/pci.xml ( 17502 bytes, from 2014-01-29 23:36:47)
22+- /home/michael/src/envytools/rnndb/fifo/nv01_pfifo.xml ( 10607 bytes, from 2014-01-29 23:36:47)
23+- /home/michael/src/envytools/rnndb/fifo/nv04_pfifo.xml ( 24125 bytes, from 2014-01-29 23:36:47)
24+- /home/michael/src/envytools/rnndb/fifo/nv50_pfifo.xml ( 23242 bytes, from 2014-01-29 23:36:47)
25+- /home/michael/src/envytools/rnndb/fifo/nvc0_pfifo.xml ( 26418 bytes, from 2014-01-29 23:36:47)
26+- /home/michael/src/envytools/rnndb/memory/nvc0_vm.xml ( 8573 bytes, from 2014-01-29 23:36:47)
27+- /home/michael/src/envytools/rnndb/pm/nv40_pclock.xml ( 1171 bytes, from 2014-01-29 23:36:47)
28+- /home/michael/src/envytools/rnndb/pm/nv50_pclock.xml ( 16532 bytes, from 2014-01-29 23:36:47)
29+- /home/michael/src/envytools/rnndb/pm/nva3_pclock.xml ( 4463 bytes, from 2014-01-29 23:36:47)
30+- /home/michael/src/envytools/rnndb/display/nv10_pvideo.xml ( 451 bytes, from 2014-01-29 23:36:47)
31+- /home/michael/src/envytools/rnndb/bus/ptimer.xml ( 2287 bytes, from 2014-01-29 23:36:47)
32+- /home/michael/src/envytools/rnndb/nv10_pcounter.xml ( 5914 bytes, from 2014-01-29 23:36:47)
33+- /home/michael/src/envytools/rnndb/nv40_pcounter.xml ( 9692 bytes, from 2014-01-29 23:36:47)
34+- /home/michael/src/envytools/rnndb/vdec/vpe/pmpeg.xml ( 12766 bytes, from 2014-01-29 23:36:47)
35+- /home/michael/src/envytools/rnndb/vdec/vpe/pvpe.xml ( 704 bytes, from 2014-01-29 23:36:47)
36+- /home/michael/src/envytools/rnndb/vdec/vpe/mpeg_fifo.xml ( 2622 bytes, from 2014-01-29 23:36:47)
37+- /home/michael/src/envytools/rnndb/fifo/nv_object.xml ( 14664 bytes, from 2014-01-29 23:36:47)
38+- /home/michael/src/envytools/rnndb/vdec/vpe/pme.xml ( 5124 bytes, from 2014-01-29 23:36:47)
39+- /home/michael/src/envytools/rnndb/display/nv17_ptv.xml ( 458 bytes, from 2014-01-29 23:36:47)
40+- /home/michael/src/envytools/rnndb/io/pnvio.xml ( 32034 bytes, from 2014-01-29 23:36:47)
41+- /home/michael/src/envytools/rnndb/vdec/vpe/pvp1.xml ( 2111 bytes, from 2014-01-29 23:36:47)
42+- /home/michael/src/envytools/rnndb/vdec/vp2/pvp2.xml ( 1618 bytes, from 2014-01-29 23:36:47)
43+- /home/michael/src/envytools/rnndb/vdec/vp2/xtensa.xml ( 5386 bytes, from 2014-01-29 23:36:47)
44+- /home/michael/src/envytools/rnndb/pm/ptherm.xml ( 32292 bytes, from 2014-01-29 23:36:47)
45+- /home/michael/src/envytools/rnndb/bus/pfuse.xml ( 803 bytes, from 2014-01-29 23:36:47)
46+- /home/michael/src/envytools/rnndb/bus/punits.xml ( 4193 bytes, from 2014-01-29 23:36:47)
47+- /home/michael/src/envytools/rnndb/vdec/vp3/pvld.xml ( 13233 bytes, from 2014-01-29 23:36:47)
48+- /home/michael/src/envytools/rnndb/falcon.xml ( 16884 bytes, from 2014-01-29 23:36:47)
49+- /home/michael/src/envytools/rnndb/falcon_crypt.xml ( 3446 bytes, from 2014-01-29 23:36:47)
50+- /home/michael/src/envytools/rnndb/vdec/vp3/pvdec.xml ( 14115 bytes, from 2014-01-29 23:36:47)
51+- /home/michael/src/envytools/rnndb/vdec/vp3/pppp.xml ( 8830 bytes, from 2014-01-29 23:36:47)
52+- /home/michael/src/envytools/rnndb/nv_defs.xml ( 4399 bytes, from 2014-01-29 23:36:47)
53+- /home/michael/src/envytools/rnndb/vdec/vp3/pcrypt3.xml ( 1003 bytes, from 2014-01-29 23:36:47)
54+- /home/michael/src/envytools/rnndb/nv84_punk089.xml ( 449 bytes, from 2014-01-29 23:36:47)
55+- /home/michael/src/envytools/rnndb/display/nv03_prmvio.xml ( 654 bytes, from 2014-01-29 23:36:47)
56+- /home/michael/src/envytools/rnndb/memory/nv01_pdma.xml ( 5345 bytes, from 2014-01-29 23:36:47)
57+- /home/michael/src/envytools/rnndb/memory/nv03_pfb.xml ( 4511 bytes, from 2014-01-29 23:36:47)
58+- /home/michael/src/envytools/rnndb/memory/nv10_pfb.xml ( 25274 bytes, from 2014-01-29 23:36:47)
59+- /home/michael/src/envytools/rnndb/memory/nv_pfb.xml ( 1135 bytes, from 2014-01-29 23:36:47)
60+- /home/michael/src/envytools/rnndb/memory/nvc0_pffb.xml ( 2707 bytes, from 2014-01-29 23:36:47)
61+- /home/michael/src/envytools/rnndb/io/pstraps.xml ( 8077 bytes, from 2014-01-29 23:36:47)
62+- /home/michael/src/envytools/rnndb/vdec/vp2/pcrypt2.xml ( 3578 bytes, from 2014-01-29 23:36:47)
63+- /home/michael/src/envytools/rnndb/vdec/vp2/pbsp.xml ( 10624 bytes, from 2014-01-29 23:36:47)
64+- /home/michael/src/envytools/rnndb/fifo/pcopy.xml ( 7843 bytes, from 2014-01-29 23:36:47)
65+- /home/michael/src/envytools/rnndb/display/nva3_pcodec.xml ( 448 bytes, from 2014-01-29 23:36:47)
66+- /home/michael/src/envytools/rnndb/display/nva3_pkfuse.xml ( 447 bytes, from 2014-01-29 23:36:47)
67+- /home/michael/src/envytools/rnndb/pm/pdaemon.xml ( 17194 bytes, from 2014-01-29 23:36:47)
68+- /home/michael/src/envytools/rnndb/memory/nvc0_pbfb.xml ( 2898 bytes, from 2014-01-29 23:36:47)
69+- /home/michael/src/envytools/rnndb/bus/pibus.xml ( 8356 bytes, from 2014-01-29 23:36:47)
70+- /home/michael/src/envytools/rnndb/pm/nvc0_pclock.xml ( 7279 bytes, from 2014-01-29 23:36:47)
71+- /home/michael/src/envytools/rnndb/memory/nvc0_pp2p.xml ( 1946 bytes, from 2014-01-29 23:36:47)
72+- /home/michael/src/envytools/rnndb/memory/nvc0_pxbar.xml ( 1156 bytes, from 2014-01-29 23:36:47)
73+- /home/michael/src/envytools/rnndb/memory/nvc0_pmfb.xml ( 3631 bytes, from 2014-01-29 23:36:47)
74+- /home/michael/src/envytools/rnndb/nvc0_pcounter.xml ( 12613 bytes, from 2014-01-29 23:36:47)
75+- /home/michael/src/envytools/rnndb/vdec/pvcomp.xml ( 8682 bytes, from 2014-01-29 23:36:47)
76+- /home/michael/src/envytools/rnndb/vdec/pvenc.xml ( 1233 bytes, from 2014-01-29 23:36:47)
77+- /home/michael/src/envytools/rnndb/display/nvd9_punk1c3.xml ( 978 bytes, from 2014-01-29 23:36:47)
78+- /home/michael/src/envytools/rnndb/io/pmedia.xml ( 432 bytes, from 2014-01-29 23:36:47)
79+- /home/michael/src/envytools/rnndb/nv01_paudio.xml ( 1863 bytes, from 2014-01-29 23:36:47)
80+- /home/michael/src/envytools/rnndb/extdev/ad1848.xml ( 5260 bytes, from 2014-01-29 23:36:47)
81+- /home/michael/src/envytools/rnndb/graph/nv01_pgraph.xml ( 14241 bytes, from 2014-01-29 23:36:47)
82+- /home/michael/src/envytools/rnndb/graph/nv01_2d.xml ( 36779 bytes, from 2014-01-29 23:36:47)
83+- /home/michael/src/envytools/rnndb/graph/nv03_pgraph.xml ( 4011 bytes, from 2014-01-29 23:36:47)
84+- /home/michael/src/envytools/rnndb/graph/nv04_pgraph.xml ( 11363 bytes, from 2014-01-29 23:36:47)
85+- /home/michael/src/envytools/rnndb/graph/nv50_pgraph.xml ( 54643 bytes, from 2014-01-29 23:36:47)
86+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/pgraph.xml ( 23719 bytes, from 2014-01-29 23:36:47)
87+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/ctxctl.xml ( 12648 bytes, from 2014-01-29 23:36:47)
88+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/gpc.xml ( 7276 bytes, from 2014-01-29 23:36:47)
89+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/tpc.xml ( 15311 bytes, from 2014-01-29 23:36:47)
90+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/ppc.xml ( 1170 bytes, from 2014-01-29 23:36:47)
91+- /home/michael/src/envytools/rnndb/graph/nvc0_pgraph/rop.xml ( 2143 bytes, from 2014-01-29 23:36:47)
92+- /home/michael/src/envytools/rnndb/graph/nv03_pdma.xml ( 2293 bytes, from 2014-01-29 23:36:47)
93+- /home/michael/src/envytools/rnndb/display/nv01_pfb.xml ( 4033 bytes, from 2014-01-29 23:36:47)
94+- /home/michael/src/envytools/rnndb/display/nv03_pcrtc.xml ( 1114 bytes, from 2014-01-29 23:36:47)
95+- /home/michael/src/envytools/rnndb/memory/nv01_pram.xml ( 1241 bytes, from 2014-01-29 23:36:47)
96+- /home/michael/src/envytools/rnndb/io/pchipid.xml ( 494 bytes, from 2014-01-29 23:36:47)
97+- /home/michael/src/envytools/rnndb/display/nv01_pdac.xml ( 4639 bytes, from 2014-01-29 23:36:47)
98+- /home/michael/src/envytools/rnndb/io/peeprom.xml ( 703 bytes, from 2014-01-29 23:36:47)
99+- /home/michael/src/envytools/rnndb/display/nv03_pramdac.xml ( 4455 bytes, from 2014-01-29 23:36:47)
100+- /home/michael/src/envytools/rnndb/display/nv50_pdisplay.xml ( 38497 bytes, from 2014-01-29 23:36:47)
101+- /home/michael/src/envytools/rnndb/bus/prm.xml ( 5098 bytes, from 2014-01-29 23:36:47)
102+- /home/michael/src/envytools/rnndb/display/nv_evo.xml ( 10560 bytes, from 2014-01-29 23:36:47)
103+- /home/michael/src/envytools/rnndb/fifo/nv_objects.xml ( 1054 bytes, from 2014-01-29 23:36:47)
104+- /home/michael/src/envytools/rnndb/graph/nv_m2mf.xml ( 2701 bytes, from 2014-01-29 23:36:47)
105+- /home/michael/src/envytools/rnndb/graph/nvc0_m2mf.xml ( 2788 bytes, from 2014-01-29 23:36:47)
106+- /home/michael/src/envytools/rnndb/graph/nv04_dvd.xml ( 3005 bytes, from 2014-01-29 23:36:47)
107+- /home/michael/src/envytools/rnndb/graph/nv03_3d.xml ( 5214 bytes, from 2014-01-29 23:36:47)
108+- /home/michael/src/envytools/rnndb/graph/nv04_3d.xml ( 17770 bytes, from 2014-01-29 23:36:47)
109+- /home/michael/src/envytools/rnndb/graph/nv_3ddefs.xml ( 16394 bytes, from 2014-01-29 23:36:47)
110+- /home/michael/src/envytools/rnndb/graph/nv10_3d.xml ( 18441 bytes, from 2014-01-29 23:36:47)
111+- /home/michael/src/envytools/rnndb/graph/nv20_3d.xml ( 21106 bytes, from 2014-01-29 23:36:47)
112+- /home/michael/src/envytools/rnndb/graph/nv30-40_3d.xml ( 32461 bytes, from 2014-01-29 23:36:47)
113+- /home/michael/src/envytools/rnndb/graph/nv50_2d.xml ( 11441 bytes, from 2014-01-29 23:36:47)
114+- /home/michael/src/envytools/rnndb/graph/nv50_3d.xml ( 65928 bytes, from 2014-01-29 23:36:47)
115+- /home/michael/src/envytools/rnndb/graph/nv50_compute.xml ( 14047 bytes, from 2014-01-29 23:36:47)
116+- /home/michael/src/envytools/rnndb/graph/nvc0_3d.xml ( 59735 bytes, from 2014-01-29 23:36:47)
117+- /home/michael/src/envytools/rnndb/graph/nve4_p2mf.xml ( 2378 bytes, from 2014-01-29 23:36:47)
118+- /home/michael/src/envytools/rnndb/graph/nvc0_compute.xml ( 11150 bytes, from 2014-01-29 23:36:47)
119+- /home/michael/src/envytools/rnndb/graph/nve4_compute.xml ( 10179 bytes, from 2014-01-29 23:36:47)
120+- /home/michael/src/envytools/rnndb/vdec/vpe/me_fifo.xml ( 1690 bytes, from 2014-01-29 23:36:47)
121+- /home/michael/src/envytools/rnndb/vdec/vpe/vp1_fifo.xml ( 675 bytes, from 2014-01-29 23:36:47)
122+- /home/michael/src/envytools/rnndb/vdec/vp2/crypt2_fifo.xml ( 2077 bytes, from 2014-01-29 23:36:47)
123+- /home/michael/src/envytools/rnndb/fifo/nve4_copy.xml ( 3928 bytes, from 2014-01-29 23:36:47)
124+- /home/michael/src/envytools/rnndb/graph/nv50_texture.xml ( 8648 bytes, from 2014-01-29 23:36:47)
125+- /home/michael/src/envytools/rnndb/graph/nvc0_shaders.xml ( 7409 bytes, from 2014-01-29 23:36:47)
126+- /home/michael/src/envytools/rnndb/vdec/vpe/mpeg_cmd.xml ( 7682 bytes, from 2014-01-29 23:36:47)
127+- /home/michael/src/envytools/rnndb/extdev/adt7473.xml ( 11411 bytes, from 2014-01-29 23:36:47)
128+
129+Copyright (C) 2006-2014 by the following authors:
130+- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
131+- Ben Skeggs (darktama, darktama_)
132+- B. R. <koala_br@users.sourceforge.net> (koala_br)
133+- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
134+- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
135+- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
136+- Dmitry Baryshkov
137+- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
138+- EdB <edb_@users.sf.net> (edb_)
139+- Erik Waling <erikwailing@users.sf.net> (erikwaling)
140+- Francisco Jerez <currojerez@riseup.net> (curro)
141+- imirkin <imirkin@users.sf.net> (imirkin)
142+- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
143+- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
144+- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
145+- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
146+- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
147+- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin)
148+- Mark Carey <mark.carey@gmail.com> (careym)
149+- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
150+- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
151+- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
152+- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
153+- Peter Popov <ironpeter@users.sf.net> (ironpeter)
154+- Richard Hughes <hughsient@users.sf.net> (hughsient)
155+- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
156+- Serge Martin
157+- Simon Raffeiner
158+- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
159+- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
160+- sturmflut <sturmflut@users.sf.net> (sturmflut)
161+- Sylvain Munaut <tnt@246tNt.com>
162+- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
163+- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
164+- Younes Manton <younes.m@gmail.com> (ymanton)
165+
166+Permission is hereby granted, free of charge, to any person obtaining
167+a copy of this software and associated documentation files (the
168+"Software"), to deal in the Software without restriction, including
169+without limitation the rights to use, copy, modify, merge, publish,
170+distribute, sublicense, and/or sell copies of the Software, and to
171+permit persons to whom the Software is furnished to do so, subject to
172+the following conditions:
173+
174+The above copyright notice and this permission notice (including the
175+next paragraph) shall be included in all copies or substantial
176+portions of the Software.
177+
178+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
179+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
180+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
181+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
182+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
183+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
184+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
185+*/
186+
187+
188+#define NV01_DMA_FROM_MEMORY 0x00000002
189+#define NV01_DMA_TO_MEMORY 0x00000003
190+#define NV01_NULL 0x00000030
191+#define NV03_DMA_IN_MEMORY 0x0000003d
192+#define NV01_OP_CLIP 0x00000010
193+#define NV01_OP_BLEND_AND 0x00000011
194+#define NV01_BETA 0x00000012
195+#define NV04_BETA4 0x00000072
196+#define NV01_OP_ROP_AND 0x00000013
197+#define NV01_ROP 0x00000014
198+#define NV03_ROP 0x00000043
199+#define NV01_OP_CHROMA 0x00000015
200+#define NV01_OP_PLANE_SWITCH 0x00000016
201+#define NV01_CHROMA 0x00000017
202+#define NV04_CHROMA 0x00000057
203+#define NV01_PATTERN 0x00000018
204+#define NV04_PATTERN 0x00000044
205+#define NV01_CLIP 0x00000019
206+#define NV01_OP_SRCCOPY_AND 0x00000064
207+#define NV03_OP_SRCCOPY 0x00000065
208+#define NV04_OP_SRCCOPY_PREMULT 0x00000066
209+#define NV04_OP_BLEND_PREMULT 0x00000067
210+#define NV01_POINT 0x0000001a
211+#define NV01_LINE 0x0000001b
212+#define NV01_LIN 0x0000001c
213+#define NV04_LIN 0x0000005c
214+#define NV30_LIN 0x0000035c
215+#define NV40_LIN 0x0000305c
216+#define NV01_TRI 0x0000001d
217+#define NV04_TRI 0x0000005d
218+#define NV01_RECT 0x0000001e
219+#define NV04_RECT 0x0000005e
220+#define NV01_BLIT 0x0000001f
221+#define NV04_BLIT 0x0000005f
222+#define NV15_BLIT 0x0000009f
223+#define NV01_IFM 0x00000020
224+#define NV01_IFC 0x00000021
225+#define NV04_IFC 0x00000061
226+#define NV05_IFC 0x00000065
227+#define NV10_IFC 0x0000008a
228+#define NV30_IFC 0x0000038a
229+#define NV40_IFC 0x0000308a
230+#define NV01_BITMAP 0x00000022
231+#define NV01_ITM 0x00000025
232+#define NV03_SIFC 0x00000036
233+#define NV04_SIFC 0x00000076
234+#define NV05_SIFC 0x00000066
235+#define NV30_SIFC 0x00000366
236+#define NV40_SIFC 0x00003066
237+#define NV03_SIFM 0x00000037
238+#define NV04_SIFM 0x00000077
239+#define NV05_SIFM 0x00000063
240+#define NV10_SIFM 0x00000089
241+#define NV30_SIFM 0x00000389
242+#define NV40_SIFM 0x00003089
243+#define NV50_SIFM 0x00005089
244+#define NV03_GDI 0x0000004b
245+#define NV04_GDI 0x0000004a
246+#define NV04_SURFACE_SWZ 0x00000052
247+#define NV20_SURFACE_SWZ 0x0000009e
248+#define NV30_SURFACE_SWZ 0x0000039e
249+#define NV40_SURFACE_SWZ 0x0000309e
250+#define NV03_SURFACE_DST 0x00000058
251+#define NV03_SURFACE_SRC 0x00000059
252+#define NV04_SURFACE_2D 0x00000042
253+#define NV10_SURFACE_2D 0x00000062
254+#define NV30_SURFACE_2D 0x00000362
255+#define NV40_SURFACE_2D 0x00003062
256+#define NV50_SURFACE_2D 0x00005062
257+#define NV04_INDEX 0x00000060
258+#define NV05_INDEX 0x00000064
259+#define NV30_INDEX 0x00000364
260+#define NV40_INDEX 0x00003064
261+#define NV10_TEXUPLOAD 0x0000007b
262+#define NV30_TEXUPLOAD 0x0000037b
263+#define NV40_TEXUPLOAD 0x0000307b
264+#define NV01_TEXLIN 0x00000023
265+#define NV01_TEXQUAD 0x00000024
266+#define NV01_TEXLINBETA 0x00000034
267+#define NV01_TEXQUADBETA 0x00000035
268+#define NV04_DVD_SUBPICTURE 0x00000038
269+#define NV10_DVD_SUBPICTURE 0x00000088
270+#define NV03_M2MF 0x00000039
271+#define NV50_M2MF 0x00005039
272+#define NVC0_M2MF 0x00009039
273+#define NVE4_P2MF 0x0000a040
274+#define NVF0_P2MF 0x0000a140
275+#define NV03_SURFACE_COLOR 0x0000005a
276+#define NV03_SURFACE_ZETA 0x0000005b
277+#define NV03_TEXTURED_TRIANGLE 0x00000048
278+#define NV04_TEXTURED_TRIANGLE 0x00000054
279+#define NV10_TEXTURED_TRIANGLE 0x00000094
280+#define NV04_SURFACE_3D 0x00000053
281+#define NV10_SURFACE_3D 0x00000093
282+#define NV04_MULTITEX_TRIANGLE 0x00000055
283+#define NV10_MULTITEX_TRIANGLE 0x00000095
284+#define NV10_3D 0x00000056
285+#define NV15_3D 0x00000096
286+#define NV11_3D 0x00000098
287+#define NV17_3D 0x00000099
288+#define NV20_3D 0x00000097
289+#define NV25_3D 0x00000597
290+#define NV30_3D 0x00000397
291+#define NV35_3D 0x00000497
292+#define NV34_3D 0x00000697
293+#define NV40_3D 0x00004097
294+#define NV44_3D 0x00004497
295+#define NV50_3D 0x00005097
296+#define NV84_3D 0x00008297
297+#define NVA0_3D 0x00008397
298+#define NVA3_3D 0x00008597
299+#define NVAF_3D 0x00008697
300+#define NVC0_3D 0x00009097
301+#define NVC1_3D 0x00009197
302+#define NVC8_3D 0x00009297
303+#define NVE4_3D 0x0000a097
304+#define NVF0_3D 0x0000a197
305+#define NV50_2D 0x0000502d
306+#define NVC0_2D 0x0000902d
307+#define NV50_COMPUTE 0x000050c0
308+#define NVA3_COMPUTE 0x000085c0
309+#define NVC0_COMPUTE 0x000090c0
310+#define NVC8_COMPUTE 0x000092c0
311+#define NVE4_COMPUTE 0x0000a0c0
312+#define NVF0_COMPUTE 0x0000a1c0
313+#define NV84_CRYPT2 0x000074c1
314+#define NVE4_COPY 0x0000a0b5
315+#define NV31_MPEG 0x00003174
316+#define NV84_MPEG 0x00008274
317+#define NV40_ME 0x00004075
318+#define NV41_VP1 0x00004176
319+#define NV01_SUBCHAN__SIZE 0x00008000
320+#define NV01_SUBCHAN 0x00000000
321+
322+#define NV01_SUBCHAN_OBJECT 0x00000000
323+
324+#define NVC0_SUBCHAN_NOP 0x00000008
325+
326+#define NV84_SUBCHAN_SEMAPHORE_ADDRESS_HIGH 0x00000010
327+
328+#define NV84_SUBCHAN_SEMAPHORE_ADDRESS_LOW 0x00000014
329+
330+#define NV84_SUBCHAN_SEMAPHORE_SEQUENCE 0x00000018
331+
332+#define NV84_SUBCHAN_SEMAPHORE_TRIGGER 0x0000001c
333+#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACTION__MASK 0x0000000f
334+#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACTION__SHIFT 0
335+#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACTION_ACQUIRE_EQUAL 0x00000001
336+#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACTION_RELEASE 0x00000002
337+#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACTION_ACQUIRE_GEQUAL 0x00000004
338+#define NVC0_SUBCHAN_SEMAPHORE_TRIGGER_ACTION_ACQUIRE_MASK 0x00000008
339+#define NVC0_SUBCHAN_SEMAPHORE_TRIGGER_YIELD 0x00001000
340+#define NVC0_SUBCHAN_SEMAPHORE_TRIGGER_UNK20 0x00100000
341+#define NVC0_SUBCHAN_SEMAPHORE_TRIGGER_SHORT 0x01000000
342+
343+#define NV84_SUBCHAN_NOTIFY_INTR 0x00000020
344+
345+#define NV84_SUBCHAN_WRCACHE_FLUSH 0x00000024
346+
347+#define NVAF_SUBCHAN_UNK28 0x00000028
348+
349+#define NVAF_SUBCHAN_UNK2C 0x0000002c
350+#define NVAF_SUBCHAN_UNK2C_UNK0__MASK 0x0fffffff
351+#define NVAF_SUBCHAN_UNK2C_UNK0__SHIFT 0
352+#define NVAF_SUBCHAN_UNK2C_UNK28 0x10000000
353+#define NVAF_SUBCHAN_UNK2C_UNK29__MASK 0xe0000000
354+#define NVAF_SUBCHAN_UNK2C_UNK29__SHIFT 29
355+#define NVAF_SUBCHAN_UNK2C_UNK29_UNK0 0x00000000
356+#define NVAF_SUBCHAN_UNK2C_UNK29_UNK1 0x20000000
357+#define NVAF_SUBCHAN_UNK2C_UNK29_UNK2 0x40000000
358+
359+#define NV10_SUBCHAN_REF_CNT 0x00000050
360+
361+#define NV1A_SUBCHAN_DMA_SEMAPHORE 0x00000060
362+
363+#define NV1A_SUBCHAN_SEMAPHORE_OFFSET 0x00000064
364+
365+#define NV1A_SUBCHAN_SEMAPHORE_ACQUIRE 0x00000068
366+
367+#define NV1A_SUBCHAN_SEMAPHORE_RELEASE 0x0000006c
368+
369+#define NVC0_SUBCHAN_UNK70 0x00000070
370+
371+#define NVC0_SUBCHAN_UNK74 0x00000074
372+
373+#define NVC0_SUBCHAN_UNK78 0x00000078
374+
375+#define NVC0_SUBCHAN_UNK7C 0x0000007c
376+
377+#define NV40_SUBCHAN_YIELD 0x00000080
378+
379+#define NV01_GRAPH 0x00000000
380+
381+#define NV04_GRAPH_NOP 0x00000100
382+
383+#define NV04_GRAPH_NOTIFY 0x00000104
384+#define NV04_GRAPH_NOTIFY_WRITE 0x00000000
385+#define NV04_GRAPH_NOTIFY_WRITE_AND_AWAKEN 0x00000001
386+
387+#define NVC0_GRAPH_NOTIFY_ADDRESS_HIGH 0x00000104
388+
389+#define NVC0_GRAPH_NOTIFY_ADDRESS_LOW 0x00000108
390+
391+#define NVC0_GRAPH_NOTIFY 0x0000010c
392+#define NVC0_GRAPH_NOTIFY_WRITE 0x00000000
393+#define NVC0_GRAPH_NOTIFY_WRITE_AND_AWAKEN 0x00000001
394+
395+#define NV50_GRAPH_SERIALIZE 0x00000110
396+
397+#define NVC0_GRAPH_MACRO_CODE_POS 0x00000114
398+
399+#define NVC0_GRAPH_MACRO_CODE_DATA 0x00000118
400+
401+#define NVC0_GRAPH_MACRO_ENTRY_POS 0x0000011c
402+
403+#define NVC0_GRAPH_MACRO_ENTRY_DATA 0x00000120
404+
405+#define NVC0_GRAPH_MACRO_UNK0124 0x00000124
406+
407+#define NVA3_GRAPH_UNK0120 0x00000120
408+
409+#define NVA3_GRAPH_UNK0124 0x00000124
410+
411+#define NVC0_GRAPH_COND_MASTER_ADDRESS_HIGH 0x00000130
412+
413+#define NVC0_GRAPH_COND_MASTER_ADDRESS_LOW 0x00000134
414+
415+#define NVC0_GRAPH_COND_MASTER_MODE 0x00000138
416+#define NVC0_GRAPH_COND_MASTER_MODE_NEVER 0x00000000
417+#define NVC0_GRAPH_COND_MASTER_MODE_ALWAYS 0x00000001
418+#define NVC0_GRAPH_COND_MASTER_MODE_RES_NON_ZERO 0x00000002
419+#define NVC0_GRAPH_COND_MASTER_MODE_EQUAL 0x00000003
420+#define NVC0_GRAPH_COND_MASTER_MODE_NOT_EQUAL 0x00000004
421+
422+#define NVC0_GRAPH_UNK013C 0x0000013c
423+
424+#define NV40_GRAPH_PM_TRIGGER 0x00000140
425+
426+#define NVC0_GRAPH_UNK0150 0x00000150
427+
428+#define NVC0_GRAPH_UNK0154 0x00000154
429+
430+#define NVC0_GRAPH_SCRATCH(i0) (0x00003400 + 0x4*(i0))
431+#define NVC0_GRAPH_SCRATCH__ESIZE 0x00000004
432+#define NVC0_GRAPH_SCRATCH__LEN 0x00000080
433+
434+#define NVC0_GRAPH_MACRO(i0) (0x00003800 + 0x8*(i0))
435+#define NVC0_GRAPH_MACRO__ESIZE 0x00000008
436+#define NVC0_GRAPH_MACRO__LEN 0x00000080
437+
438+#define NVC0_GRAPH_MACRO_PARAM(i0) (0x00003804 + 0x8*(i0))
439+#define NVC0_GRAPH_MACRO_PARAM__ESIZE 0x00000008
440+#define NVC0_GRAPH_MACRO_PARAM__LEN 0x00000080
441+
442+
443+#endif /* NV_OBJECT_XML */