Skip to content
This repository was archived by the owner on Jan 31, 2025. It is now read-only.

Commit 88336a9

Browse files
hshi-chromiumxhaihao
authored andcommitted
The 3D multisample state needs to be resent as part of the gen6 pp state.
This fixes video corruption and hangs when WebGL with MSAA is running in a separate. Resolves #526 Signed-off-by: Michele Lim <[email protected]>
1 parent 9d28e6e commit 88336a9

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/i965_post_processing.c

+15
Original file line numberDiff line numberDiff line change
@@ -4470,6 +4470,20 @@ gen6_pp_states_setup(VADriverContextP ctx,
44704470
gen6_pp_upload_constants(ctx, pp_context);
44714471
}
44724472

4473+
static void
4474+
gen6_pp_multisample_state(VADriverContextP ctx,
4475+
struct i965_post_processing_context *pp_context)
4476+
{
4477+
struct intel_batchbuffer *batch = pp_context->batch;
4478+
4479+
BEGIN_BATCH(batch, 3);
4480+
OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_3D);
4481+
OUT_BATCH(batch, GEN6_3DSTATE_MULTISAMPLE | (3 - 2));
4482+
OUT_BATCH(batch, GEN6_3DSTATE_MULTISAMPLE_PIXEL_LOCATION_CENTER |
4483+
GEN6_3DSTATE_MULTISAMPLE_NUMSAMPLES_1);
4484+
ADVANCE_BATCH(batch);
4485+
}
4486+
44734487
static void
44744488
gen6_pp_pipeline_select(VADriverContextP ctx,
44754489
struct i965_post_processing_context *pp_context)
@@ -4683,6 +4697,7 @@ gen6_pp_pipeline_setup(VADriverContextP ctx,
46834697

46844698
intel_batchbuffer_start_atomic(batch, 0x1000);
46854699
intel_batchbuffer_emit_mi_flush(batch);
4700+
gen6_pp_multisample_state(ctx, pp_context);
46864701
gen6_pp_pipeline_select(ctx, pp_context);
46874702
gen6_pp_state_base_address(ctx, pp_context);
46884703
gen6_pp_vfe_state(ctx, pp_context);

0 commit comments

Comments
 (0)