*/
#include "r600_cs.h"
+#include "evergreend.h"
/* 2xMSAA
* There are two locations (4, 4), (-4, -4). */
cayman_get_sample_position(ctx, 16, i, rctx->sample_locations_16x[i]);
}
-void cayman_emit_msaa_sample_locs(struct radeon_winsys_cs *cs, int nr_samples)
+static void cayman_emit_msaa_sample_locs(struct radeon_cmdbuf *cs, int nr_samples)
{
switch (nr_samples) {
default:
}
}
-void cayman_emit_msaa_config(struct radeon_winsys_cs *cs, int nr_samples,
- int ps_iter_samples, int overrast_samples,
- unsigned sc_mode_cntl_1)
+void cayman_emit_msaa_state(struct radeon_cmdbuf *cs, int nr_samples,
+ int ps_iter_samples, int overrast_samples)
{
int setup_samples = nr_samples > 1 ? nr_samples :
overrast_samples > 1 ? overrast_samples : 0;
* endcaps.
*/
unsigned sc_line_cntl = S_028BDC_DX10_DIAMOND_TEST_ENA(1);
+ unsigned sc_mode_cntl_1 =
+ EG_S_028A4C_FORCE_EOV_CNTDWN_ENABLE(1) |
+ EG_S_028A4C_FORCE_EOV_REZ_ENABLE(1);
+
+ if (nr_samples > 1) {
+ cayman_emit_msaa_sample_locs(cs, nr_samples);
+ }
if (setup_samples > 1) {
/* indexed by log2(nr_samples) */
- unsigned max_dist[] = {
+ const unsigned max_dist[] = {
0,
eg_max_dist_2x,
eg_max_dist_4x,