summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200/r200_state.c
AgeCommit message (Collapse)Author
2009-01-31r200/r300: add aperture space checksDave Airlie
2009-01-20r200: clear is working at least - not much elseDave Airlie
2009-01-14r300: start moving new r300 cmdbuf into common codeDave 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-21mesa: standardize on C99's uint*_t instead of u_int*_tKeith Whitwell
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-01-06Replace gl_framebuffer's _ColorDrawBufferMask with _ColorDrawBufferIndexesBrian
Each array element is now a BUFFER_x token rather than a BUFFER_BIT_x bitmask. The number of active color buffers is specified by _NumColorDrawBuffers. This builds on the previous DrawBuffer changes and will help with drivers implementing GL_ARB_draw_buffers.
2007-07-21Remove ctx->Point._Size and ctx->Line._Width.Brian
The clamping for these values depends on whether we're drawing AA or non-AA points, lines. Defer clamping until drawing time. Drivers could compute and keep clamped AA and clamped non-AA values if desired.
2007-05-17remove CVS/XFree86 keywordsChristoff Brill
2007-03-12r200: Simplify r200SetCliprects like radeonSetCliprects in radeon and r300.Alan Swanson
2007-03-12r200: Adapt cliprect fixes from r300.Alan Swanson
2007-02-03disable r200 materials-between-begin-end check if vertex progs are enabledRoland Scheidegger
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-10-31remove vtxfmt code, switch over to vboKeith Whitwell
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-15Remove a bunch of "ctx->Driver.function = _swrast_Function" lines sinceBrian Paul
default/fallback functions are already plugged in by the call to _mesa_init_driver_functions().
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-13don't use derived value _ColorLogicOpEnabled as it's not current by the time ↵Roland Scheidegger
we call the blend/logic op functions. Fixes glean logicOp test on r200.
2006-09-13fix GL_REFLECTION_MAP texgen by not using tex matrix negation when lighting ↵Roland Scheidegger
is not enabled (?). This fixes demos/cubemap as well as glean texCube test.
2006-09-01make sure vertex programs are only enabled on the hw when they are really ↵Roland Scheidegger
enabled, not just when a program enables vertex progs (could still be not enabled due to some error). Otherwise the hw potentially would try to execute a not valid (not set up at all) vertex program, likely leading to lockups. Hopefully fixes #8060.
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-05-08updates to dri drivers for recent stencil changesKeith Whitwell
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).
2006-02-28No need to call *_FIREVERTICES twice.Aapo Tahkola
2005-10-08do not set format of the incoming vertices needed for fog_coord in the ↵Roland Scheidegger
generic state functions. This is done in the vtxfmt/hwtcl/swtcl pathes respectively.
2005-10-05fix problems with some texgen modes by putting the chip into LOCAL_VIEWER ↵Roland Scheidegger
mode for lighting (potentially causes slight misrenderings with the specular components of lights if the light model is not set for local viewer).
2005-10-05enable point sizes larger than 1 (for aliased points only) by using the hw ↵Roland Scheidegger
point sprite primitive.
2005-09-14Instead of calling _mesa_ResizeBuffersMESA() in the Viewport function,Brian Paul
call driUpdateFramebufferSize() when window size/position changes.
2005-09-13Replace ctx->Driver.StencilOp/Func/Mask() functions withBrian Paul
ctx->Driver.Stencil*Separate() functions.
2005-09-12add complete support for ATI_fragment_shader for the r200. Most of the new ↵Roland Scheidegger
code is in the new file r200_fragshader.c. Reverse engeneered by Dave Airlie and me
2005-09-09Fix wrong fallback bit being set by the tcl fallback caused by ↵Roland Scheidegger
ARB_vertex_program. Disable ARB_vertex_program by default - it is incredibly slow, and just plain doesn't work anyway (arbvptorus fails an assertion, arbvpmesh has bogus output)
2005-09-03remove dead codeBrian Paul
2005-09-01Finish up some of the gl_renderbuffer work.Brian Paul
Use driRenderbuffer's offset, pitch fields in the span routines. Remove the SetBuffer driver function. Consolidate the code for setting CTX_RB3D_COLOROFFSET and CTX_RB3D_COLORPITCH state in new radeonUpdateDrawBuffer() function. Old code is surrounded by #if 000 / #endif, temporarily.
2005-05-04Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul
Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
2005-02-17s/0/NULL/ (Jeff Muizelaar)Brian Paul
2005-02-08SUBPIXEL fixes from DieterKeith Whitwell
2005-02-08Call _mesa_ResizeBuffersMESA() in r200Viewport(), fixes incorrect renderingMichel Dänzer
in bzflag 2.0. (Alexander E. Patrakov)
2005-01-26(Stephane Marchesin, me) Add support for color (framebuffer) tiling to the ↵Roland Scheidegger
radeon and r200 driver
2004-12-14uint*t -> u_int*t changesAlan Hourihane
2004-12-08(Stephane Marchesin, me) add hyperz support to radeon and r200 drivers. Only ↵Roland Scheidegger
fast z clear and z buffer compression are supported for now, hierarchical-z is not. Still problems with multiple apps and z/stencil readback, which is why hyperz is disabled per default. Also add the new point sprite packet drm 1.13 accepts to the sanity code.
2004-11-03enable GL_EXT_fog_coord. Calculate fog factors and submit them instead of ↵Roland Scheidegger
fog coords (it seems the chip cannot do fog factor computation when not using fragment depth as fog coord source). vtxfmt uses fallback for now (most code present but some magic would be needed if replaying vertices is necessary later on).
2004-10-16Add code to support projective texturing and fix mixed enabling of textureEric Anholt
coordinate generation. Original code by Roland Schiedegger, with changes by myself. While here, ensure that the swtcl path does tnl_install_attrs enough when fog/specular are being (en/dis)abled. Notable effects: - projtex test works with TCL and is closer with swtcl (Bugzilla #1461) - 8/9 squares work in texgenmix instead of 3. - texcyl "reflect" mode works (GL_SPHERE_MAP is now a fallback -- unclear if the hardware can actually support it). - flickering in doom3 replaced by just plain darkness. - blocktube fixed (Bugzilla #984) - fixes stex3d
2004-10-02added support for GL_ARB_draw_buffersBrian Paul
2004-09-07This patch enables GL_ARB_vertex_program and GL_NV_vertex_programDave Airlie
support in the r200 driver. Both extensions can be enabled via options, GL_ARB_vertex_program is on by default, GL_NV_vertex_program off. Option descriptions are in german, english and french. From: Philipp Klaus Krause
2004-05-27change some explicit references to texture units 0/1 to unit < ↵Roland Scheidegger
MaxTextureUnits (Andreas Stenglein, Ronny Vindenes)