nv30, nv40: unify identical nv[34]0_state_blend.c
authorLuca Barbieri <luca@luca-barbieri.com>
Sat, 20 Feb 2010 19:37:17 +0000 (20:37 +0100)
committerYounes Manton <younes.m@gmail.com>
Mon, 15 Mar 2010 04:03:01 +0000 (00:03 -0400)
src/gallium/drivers/nv30/Makefile
src/gallium/drivers/nv30/nv30_context.h
src/gallium/drivers/nv30/nv30_state_blend.c [deleted file]
src/gallium/drivers/nv40/Makefile
src/gallium/drivers/nv40/nv40_context.h
src/gallium/drivers/nv40/nv40_state_blend.c [deleted file]
src/gallium/drivers/nvfx/Makefile
src/gallium/drivers/nvfx/nvfx_context.h
src/gallium/drivers/nvfx/nvfx_state_blend.c [new file with mode: 0644]
src/gallium/drivers/nvfx/nvfx_state_emit.c

index 3067e45062848b35a1aa136bd7bca8ca669bab5a..66dad8f3586191718ac1e86cfebce5ae6401e4fd 100644 (file)
@@ -12,7 +12,6 @@ C_SOURCES = \
        nv30_query.c \
        nv30_screen.c \
        nv30_state.c \
-       nv30_state_blend.c \
        nv30_state_fb.c \
        nv30_state_rasterizer.c \
        nv30_state_scissor.c \
index a6767da4dc19e40d06908ec006a6b193991e6c3a..e6194b23f5fa2100eef77e5590e413685fa76fad 100644 (file)
@@ -29,8 +29,6 @@ extern struct nvfx_state_entry nv30_state_scissor;
 extern struct nvfx_state_entry nv30_state_stipple;
 extern struct nvfx_state_entry nv30_state_fragprog;
 extern struct nvfx_state_entry nv30_state_vertprog;
-extern struct nvfx_state_entry nv30_state_blend;
-extern struct nvfx_state_entry nv30_state_blend_colour;
 extern struct nvfx_state_entry nv30_state_zsa;
 extern struct nvfx_state_entry nv30_state_viewport;
 extern struct nvfx_state_entry nv30_state_framebuffer;
diff --git a/src/gallium/drivers/nv30/nv30_state_blend.c b/src/gallium/drivers/nv30/nv30_state_blend.c
deleted file mode 100644 (file)
index de368e5..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#include "nv30_context.h"
-
-static boolean
-nv30_state_blend_validate(struct nvfx_context *nvfx)
-{
-       so_ref(nvfx->blend->so, &nvfx->state.hw[NVFX_STATE_BLEND]);
-       return TRUE;
-}
-
-struct nvfx_state_entry nv30_state_blend = {
-       .validate = nv30_state_blend_validate,
-       .dirty = {
-               .pipe = NVFX_NEW_BLEND,
-               .hw = NVFX_STATE_BLEND
-       }
-};
-
-static boolean
-nv30_state_blend_colour_validate(struct nvfx_context *nvfx)
-{
-       struct nouveau_stateobj *so = so_new(1, 1, 0);
-       struct pipe_blend_color *bcol = &nvfx->blend_colour;
-
-       so_method(so, nvfx->screen->eng3d, NV34TCL_BLEND_COLOR, 1);
-       so_data  (so, ((float_to_ubyte(bcol->color[3]) << 24) |
-                      (float_to_ubyte(bcol->color[0]) << 16) |
-                      (float_to_ubyte(bcol->color[1]) <<  8) |
-                      (float_to_ubyte(bcol->color[2]) <<  0)));
-
-       so_ref(so, &nvfx->state.hw[NVFX_STATE_BCOL]);
-       so_ref(NULL, &so);
-       return TRUE;
-}
-
-struct nvfx_state_entry nv30_state_blend_colour = {
-       .validate = nv30_state_blend_colour_validate,
-       .dirty = {
-               .pipe = NVFX_NEW_BCOL,
-               .hw = NVFX_STATE_BCOL
-       }
-};
index b0c0c09d517e5959c08951f31d185afda452dbc0..739ca43387638418156005a6039dc51e7f705a0b 100644 (file)
@@ -12,7 +12,6 @@ C_SOURCES = \
        nv40_query.c \
        nv40_screen.c \
        nv40_state.c \
-       nv40_state_blend.c \
        nv40_state_fb.c \
        nv40_state_rasterizer.c \
        nv40_state_scissor.c \
index 0b875bcb0659fbb04edbee5e35919773a52820c0..28a79e4ecffab727b444247256e0c86d75df7443 100644 (file)
@@ -33,8 +33,6 @@ extern struct nvfx_state_entry nv40_state_scissor;
 extern struct nvfx_state_entry nv40_state_stipple;
 extern struct nvfx_state_entry nv40_state_fragprog;
 extern struct nvfx_state_entry nv40_state_vertprog;
-extern struct nvfx_state_entry nv40_state_blend;
-extern struct nvfx_state_entry nv40_state_blend_colour;
 extern struct nvfx_state_entry nv40_state_zsa;
 extern struct nvfx_state_entry nv40_state_viewport;
 extern struct nvfx_state_entry nv40_state_framebuffer;
