Revert "i965: upload multisample state for fragment program change"
This reverts commit de6fd527a5.
Revert this workaround as it seems the real trouble is caused by
lineloop, which doesn't require GS convert on sandybridge actually.
This commit is contained in:
@@ -488,6 +488,31 @@ static void upload_invarient_state( struct brw_context *brw )
|
||||
BRW_BATCH_STRUCT(brw, &gdo);
|
||||
}
|
||||
|
||||
if (intel->gen >= 6) {
|
||||
int i;
|
||||
|
||||
BEGIN_BATCH(3);
|
||||
OUT_BATCH(CMD_3D_MULTISAMPLE << 16 | (3 - 2));
|
||||
OUT_BATCH(MS_PIXEL_LOCATION_CENTER |
|
||||
MS_NUMSAMPLES_1);
|
||||
OUT_BATCH(0); /* positions for 4/8-sample */
|
||||
ADVANCE_BATCH();
|
||||
|
||||
BEGIN_BATCH(2);
|
||||
OUT_BATCH(CMD_3D_SAMPLE_MASK << 16 | (2 - 2));
|
||||
OUT_BATCH(1);
|
||||
ADVANCE_BATCH();
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
BEGIN_BATCH(4);
|
||||
OUT_BATCH(CMD_GS_SVB_INDEX << 16 | (4 - 2));
|
||||
OUT_BATCH(i << SVB_INDEX_SHIFT);
|
||||
OUT_BATCH(0);
|
||||
OUT_BATCH(0xffffffff);
|
||||
ADVANCE_BATCH();
|
||||
}
|
||||
}
|
||||
|
||||
/* 0x61020000 State Instruction Pointer */
|
||||
{
|
||||
struct brw_system_instruction_pointer sip;
|
||||
@@ -522,42 +547,6 @@ const struct brw_tracked_state brw_invarient_state = {
|
||||
.emit = upload_invarient_state
|
||||
};
|
||||
|
||||
static void gen6_upload_multisample_state( struct brw_context *brw )
|
||||
{
|
||||
struct intel_context *intel = &brw->intel;
|
||||
int i;
|
||||
|
||||
BEGIN_BATCH(3);
|
||||
OUT_BATCH(CMD_3D_MULTISAMPLE << 16 | (3 - 2));
|
||||
OUT_BATCH(MS_PIXEL_LOCATION_CENTER |
|
||||
MS_NUMSAMPLES_1);
|
||||
OUT_BATCH(0); /* positions for 4/8-sample */
|
||||
ADVANCE_BATCH();
|
||||
|
||||
BEGIN_BATCH(2);
|
||||
OUT_BATCH(CMD_3D_SAMPLE_MASK << 16 | (2 - 2));
|
||||
OUT_BATCH(1);
|
||||
ADVANCE_BATCH();
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
BEGIN_BATCH(4);
|
||||
OUT_BATCH(CMD_GS_SVB_INDEX << 16 | (4 - 2));
|
||||
OUT_BATCH(i << SVB_INDEX_SHIFT);
|
||||
OUT_BATCH(0);
|
||||
OUT_BATCH(0xffffffff);
|
||||
ADVANCE_BATCH();
|
||||
}
|
||||
}
|
||||
|
||||
const struct brw_tracked_state gen6_multisample_state = {
|
||||
.dirty = {
|
||||
.mesa = 0,
|
||||
.brw = (BRW_NEW_CONTEXT | BRW_NEW_FRAGMENT_PROGRAM),
|
||||
.cache = 0,
|
||||
},
|
||||
.emit = gen6_upload_multisample_state
|
||||
};
|
||||
|
||||
/**
|
||||
* Define the base addresses which some state is referenced from.
|
||||
*
|
||||
|
||||
@@ -110,7 +110,6 @@ extern const struct brw_tracked_state gen6_viewport_state;
|
||||
extern const struct brw_tracked_state gen6_vs_state;
|
||||
extern const struct brw_tracked_state gen6_wm_constants;
|
||||
extern const struct brw_tracked_state gen6_wm_state;
|
||||
extern const struct brw_tracked_state gen6_multisample_state;
|
||||
|
||||
/***********************************************************************
|
||||
* brw_state.c
|
||||
|
||||
@@ -142,7 +142,6 @@ const struct brw_tracked_state *gen6_atoms[] =
|
||||
&gen6_vs_state,
|
||||
&gen6_gs_state,
|
||||
&gen6_clip_state,
|
||||
&gen6_multisample_state,
|
||||
&gen6_sf_state,
|
||||
&gen6_wm_state,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user