From: Zou nan hai Date: Tue, 6 Apr 2010 09:02:42 +0000 (+0800) Subject: i965_drv_video: initialize depth buffer X-Git-Tag: libva-1.0.3~3^2~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b660cd61d9139fd88684df5458d21569c713bc8e;p=profile%2Fivi%2Flibva.git i965_drv_video: initialize depth buffer --- diff --git a/i965_drv_video/i965_defines.h b/i965_drv_video/i965_defines.h index e50b41b..aa2baa3 100644 --- a/i965_drv_video/i965_defines.h +++ b/i965_drv_video/i965_defines.h @@ -35,6 +35,9 @@ #define CMD_CONSTANT_COLOR CMD(3, 1, 1) #define CMD_3DPRIMITIVE CMD(3, 3, 0) +#define CMD_DEPTH_BUFFER CMD(3, 1, 5) +#define I965_DEPTHFORMAT_D32_FLOAT 1 + #define BASE_ADDRESS_MODIFY (1 << 0) #define PIPELINE_SELECT_3D 0 diff --git a/i965_drv_video/i965_media.c b/i965_drv_video/i965_media.c index 6a2971c..929e04f 100644 --- a/i965_drv_video/i965_media.c +++ b/i965_drv_video/i965_media.c @@ -166,6 +166,19 @@ i965_media_constant_buffer(VADriverContextP ctx, struct decode_state *decode_sta ADVANCE_BATCH(ctx); } +static void +i965_media_depth_buffer(VADriverContextP ctx) +{ + BEGIN_BATCH(ctx, 6); + OUT_BATCH(ctx, CMD_DEPTH_BUFFER | 4); + OUT_BATCH(ctx, (I965_DEPTHFORMAT_D32_FLOAT << 18) | + (I965_SURFACE_NULL << 29)); + OUT_BATCH(ctx, 0); + OUT_BATCH(ctx, 0); + OUT_BATCH(ctx, 0); + ADVANCE_BATCH(); +} + static void i965_media_pipeline_setup(VADriverContextP ctx, struct decode_state *decode_state) { @@ -174,6 +187,7 @@ i965_media_pipeline_setup(VADriverContextP ctx, struct decode_state *decode_stat intel_batchbuffer_start_atomic(ctx, 0x1000); intel_batchbuffer_emit_mi_flush(ctx); /* step 1 */ + i965_media_depth_buffer(ctx); i965_media_pipeline_select(ctx); /* step 2 */ i965_media_urb_layout(ctx); /* step 3 */ i965_media_pipeline_state(ctx); /* step 4 */