diff --git a/src/gallium/drivers/nv40/nv40_state_blend.c b/src/gallium/drivers/nv40/nv40_state_blend.c
deleted file mode 100644 (file)
index bb06b48..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#include "nv40_context.h"
-
-static boolean
-nv40_state_blend_validate(struct nvfx_context *nvfx)
-{
-       so_ref(nvfx->blend->so, &nvfx->state.hw[NVFX_STATE_BLEND]);
-       return TRUE;
-}
-
-struct nvfx_state_entry nv40_state_blend = {
-       .validate = nv40_state_blend_validate,
-       .dirty = {
-               .pipe = NVFX_NEW_BLEND,
-               .hw = NVFX_STATE_BLEND
-       }
-};
-
-static boolean
-nv40_state_blend_colour_validate(struct nvfx_context *nvfx)
-{
-       struct nouveau_stateobj *so = so_new(1, 1, 0);
-       struct pipe_blend_color *bcol = &nvfx->blend_colour;
-
-       so_method(so, nvfx->screen->eng3d, NV34TCL_BLEND_COLOR, 1);
-       so_data  (so, ((float_to_ubyte(bcol->color[3]) << 24) |
-                      (float_to_ubyte(bcol->color[0]) << 16) |
-                      (float_to_ubyte(bcol->color[1]) <<  8) |
-                      (float_to_ubyte(bcol->color[2]) <<  0)));
-
-       so_ref(so, &nvfx->state.hw[NVFX_STATE_BCOL]);
-       so_ref(NULL, &so);
-       return TRUE;
-}
-
-struct nvfx_state_entry nv40_state_blend_colour = {
-       .validate = nv40_state_blend_colour_validate,
-       .dirty = {
-               .pipe = NVFX_NEW_BCOL,
-               .hw = NVFX_STATE_BCOL
-       }
-};
index 0eb1bebeb3096b8986f666654bbab9cad5849a22..d124de89ec8768f62ce03abd649dfaa96381c206 100644 (file)
@@ -6,6 +6,7 @@ LIBNAME = nvfx
 C_SOURCES = \
        nvfx_clear.c \
        nvfx_state_emit.c \
+       nvfx_state_blend.c \
        nvfx_transfer.c
 
 include ../../Makefile.template
index 3d4bc6bbc937b9dbbd75950cdfeed045ce071dc0..bbffb8a18d2f72b4097b6e3e04cb41cc843febc1 100644 (file)
@@ -181,6 +181,9 @@ struct nvfx_state_entry {
        } dirty;
 };
 
+extern struct nvfx_state_entry nvfx_state_blend;
+extern struct nvfx_state_entry nvfx_state_blend_colour;
+
 /* nvfx_clear.c */
 extern void nvfx_clear(struct pipe_context *pipe, unsigned buffers,
                       const float *rgba, double depth, unsigned stencil);
diff --git a/src/gallium/drivers/nvfx/nvfx_state_blend.c b/src/gallium/drivers/nvfx/nvfx_state_blend.c
new file mode 100644 (file)
index 0000000..03b6ef8
--- /dev/null
@@ -0,0 +1,41 @@
+#include "nvfx_context.h"
+
+static boolean
+nvfx_state_blend_validate(struct nvfx_context *nvfx)
+{
+       so_ref(nvfx->blend->so, &nvfx->state.hw[NVFX_STATE_BLEND]);
+       return TRUE;
+}
+
+struct nvfx_state_entry nvfx_state_blend = {
+       .validate = nvfx_state_blend_validate,
+       .dirty = {
+               .pipe = NVFX_NEW_BLEND,
+               .hw = NVFX_STATE_BLEND
+       }
+};
+
+static boolean
+nvfx_state_blend_colour_validate(struct nvfx_context *nvfx)
+{
+       struct nouveau_stateobj *so = so_new(1, 1, 0);
+       struct pipe_blend_color *bcol = &nvfx->blend_colour;
+
+       so_method(so, nvfx->screen->eng3d, NV34TCL_BLEND_COLOR, 1);
+       so_data  (so, ((float_to_ubyte(bcol->color[3]) << 24) |
+                      (float_to_ubyte(bcol->color[0]) << 16) |
+                      (float_to_ubyte(bcol->color[1]) <<  8) |
+                      (float_to_ubyte(bcol->color[2]) <<  0)));
+
+       so_ref(so, &nvfx->state.hw[NVFX_STATE_BCOL]);
+       so_ref(NULL, &so);
+       return TRUE;
+}
+
+struct nvfx_state_entry nvfx_state_blend_colour = {
+       .validate = nvfx_state_blend_colour_validate,
+       .dirty = {
+               .pipe = NVFX_NEW_BCOL,
+               .hw = NVFX_STATE_BCOL
+       }
+};
index 9582ba9648c29d7bcab6ce9ad8041b1f1bea0f79..059bbb14b72ac8b22aaa7a9a32a51d69a57395e3 100644 (file)
@@ -12,8 +12,8 @@ static struct nvfx_state_entry *name##_render_states[] = { \
        &nvxx##_state_fragprog, \
        &nvxx##_state_fragtex, \
        &nvxx##_state_vertprog, \
-       &nvxx##_state_blend, \
-       &nvxx##_state_blend_colour, \
+       &nvfx_state_blend, \
+       &nvfx_state_blend_colour, \
        &nvxx##_state_zsa, \
        &nvxx##_state_sr, \
        &nvxx##_state_viewport, \