mirror of https://github.com/mpv-player/mpv
triple buffering interface
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2694 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
4db20c913d
commit
78ab9a9f1d
|
@ -554,7 +554,7 @@ int vbeSetDisplayStart(unsigned long offset, int vsync)
|
||||||
pixel_num = offset%(unsigned long)curr_mode_info.BytesPerScanLine;
|
pixel_num = offset%(unsigned long)curr_mode_info.BytesPerScanLine;
|
||||||
if(pixel_num*(unsigned long)curr_mode_info.BytesPerScanLine!=offset) pixel_num++;
|
if(pixel_num*(unsigned long)curr_mode_info.BytesPerScanLine!=offset) pixel_num++;
|
||||||
r.eax = 0x4f07;
|
r.eax = 0x4f07;
|
||||||
r.ebx = vsync ? 0x80 : 0;
|
r.ebx = vsync ? 0x82 : 2;
|
||||||
r.ecx = pixel_num;
|
r.ecx = pixel_num;
|
||||||
r.edx = offset/(unsigned long)curr_mode_info.BytesPerScanLine;
|
r.edx = offset/(unsigned long)curr_mode_info.BytesPerScanLine;
|
||||||
if(!VBE_LRMI_int(0x10,&r)) return VBE_VM86_FAIL;
|
if(!VBE_LRMI_int(0x10,&r)) return VBE_VM86_FAIL;
|
||||||
|
@ -566,6 +566,23 @@ int vbeSetDisplayStart(unsigned long offset, int vsync)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int vbeSetScheduledDisplayStart(unsigned long offset, int vsync)
|
||||||
|
{
|
||||||
|
int retval;
|
||||||
|
struct LRMI_regs r;
|
||||||
|
unsigned long pixel_num;
|
||||||
|
memset(&r,0,sizeof(struct LRMI_regs));
|
||||||
|
pixel_num = offset%(unsigned long)curr_mode_info.BytesPerScanLine;
|
||||||
|
if(pixel_num*(unsigned long)curr_mode_info.BytesPerScanLine!=offset) pixel_num++;
|
||||||
|
r.eax = 0x4f07;
|
||||||
|
r.ebx = vsync ? 0x82 : 2;
|
||||||
|
r.ecx = offset;
|
||||||
|
if(!VBE_LRMI_int(0x10,&r)) return VBE_VM86_FAIL;
|
||||||
|
retval = r.eax & 0xffff;
|
||||||
|
if(retval == 0x4f) retval = VBE_OK;
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
struct realVesaProtModeInterface
|
struct realVesaProtModeInterface
|
||||||
{
|
{
|
||||||
unsigned short SetWindowCall;
|
unsigned short SetWindowCall;
|
||||||
|
|
|
@ -209,6 +209,7 @@ extern int vbeSetScanLineLength(unsigned num_pixels);
|
||||||
extern int vbeSetScanLineLengthB(unsigned num_bytes);
|
extern int vbeSetScanLineLengthB(unsigned num_bytes);
|
||||||
extern int vbeGetDisplayStart(unsigned *pixel_num,unsigned *scan_line);
|
extern int vbeGetDisplayStart(unsigned *pixel_num,unsigned *scan_line);
|
||||||
extern int vbeSetDisplayStart(unsigned long offset, int vsync);
|
extern int vbeSetDisplayStart(unsigned long offset, int vsync);
|
||||||
|
extern int vbeSetScheduledDisplayStart(unsigned long offset, int vsync);
|
||||||
/*
|
/*
|
||||||
Func 0x08-0x09:
|
Func 0x08-0x09:
|
||||||
Support of palette currently is not implemented.
|
Support of palette currently is not implemented.
|
||||||
|
|
Loading…
Reference in New Issue