summaryrefslogtreecommitdiff
path: root/linux-core
AgeCommit message (Expand)Author
2003-08-29Add DRM(calloc), which is convenient, used by the new sis code, and takesEric Anholt
2003-08-28Remove superfluous TLB flushMichel Daenzer
2003-08-15Merge from 2.6 kernel (Linus Torvalds)Michel Daenzer
2003-08-15DA: loads of whitespace .. some from Linus, some from meDave Airlie
2003-08-13DA: patch from Matthew upgraded to latest DRI head to solve issue with i810Dave Airlie
2003-08-11DA: code cleanups for i810_dma.c from 2.4 kernelDave Airlie
2003-08-07build fix for kernels >= 2.6Michel Daenzer
2003-08-06Fix maplist entries being used after they were freed; thanks to BenjaminMichel Daenzer
2003-07-29IRQ code cleanup suggested by Linus TorvaldsMichel Daenzer
2003-07-25Compile fixes for recent 2.5/2.6 Linux kernels. I hope this doesn't breakMichel Daenzer
2003-07-25Fail in DRM(agp_acquire) if the AGP aperture can't be used, such that the XMichel Daenzer
2003-07-11Restore __HAVE_KERNEL_CTX_SWITCH, required for the sparc drm module in theKeith Whitwell
2003-07-09DA: fix for bug 484 in Bugzilla, originally from me, reworked by DavidDave Airlie
2003-07-08Removed unused __HAVE_KERNEL_CTX_SWITCH, whatever that was.Keith Whitwell
2003-07-04Don't need to include linux/wrapper.h - we only use Set/ClearPageReservedLeif Delgass
2003-06-19Revert the janitorial - that works is now on the new branchJose Fonseca
2003-06-14Move the linux AGP includes into drm_agp.h and only define the AGP dataJose Fonseca
2003-06-07fix pitch compile errorDave Airlie
2003-06-05add page flipping support to the DRM, up version number to 1.3.0...Dave Airlie
2003-06-03Added the Doxygen configuration file. Minor documentation fixes.Jose Fonseca
2003-06-03Split declarations/definitions in drm_scatter.h into drm_sg.h/drm_sg_tmp.hJose Fonseca
2003-05-28Restore DRM_*MEMORYBARRIER change reverted with documentation mergeLeif Delgass
2003-05-27Merged DRM documentation.Jose Fonseca
2003-05-17do allow reading from read only mappings...Michel Daenzer
2003-05-16Support AGP bridges where the AGP aperture can't be accessed directly byMichel Daenzer
2003-04-29remove unused variablesLeif Delgass
2003-04-28Restore Eric Anholt's DRM_*MEMORYBARRIER changes from rev 1.11Leif Delgass
2003-04-28Only free original pagelist in addbufs_pci if one already exists (fixesLeif Delgass
2003-04-28DRM_READ/WRITEMEMORYBARRIER was given an argument in the bsd tree, fix forAlan Hourihane
2003-04-27Put back __HAVE_KERNEL_CTX_SWITCH for David Miller's sparc drm driverKeith Whitwell
2003-04-26Remove the map argument from DRM_*MEMORYBARRIER. Not all of the uses ofEric Anholt
2003-04-26Ensure driver has been initialized (dev_private != NULL) before installingLeif Delgass
2003-04-262.5.x sync patch from Linus TorvaldsKeith Whitwell
2003-04-26move prototypes for gamma functions to gamma_drv.hKeith Whitwell
2003-04-26Remove #if 0'd codeKeith Whitwell
2003-04-25Fix potential oops and memory leaks when allocations fail inLeif Delgass
2003-04-24Pass dma handle from pci_alloc_consistent to the card for status page,Leif Delgass
2003-04-24Remove unused dev->map_count. We always iterate the maplist withLeif Delgass
2003-04-24Remove unused variablesLeif Delgass
2003-04-24Move the debug versions of the DRM memory functions to a new file andKeith Whitwell
2003-04-24Remove #if 0'd code and some unused string functionsKeith Whitwell
2003-04-23Install dummy/noop read & poll fops unless the driver has replacements.Keith Whitwell
2003-04-22Remove AGP dependency in kernel config for radeon, sis. RemoveLeif Delgass
2003-04-22remove unused variableAlan Hourihane
2003-04-22Rename drm_lists.h to gamma_lists.hKeith Whitwell
2003-04-22Move the excitingly named DRM(flush_block_and_flush) and friends toKeith Whitwell
2003-04-22remove unused __HAVE_KERNEL_CTX_SWITCH codeKeith Whitwell
2003-04-22Move a chunk of gamma-specific code out of drm_dma.h. Remove unusedKeith Whitwell
2003-04-22remove unused dma histogram codeKeith Whitwell
2003-04-22Move a bunch of gamma-specific code into a gamma-specific file. Restore theKeith Whitwell
conn_list))) for conn in conn_list: crtc = res.reserve_crtc(conn) crtc_list.append(crtc) mode = conn.get_default_mode() mode_list.append(mode) print(' {}: {} ({}x{})'.format(conn.idx, conn.fullname, mode.hdisplay, mode.vdisplay)) fbX = sum(mode.hdisplay for mode in mode_list) fbY = max(mode.vdisplay for mode in mode_list) print('FB Resolution: {}x{}\n'.format(fbX, fbY)) # Create the (big)framebuffer(s) for x in range(2): fb_tmp = pykms.DumbFramebuffer(card, fbX, fbY, 'XR24'); big_fb_list.append(fb_tmp) fb = big_fb_list[0] screen_offset = 0 card.disable_planes() for i in range(0, len(conn_list)): conn = conn_list[i] crtc = crtc_list[i] mode = mode_list[i] plane = res.reserve_generic_plane(crtc) plane_list.append(plane) modeb = mode.to_blob(card) req = pykms.AtomicReq(card) req.add(conn, 'CRTC_ID', crtc.id) req.add(crtc, {'ACTIVE': 1, 'MODE_ID': modeb.id}) req.add(plane, {'FB_ID': fb.id, 'CRTC_ID': crtc.id, 'SRC_X': screen_offset << 16, 'SRC_Y': 0 << 16, 'SRC_W': mode.hdisplay << 16, 'SRC_H': mode.vdisplay << 16, 'CRTC_X': 0, 'CRTC_Y': 0, 'CRTC_W': mode.hdisplay, 'CRTC_H': mode.vdisplay, 'zorder': 0}) req.commit_sync(allow_modeset = True) screen_offset += mode.hdisplay # Double buffering, page flipping class bigFB_db: def __init__(self, fb1, fb2): self.speed_y = random.randrange(1, 10, 1) self.dir_y = random.randrange(-1, 3, 2) self.first_run = True self.fbs = [fb1,fb2] self.draw_buf = 0 self.fbX = fb1.width self.fbY = fb1.height self.pos_y = self.fbY // 2 self.old_pos_y = -1 # 5 + 10 + 15 + 10 + 5 = 45 self.bar_size = 45 self.flips = 0 self.frames = 0 self.time = 0 def new_color(self): r = random.randrange(255) g = random.randrange(255) b = random.randrange(255) self.color = pykms.RGB(r, g, b) self.color2 = pykms.RGB(r // 2, g // 2, b // 2) self.color3 = pykms.RGB(r // 3, g // 3, b // 3) def move_stripe(self): if self.first_run: self.new_color() self.first_run = False fb = self.fbs[self.draw_buf] old_box_y = self.old_pos_y self.old_pos_y = self.pos_y change_speed = 0 self.pos_y = int(self.pos_y + (self.dir_y * self.speed_y)) if self.pos_y < 0: self.pos_y = 0 change_speed = 1 self.dir_y = 1 elif self.pos_y > (self.fbY - self.bar_size): self.pos_y = self.fbY - self.bar_size change_speed = 1 self.dir_y = -1 if change_speed == 1: self.new_color() self.speed_y = random.randrange(1, 10, 1) # Erease the old box if old_box_y >= 0: pykms.draw_rect(fb, 0, old_box_y, self.fbX, self.bar_size, black) pos_y = self.pos_y pykms.draw_rect(fb, 0, pos_y, self.fbX, 5, self.color3) pos_y += 5 pykms.draw_rect(fb, 0, pos_y, self.fbX, 10, self.color2) pos_y += 10 pykms.draw_rect(fb, 0, pos_y, self.fbX, 15, self.color) pos_y += 15 pykms.draw_rect(fb, 0, pos_y, self.fbX, 10, self.color2) pos_y += 10