* Overlay on the G33 does not work anymore in the secondary ring buffer;
we now always only use the primary ring buffer. * Removed secondary ring buffer allocation and member fields. * Increased size of the primary ring buffer to 65536 bytes. * The bytes per row register is computed differently for 9xx chips. * On G33, the overlay does not need a physical address anymore, so we don't pass B_APERTURE_NEED_PHYSICAL to the allocation anymore for that device. * intel_free_memory() accidently added the aperture base to the allocation and would therefore never free any memory. * INTEL_RING_BUFFER_SIZE_MASK was shifted one bit to the right, didn't cause any harm with our buffer sizes, yet, though. * With these changes, the driver runs stable on a G33 chipset (I have not yet tested the hardware cursor, though, it might need some work, too). The only known issue left is that overlay flickers a bit if its buffer is partially backed up by reserved and allocated memory. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23798 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -76,7 +76,6 @@ struct intel_shared_info {
|
||||
struct lock engine_lock;
|
||||
|
||||
ring_buffer primary_ring_buffer;
|
||||
ring_buffer secondary_ring_buffer;
|
||||
|
||||
int32 overlay_channel_used;
|
||||
bool overlay_active;
|
||||
@@ -200,7 +199,7 @@ struct intel_free_graphics_memory {
|
||||
#define RING_BUFFER_HEAD 0x4
|
||||
#define RING_BUFFER_START 0x8
|
||||
#define RING_BUFFER_CONTROL 0xc
|
||||
#define INTEL_RING_BUFFER_SIZE_MASK 0x000ff800
|
||||
#define INTEL_RING_BUFFER_SIZE_MASK 0x001ff000
|
||||
#define INTEL_RING_BUFFER_HEAD_MASK 0x001ffffc
|
||||
#define INTEL_RING_BUFFER_ENABLED 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user