summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/nouveau/nouveau_context.c
AgeCommit message (Collapse)Author
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-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-06nouveau: move nv10 clear command, for usage by other gpuPatrice Mandin
2007-09-15nouveau : use new nouveau_reg.h with correct Bracket in macroMatthieu Castet
2007-09-04nouveau: who needs nv03 ?Stephane Marchesin
2007-09-04nouveau: nv10: need to transpose mesa model+proj matrix for hwPatrice Mandin
2007-09-03nouveau: separate modelview and projection matrix updatesPatrice Mandin
2007-08-31nouveau: add hw-dependent function to update modelview*projection matrixPatrice Mandin
2007-08-15nouveau: Remove ALLOW_MULTI_SUBCHANNEL hackBen Skeggs
Irrelevant, since we depend on working context switching now.
2007-08-15nouveau: Always render offscreen, emulate front buffer rendering.Ben Skeggs
2007-07-14nouveau: nv10 and nv11,15 are differentPatrice Mandin
2007-07-13Play "nuke the typedef"Ben Skeggs
2007-07-06NV_17 is different from NV_10Patrice Mandin
2007-06-29nouveau: match drm changes (0.0.7)Ben Skeggs
2007-03-21merge from masterBrian
2007-03-21nouveau: SwapBuffers() needs to perform a glFlush()Ben Skeggs
2007-03-09Merge branch 'origin' into glsl-compiler-1Brian
Conflicts: src/mesa/main/context.c
2007-02-28nouveau: drm interface changesBen Skeggs
2007-02-23Update DRI drivers for new glsl compiler.Brian
Mostly: - update #includes - update STATE_* token code
2007-02-02Merge branch 'vbo-0.2'Keith Whitwell
Conflicts: src/mesa/main/texcompress_s3tc.c src/mesa/tnl/t_array_api.c
2007-01-28nouveau: initial GL_ARB_occlusion_query supportBen Skeggs
Only enabled on NV40, NV20/NV30 code is untested.. However, NV30 should be identical to NV40.
2007-01-21nouveau: add nv04 state support, and small nv04 fixes.Stephane Marchesin
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-12-27nouveau: Initial buffer object supportBen Skeggs
2006-12-27nouveau: add nouveau_mem_alloc/free debuggingBen Skeggs
2006-12-26nouveau: Make use of NOUVEAU_DEBUG for shader disasmBen Skeggs
2006-12-26nouveau: Wait on notifier to check for completion of previous commands.Ben Skeggs
We can't wait on NV_PGRAPH_STATUS. We don't have the regs mapped, and there's no guarantee that we'll catch PGRAPH idle when multiple channels are active.
2006-12-26nouveau: Add notifier support functionsBen Skeggs
2006-12-23nouveau: get 16bpp workingBen Skeggs
2006-12-16Get nv10_swtcl.c working enough for glxgears on NV40.Ben Skeggs
2006-12-14Improve SwapBuffers a bit.Ben Skeggs
2006-12-08Skeletal extension handling across chipsets.Ben Skeggs
2006-12-08Some work on buffer handling, most likely not entirely correct andBen Skeggs
incomplete. But, it works well enough that windows can be moved/resized.
2006-12-03Merge the pciid work. Use lock step versioning with the drm.Stephane Marchesin
2006-11-25Incomplete shader stuff, should mostly work for NV40. Other cards, not soBen Skeggs
much..
2006-11-21nouveauCreateDmaObjectBen Skeggs
2006-11-20Add state initialization to context creation.Jeremy Kolb
2006-11-19New swtcl implementation. It's simpler than the previous one (doesn't useStephane Marchesin
templates) and it is probably faster as well
2006-11-13Fix segfault in nouveauCalcViewportBen Skeggs
2006-11-12Some more nouveau_screen.c setup, not sure how correct it is yet though..Ben Skeggs
2006-11-12We need nmesa->driFd and friends setup before we call nouveauFifoInitBen Skeggs
2006-11-12Dont call exit() from the DRI driver, with AIGLX this is particularly nastyBen Skeggs
2006-11-05Architect the DRI :Stephane Marchesin
- make use of the autogenerated nouveau_reg.h file - add object creation to the DRI - some work on screen and context creation
2006-11-01Fix compile errors. Add vblank_seq to nouveau_context.Jeremy Kolb
2006-09-17Some small changesStephane Marchesin
2006-09-17Small changesStephane Marchesin
2006-04-14Cleaned stuff in the tcl codeStephane Marchesin
2006-04-13Some compile fixes.Jeremy Kolb
2006-03-13Cleaned up some code, made more files compile. Renamed nv20_swtcl.* toStephane Marchesin
nv10_swtcl.*, hopefully this is the last rename (this should be, as NV05 really behaves differently).