summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200/r200_context.c
AgeCommit message (Collapse)Author
2009-02-12radeon/r200/r300: another big merge upheavel.Dave Airlie
This merges lots of the hw state atom emission and firevertices code. it also removes a lot of the extra radeon crap from r300 and merge scissor
2009-02-11radeon: fix span init needs more workDave Airlie
2009-02-11radeon/r200/r300: merge span code into single shared fileDave Airlie
2009-02-04r200: fixup DMA region stuffDave Airlie
2009-01-31r200/r300: swtcl fixups to use old dma buffers on top of BOsDave Airlie
2009-01-29r200: bring back single dma flushDave Airlie
2009-01-29radeon/r200/r300: bring back old style DMA buffer on top of BOs.Dave Airlie
this gets back a lot of the lots speed in gears on r500 at least I also fixed the legacy bufmgr to deal when the dma space fills up
2009-01-29r200: avoid setting variable on kernel mm setupDave Airlie
2009-01-22r200/r300: port r200 texture handling to common codeDave Airlie
we now get texrect + trivial textures working
2009-01-20r200: tri runs without crashing - doesn't draw anythingDave Airlie
2009-01-20r200: clear is working at least - not much elseDave Airlie
2009-01-14r200: add missing symbolsDave Airlie
2009-01-14radeon/r200/r300: make legacy emit non-r300 specificDave Airlie
2009-01-14radeon: move debug symbol add DRI2Dave Airlie
2009-01-14radeon/r200/r300: consolidate swap buffersDave Airlie
2009-01-14radeon/r200/r300: consolidate the buffer copy/flip code into one placeDave Airlie
2009-01-14radeon/r200/r300: attempt to move lock to common codeDave Airlie
2009-01-14radeon/r200/r300: initial attempt to convert to common context codeDave Airlie
2009-01-14radeon/r200: move more stuff closer together in contextDave Airlie
2009-01-13radeon/r200: start splitting out commonalities into separate headersDave Airlie
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-04-24enable GL_EXT_multi_draw_arrays (see bug 15670)Pierre Beyssac
2008-02-29Use __DRIextension mechanism providing loader functionality to the driver.Kristian Høgsberg
Instead of passing in a fixed struct, the loader now passes in a list of __DRIextension structs, to advertise the functionality it can provide to the driver. Each extension is individually versioned and can be extended or phased out as the interface develops.
2007-10-30More vblank cleanups.Michel Dänzer
* Fix crash at context creation in most drivers supporting vblank. * Don't pass vblank sequence or flags to functions that get passed the drawable private already. * Attempt to initialize vblank related drawable private fields just once per drawable. May need more work in some drivers.
2007-10-29Refactor and fix core vblank supportJesse Barnes
Consolidate support for synchronizing to and retrieving vblank counters. Also fix the core vblank code to return monotonic MSC counters, which are required by some GLX extensions. Adding support for multiple pipes to a low level driver is fairly easy, the Intel 965 driver provides simple example code (see intel_buffers.c:intelWindowMoved()). The new code bumps the media stream counter extension version to 2 and adds a new getDrawableMSC callback. This callback takes a drawablePrivate pointer, which is used to calculate the MSC value seen by clients based on the actual vblank counter(s) returned from the kernel. The new drawable private fields are as follows: - vblSeq - used for tracking vblank counts for buffer swapping - vblFlags - flags (e.g. current pipe), updated by low level driver - msc_base - MSC counter from the last time the current pipe changed - vblank_base - kernel DRM vblank counter from the last time the pipe changed Using the above variables, the core vblank code (in vblank.c) can calculate a monotonic MSC value. The low level DRI drivers are responsible for updating the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags) along with msc_base and vblank_base whenever the pipe associated with a given drawable changes (again, see intelWindowMoved for an example of this). Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to driDrawableGetMSC32 and add code for pipe switching as outlined above to fully support the new scheme.
2007-10-10Replace open-coded major, minor, and patch version fields with __DRIversionRec.Kristian Høgsberg
2007-05-17remove CVS/XFree86 keywordsChristoff Brill
2007-05-12bring over recent radeonMakeCurrent fixes for r300 to radeon/r200Roland Scheidegger
2007-04-16remove _tnl_arb_vertex_program_stageBrian
2007-03-12r200: Simplify r200SetCliprects like radeonSetCliprects in radeon and r300.Alan Swanson
2007-03-12r200: Adapt cliprect fixes from r300.Alan Swanson
2007-01-16Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa ↵Keith Whitwell
into vbo-0.2 Conflicts: src/mesa/array_cache/sources src/mesa/drivers/dri/i965/brw_context.c src/mesa/drivers/dri/i965/brw_draw.c src/mesa/drivers/dri/i965/brw_fallback.c src/mesa/drivers/dri/i965/brw_vs_emit.c src/mesa/drivers/dri/i965/brw_vs_tnl.c src/mesa/drivers/dri/mach64/mach64_context.c src/mesa/main/extensions.c src/mesa/main/getstring.c src/mesa/tnl/sources src/mesa/tnl/t_save_api.c src/mesa/tnl/t_save_playback.c src/mesa/tnl/t_vtx_api.c src/mesa/tnl/t_vtx_exec.c src/mesa/vbo/vbo_attrib.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_api.c src/mesa/vbo/vbo_save_draw.c
2006-11-15Remove use of GetBufferSize (depreciated).Jerome Glisse
2006-11-03remove remaining traces of r200FlushVertices...Roland Scheidegger
2006-11-03remove setting some driver funcs explicitly to NULL, as they are no longer ↵Roland Scheidegger
set up later. Thix fixes a segfault in _mesa_Bitmap().
2006-10-31remove vtxfmt code, switch over to vboKeith Whitwell
2006-10-15Remove Driver.ResizeBuffers = _mesa_resize_framebuffer lines.Brian Paul
This is already done by the preceeding call to _mesa_init_driver_functions() which plugs in default functions like that.
2006-10-13implement ARB_point_parameters and ARB_point_sprite on r200. The code is ↵Roland Scheidegger
nearly the same as outlined in bug #4707, except it disables perspective correction for point sprites to make them actually work. And, separate the state atom into two as the tcl parameters would overwrite vertex program parameters when active. Also implement the GL_VERTEX_PROGRAM_POINT_SIZE_ARB option to make vertex programs outputting a point size work correctly (untested). Smooth points will still always be size 1. While here, enable gouraud shading for fog when using fog coord.
2006-09-28Make driDrawableInitVBlank() initialize the sequence number.Michel Dänzer
This prevents the first wait for vertical blank from timing out when the X server has been running for a long time.
2006-08-19remove the now confusing option to manually enable software ARB_vp if drm is ↵Roland Scheidegger
not new enough on r200
2006-06-10enable arb_vertex_program by default if drm is new enough. Do a fallback ↵Roland Scheidegger
when it's a nv_vp as there could be issues.
2006-06-02implement arb_vertex_program in hw for r200. Code contains still some hacks, ↵Roland Scheidegger
generic attribs cause a fallback, but otherwise it seems to work quite well. Passes all glean vertProg1 tests with the exception of the degnerated LIT case (which is a hw limitation), as well as runs the r200 render path of doom3/quake4 (1.1 patch needed for quake4). The code is heavily borrowed from the r300 driver as vertex programs encoding is almost identical. arb_vertex_program is not yet announced by default and still needs to be enabled via driconf.
2006-06-02remove code dealing with drmMinor version < 6 since all radeon drivers ↵Roland Scheidegger
request at least drmMinor 6 anyway.
2006-04-09Destroy the GL context after driDestroyTextureHeap, because the driver'sEric Anholt
DestroyTexObj has a dependence on the glCtx and may segfault otherwise.
2006-04-04switch to card_type rather than IsPCI, doesn't change any functionality yetDave Airlie
2006-03-31Dave Reveman's patch for GLX_MESA_copy_sub_buffer supportBrian Paul
2006-03-27make allow_large_textures 1 by default for radeon and r200, and consequently ↵Roland Scheidegger
enable all texture units by default on those cards (3 for radeon, 6 for r200). Fix the usually forgotten DRIVER_DATE accordingly.
2006-02-03replace the texture level hack used in radeon/r200 to allow larger textures ↵Roland Scheidegger
with different methods to calculate the announced maximum texture sizes. Default is still the same (that is, radeon/r200 default to not announce anything which might not fit, i830/i915 default to 1 texture must fit). Bug #5785.
2006-01-07cube maps on r100 require newer drm than the same feature on r200 ↵Roland Scheidegger
(regression from introducing unfied initialization). Fix wrong (so far unused) family assignment for r100 cards.
2005-11-02First step of Radeon DRI unification:Eric Anholt
- Makes all three drivers use the same screen structure and setup code, with a few ifdefs for the separate compilation to deal with symbols not being available to all drivers and the fact that we have no mechanism for dealing with different config options for different chip families in the same driver. These issues should be dealt with later. - Introduces IS_R[123]00_CLASS(radeonScreenPtr) macro for code for taking different paths depending on the general class of chipset. - Adds many new R300-class PCI IDs, though not all those listed in radeon_driver.c.