소스 검색

g3dvl: Ignore client flush requests unless entire frame is buffered.

tags/mesa_20090313
Younes Manton 17 년 전
부모
커밋
d008fb1786
2개의 변경된 파일11개의 추가작업 그리고 0개의 파일을 삭제
  1. 10
    0
      src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c
  2. 1
    0
      src/gallium/state_trackers/g3dvl/vl_surface.c

+ 10
- 0
src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c 파일 보기

@@ -576,6 +576,9 @@ static int vlFlush
unsigned int num_macroblocks[vlNumMacroBlockExTypes] = {0};
unsigned int offset[vlNumMacroBlockExTypes];
unsigned int vb_start = 0;
unsigned int mbw;
unsigned int mbh;
unsigned int num_mb_per_frame;
unsigned int i;

assert(render);
@@ -585,6 +588,13 @@ static int vlFlush
if (!mc->buffered_surface)
return 0;

mbw = align(mc->picture_width, VL_MACROBLOCK_WIDTH) / VL_MACROBLOCK_WIDTH;
mbh = align(mc->picture_height, VL_MACROBLOCK_HEIGHT) / VL_MACROBLOCK_HEIGHT;
num_mb_per_frame = mbw * mbh;

if (mc->num_macroblocks < num_mb_per_frame)
return 0;

pipe = mc->pipe;

for (i = 0; i < mc->num_macroblocks; ++i)

+ 1
- 0
src/gallium/state_trackers/g3dvl/vl_surface.c 파일 보기

@@ -179,6 +179,7 @@ int vlSurfaceGetStatus
}

*status = vlResourceStatusFree;

return 0;
}


Loading…
취소
저장