Changeset 33089 in vbox for trunk/src/VBox/Devices/Graphics
- Timestamp:
- Oct 13, 2010 8:25:53 AM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 66618
- Location:
- trunk/src/VBox/Devices/Graphics
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r33076 r33089 810 810 break; 811 811 default: 812 Assert(s->vbe_index < VBE_DISPI_INDEX_NB_SAVED); 812 813 val = s->vbe_regs[s->vbe_index]; 813 814 break; 814 815 } 815 } else if (s->vbe_index == VBE_DISPI_INDEX_VBOX_VIDEO) {816 /* Reading from the port means that the old additions are requesting the number of monitors. */817 val = 1;818 816 } else { 819 val = s->vbe_regs[s->vbe_index]; 817 switch(s->vbe_index) { 818 case VBE_DISPI_INDEX_VBOX_VIDEO: 819 /* Reading from the port means that the old additions are requesting the number of monitors. */ 820 val = 1; 821 break; 822 default: 823 Assert(s->vbe_index < VBE_DISPI_INDEX_NB_SAVED); 824 val = s->vbe_regs[s->vbe_index]; 825 break; 826 } 820 827 } 821 828 } else { … … 828 835 } 829 836 830 #define VBE_PITCH_ALIGN 8 /* Align pitch to 64 bits. */837 #define VBE_PITCH_ALIGN 4 /* Align pitch to 32 bits - Qt requires that. */ 831 838 832 839 /* Calculate scanline pitch based on bit depth and width in pixels. */ … … 2711 2718 qemu_put_byte(f, 1); 2712 2719 qemu_put_be16s(f, &s->vbe_index); 2713 for(i = 0; i < VBE_DISPI_INDEX_NB ; i++)2720 for(i = 0; i < VBE_DISPI_INDEX_NB_SAVED; i++) 2714 2721 qemu_put_be16s(f, &s->vbe_regs[i]); 2715 2722 qemu_put_be32s(f, &s->vbe_start_addr); … … 2766 2773 # endif /* VBOX */ 2767 2774 qemu_get_be16s(f, &s->vbe_index); 2768 for(i = 0; i < VBE_DISPI_INDEX_NB ; i++)2775 for(i = 0; i < VBE_DISPI_INDEX_NB_SAVED; i++) 2769 2776 qemu_get_be16s(f, &s->vbe_regs[i]); 2770 2777 qemu_get_be32s(f, &s->vbe_start_addr); … … 4868 4875 pHlp->pfnPrintf(pHlp, " Display start addr: %d, %d\n", 4869 4876 s->vbe_regs[VBE_DISPI_INDEX_X_OFFSET], s->vbe_regs[VBE_DISPI_INDEX_Y_OFFSET]); 4877 pHlp->pfnPrintf(pHlp, " Linear scanline pitch: 0x%04x\n", s->vbe_line_offset); 4878 pHlp->pfnPrintf(pHlp, " Linear display start : 0x%04x\n", s->vbe_start_addr); 4870 4879 pHlp->pfnPrintf(pHlp, " Selected bank: 0x%04x\n", s->vbe_regs[VBE_DISPI_INDEX_BANK]); 4871 4880 } … … 5742 5751 int rc; 5743 5752 5744 if ( uVersion != VGA_SAVEDSTATE_VERSION 5745 #ifdef VBOX_WITH_WDDM 5746 && uVersion != VGA_SAVEDSTATE_VERSION_PRE_WDDM 5747 #endif 5748 && uVersion != VGA_SAVEDSTATE_VERSION_HOST_HEAP 5749 && uVersion != VGA_SAVEDSTATE_VERSION_WITH_CONFIG 5750 && uVersion != VGA_SAVEDSTATE_VERSION_HGSMI 5751 && uVersion != VGA_SAVEDSTATE_VERSION_PRE_HGSMI 5752 && uVersion != VGA_SAVEDSTATE_VERSION_ANCIENT) 5753 if (uVersion < VGA_SAVEDSTATE_VERSION_ANCIENT || uVersion > VGA_SAVEDSTATE_VERSION) 5753 5754 return VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION; 5754 5755 -
trunk/src/VBox/Devices/Graphics/DevVGA.h
r32877 r33089 83 83 #define VBE_DISPI_INDEX_Y_OFFSET 0x9 84 84 #define VBE_DISPI_INDEX_VBOX_VIDEO 0xa 85 #define VBE_DISPI_INDEX_NB 0xb 85 #define VBE_DISPI_INDEX_NB_SAVED 0xb /* Number of saved registers (vbe_regs array) */ 86 #define VBE_DISPI_INDEX_NB 0xb /* Total number of VBE registers */ 86 87 87 88 #define VBE_DISPI_ID0 0xB0C0 … … 113 114 #define VGA_STATE_COMMON_BOCHS_VBE \ 114 115 uint16_t vbe_index; \ 115 uint16_t vbe_regs[VBE_DISPI_INDEX_NB ];\116 uint16_t vbe_regs[VBE_DISPI_INDEX_NB_SAVED];\ 116 117 uint32_t vbe_start_addr; \ 117 118 uint32_t vbe_line_offset; \ -
trunk/src/VBox/Devices/Graphics/DevVGASavedState.h
r32622 r33089 20 20 21 21 22 #ifndef ___Graphics_DevVGASavedState_h23 #define ___Graphics_DevVGASavedState_h22 #ifndef Graphics_DevVGASavedState_h 23 #define Graphics_DevVGASavedState_h 24 24 25 #ifdef VBOX_WITH_WDDM26 25 #define VGA_SAVEDSTATE_VERSION 7 26 #define VGA_SAVEDSTATE_VERSION_WDDM 7 27 27 #define VGA_SAVEDSTATE_VERSION_PRE_WDDM 6 28 #else29 #define VGA_SAVEDSTATE_VERSION 630 #endif31 28 #define VGA_SAVEDSTATE_VERSION_HOST_HEAP 5 32 29 #define VGA_SAVEDSTATE_VERSION_WITH_CONFIG 4
Note:
See TracChangeset
for help on using the changeset viewer.