r300g: set the number of colorbuffers in RB3D_CCTL
This commit is contained in:
committed by
Corbin Simpson
parent
de0befc4b2
commit
cf85bf9cd0
@@ -335,7 +335,7 @@ void r300_emit_fb_state(struct r300_context* r300,
|
||||
assert(fb->nr_cbufs <= 4);
|
||||
|
||||
BEGIN_CS((10 * fb->nr_cbufs) + (2 * (4 - fb->nr_cbufs)) +
|
||||
(fb->zsbuf ? 10 : 0) + 4);
|
||||
(fb->zsbuf ? 10 : 0) + 6);
|
||||
|
||||
/* Flush and free renderbuffer caches. */
|
||||
OUT_CS_REG(R300_RB3D_DSTCACHE_CTLSTAT,
|
||||
@@ -345,6 +345,9 @@ void r300_emit_fb_state(struct r300_context* r300,
|
||||
R300_ZB_ZCACHE_CTLSTAT_ZC_FLUSH_FLUSH_AND_FREE |
|
||||
R300_ZB_ZCACHE_CTLSTAT_ZC_FREE_FREE);
|
||||
|
||||
/* Set the number of colorbuffers. */
|
||||
OUT_CS_REG(R300_RB3D_CCTL, R300_RB3D_CCTL_NUM_MULTIWRITES(fb->nr_cbufs));
|
||||
|
||||
/* Set up colorbuffers. */
|
||||
for (i = 0; i < fb->nr_cbufs; i++) {
|
||||
surf = fb->cbufs[i];
|
||||
|
||||
@@ -2145,6 +2145,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
/* Unpipelined. */
|
||||
#define R300_RB3D_CCTL 0x4e00
|
||||
# define R300_RB3D_CCTL_NUM_MULTIWRITES(x) (MAX2(((x)-1), 0) << 5)
|
||||
# define R300_RB3D_CCTL_NUM_MULTIWRITES_1_BUFFER (0 << 5)
|
||||
# define R300_RB3D_CCTL_NUM_MULTIWRITES_2_BUFFERS (1 << 5)
|
||||
# define R300_RB3D_CCTL_NUM_MULTIWRITES_3_BUFFERS (2 << 5)
|
||||
|
||||
@@ -84,7 +84,7 @@ void r300_emit_invariant_state(struct r300_context* r300)
|
||||
END_CS;
|
||||
|
||||
/* XXX unsorted stuff from surface_fill */
|
||||
BEGIN_CS(56 + (caps->has_tcl ? 5 : 0) + (caps->is_r500 ? 4 : 0));
|
||||
BEGIN_CS(54 + (caps->has_tcl ? 5 : 0) + (caps->is_r500 ? 4 : 0));
|
||||
/* Flush PVS. */
|
||||
OUT_CS_REG(R300_VAP_PVS_STATE_FLUSH_REG, 0x0);
|
||||
|
||||
@@ -123,7 +123,6 @@ void r300_emit_invariant_state(struct r300_context* r300)
|
||||
OUT_CS_REG(R300_SU_DEPTH_OFFSET, 0x00000000);
|
||||
OUT_CS_REG(R300_SC_HYPERZ, 0x0000001C);
|
||||
OUT_CS_REG(R300_SC_EDGERULE, 0x2DA49525);
|
||||
OUT_CS_REG(R300_RB3D_CCTL, 0x00000000);
|
||||
OUT_CS_REG(R300_RB3D_AARESOLVE_CTL, 0x00000000);
|
||||
if (caps->is_r500) {
|
||||
OUT_CS_REG(R500_RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD, 0x00000000);
|
||||
|
||||
Reference in New Issue
Block a user