diff options
-rw-r--r-- | Mesa-nouveau-classic-libdrm.patch | 33 | ||||
-rw-r--r-- | Mesa-nouveau-revert.patch | 114 | ||||
-rw-r--r-- | Mesa-nouveau-updates.patch | 19963 | ||||
-rw-r--r-- | Mesa-selinux.patch | 44 | ||||
-rw-r--r-- | Mesa.spec | 198 |
5 files changed, 162 insertions, 20190 deletions
diff --git a/Mesa-nouveau-classic-libdrm.patch b/Mesa-nouveau-classic-libdrm.patch deleted file mode 100644 index bb787ef..0000000 --- a/Mesa-nouveau-classic-libdrm.patch +++ /dev/null @@ -1,33 +0,0 @@ -From c43905b6c43ac34bbcb5a9e44414fa500e5cebeb Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Mon, 17 Jan 2011 12:54:27 +1000 -Subject: [PATCH 3/3] mesa-7.10-nouveau-classic-libdrm - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - src/mesa/drivers/dri/nouveau/nouveau_driver.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.h b/src/mesa/drivers/dri/nouveau/nouveau_driver.h -index 8036b18..c5ac128 100644 ---- a/src/mesa/drivers/dri/nouveau/nouveau_driver.h -+++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.h -@@ -38,7 +38,6 @@ - #include <assert.h> - - #include "nouveau_device.h" --#include "nouveau_pushbuf.h" - #include "nouveau_grobj.h" - #include "nouveau_channel.h" - #include "nouveau_bo.h" -@@ -46,6 +45,7 @@ - #include "nouveau_screen.h" - #include "nouveau_state.h" - #include "nouveau_surface.h" -+#include "nv04_pushbuf.h" - - #define DRIVER_DATE "20091015" - #define DRIVER_AUTHOR "Nouveau" --- -1.7.3.4 - diff --git a/Mesa-nouveau-revert.patch b/Mesa-nouveau-revert.patch deleted file mode 100644 index d88d565..0000000 --- a/Mesa-nouveau-revert.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 20f77c532547c7f8f1cb26f41357037821cf2a9f Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Mon, 17 Jan 2011 12:47:12 +1000 -Subject: [PATCH 2/3] mesa-7.10-nouveau-revert.patch - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - src/gallium/drivers/nv50/nv50_context.c | 4 ---- - src/gallium/drivers/nv50/nv50_shader_state.c | 2 +- - src/gallium/drivers/nv50/nv50_state.c | 5 ++--- - src/gallium/drivers/nv50/nv50_vbo.c | 2 +- - src/gallium/drivers/nvc0/nvc0_screen.c | 2 +- - src/gallium/drivers/nvfx/nvfx_vbo.c | 14 +++++++++++--- - 6 files changed, 16 insertions(+), 13 deletions(-) - -diff --git a/src/gallium/drivers/nv50/nv50_context.c b/src/gallium/drivers/nv50/nv50_context.c -index 4f97616..0874cb5 100644 ---- a/src/gallium/drivers/nv50/nv50_context.c -+++ b/src/gallium/drivers/nv50/nv50_context.c -@@ -49,10 +49,6 @@ nv50_destroy(struct pipe_context *pipe) - struct nv50_context *nv50 = nv50_context(pipe); - int i; - -- for (i = 0; i < nv50->vtxbuf_nr; i++) { -- pipe_resource_reference(&nv50->vtxbuf[i].buffer, NULL); -- } -- - for (i = 0; i < 64; i++) { - if (!nv50->state.hw[i]) - continue; -diff --git a/src/gallium/drivers/nv50/nv50_shader_state.c b/src/gallium/drivers/nv50/nv50_shader_state.c -index 1c1b66d..306aa81 100644 ---- a/src/gallium/drivers/nv50/nv50_shader_state.c -+++ b/src/gallium/drivers/nv50/nv50_shader_state.c -@@ -71,7 +71,7 @@ nv50_transfer_constbuf(struct nv50_context *nv50, - map += nr; - } - -- pipe_buffer_unmap(pipe, transfer); -+ pipe_buffer_unmap(pipe, buf, transfer); - } - - static void -diff --git a/src/gallium/drivers/nv50/nv50_state.c b/src/gallium/drivers/nv50/nv50_state.c -index b4eda0f..04291e4 100644 ---- a/src/gallium/drivers/nv50/nv50_state.c -+++ b/src/gallium/drivers/nv50/nv50_state.c -@@ -779,9 +779,8 @@ nv50_set_vertex_buffers(struct pipe_context *pipe, unsigned count, - { - struct nv50_context *nv50 = nv50_context(pipe); - -- util_copy_vertex_buffers(nv50->vtxbuf, -- &nv50->vtxbuf_nr, -- vb, count); -+ memcpy(nv50->vtxbuf, vb, sizeof(*vb) * count); -+ nv50->vtxbuf_nr = count; - - nv50->dirty |= NV50_NEW_ARRAYS; - } -diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c -index 53f319a..d41a59d 100644 ---- a/src/gallium/drivers/nv50/nv50_vbo.c -+++ b/src/gallium/drivers/nv50/nv50_vbo.c -@@ -284,7 +284,7 @@ nv50_draw_elements_inline(struct pipe_context *pipe, - nzi = TRUE; - } - -- pipe_buffer_unmap(pipe, transfer); -+ pipe_buffer_unmap(pipe, indexBuffer, transfer); - } - - static void -diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c -index f608b32..e14d4fd 100644 ---- a/src/gallium/drivers/nvc0/nvc0_screen.c -+++ b/src/gallium/drivers/nvc0/nvc0_screen.c -@@ -110,7 +110,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) - case PIPE_CAP_SHADER_STENCIL_EXPORT: - return 0; - case PIPE_CAP_PRIMITIVE_RESTART: -- case PIPE_CAP_INSTANCED_DRAWING: -+// case PIPE_CAP_INSTANCED_DRAWING: - return 1; - default: - NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); -diff --git a/src/gallium/drivers/nvfx/nvfx_vbo.c b/src/gallium/drivers/nvfx/nvfx_vbo.c -index 01dacb4..1c88f5f 100644 ---- a/src/gallium/drivers/nvfx/nvfx_vbo.c -+++ b/src/gallium/drivers/nvfx/nvfx_vbo.c -@@ -591,10 +591,18 @@ nvfx_set_vertex_buffers(struct pipe_context *pipe, unsigned count, - { - struct nvfx_context *nvfx = nvfx_context(pipe); - -- util_copy_vertex_buffers(nvfx->vtxbuf, -- &nvfx->vtxbuf_nr, -- vb, count); -+ for(unsigned i = 0; i < count; ++i) -+ { -+ pipe_resource_reference(&nvfx->vtxbuf[i].buffer, vb[i].buffer); -+ nvfx->vtxbuf[i].buffer_offset = vb[i].buffer_offset; -+ nvfx->vtxbuf[i].max_index = vb[i].max_index; -+ nvfx->vtxbuf[i].stride = vb[i].stride; -+ } -+ -+ for(unsigned i = count; i < nvfx->vtxbuf_nr; ++i) -+ pipe_resource_reference(&nvfx->vtxbuf[i].buffer, 0); - -+ nvfx->vtxbuf_nr = count; - nvfx->use_vertex_buffers = -1; - nvfx->draw_dirty |= NVFX_NEW_ARRAYS; - } --- -1.7.3.4 - diff --git a/Mesa-nouveau-updates.patch b/Mesa-nouveau-updates.patch deleted file mode 100644 index b92bb1a..0000000 --- a/Mesa-nouveau-updates.patch +++ /dev/null @@ -1,19963 +0,0 @@ -From 417e136ecef44324035c2c124dd184f14af03c44 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Mon, 17 Jan 2011 12:44:46 +1000 -Subject: [PATCH 1/3] mesa-7.10-nouveau-updates - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - configure.ac | 2 +- - src/gallium/drivers/nouveau/nouveau_screen.h | 3 +- - src/gallium/drivers/nouveau/nouveau_winsys.h | 7 +- - src/gallium/drivers/nouveau/nv_object.xml.h | 57 +- - src/gallium/drivers/nv50/nv50_context.c | 4 + - src/gallium/drivers/nv50/nv50_shader_state.c | 2 +- - src/gallium/drivers/nv50/nv50_state.c | 14 +- - src/gallium/drivers/nv50/nv50_surface.c | 2 +- - src/gallium/drivers/nv50/nv50_vbo.c | 2 +- - src/gallium/drivers/nvc0/Makefile | 34 + - src/gallium/drivers/nvc0/SConscript | 36 + - src/gallium/drivers/nvc0/nv50_defs.xml.h | 142 ++ - src/gallium/drivers/nvc0/nv50_texture.xml.h | 259 +++ - src/gallium/drivers/nvc0/nvc0_2d.xml.h | 380 ++++ - src/gallium/drivers/nvc0/nvc0_3d.xml.h | 1183 ++++++++++++ - src/gallium/drivers/nvc0/nvc0_3ddefs.xml.h | 98 + - src/gallium/drivers/nvc0/nvc0_buffer.c | 489 +++++ - src/gallium/drivers/nvc0/nvc0_context.c | 164 ++ - src/gallium/drivers/nvc0/nvc0_context.h | 227 +++ - src/gallium/drivers/nvc0/nvc0_draw.c | 88 + - src/gallium/drivers/nvc0/nvc0_fence.c | 203 ++ - src/gallium/drivers/nvc0/nvc0_fence.h | 48 + - src/gallium/drivers/nvc0/nvc0_formats.c | 462 +++++ - src/gallium/drivers/nvc0/nvc0_graph_macros.h | 235 +++ - src/gallium/drivers/nvc0/nvc0_m2mf.xml.h | 138 ++ - src/gallium/drivers/nvc0/nvc0_miptree.c | 327 ++++ - src/gallium/drivers/nvc0/nvc0_mm.c | 274 +++ - src/gallium/drivers/nvc0/nvc0_pc.c | 693 +++++++ - src/gallium/drivers/nvc0/nvc0_pc.h | 653 +++++++ - src/gallium/drivers/nvc0/nvc0_pc_emit.c | 979 ++++++++++ - src/gallium/drivers/nvc0/nvc0_pc_optimize.c | 1236 ++++++++++++ - src/gallium/drivers/nvc0/nvc0_pc_print.c | 377 ++++ - src/gallium/drivers/nvc0/nvc0_pc_regalloc.c | 927 +++++++++ - src/gallium/drivers/nvc0/nvc0_program.c | 694 +++++++ - src/gallium/drivers/nvc0/nvc0_program.h | 89 + - src/gallium/drivers/nvc0/nvc0_push.c | 289 +++ - src/gallium/drivers/nvc0/nvc0_push2.c | 333 ++++ - src/gallium/drivers/nvc0/nvc0_query.c | 337 ++++ - src/gallium/drivers/nvc0/nvc0_resource.c | 71 + - src/gallium/drivers/nvc0/nvc0_resource.h | 201 ++ - src/gallium/drivers/nvc0/nvc0_screen.c | 670 +++++++ - src/gallium/drivers/nvc0/nvc0_screen.h | 192 ++ - src/gallium/drivers/nvc0/nvc0_shader_state.c | 180 ++ - src/gallium/drivers/nvc0/nvc0_state.c | 865 +++++++++ - src/gallium/drivers/nvc0/nvc0_state_validate.c | 430 +++++ - src/gallium/drivers/nvc0/nvc0_stateobj.h | 82 + - src/gallium/drivers/nvc0/nvc0_surface.c | 377 ++++ - src/gallium/drivers/nvc0/nvc0_tex.c | 277 +++ - src/gallium/drivers/nvc0/nvc0_tgsi_to_nc.c | 2018 ++++++++++++++++++++ - src/gallium/drivers/nvc0/nvc0_transfer.c | 381 ++++ - src/gallium/drivers/nvc0/nvc0_transfer.h | 38 + - src/gallium/drivers/nvc0/nvc0_vbo.c | 671 +++++++ - src/gallium/drivers/nvc0/nvc0_winsys.h | 120 ++ - src/gallium/drivers/nvfx/nv04_2d.c | 2 +- - src/gallium/drivers/nvfx/nv30_fragtex.c | 3 +- - src/gallium/drivers/nvfx/nv40_fragtex.c | 5 +- - src/gallium/drivers/nvfx/nvfx_context.c | 6 +- - src/gallium/drivers/nvfx/nvfx_context.h | 13 +- - src/gallium/drivers/nvfx/nvfx_draw.c | 14 +- - src/gallium/drivers/nvfx/nvfx_fragprog.c | 16 +- - src/gallium/drivers/nvfx/nvfx_fragtex.c | 4 +- - src/gallium/drivers/nvfx/nvfx_push.c | 57 +- - src/gallium/drivers/nvfx/nvfx_query.c | 12 +- - src/gallium/drivers/nvfx/nvfx_screen.c | 70 +- - src/gallium/drivers/nvfx/nvfx_state.c | 2 +- - src/gallium/drivers/nvfx/nvfx_state_emit.c | 68 +- - src/gallium/drivers/nvfx/nvfx_state_fb.c | 39 +- - src/gallium/drivers/nvfx/nvfx_surface.c | 8 +- - src/gallium/drivers/nvfx/nvfx_vbo.c | 39 +- - src/gallium/drivers/nvfx/nvfx_vertprog.c | 14 +- - src/gallium/targets/dri-nouveau/Makefile | 1 + - src/gallium/targets/xorg-nouveau/Makefile | 1 + - .../winsys/nouveau/drm/nouveau_drm_winsys.c | 3 + - src/mesa/drivers/dri/nouveau/nouveau_texture.c | 6 +- - 74 files changed, 18237 insertions(+), 206 deletions(-) - create mode 100644 src/gallium/drivers/nvc0/Makefile - create mode 100644 src/gallium/drivers/nvc0/SConscript - create mode 100644 src/gallium/drivers/nvc0/nv50_defs.xml.h - create mode 100644 src/gallium/drivers/nvc0/nv50_texture.xml.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_2d.xml.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_3d.xml.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_3ddefs.xml.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_buffer.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_context.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_context.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_draw.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_fence.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_fence.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_formats.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_graph_macros.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_m2mf.xml.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_miptree.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_mm.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_pc.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_pc.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_pc_emit.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_pc_optimize.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_pc_print.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_pc_regalloc.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_program.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_program.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_push.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_push2.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_query.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_resource.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_resource.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_screen.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_screen.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_shader_state.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_state.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_state_validate.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_stateobj.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_surface.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_tex.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_tgsi_to_nc.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_transfer.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_transfer.h - create mode 100644 src/gallium/drivers/nvc0/nvc0_vbo.c - create mode 100644 src/gallium/drivers/nvc0/nvc0_winsys.h - -diff --git a/configure.ac b/configure.ac -index b451f7c..58fc79f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1686,7 +1686,7 @@ AC_ARG_ENABLE([gallium-nouveau], - [enable_gallium_nouveau="$enableval"], - [enable_gallium_nouveau=no]) - if test "x$enable_gallium_nouveau" = xyes; then -- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50" -+ GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0" - gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau" - fi - -diff --git a/src/gallium/drivers/nouveau/nouveau_screen.h b/src/gallium/drivers/nouveau/nouveau_screen.h -index 8c29027..1f4e517 100644 ---- a/src/gallium/drivers/nouveau/nouveau_screen.h -+++ b/src/gallium/drivers/nouveau/nouveau_screen.h -@@ -66,7 +66,7 @@ void nouveau_screen_fini(struct nouveau_screen *); - - - -- -+#ifndef NOUVEAU_NVC0 - static INLINE unsigned - RING_3D(unsigned mthd, unsigned size) - { -@@ -78,5 +78,6 @@ RING_3D_NI(unsigned mthd, unsigned size) - { - return 0x40000000 | (7 << 13) | (size << 18) | mthd; - } -+#endif - - #endif -diff --git a/src/gallium/drivers/nouveau/nouveau_winsys.h b/src/gallium/drivers/nouveau/nouveau_winsys.h -index ab480ca..8dfb84a 100644 ---- a/src/gallium/drivers/nouveau/nouveau_winsys.h -+++ b/src/gallium/drivers/nouveau/nouveau_winsys.h -@@ -10,7 +10,9 @@ - #include "nouveau/nouveau_grobj.h" - #include "nouveau/nouveau_notifier.h" - #include "nouveau/nouveau_resource.h" --#include "nouveau/nouveau_pushbuf.h" -+#ifndef NOUVEAU_NVC0 -+#include "nouveau/nv04_pushbuf.h" -+#endif - - #ifndef NV04_PFIFO_MAX_PACKET_LEN - #define NV04_PFIFO_MAX_PACKET_LEN 2047 -@@ -41,4 +43,7 @@ nvfx_screen_create(struct pipe_winsys *ws, struct nouveau_device *); - extern struct pipe_screen * - nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *); - -+extern struct pipe_screen * -+nvc0_screen_create(struct pipe_winsys *ws, struct nouveau_device *); -+ - #endif -diff --git a/src/gallium/drivers/nouveau/nv_object.xml.h b/src/gallium/drivers/nouveau/nv_object.xml.h -index cb7653c..a5b0d04 100644 ---- a/src/gallium/drivers/nouveau/nv_object.xml.h -+++ b/src/gallium/drivers/nouveau/nv_object.xml.h -@@ -8,12 +8,10 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng - git clone git://0x04.net/rules-ng-ng - - The rules-ng-ng source files this header was generated from are: --- nv30-40_3d.xml ( 31709 bytes, from 2010-09-05 07:53:14) --- copyright.xml ( 6503 bytes, from 2010-04-10 23:15:50) --- nv_3ddefs.xml ( 15193 bytes, from 2010-09-05 07:50:15) --- nv_defs.xml ( 4437 bytes, from 2010-08-05 19:38:53) --- nv_object.xml ( 10424 bytes, from 2010-08-05 19:38:53) --- nvchipsets.xml ( 2824 bytes, from 2010-08-05 19:38:53) -+- nv_object.xml ( 11547 bytes, from 2010-10-24 15:29:34) -+- copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37) -+- nvchipsets.xml ( 2907 bytes, from 2010-10-15 16:28:21) -+- nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58) - - Copyright (C) 2006-2010 by the following authors: - - Artur Huillet <arthur.huillet@free.fr> (ahuillet) -@@ -37,7 +35,7 @@ Copyright (C) 2006-2010 by the following authors: - - Mark Carey <mark.carey@gmail.com> (careym) - - Matthieu Castet <matthieu.castet@parrot.com> (mat-c) - - nvidiaman <nvidiaman@users.sf.net> (nvidiaman) --- Patrice Mandin <mandin.patrice@orange.fr> (pmandin, pmdata) -+- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata) - - Pekka Paalanen <pq@iki.fi> (pq, ppaalanen) - - Peter Popov <ironpeter@users.sf.net> (ironpeter) - - Richard Hughes <hughsient@users.sf.net> (hughsient) -@@ -180,6 +178,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - #define NV50_COMPUTE 0x000050c0 - #define NVA3_COMPUTE 0x000085c0 - #define NVC0_COMPUTE 0x000090c0 -+#define NV84_CRYPT 0x000074c1 - #define NV01_SUBCHAN__SIZE 0x00002000 - #define NV01_SUBCHAN 0x00000000 - -@@ -194,9 +193,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - #define NV84_SUBCHAN_QUERY_GET 0x0000001c - --#define NV84_SUBCHAN_UNK20 0x00000020 -+#define NV84_SUBCHAN_QUERY_INTR 0x00000020 - --#define NV84_SUBCHAN_UNK24 0x00000024 -+#define NV84_SUBCHAN_WRCACHE_FLUSH 0x00000024 - - #define NV10_SUBCHAN_REF_CNT 0x00000050 - -@@ -209,7 +208,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - #define NV11_SUBCHAN_SEMAPHORE_RELEASE 0x0000006c - --#define NV50_SUBCHAN_UNK80 0x00000080 -+#define NV40_SUBCHAN_YIELD 0x00000080 - - #define NV01_GRAPH 0x00000000 - -@@ -227,5 +226,43 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - #define NV40_GRAPH_PM_TRIGGER 0x00000140 - -+#define NVC0_SUBCHAN__SIZE 0x00008000 -+#define NVC0_SUBCHAN 0x00000000 -+ -+#define NVC0_SUBCHAN_OBJECT 0x00000000 -+ -+ -+#define NVC0_SUBCHAN_QUERY_ADDRESS_HIGH 0x00000010 -+ -+#define NVC0_SUBCHAN_QUERY_ADDRESS_LOW 0x00000014 -+ -+#define NVC0_SUBCHAN_QUERY_SEQUENCE 0x00000018 -+ -+#define NVC0_SUBCHAN_QUERY_GET 0x0000001c -+ -+#define NVC0_SUBCHAN_REF_CNT 0x00000050 -+ -+#define NVC0_GRAPH 0x00000000 -+ -+#define NVC0_GRAPH_NOP 0x00000100 -+ -+#define NVC0_GRAPH_NOTIFY_ADDRESS_HIGH 0x00000104 -+ -+#define NVC0_GRAPH_NOTIFY_ADDRESS_LOW 0x00000108 -+ -+#define NVC0_GRAPH_NOTIFY 0x0000010c -+#define NVC0_GRAPH_NOTIFY_WRITE 0x00000000 -+#define NVC0_GRAPH_NOTIFY_WRITE_AND_AWAKEN 0x00000001 -+ -+#define NVC0_GRAPH_SERIALIZE 0x00000110 -+ -+#define NVC0_GRAPH_MACRO_UPLOAD_POS 0x00000114 -+ -+#define NVC0_GRAPH_MACRO_UPLOAD_DATA 0x00000118 -+ -+#define NVC0_GRAPH_MACRO_ID 0x0000011c -+ -+#define NVC0_GRAPH_MACRO_POS 0x00000120 -+ - - #endif /* NV_OBJECT_XML */ -diff --git a/src/gallium/drivers/nv50/nv50_context.c b/src/gallium/drivers/nv50/nv50_context.c -index 0874cb5..4f97616 100644 ---- a/src/gallium/drivers/nv50/nv50_context.c -+++ b/src/gallium/drivers/nv50/nv50_context.c -@@ -49,6 +49,10 @@ nv50_destroy(struct pipe_context *pipe) - struct nv50_context *nv50 = nv50_context(pipe); - int i; - -+ for (i = 0; i < nv50->vtxbuf_nr; i++) { -+ pipe_resource_reference(&nv50->vtxbuf[i].buffer, NULL); -+ } -+ - for (i = 0; i < 64; i++) { - if (!nv50->state.hw[i]) - continue; -diff --git a/src/gallium/drivers/nv50/nv50_shader_state.c b/src/gallium/drivers/nv50/nv50_shader_state.c -index 306aa81..1c1b66d 100644 ---- a/src/gallium/drivers/nv50/nv50_shader_state.c -+++ b/src/gallium/drivers/nv50/nv50_shader_state.c -@@ -71,7 +71,7 @@ nv50_transfer_constbuf(struct nv50_context *nv50, - map += nr; - } - -- pipe_buffer_unmap(pipe, buf, transfer); -+ pipe_buffer_unmap(pipe, transfer); - } - - static void -diff --git a/src/gallium/drivers/nv50/nv50_state.c b/src/gallium/drivers/nv50/nv50_state.c -index f42fa2d..b4eda0f 100644 ---- a/src/gallium/drivers/nv50/nv50_state.c -+++ b/src/gallium/drivers/nv50/nv50_state.c -@@ -721,17 +721,16 @@ nv50_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index, - struct nv50_context *nv50 = nv50_context(pipe); - - if (shader == PIPE_SHADER_VERTEX) { -- nv50->constbuf[PIPE_SHADER_VERTEX] = buf; - nv50->dirty |= NV50_NEW_VERTPROG_CB; - } else - if (shader == PIPE_SHADER_FRAGMENT) { -- nv50->constbuf[PIPE_SHADER_FRAGMENT] = buf; - nv50->dirty |= NV50_NEW_FRAGPROG_CB; -- } else -- if (shader == PIPE_SHADER_GEOMETRY) { -- nv50->constbuf[PIPE_SHADER_GEOMETRY] = buf; -+ } else { -+ assert(shader == PIPE_SHADER_GEOMETRY); - nv50->dirty |= NV50_NEW_GEOMPROG_CB; - } -+ -+ pipe_resource_reference(&nv50->constbuf[shader], buf); - } - - static void -@@ -780,8 +779,9 @@ nv50_set_vertex_buffers(struct pipe_context *pipe, unsigned count, - { - struct nv50_context *nv50 = nv50_context(pipe); - -- memcpy(nv50->vtxbuf, vb, sizeof(*vb) * count); -- nv50->vtxbuf_nr = count; -+ util_copy_vertex_buffers(nv50->vtxbuf, -+ &nv50->vtxbuf_nr, -+ vb, count); - - nv50->dirty |= NV50_NEW_ARRAYS; - } -diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c -index ce48022..a99df76 100644 ---- a/src/gallium/drivers/nv50/nv50_surface.c -+++ b/src/gallium/drivers/nv50/nv50_surface.c -@@ -22,7 +22,7 @@ - - #define __NOUVEAU_PUSH_H__ - #include <stdint.h> --#include "nouveau/nouveau_pushbuf.h" -+#include "nouveau/nv04_pushbuf.h" - #include "nv50_context.h" - #include "nv50_resource.h" - #include "pipe/p_defines.h" -diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c -index d41a59d..53f319a 100644 ---- a/src/gallium/drivers/nv50/nv50_vbo.c -+++ b/src/gallium/drivers/nv50/nv50_vbo.c -@@ -284,7 +284,7 @@ nv50_draw_elements_inline(struct pipe_context *pipe, - nzi = TRUE; - } - -- pipe_buffer_unmap(pipe, indexBuffer, transfer); -+ pipe_buffer_unmap(pipe, transfer); - } - - static void -diff --git a/src/gallium/drivers/nvc0/Makefile b/src/gallium/drivers/nvc0/Makefile -new file mode 100644 -index 0000000..da8f9a2 ---- /dev/null -+++ b/src/gallium/drivers/nvc0/Makefile -@@ -0,0 +1,34 @@ -+TOP = ../../../.. -+include $(TOP)/configs/current -+ -+LIBNAME = nvc0 -+ -+C_SOURCES = \ -+ nvc0_buffer.c \ -+ nvc0_context.c \ -+ nvc0_draw.c \ -+ nvc0_formats.c \ -+ nvc0_miptree.c \ -+ nvc0_resource.c \ -+ nvc0_screen.c \ -+ nvc0_state.c \ -+ nvc0_state_validate.c \ -+ nvc0_surface.c \ -+ nvc0_tex.c \ -+ nvc0_transfer.c \ -+ nvc0_vbo.c \ -+ nvc0_program.c \ -+ nvc0_shader_state.c \ -+ nvc0_pc.c \ -+ nvc0_pc_print.c \ -+ nvc0_pc_emit.c \ -+ nvc0_tgsi_to_nc.c \ -+ nvc0_pc_optimize.c \ -+ nvc0_pc_regalloc.c \ -+ nvc0_push.c \ -+ nvc0_push2.c \ -+ nvc0_fence.c \ -+ nvc0_mm.c \ -+ nvc0_query.c -+ -+include ../../Makefile.template -diff --git a/src/gallium/drivers/nvc0/SConscript b/src/gallium/drivers/nvc0/SConscript -new file mode 100644 -index 0000000..c49e0dd ---- /dev/null -+++ b/src/gallium/drivers/nvc0/SConscript -@@ -0,0 +1,36 @@ -+Import('*') -+ -+env = env.Clone() -+ -+nvc0 = env.ConvenienceLibrary( -+ target = 'nvc0', -+ source = [ -+ 'nvc0_buffer.c', -+ 'nvc0_context.c', -+ 'nvc0_draw.c', -+ 'nvc0_formats.c', -+ 'nvc0_miptree.c', -+ 'nvc0_resource.c', -+ 'nvc0_screen.c', -+ 'nvc0_state.c', -+ 'nvc0_state_validate.c', -+ 'nvc0_surface.c', -+ 'nvc0_tex.c', -+ 'nvc0_transfer.c', -+ 'nvc0_vbo.c', -+ 'nvc0_program.c', -+ 'nvc0_shader_state.c', -+ 'nvc0_pc.c', -+ 'nvc0_pc_print.c', -+ 'nvc0_pc_emit.c', -+ 'nvc0_tgsi_to_nc.c', -+ 'nvc0_pc_optimize.c', -+ 'nvc0_pc_regalloc.c', -+ 'nvc0_push.c', -+ 'nvc0_push2.c', -+ 'nvc0_fence.c', -+ 'nvc0_mm.c', -+ 'nvc0_query.c' -+ ]) -+ -+Export('nvc0') -diff --git a/src/gallium/drivers/nvc0/nv50_defs.xml.h b/src/gallium/drivers/nvc0/nv50_defs.xml.h -new file mode 100644 -index 0000000..1bf2f80 ---- /dev/null -+++ b/src/gallium/drivers/nvc0/nv50_defs.xml.h -@@ -0,0 +1,142 @@ -+#ifndef NV50_DEFS_XML -+#define NV50_DEFS_XML -+ -+/* Autogenerated file, DO NOT EDIT manually! -+ -+This file was generated by the rules-ng-ng headergen tool in this git repository: -+http://0x04.net/cgit/index.cgi/rules-ng-ng -+git clone git://0x04.net/rules-ng-ng -+ -+The rules-ng-ng source files this header was generated from are: -+- nv50_defs.xml ( 4482 bytes, from 2010-10-03 13:18:37) -+- copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37) -+ -+Copyright (C) 2006-2010 by the following authors: -+- Artur Huillet <arthur.huillet@free.fr> (ahuillet) -+- Ben Skeggs (darktama, darktama_) -+- B. R. <koala_br@users.sourceforge.net> (koala_br) -+- Carlos Martin <carlosmn@users.sf.net> (carlosmn) -+- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr) -+- Dawid Gajownik <gajownik@users.sf.net> (gajownik) -+- Dmitry Baryshkov -+- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag) -+- EdB <edb_@users.sf.net> (edb_) -+- Erik Waling <erikwailing@users.sf.net> (erikwaling) -+- Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez) -+- imirkin <imirkin@users.sf.net> (imirkin) -+- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome) -+- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy) -+- Laurent Carlier <lordheavym@gmail.com> (lordheavy) -+- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1) -+- Maarten Maathuis <madman2003@gmail.com> (stillunknown) -+- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin) -+- Mark Carey <mark.carey@gmail.com> (careym) -+- Matthieu Castet <matthieu.castet@parrot.com> (mat-c) -+- nvidiaman <nvidiaman@users.sf.net> (nvidiaman) -+- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata) -+- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen) -+- Peter Popov <ironpeter@users.sf.net> (ironpeter) -+- Richard Hughes <hughsient@users.sf.net> (hughsient) -+- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar) -+- Serge Martin -+- Simon Raffeiner -+- Stephane Loeuillet <leroutier@users.sf.net> (leroutier) -+- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu) -+- sturmflut <sturmflut@users.sf.net> (sturmflut) -+- Sylvain Munaut <tnt@246tNt.com> -+- Victor Stinner <victor.stinner@haypocalc.com> (haypo) -+- Wladmir van der Laan <laanwj@gmail.com> (miathan6) -+- Younes Manton <younes.m@gmail.com> (ymanton) -+ -+Permission is hereby granted, free of charge, to any person obtaining -+a copy of this software and associated documentation files (the -+"Software"), to deal in the Software without restriction, including -+without limitation the rights to use, copy, modify, merge, publish, -+distribute, sublicense, and/or sell copies of the Software, and to -+permit persons to whom the Software is furnished to do so, subject to -+the following conditions: -+ -+The above copyright notice and this permission notice (including the -+next paragraph) shall be included in all copies or substantial -+portions of the Software. -+ -+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE -+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -+*/ -+ -+ -+#define NV50_SURFACE_FORMAT_R32G32B32A32_FLOAT 0x000000c0 -+#define NV50_SURFACE_FORMAT_R32G32B32A32_SINT 0x000000c1 -+#define NV50_SURFACE_FORMAT_R32G32B32A32_UINT 0x000000c2 -+#define NV50_SURFACE_FORMAT_R32G32B32X32_FLOAT 0x000000c3 -+#define NV50_SURFACE_FORMAT_R16G16B16A16_UNORM 0x000000c6 -+#define NV50_SURFACE_FORMAT_R16G16B16A16_SNORM 0x000000c7 -+#define NV50_SURFACE_FORMAT_R16G16B16A16_SINT 0x000000c8 -+#define NV50_SURFACE_FORMAT_R16G16B16A16_UINT 0x000000c9 -+#define NV50_SURFACE_FORMAT_R16G16B16A16_FLOAT 0x000000ca -+#define NV50_SURFACE_FORMAT_R32G32_FLOAT 0x000000cb -+#define NV50_SURFACE_FORMAT_R32G32_SINT 0x000000cc -+#define NV50_SURFACE_FORMAT_R32G32_UINT 0x000000cd -+#define NV50_SURFACE_FORMAT_R16G16B16X16_FLOAT 0x000000ce -+#define NV50_SURFACE_FORMAT_A8R8G8B8_UNORM 0x000000cf -+#define NV50_SURFACE_FORMAT_A8R8G8B8_SRGB 0x000000d0 -+#define NV50_SURFACE_FORMAT_A2B10G10R10_UNORM 0x000000d1 -+#define NV50_SURFACE_FORMAT_A2B10G10R10_UINT 0x000000d2 -+#define NV50_SURFACE_FORMAT_A8B8G8R8_UNORM 0x000000d5 -+#define NV50_SURFACE_FORMAT_A8B8G8R8_SRGB 0x000000d6 -+#define NV50_SURFACE_FORMAT_A8B8G8R8_SNORM 0x000000d7 -+#define NV50_SURFACE_FORMAT_A8B8G8R8_SINT 0x000000d8 -+#define NV50_SURFACE_FORMAT_A8B8G8R8_UINT 0x000000d9 -+#define NV50_SURFACE_FORMAT_R16G16_UNORM 0x000000da -+#define NV50_SURFACE_FORMAT_R16G16_SNORM 0x000000db -+#define NV50_SURFACE_FORMAT_R16G16_SINT 0x000000dc -+#define NV50_SURFACE_FORMAT_R16G16_UINT 0x000000dd -+#define NV50_SURFACE_FORMAT_R16G16_FLOAT 0x000000de -+#define NV50_SURFACE_FORMAT_A2R10G10B10_UNORM 0x000000df -+#define NV50_SURFACE_FORMAT_B10G11R11_FLOAT 0x000000e0 -+#define NV50_SURFACE_FORMAT_R32_FLOAT 0x000000e5 -+#define NV50_SURFACE_FORMAT_X8R8G8B8_UNORM 0x000000e6 -+#define NV50_SURFACE_FORMAT_X8R8G8B8_SRGB 0x000000e7 -+#define NV50_SURFACE_FORMAT_R5G6B5_UNORM 0x000000e8 -+#define NV50_SURFACE_FORMAT_A1R5G5B5_UNORM 0x000000e9 -+#define NV50_SURFACE_FORMAT_R8G8_UNORM 0x000000ea -+#define NV50_SURFACE_FORMAT_R8G8_SNORM 0x000000eb -+#define NV50_SURFACE_FORMAT_R8G8_SINT 0x000000ec -+#define NV50_SURFACE_FORMAT_R8G8_UINT 0x000000ed -+#define NV50_SURFACE_FORMAT_R16_UNORM 0x000000ee -+#define NV50_SURFACE_FORMAT_R16_SNORM 0x000000ef -+#define NV50_SURFACE_FORMAT_R16_SINT 0x000000f0 -+#define NV50_SURFACE_FORMAT_R16_UINT 0x000000f1 -+#define NV50_SURFACE_FORMAT_R16_FLOAT 0x000000f2 -+#define NV50_SURFACE_FORMAT_R8_UNORM 0x000000f3 -+#define NV50_SURFACE_FORMAT_R8_SNORM 0x000000f4 -+#define NV50_SURFACE_FORMAT_R8_SINT 0x000000f5 -+#define NV50_SURFACE_FORMAT_R8_UINT 0x000000f6 -+#define NV50_SURFACE_FORMAT_A8_UNORM 0x000000f7 -+#define NV50_SURFACE_FORMAT_X1R5G5B5_UNORM 0x000000f8 -+#define NV50_SURFACE_FORMAT_X8B8G8R8_UNORM 0x000000f9 -+#define NV50_SURFACE_FORMAT_X8B8G8R8_SRGB 0x000000fa -+#define NV50_ZETA_FORMAT_Z32_FLOAT 0x0000000a -+#define NV50_ZETA_FORMAT_Z16_UNORM 0x00000013 -+#define NV50_ZETA_FORMAT_Z24S8_UNORM 0x00000014 -+#define NV50_ZETA_FORMAT_X8Z24_UNORM 0x00000015 -+#define NV50_ZETA_FORMAT_S8Z24_UNORM 0x00000016 -+#define NV50_ZETA_FORMAT_UNK18 0x00000018 -+#define NV50_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM 0x00000019 -+#define NV50_ZETA_FORMAT_UNK1D 0x0000001d -+#define NV50_ZETA_FORMAT_UNK1E 0x0000001e -+#define NV50_ZETA_FORMAT_UNK1F 0x0000001f -+#define NV50_QUERY__SIZE 0x00000010 -+#define NV50_QUERY_COUNTER 0x00000000 -+ -+#define NV50_QUERY_RES 0x00000004 -+ -+#define NV50_QUERY_TIME 0x00000008 -+ -+ -+#endif /* NV50_DEFS_XML */ -diff --git a/src/gallium/drivers/nvc0/nv50_texture.xml.h b/src/gallium/drivers/nvc0/nv50_texture.xml.h -new file mode 100644 -index 0000000..9f83206 ---- /dev/null -+++ b/src/gallium/drivers/nvc0/nv50_texture.xml.h -@@ -0,0 +1,259 @@ -+#ifndef NV50_TEXTURE_XML -+#define NV50_TEXTURE_XML -+ -+/* Autogenerated file, DO NOT EDIT manually! -+ -+This file was generated by the rules-ng-ng headergen tool in this git repository: -+http://0x04.net/cgit/index.cgi/rules-ng-ng -+git clone git://0x04.net/rules-ng-ng -+ -+The rules-ng-ng source files this header was generated from are: -+- nv50_texture.xml ( 6871 bytes, from 2010-10-03 13:18:37) -+- copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37) -+ -+Copyright (C) 2006-2010 by the following authors: -+- Artur Huillet <arthur.huillet@free.fr> (ahuillet) -+- Ben Skeggs (darktama, darktama_) -+- B. R. <koala_br@users.sourceforge.net> (koala_br) -+- Carlos Martin <carlosmn@users.sf.net> (carlosmn) -+- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr) -+- Dawid Gajownik <gajownik@users.sf.net> (gajownik) -+- Dmitry Baryshkov -+- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag) -+- EdB <edb_@users.sf.net> (edb_) -+- Erik Waling <erikwailing@users.sf.net> (erikwaling) -+- Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez) -+- imirkin <imirkin@users.sf.net> (imirkin) -+- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome) -+- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy) -+- Laurent Carlier <lordheavym@gmail.com> (lordheavy) -+- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1) -+- Maarten Maathuis <madman2003@gmail.com> (stillunknown) -+- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin) -+- Mark Carey <mark.carey@gmail.com> (careym) -+- Matthieu Castet <matthieu.castet@parrot.com> (mat-c) -+- nvidiaman <nvidiaman@users.sf.net> (nvidiaman) -+- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata) -+- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen) -+- Peter Popov <ironpeter@users.sf.net> (ironpeter) -+- Richard Hughes <hughsient@users.sf.net> (hughsient) -+- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar) -+- Serge Martin -+- Simon Raffeiner -+- Stephane Loeuillet <leroutier@users.sf.net> (leroutier) -+- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu) -+- sturmflut <sturmflut@users.sf.net> (sturmflut) -+- Sylvain Munaut <tnt@246tNt.com> -+- Victor Stinner <victor.stinner@haypocalc.com> (haypo) -+- Wladmir van der Laan <laanwj@gmail.com> (miathan6) -+- Younes Manton <younes.m@gmail.com> (ymanton) -+ -+Permission is hereby granted, free of charge, to any person obtaining -+a copy of this software and associated documentation files (the -+"Software"), to deal in the Software without restriction, including -+without limitation the rights to use, copy, modify, merge, publish, -+distribute, sublicense, and/or sell copies of the Software, and to -+permit persons to whom the Software is furnished to do so, subject to -+the following conditions: -+ -+The above copyright notice and this permission notice (including the -+next paragraph) shall be included in all copies or substantial -+portions of the Software. -+ -+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE -+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -+*/ -+ -+ -+#define NV50_TIC_MAP_ZERO 0x00000000 -+#define NV50_TIC_MAP_C0 0x00000002 -+#define NV50_TIC_MAP_C1 0x00000003 -+#define NV50_TIC_MAP_C2 0x00000004 -+#define NV50_TIC_MAP_C3 0x00000005 -+#define NV50_TIC_MAP_ONE 0x00000007 -+#define NV50_TIC_TYPE_SNORM 0x00000001 -+#define NV50_TIC_TYPE_UNORM 0x00000002 -+#define NV50_TIC_TYPE_SINT 0x00000003 -+#define NV50_TIC_TYPE_UINT 0x00000004 -+#define NV50_TIC_TYPE_SSCALED 0x00000005 -+#define NV50_TIC_TYPE_USCALED 0x00000006 -+#define NV50_TIC_TYPE_FLOAT 0x00000007 -+#define NV50_TSC_WRAP_REPEAT 0x00000000 -+#define NV50_TSC_WRAP_MIRROR_REPEAT 0x00000001 -+#define NV50_TSC_WRAP_CLAMP_TO_EDGE 0x00000002 -+#define NV50_TSC_WRAP_CLAMP_TO_BORDER 0x00000003 -+#define NV50_TSC_WRAP_CLAMP 0x00000004 -+#define NV50_TSC_WRAP_MIRROR_CLAMP_TO_EDGE 0x00000005 -+#define NV50_TSC_WRAP_MIRROR_CLAMP_TO_BORDER 0x00000006 -+#define NV50_TSC_WRAP_MIRROR_CLAMP 0x00000007 -+#define NV50_TIC__SIZE 0x00000020 -+#define NV50_TIC_0 0x00000000 -+#define NV50_TIC_0_MAPA__MASK 0x38000000 -+#define NV50_TIC_0_MAPA__SHIFT 27 -+#define NV50_TIC_0_MAPB__MASK 0x07000000 -+#define NV50_TIC_0_MAPB__SHIFT 24 -+#define NV50_TIC_0_MAPG__MASK 0x00e00000 -+#define NV50_TIC_0_MAPG__SHIFT 21 -+#define NV50_TIC_0_MAPR__MASK 0x001c0000 -+#define NV50_TIC_0_MAPR__SHIFT 18 -+#define NV50_TIC_0_TYPE3__MASK 0x00038000 -+#define NV50_TIC_0_TYPE3__SHIFT 15 -+#define NV50_TIC_0_TYPE2__MASK 0x00007000 -+#define NV50_TIC_0_TYPE2__SHIFT 12 -+#define NV50_TIC_0_TYPE1__MASK 0x00000e00 -+#define NV50_TIC_0_TYPE1__SHIFT 9 -+#define NV50_TIC_0_TYPE0__MASK 0x000001c0 -+#define NV50_TIC_0_TYPE0__SHIFT 6 -+#define NV50_TIC_0_SWIZZLE__MASK 0x3ffc0000 -+#define NV50_TIC_0_FMT__MASK 0x0000003f -+#define NV50_TIC_0_FMT__SHIFT 0 -+#define NV50_TIC_0_FMT_32_32_32_32 0x00000001 -+#define NV50_TIC_0_FMT_16_16_16_16 0x00000003 -+#define NV50_TIC_0_FMT_32_32 0x00000004 -+#define NV50_TIC_0_FMT_32_8 0x00000005 -+#define NV50_TIC_0_FMT_8_8_8_8 0x00000008 -+#define NV50_TIC_0_FMT_2_10_10_10 0x00000009 -+#define NV50_TIC_0_FMT_16_16 0x0000000c -+#define NV50_TIC_0_FMT_8_24 0x0000000d -+#define NV50_TIC_0_FMT_24_8 0x0000000e -+#define NV50_TIC_0_FMT_32 0x0000000f -+#define NV50_TIC_0_FMT_4_4_4_4 0x00000012 -+#define NV50_TIC_0_FMT_5_5_5_1 0x00000013 -+#define NV50_TIC_0_FMT_1_5_5_5 0x00000014 -+#define NV50_TIC_0_FMT_5_6_5 0x00000015 -+#define NV50_TIC_0_FMT_6_5_5 0x00000016 -+#define NV50_TIC_0_FMT_8_8 0x00000018 -+#define NV50_TIC_0_FMT_16 0x0000 |