Module: Mesa
Branch: master
Commit: b6469a8dc712f550bafef624f854f265c5c8360f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6469a8dc712f550bafef624f854f265c5c8360f

Author: Dave Airlie <[email protected]>
Date:   Sat Sep 25 20:23:44 2010 +1000

r600g: add eg db count control register.

---

 src/gallium/drivers/r600/eg_hw_states.c  |    5 +++--
 src/gallium/drivers/r600/eg_states_inc.h |   15 ++++++++-------
 src/gallium/winsys/r600/drm/eg_states.h  |    1 +
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/gallium/drivers/r600/eg_hw_states.c 
b/src/gallium/drivers/r600/eg_hw_states.c
index 272972d..889eeda 100644
--- a/src/gallium/drivers/r600/eg_hw_states.c
+++ b/src/gallium/drivers/r600/eg_hw_states.c
@@ -364,6 +364,7 @@ static void eg_dsa(struct r600_context *rctx, struct 
radeon_state *rstate)
        struct r600_screen *rscreen = rctx->screen;
        unsigned db_depth_control, alpha_test_control, alpha_ref, 
db_shader_control;
        unsigned stencil_ref_mask, stencil_ref_mask_bf, db_render_override, 
db_render_control;
+       unsigned db_count_control = 0;
        struct r600_shader *rshader;
        struct r600_query *rquery = NULL;
        boolean query_running;
@@ -439,7 +440,7 @@ static void eg_dsa(struct r600_context *rctx, struct 
radeon_state *rstate)
 
        if (query_running) {
                db_render_override |= S_02800C_NOOP_CULL_DISABLE(1);
-//             db_render_control |= S_028000_PERFECT_ZPASS_COUNTS(1);
+               db_count_control |= S_028004_PERFECT_ZPASS_COUNTS(1);
        }
 
        rstate->states[EG_DSA__DB_STENCIL_CLEAR] = 0x00000000;
@@ -455,7 +456,7 @@ static void eg_dsa(struct r600_context *rctx, struct 
radeon_state *rstate)
        rstate->states[EG_DSA__DB_SHADER_CONTROL] = db_shader_control;
        rstate->states[EG_DSA__DB_RENDER_CONTROL] = db_render_control;
        rstate->states[EG_DSA__DB_RENDER_OVERRIDE] = db_render_override;
-         
+       rstate->states[EG_DSA__DB_COUNT_CONTROL] = db_count_control;
        rstate->states[EG_DSA__DB_SRESULTS_COMPARE_STATE1] = 0x00000000;
        rstate->states[EG_DSA__DB_PRELOAD_CONTROL] = 0x00000000;
        rstate->states[EG_DSA__DB_ALPHA_TO_MASK] = 0x0000AA00;
diff --git a/src/gallium/drivers/r600/eg_states_inc.h 
b/src/gallium/drivers/r600/eg_states_inc.h
index 9f8007c..1379c11 100644
--- a/src/gallium/drivers/r600/eg_states_inc.h
+++ b/src/gallium/drivers/r600/eg_states_inc.h
@@ -150,13 +150,14 @@
 #define EG_DSA__DB_DEPTH_CONTROL               7
 #define EG_DSA__DB_SHADER_CONTROL              8
 #define EG_DSA__DB_RENDER_CONTROL              9
-#define EG_DSA__DB_RENDER_OVERRIDE             10
-#define EG_DSA__DB_RENDER_OVERRIDE2            11
-#define EG_DSA__DB_SRESULTS_COMPARE_STATE0             12
-#define EG_DSA__DB_SRESULTS_COMPARE_STATE1             13
-#define EG_DSA__DB_PRELOAD_CONTROL             14
-#define EG_DSA__DB_ALPHA_TO_MASK               15
-#define EG_DSA_SIZE            16
+#define EG_DSA__DB_COUNT_CONTROL               10
+#define EG_DSA__DB_RENDER_OVERRIDE             11
+#define EG_DSA__DB_RENDER_OVERRIDE2            12
+#define EG_DSA__DB_SRESULTS_COMPARE_STATE0             13
+#define EG_DSA__DB_SRESULTS_COMPARE_STATE1             14
+#define EG_DSA__DB_PRELOAD_CONTROL             15
+#define EG_DSA__DB_ALPHA_TO_MASK               16
+#define EG_DSA_SIZE            17
 #define EG_DSA_PM4 128         
 
 /* EG_VS_SHADER */
diff --git a/src/gallium/winsys/r600/drm/eg_states.h 
b/src/gallium/winsys/r600/drm/eg_states.h
index d87109f..ced7f14 100644
--- a/src/gallium/winsys/r600/drm/eg_states.h
+++ b/src/gallium/winsys/r600/drm/eg_states.h
@@ -164,6 +164,7 @@ static const struct radeon_register EG_names_DSA[] = {
        {0x00028800, 0, 0, "DB_DEPTH_CONTROL"},
        {0x0002880C, 0, 0, "DB_SHADER_CONTROL"},
        {0x00028000, 0, 0, "DB_RENDER_CONTROL"},
+       {0x00028004, 0, 0, "DB_COUNT_CONTROL"},
        {0x0002800C, 0, 0, "DB_RENDER_OVERRIDE"},
        {0x00028010, 0, 0, "DB_RENDER_OVERRIDE2"},
        {0x00028AC0, 0, 0, "DB_SRESULTS_COMPARE_STATE0"},

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to