summaryrefslogtreecommitdiff
path: root/shared-core/radeon_state.c
AgeCommit message (Collapse)Author
2005-08-05Rename the driver hooks in the DRM to something a little moreEric Anholt
understandable: preinit -> load postinit -> (removed) presetup -> firstopen postsetup -> (removed) open_helper -> open prerelease -> preclose free_filp_priv -> postclose pretakedown -> lastclose postcleanup -> unload release -> reclaim_buffers_locked version -> (removed) postinit and version were replaced with generic code in the Linux DRM (drivers now set their version numbers and description in the driver structure, like on BSD). postsetup wasn't used at all. Fixes the savage hooks for initializing and tearing down mappings at the right times. Testing involved at least starting X, running glxgears, killing glxgears, exiting X, and repeating. Tested on: FreeBSD (g200, g400, r200, r128) Linux (r200, savage4)
2005-08-04Mark some radeon init variables deprecated. These used to be passed in butJon Smirl
the driver already knew their correct value. For example the physical address of the framebuffer and registers.
2005-08-04Split the control of master vs root priv. Everything is still marked asJon Smirl
needing root.
2005-07-20Add latest r300 support from r300.sf.net CVS. Patch submitted by volodya,Eric Anholt
with BSD fix from jkim and the r300_reg.h license from Nicolai Haehnle. Big thanks to everyone involved!
2005-03-15add R200_EMIT_PP_TRI_PERF_CNTL packet to support brilinear filtering onRoland Scheidegger
r200
2005-02-14Initialize kbuf to NULL to quiet the compiler about uninit variablesEric Anholt
(wasn't an issue). Don't forget to free kbuf if the copyin fails.
2005-02-10add support for texture micro tiling on radeon/r200. Add support for r100Roland Scheidegger
cube maps (since it also requires a version bump) at the same time.
2005-02-08Close a race which could allow for privilege escalation by users with DRIEric Anholt
privileges on Radeon hardware. Essentially, a malicious program could submit a packet containing an offset (possibly in main memory) to be rendered from/to, while a separate thread switched that offset in userspace rapidly between a valid value and an invalid one. radeon_check_and_fixup_offset() would pull the offset in from user space, check it, and spit it back out to user space to be copied in later by the emit code. It would sometimes catch the bad value, but sometimes the malicious program could modify it after the check and get an invalid offset rendered from/to. Fix this by allocating a temporary buffer and copying the data in at once. While here, make the cliprects stuff not do the VERIFYAREA_READ and COPY_FROM_USER_UNCHECKED gymnastics, avoiding a lock order reversal on FreeBSD. Performance impact is negligible -- no difference on r200 to ~1% improvement on rv200 in quake3 tests (P4 1Ghz, demofour at 1024x768, n=4 or 5).
2005-02-03Cast user data to correct type in radeon_surface_free's copyin.Eric Anholt
2005-02-01cleanup patch from Adrian Bunk <bunk@stusta.de>Dave Airlie
2005-01-27fix incorrect PCI id for ATI radeonDave Airlie
2005-01-26(Stephane Marchesin,me) Add radeon framebuffer tiling support to radeonRoland Scheidegger
drm. Add new ioctls to manage surfaces which cover the tiled areas
2005-01-26replace magic number with macro constant RADEON_ZBLOCK16Roland Scheidegger
2005-01-16This table is in radeon_drv.h along with the version number so remove itDave Airlie
from here
2004-12-08(Stephane Marchesin, me) add hyperz support to radeon drm. Only fast zRoland Scheidegger
clear and z buffer compression are working correctly, hierarchical-z is not.
2004-11-06Commit WIP of BSD conversion to core model. Compiles for r128, radeon, butEric Anholt
doesn't run yet. Moves the ioctl definitions for these two drivers back to the shared code -- they aren't OS-specific.
2004-10-10Vladimir requested support so we can at least load r300 microcode forDave Airlie
helping 2D operations. Ups radeon to version 1.12.0, Vladimir, you might want to add any extra pciids... Approved-by: Dave Airlie <airlied@linux.ie>
2004-09-30Lindent of core build. Drivers checked for no binary diffs. A few filesJon Smirl
weren't Lindent's because their comments didn't convert very well. A bunch of other minor clean up with no code implact included.
2004-09-27First check in for DRM that splits core from personality modulesJon Smirl
2004-09-05merge back bunch of whitespace and misc changes from kernelDave Airlie
2004-08-30drm-memory patch, cleans up alloc/free and makes calloc look more libc likeDave Airlie
2004-08-24Merged drmfntbl-0-0-2Dave Airlie
2004-08-17Merged drmfntbl-0-0-1Dave Airlie
2004-07-25sync up with current 2.6 kernel bk tree - mostly __user annotationsDave Airlie
2004-07-15sparse cleanups from kernel: Al ViroDave Airlie
2004-07-05whitespace align with kernelDave Airlie
2004-05-18fix whitespace issue in previous patchRoland Scheidegger
2004-05-18add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color,Roland Scheidegger
GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
2004-04-08fixes from Linux kernelDave Airlie
2004-01-10Make sure that all state packets are handled inMichel Daenzer
radeon_check_and_fixup_packets() Fix state packet IDs of R200 cubic offsets
2004-01-10R200_PP_CUBIC_OFFSET_F1_[0-6] state packets only contain 5 offsets, not 6Michel Daenzer
(thanks to Andreas Stenglein for spotting this)
2003-11-04Memory layout transition:Michel Daenzer
the 2D driver initializes MC_FB_LOCATION and related registers sanely the DRM deduces the layout from these registers clients use the new SETPARAM ioctl to tell the DRM where they think the framebuffer is located in the card's address space the DRM uses all this information to check client state and fix it up if necessary This is a prerequisite for things like direct rendering with IGP chips and video capturing.
2003-08-26Remove artificial PCI GART limitations, rename AGP to GART whereMichel Daenzer
appropriate
2003-06-16Possibly fix stanford checker complaints about sareaKeith Whitwell
2003-06-10Texture rectangle support for r100Keith Whitwell
2003-06-09Revert bogus last commitKeith Whitwell
2003-06-09Don't activate blend fallbacks unless blending is enabledKeith Whitwell
2003-04-22add more get_param queries for embedded projectKeith Whitwell
2003-03-28merged drm-filp-0-1-branchKeith Whitwell
2003-02-06fix EAGAIN handling in radeon_cp_dispatch_texture() (fixes corruption ofMichel Daenzer
large textures), and get rid of superfluous local y variable
2003-01-26Add cast to avoid void * arithmetic warningLeif Delgass
2002-12-06Rewrite radeon_cp_dispatch_texture() to avoid pingponging back to userspaceKeith Whitwell
when issue large (multi-buffer) uploads.
2002-10-29preserve CRTC{,2}_OFFSET_CNTL in 2D driver to avoid bad effects whenMichel Daenzer
pageflipping after a mode switch take current page into account in AdjustFrame(); writing the CRTC offset via the CP was probably a bad idea as this can happen asynchronously, reverted take frame offset into account when flipping pages handle CRTC2 as well for pageflipping (untested) preserve GEN_INT_CNTL on mode switches to prevent interrupts from getting disabled
2002-10-28merge from mesa-4-1-branch to get cube-map registers. bumped version to 1.7Brian Paul
2002-09-25change RADEON_PARAM_IRQ_ACTIVE to RADEON_PARAM_IRQ_NRMichel Daenzer
2002-09-23merged r200-0-2-branch to trunkKeith Whitwell
2002-08-29standardize use of __FUNCTION__ (Linus)Keith Whitwell
2002-08-26merged r200-0-1-branchKeith Whitwell
2002-08-12zero-cliprect case patch from JacekKeith Whitwell
2002-08-11test scratch register writeback before using itMichel Daenzer