summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200/r200_context.h
AgeCommit message (Collapse)Author
2010-01-18r200: add blit supportAlex Deucher
Only enabled with KMS.
2010-01-04Remove leftover __DRI{screen,drawable,context}Private referencesKristian Høgsberg
As part of the DRI driver interface rewrite I merged __DRIscreenPrivate and __DRIscreen, and likewise for __DRIdrawablePrivate and __DRIcontextPrivate. I left typedefs in place though, to avoid renaming all the *Private use internal to the driver. That was probably a mistake, and it turns out a one-line find+sed combo can do the mass rename. Better late than never.
2009-09-01radeon: fix r100/r200 polygon stipple under kmsDave Airlie
There really need to use state emits under kms, otherwise we end up with some dwords in the command buffer before we've ever emitted any useful state. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-08-28r100/r200: Bring back old PolygonStripple for DRI1.Pauli Nieminen
DRI1 didn't have support for command buffer emit for stripple.
2009-08-26radeon/r200: OQ support for r200 in theory.Dave Airlie
this is an untested port of the r100 OQ code
2009-08-26r200: Add scissor to state atom list.Pauli Nieminen
Scissors are jsut one of states that we have to emit so it should be in state list
2009-08-21r200: Remove unnecessery Elts from r200 context.Pauli Nieminen
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-04-02radeon/r200/r300: collapse context destruction down to a common path.Dave Airlie
Context destruction was nearly the same over all the drivers, so collapse it down.
2009-03-23raedon/r200/r300: mega-FBO commits.Dave Airlie
Re work depth issues. Do a lot more FBO abstactions fixup depth/stencil buffer interactions
2009-03-10r200: enable hw clearsDave Airlie
2009-02-12r200/r300: get up to speed on renamed filesDave Airlie
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-09r200: cleanup some bits that aren't usedDave 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-22r200: fix up swtcl/tcl flushesDave Airlie
2009-01-23r200: emit elts into a separate ELT boDave Airlie
2009-01-22r200: remove indexed vertsDave Airlie
2009-01-20r200: clear is working at least - not much elseDave Airlie
2009-01-14radeon/r200/r300: consolidate swap buffersDave 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-14radeon/r200: move state atom to common headerDave 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-06-21replace __inline and __inline__ with INLINE macroBrian Paul
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-09-29r200: Implement SetTexOffset hook.Chris Rankin
Implementation guidance by Michel Dänzer, final testing by Timo Aaltonen.
2007-05-17remove CVS/XFree86 keywordsChristoff Brill
2007-02-09r200: simplify / unify input map handling for vp and fftnlRoland Scheidegger
Use the same input map handling for fftnl and vertex programs. It doesn't enable any new functionality (should make it easy to support per-vertex materials though), but the code is much cleaner.
2007-02-03remove now unused vtxfmt stuff from radeon/r200 header filesRoland Scheidegger
2006-12-14submit vertex weights to make World of Warcraft maybe happy (bug 8250)Roland Scheidegger
submit the vertex weights to hw, which will enable broken vertex programs errorneously using them to work. Note however that this will only work if glWeight is used, there is no code in mesa at all to deal with weight vertex array (glWeightPointerARB).
2006-11-30fix mixed conventional / generic vertex arrays which caused a wrong array ↵Roland Scheidegger
order leading to very bogus rendering (for instance WoW intro screen mentioned in #8250).
2006-11-15Remove use of GetBufferSize (depreciated).Jerome Glisse
2006-11-03enable generic arrays for r200 hw vertex programs by assigning unused color ↵Roland Scheidegger
and texture inputs to them. Not widely tested yet. This should eliminate all fallbacks due to vertex programs, except writes to back facing colors, or when exceeding a hw limit (12 temps, 12 attribs etc.).
2006-10-24fix (per-vertex) fog when using ARB_vp by incorporating fog factor ↵Roland Scheidegger
computation into the vertex program (not yet fixed for swtnl). Simplify (and correct) the VTX_TCL_OUTPUT_VTXFMT handling when using vertex programs, turns out it's solely driven by the needs of the past-vertex stage of the pipeline, this should fix lockups with ill-specified applications using vertex programs (for instance applications enabling fog but not writing to fog coord output will now get (conformant) undefined results instead of lockups).
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-08-30Minor r200 vertex program cleanups. Remove disabled leftovers from r300 ↵Roland Scheidegger
vertex program code. Fix authors. Correct slightly wrong check to determine if ran out of temps. Simplify check to determine if ran out of max instructions. Correctly report used native temps. Always kick off program translation when ProgramStringNotify is called (otherwise the reported native resources used queried might be wrong).
2006-07-20Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul
"gl_" to match other structs.
2006-07-03check if radeon_drm.h from libdrm is new enough, otherwise print an error to ↵Roland Scheidegger
make it easier to figure out why it won't compile...
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-05-27preparation for r200 hw vertex programs. Increase R200_CMD_BUF_SZ to 16k ↵Roland Scheidegger
instead of 8k (the reasons why it was exactly 8k are unclear). Add register defines, sanity code, fix potential issue with wrong statechange order when disabling fragment programs.
2006-04-11More GLSL code:Michal Krol
- use macros to access and modify render inputs bit-field; - un-alias generic vertex attributes for ARB vertex calls; - use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS (ARB code) in place of VERT_ATTRIB_MAX; - define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex attributes for ARB_vertex_shader; - fix generic attribute index range check in arbprogparse.c; - interface GLSL varyings between vertex and fragment shader; - use 64-bit optimised bitset (bitset.h) for render inputs;
2006-03-31Dave Reveman's patch for GLX_MESA_copy_sub_buffer supportBrian Paul
2006-03-28fix missing *_STATECHANGE in *UpdateViewportOffset for radeon, r200 and r300 ↵Roland Scheidegger
(reported by Jim Duchek). Fix some potential problems with strict-aliasing with r200 and radeon drivers in *UpdateViewportOffset, *PolygonOffset and *UpdateWindow functions (some compiler warnings about strict-aliasing remain in the codegen vertex code, and there may be more problems unnoticed by the compiler).
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.
2005-10-13fix potential bug when emitting elts with lots of componentsRoland Scheidegger
2005-10-05reverse accidentally commited part of last commit (makes it compile again...).Roland Scheidegger