We're now using a secondary (high priority) ring buffer for hardware

overlay - this will improve the overlay performance when the engine is
under load (the acceleration engine will use the primary lower priority
ring buffer).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17411 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2006-05-10 10:54:39 +00:00
parent 6bd70a559d
commit 96451fe133
4 changed files with 14 additions and 3 deletions
@@ -167,6 +167,7 @@ intel_extreme_init(intel_info &info)
// reserve ring buffer memory (currently, this memory is placed in
// the graphics memory), but this could bring us problems with
// write combining...
ring_buffer &primary = info.shared_info->primary_ring_buffer;
if (mem_alloc(info.memory_manager, B_PAGE_SIZE, &info,
&primary.handle, &primary.offset) == B_OK) {
@@ -175,6 +176,14 @@ intel_extreme_init(intel_info &info)
primary.base = info.graphics_memory + primary.offset;
}
ring_buffer &secondary = info.shared_info->secondary_ring_buffer;
if (mem_alloc(info.memory_manager, B_PAGE_SIZE, &info,
&secondary.handle, &secondary.offset) == B_OK) {
secondary.register_base = INTEL_SECONDARY_RING_BUFFER_0;
secondary.size = B_PAGE_SIZE;
secondary.base = info.graphics_memory + secondary.offset;
}
// no errors, so keep mappings
graphicsMapper.Keep();
mmioMapper.Keep();