summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvfx/nvfx_state_zsa.c
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-02-23 16:48:22 +0100
committerLuca Barbieri <luca@luca-barbieri.com>2010-04-12 12:21:25 +0200
commit330925d9118120863f5e76e01fdfa1a1f44be2b1 (patch)
treefeb63f5237b7d1cc2cd8ff8a0f3f90774c030cb9 /src/gallium/drivers/nvfx/nvfx_state_zsa.c
parent26e40448becb07e292d269dc4d8fbc56caebba3c (diff)
nvfx: rework validation logic to use code and avoid stateobjs
This makes the code faster due to the lack of indirect calls and also makes it much easier to understand what is actually going on.
Diffstat (limited to 'src/gallium/drivers/nvfx/nvfx_state_zsa.c')
-rw-r--r--src/gallium/drivers/nvfx/nvfx_state_zsa.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/src/gallium/drivers/nvfx/nvfx_state_zsa.c b/src/gallium/drivers/nvfx/nvfx_state_zsa.c
index ba2261c422..608605d32b 100644
--- a/src/gallium/drivers/nvfx/nvfx_state_zsa.c
+++ b/src/gallium/drivers/nvfx/nvfx_state_zsa.c
@@ -1,21 +1,13 @@
#include "nvfx_context.h"
-static boolean
+void
nvfx_state_zsa_validate(struct nvfx_context *nvfx)
{
struct nouveau_channel* chan = nvfx->screen->base.channel;
sb_emit(chan, nvfx->zsa->sb, nvfx->zsa->sb_len);
- return TRUE;
}
-struct nvfx_state_entry nvfx_state_zsa = {
- .validate = nvfx_state_zsa_validate,
- .dirty = {
- .pipe = NVFX_NEW_ZSA,
- }
-};
-
-static boolean
+void
nvfx_state_sr_validate(struct nvfx_context *nvfx)
{
struct nouveau_channel* chan = nvfx->screen->base.channel;
@@ -26,12 +18,4 @@ nvfx_state_sr_validate(struct nvfx_context *nvfx)
OUT_RING(chan, sr->ref_value[0]);
OUT_RING(chan, RING_3D(NV34TCL_STENCIL_BACK_FUNC_REF, 1));
OUT_RING(chan, sr->ref_value[1]);
- return TRUE;
}
-
-struct nvfx_state_entry nvfx_state_sr = {
- .validate = nvfx_state_sr_validate,
- .dirty = {
- .pipe = NVFX_NEW_SR,
- }
-};