Tag 'mesa_20090313' created by Brian Paul <bri...@vmware.com> at 2009-03-13 15:35 +0000
Mesa snapshot 2009 Mar 13 Changes since mesa-6_5-20060712: Aapo Tahkola (20): fix #6991 support shorts as vertex data gcc-4.1.1 compile fix fix broken write-only depth setting. use early z where possible. extend some DrawRangeElements cases to support rendering more than 65535 verts in one blast. ut2k4 cases in other words ... remove duplicate pieces of code. fix #8008 close #6318 Fix invalid enums passed to MapBuffer Fix invalid enums passed to MapBuffer typo fix. this case still fails. support as much of GL_EXT_stencil_two_side as we can. untested. Fix #10071 - wrong max_index in vbo draw_prims. (Papadakos Panagiotis) Guess another unknown register in R300 command buffer initialization. (Oliver McFadden) don't use hw to perform vertex transform etc. when using swtcl. This for compatibility with vertex programs and the fact that swtcl very rarely gets hit with tcl capable hw. r300: fix primary color on rs480 r300: fix broken vbos rs480: fix textures and secondary color(?). clipping is still busted. tested on r480 Merge branch 'master' of git+ssh://aa...@git.freedesktop.org/git/mesa/mesa rs480: fix secondary color for real this time Adam Jackson (20): linux-indirect target fixes. mkdir -> mkdir -p, since /usr/include might not exist in the installroot yet Fix some && (logical) that should clearly have been & (bitwise). Fix parallel make in r300 driver. Make sure GLX entrypoints are marked PUBLIC. Unbreak Linux builds with -fvisibility=hidden. __driConfigOptions must be PUBLIC. glxinfo: Fix multisample visual reporting. Trivial SELinux awareness. Enable with --enable-selinux. Add E7221 variant to i915. Add IS_915(), simplify IS_9XX() a bit. Fix build on ia64. Fix sis_dri on ia64. Fix parallel build by making symlinks before makedepend. chmod a-x **/glslnoise.c Install dri_interface.h in 'make install'. Fix path to minstall in last commit. Install dri_sarea.h in 'make install' Drop unused 'entries' field from __glxHashTable. Update to SGI FreeB 2.0. Alan Coopersmith (4): Fix builds with compilers other than gcc 3.0 & newer Make minstall work with Solaris /bin/sh Solaris port of Mesa 7.1 with autoconf support Add Solaris to OS'es using PROT_EXEC mmap() to get executable heap space Alan Hourihane (135): Fix some breakage after the PROGRAM_UNDEFINED change Fixup more PROGRAM_UNDEFINED problems. Fix writemasks on texture arb fp instructions. Fix bug 8010 - locking issues. merge current trunk into vbo branch Don't define as const's to avoid compiler optimization & warning. use passed target parameter Ensure we have a valid ReadBuffer for CopyTexSubImage, and Add missing OSMesaColorClamp function Only set R_MODE with NV_point_sprite remove duplicate init func Use drm_i915_sarea instead of drmI830Sarea and remove i830_common.h remove redundant init set outputs_safe to 0 as it's possible for the code generation set outputs_safe to 0 as it's possible for the code generation small cleanups correct the return value Fix error string revert part of the previous cleanup - it only applies include <X11/Xlib.h> silence warning build fix for xorg driver Fix build problem with MSVC Some changed for non-C99 compilers inline -> INLINE revert mode change back to 644 snprintf -> util_snprintf declare atoms as extern fix _mesa_ffs for alternative compilers Build with -O2 Set the attribute as used. Silence warning Check for NULL pointer Bring in DRI2 changes small optimization Hook gallium i915 up to DRI2 add missed files for DRI2 merge fix legacy DRI fix card_extensions revert the DRI2 commits Check in SwapBuffers for any new pending dri2 events glcontextmodes.c is required remove the reference in .gitignore check for winsys->destroy before calling choose sane default for dri driver location choose a 1024x768 resolution rather than use CRTC 1 (aka LVDS), try and setup all connectors/encoders consolidate intel directories. if we can't find a mode, return first. At least we should pick first mode Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa into gallium-0.2 tree builds add gallium dir re-add MSAA support fix for MSAA bug fix to MSAA visuals mesa: add missing FEATURE_attrib_stack around add cso_hash_contains() function link EGL demos with -lGL egl: Add new EGL driver that wraps GLX. egl: fudge with LIBGL_DRIVERS_PATH to pick up EGL specific DRI driver. egl: switch to egl_glx.so as the default EGL driver for X. egl: cleanup doublebuffer check st: change from ** to * for st_unreference_framebuffer() st: export st_get_framebuffer_dimensions() to retrieve st: add prototype for st_get_framebuffer_dimensions() gallium: silence warning mesa: when emitting an address load instruction, for dri: don't check the number of cliprects before swap, let build "GLX" egl driver by default and egl demos Merge commit 'origin/master' into gallium-0.2 disable OPENGL_BIT Merge commit 'origin/master' into gallium-0.2 gallium: no renderbuffer, so just exit. Merge commit 'origin/master' into gallium-0.2 mesa: fix generation of fixed function state when no vp exists mesa: fix generation of fixed function state when no vp exists build default set of progs + egl mesa: fix build add SRGB formats Merge commit 'origin/master' into gallium-0.2 Merge commit 'origin/gallium-0.1' into gallium-0.2 Merge commit 'origin/master' into gallium-0.2 Merge commit 'origin/gallium-0.1' into gallium-0.2 Merge commit 'origin/master' into gallium-0.2 Merge commit 'origin/master' into gallium-0.2 fix conflict breakage Merge commit 'origin/gallium-0.1' into gallium-0.2 Merge commit 'origin/master' into gallium-0.2 gallium: temporary check for > 65535 vertices gallium: more vertex count checks gallium: change 65535 to UNDEFINED_VERTEX_ID gallium: catch vertex overflow higher up mesa: when we have interleaved arrays, check bounds for both mesa: move declaration Merge commit 'origin/master' into gallium-0.2 Merge commit 'origin/master' into gallium-0.2 Merge commit 'origin/gallium-0.1' into gallium-0.2 gallium: fix some asserts gallium: set ST_NEW_FRAMEBUFFER when setting new surfaces egl: support GLXFBConfigs, pbuffers and pixmaps. egl: fix startup query version egl: fix egl closure st: build fix glsl: support sampler arrays. glsl: fix a comment typo glsl: support sampler arrays. glsl: fix a comment typo egl: fix makecurrent with null drawable/context glsl: fix regression from sampler arrays commit glsl: fix regression from sampler arrays commit mesa: handle some cases of 0x0 render targets mesa: add new samplers_array test Merge commit 'origin/master' into gallium-0.2 mesa: check frambuffer complete status before rendering mesa: revert partial commit for 0x0 render targets mesa: small cleanup mesa: check frambuffer complete status before rendering mesa: tweak to formatting Merge commit 'origin/master' into gallium-0.2 dri: add fake front definitions dri: add fake front definitions Merge commit 'origin/master' into gallium-0.2 gallium: change the st_get_framebuffer_surface/texture functions mesa: fix offset problem with interleaved arrays gallium: fix glean's vertProg1 mesa: remove old comment as it's fixed elsewhere now. dri2: support glXWaitX & glXWaitGL by using fake front buffer. demos: fix glxpixmap and call glXWaitGL before calling XCopyArea. egl: error checking egl: if a surface type isn't defined let's default to EGL_WINDOW_BIT egl: glx updates for FBconfigs glx: add support for a reallyFlush() function before swap occurs. gallium: add winsys interface for viewport changes to support DRI2 mesa: only call update_buffer when it's available xdemos: On termination with `esc` close the contexts correctly. Alan Swanson (3): radeon: Adapt cliprect fixes from r300. r200: Adapt cliprect fixes from r300. r200: Simplify r200SetCliprects like radeonSetCliprects in radeon and r300. Alex Deucher (36): R300: RV410 SE chips have half the pipes of regular RV410 Add new RV380 pci id Radeon 9500 (0x4144) only has one pipe R300: fix typo r300 fog reg Merge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r345-cleanup R5xx: Add R5xx pci ids R5xx: various updates Update comment R300: clean up VAP_PROG_STREAM_CNTL* register usage R300: cleanup VAP_CLIP_CNTL R300: fix VAP_OUTPUT_VTX_FMT_1 defines R3/4/5: fix TCL on r5xx, cleanup PVS code R5xx: Add R5xx pci ids R5xx: various updates Update comment R300: clean up VAP_PROG_STREAM_CNTL* register usage R300: cleanup VAP_CLIP_CNTL R300: fix VAP_OUTPUT_VTX_FMT_1 defines R3/4/5: fix TCL on r5xx, cleanup PVS code R300: fix rebase conflicts R500: add support for 4k textures Merge branch 'r500-support' of git+ssh://ag...@git.freedesktop.org/git/mesa/mesa into r500-support R3xx: more PVS cleanup R300: cleanup FS code and fill in missing details R500: fixup r300EmitClearState() FP for r5xx R300: clean up Fog registers R300: clean up CB registers R3xx: clean up ZB registers R300: clean up GA registers r500: write out the correct FP registers r300: SC register naming cleanup R3/4/5xx: update to use drm get_param for num gb pipes R300: 1002:5657 is actually RV410 R300: update vap_cntl values for NUM_FPUS R300: missing semicolon R300: Add support for RS600 chips Alex Neundorf (1): added catamount-osmesa-pgi config Alexey Sokolov (1): define M_PI if needed Andreas Micheler (1): faster write_rgba_span_front() Andrew Randrianasulu (1): r200: accept PROGRAM_CONSTANT inputs due to mesa changes Andrzej Trznadel (2): Fix compat implementation of ffs() to return 1-based bit numbers. [965] Fix fp temp reg release code to not usually release all temps. Andy Skinner (1): added -altopts to allow overriding all other opts Arthur Huillet (1): bumped nouveau DRM interface version number Ben Skeggs (601): Add start of vertex shader backend, will most likely not work correctly yet Another TODO, so I don't forget.. A couple of quick fixes, the original had some half-finished Kill all the current shader code. fix typo Dont call exit() from the DRI driver, with AIGLX this is particularly nasty We need nmesa->driFd and friends setup before we call nouveauFifoInit Some more nouveau_screen.c setup, not sure how correct it is yet though.. Fix segfault in nouveauCalcViewport Add nv30InitStateFuncs jkolb pointed out that face can also be FRONT_AND_BACK. Added stencil funcs Adapt FIFO code to deal with cases where the base GET/PUT value isn't 0. Use RENDERINPUTS macros to access render_inputs_bitset poke the correct FIFO regs Stupid bug.. More FIFO fixes. Avoid sharing subchannels with the ddx until context switching is done Fix nv30LineWidth, hw expects a ubyte. Don't bother touching lighting stuff if shaders are in use nouveauCreateDmaObject Some missing state init fix scissor Incomplete shader stuff, should mostly work for NV40. Other cards, not so Fix progs/fp/tri-xpd Fix RSQ emulation - Add InitInstruction to hw shader backend, and remove SetUnusedSource. Fix a copy+paste'o that caused some *very* strange bugs.. Some work on buffer handling, most likely not entirely correct and oops, we don't want this by default just yet... Create visuals for modes the ddx provides oops, typo Implement a simple nv30Clear, and make sure we get a nouveau_renderbuffer state cache is automagically flushed on a normal BEGIN_RING_SIZE NV_44 uses nv30InitStateFuncs too Skeletal extension handling across chipsets. Some more voodoo to get 3D going with a minimal initial context. 0x4497 doesn't have NV30_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE Improve SwapBuffers a bit. NV1x/2x hw_func stubs. Get nv10_swtcl.c working enough for glxgears on NV40. Don't build passthrough shader on <NV40 nouveau: get 16bpp working nouveau: Don't fill nrb->dPriv for private buffers nouveau: maintain numClipRects/pClipRects in context. nouveau: Modify span routines to use nouveau_renderbuffer instead of driRenderbuffer nouveau: Kill some compile warnings. nouveau: Add notifier support functions nouveau: Wait on notifier to check for completion of previous commands. nouveau: Make the notifier stuff actually work.. nouveau: Make use of NOUVEAU_DEBUG for shader disasm nouveau: Add simple wrapper for NV_MEMORY_TO_MEMORY_FORMAT. nouveau: Typo nouveau: record *actual* type of memory that was alloc'd, not the requested types. nouveau: add nouveau_mem_alloc/free debugging nouveau: We'll need syncNotifier for NV_MEMORY_TO_MEMORY_FORMAT too. nouveau: Initial buffer object support nouveau: Use bufferobj interface for fragment program uploads nouveau: bump drm patchlevel. nouveau: allow the use of multiple subchannels/objects by default. nouveau: fail CreateScreen on unknown cards instead of guessing. nouveau: Add 0x0244 pciid manually for now.. nouveau: bump drm patchlevel nouveau: shader backend branching support for all cards that support it. nouveau: kill off shader pass1. nouveau: rename pass0_arb to pass0. nouveau: start converting shaders into a tree format again.. nouveau: reindent shader pass0/pass2 nouveau: unbreak nv40 nouveau: fill in condition info for instructions nouveau: allow for card-specific shader infos to be kept nouveau: DPH and CMP for NV40 which doesn't do it natively. nouveau: some extra debug output nouveau: and here's the "oops, I suck" commit :) nouveau: add result scaling to shader backend, use it in RSQ emul for NV40. nouveau: unbreak NOUVEAU_RING_DEBUG nouveau: extend notifier interface to allow multiple notifiers in a memory block. nouveau: initial GL_ARB_occlusion_query support nouveau: fix nv30 line width nouveau: unhardcode some more NV30TCL_FP_CONTROL values nouveau: maintain a map of which vtxprog input corresponds to which array nouveau: oops nouveau: remove an unused table nouveau: oops, build attrib map after we know how the final shader will look.. nouveau: rework shader param handling nouveau: NV40 glClipPlane support. nouveau: misc NV40 fixes nouveau: argh nouveau: new bufferobj code. nouveau: fix a small bug in nv10 swtcl nouveau: OUT_RINGp expects the size in dwords, not bytes. nouveau: a couple of NV3x fixes nouveau: drm interface changes nouveau: avoid using uninitialised TexSrcUnit. nouveau: NVSDBG macro nouveau: fail translate if we use too many params somehow nouveau: fix typo nouveau: SwapBuffers() needs to perform a glFlush() nouveau: update for drm interface changes (0.0.5) nouveau: some swtcl fixes nouveau: match drm version bump nouveau: NV30_TCL viewport/scissor fixes nouveau: match drm changes (0.0.7) nouveau: match drm 0.0.9 interface Play "nuke the typedef" nouveau: Lets only do private buffers. nouveau: reindent nouveau_buffers.c nouveau: reindent nouveau_buffers.h nouveau: Split nouveau_buffers into nouveau_mem and nouveau_fbo nouveau: Always render offscreen, emulate front buffer rendering. nouveau: Remove ALLOW_MULTI_SUBCHANNEL hack nouveau: reindent nouveau_span.c nouveau: Keep drm channel alloc struct around. nouveau: Use half the notifier block for query objects. nouveau: Very rough cut at gallium winsys + nv40 pipe driver. nouveau: oops, when'd that disappear.. nv40: some very rough guesses for get_paramf() nv40: support TXP again nv40: fix thinko == fix 3d textures nouveau: m2mf fallback path for region copies. nouveau: update to latest header nv40: remove use of temps for KILP, implement KIL nv40: track pipe const id Add support for Z24_S8 to GL state tracker. nv40: use native Z24_S8 format for zeta buffer nv40: fix a couple of typos nv40: "rect" textures, anisotropic filtering nouveau: temporary workaround for dodgy buffer code nv40: force reupload of all consts on vtxprog change Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nv40: Better teximage layout, probably not 100% correct still. nouveau: wait for sync after m2mf also, to be thourough. nv40: support for keeping multiple vtxprogs on the hw at the same time. nv40: fp arbitrary swizzling/negation nv40: point sprites nv40: remove unused stuff nv40: be more flexible with render target setup Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nv40: fix build after gallium changes nouveau: g8x winsys support, yay softpipe! nv50: 3d driver skeleton nouveau: adapt to gallium interface changes nouveau: use "indirect" push buffers nouveau: relocs are per-pushbuf, not per-channel nouveau: downgrade hacked syncs to hacked flushes Merge branch 'nouveau-gallium-0.1' into darktama-gallium-0.1 nouveau: give resources a start property Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: fix build nouveau: add callbacks for signalled fences nouveau: fix elusive dma bug Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nv40: more flexible vbo format translation Correct user VBO size. Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: fix build nv40: some forgotten adaptions nv40: depth textures nv40: allow reading from fragprog result regs nv40: insanely stupid bug.. Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: adapt nv40: small bug nv40: Fix bug in vtxprog + a few tweaks nouveau: take jumps into account properly when debugging pushbuf Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: more adaption.. nouveau: mass renaming for consistency, no functional changes nv40: Do all fp setup in nv40_fragprog.c nv40: less dodgy vp const/insn handling Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: move extension stuff into nouveau_screen.c nv40: make vbo state update static nv40: destroy programs nv40: grow fragprog as needed nv40: fp support for TGSI_FILE_IMMEDIATE. nv40: typo nv40: fix culling nouveau: some cleanups nv40: don't use vertex buffers for static vertices. nv40: colormask thinko nouveau: bump pushbuf size a little, so a "full" packet can fit nv40: clean state a bit nv40: fix valgrind complaints Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: match latest gallium changes Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: remove sync hack, gallium got sort-of fixed. nouveau: nuke subchan auto-assign. Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: match gallium changes nouveau: some cleanups nouveau: don't wait when deleting fences unless needed nv40: seems we have stencil faces around the wrong way. nouveau: speed up user buffers. nv40: ensure all required buffers are accounted for during state validation nouveau: pushbuf code, now with 50% less suck! nv40: use index buffers rather than inline indices. nouveau: header update nouveau: remove fence_del(), _ref() can be used for the same purpose. nouveau: allow unfenced read of buffers in a few situations nouveau: track last validated offsets, so we know when relocs can be avoided. nouveau: remove legacy stuff nouveau: typo fix nv40: untested fragprog mods for big-endian chips nouveau: header update nv40: s/READ/WRITE/ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nv40: some cleanups nv40: bind textures based on fragprog usage. nv40: do nothing for set_clip_state() nouveau: share pushbuf interface code between pipe drivers nv40: use a more "normal" 2x8bit format, the other is likely a HILO format. nouveau: object header update Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: gallium changes.. nouveau: don't use GL headers at all nv40: stronger type safety nouveau: remove assertions from PIPE_ -> GL_ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nv40: clarify that tex code is fp-only, we'll do vertex textures eventually. nouveau: small oops Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: quicky-port to gallium changes Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: ddx versioning changed to match nouveau.ko versioning nouveau: support nv67 nouveau: 0xdeadc0de nouveau: implement a bo_set_status() nouveau: avoid relocations where possible. nv40: the 0x4497 version of curie doesn't support index buffers. nv40: cleanup state handling a bit nv40: delay all state emit until before draw Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nouveau: interface updates nv40: prep for multiple pipe contexts on a single hw channel nouveau: memory leak nv40: fix inline u08/u16 indices nouveau: ddx versioning changed Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 nv40: remove use of pt->first_level nv40: attempt at obeying sampler min_lod/max_lod/lod_bias nouveau: 0xdeadc0de nouveau: implement a bo_set_status() nouveau: avoid relocations where possible. nv40: the 0x4497 version of curie doesn't support index buffers. nv40: cleanup state handling a bit nv40: delay all state emit until before draw nouveau: interface updates nv40: prep for multiple pipe contexts on a single hw channel nouveau: memory leak nv40: fix inline u08/u16 indices nv40: remove use of pt->first_level nv40: attempt at obeying sampler min_lod/max_lod/lod_bias nv40: always copy 4 float immediates for now. nv30: fix build nv30: more interface updates nv40: fix non-debug builds + start on obeying portability guidelines. nv40: over-zealous s/ Merge branch 'nouveau-gallium-0.1' into darktama-gallium-0.1 Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1 nouveau: match gallium code reorginisation. nouveau: fix potential userbuf crash. Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1 nv40: ensure scissor gets disabled where necessary nv40: similar changes to polygon stipple as were done for scissor nv40: obey polygon offset state nouveau: header update nv40: until gallium is fixed we'll need a fallback for user clip planes nv40: move some things around nv40: get fragprog onto new state mechanism nv40: and vertprog.. nouveau: cleanups + fixes nv40: keep track of generated context state vs current channel state nv40: almost there.. nv40: fb state Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1 nouveau: fix build nv40: rework fragment texture state nv40: move hw_dirty nv40: stateobj start out with 0 refcount nv40: dump meaningful names for surface formats nv40: construct vbo state the same way as the rest nv40: remove pipe_state struct now. Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1 Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1 nouveau: implement pipe_screen nouveau: hand nouveau_winsys in with pipe_screen init nv40: move "channel context" stuff into nv40_screen Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1 nouveau: turn pushbuf macros into inline functions nouveau: enable multi-context/single-channel support for nv40 nv40: fix segv when app "skips" texture units. Merge remote branch 'nouveau/gallium-0.1' into nouveau-gallium-0.1 nouveau: fix potential crash nouveau: silence some warnings nv40: nuke debug nv40: re-do vtxbuf format code nv30: a couple of vtxprog fixes nouveau: another "argh gallium fscks with assert" fix nv30: put the card into vtxprog mode + small cleanups/fixes nv50: some forgotten changes nv50: convert to hwctx-in-screen as nv40 is nv50: create blend stateobj nv50: crappy state validate/emit function nv50: ouch, next_subchannel++ :) nv50: depth_stencil_alpha stateobj nv50: scissor/viewport/blend colour/stipple nv50: rasterizer stateobj nv50: start on fb state Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: match interface changes nouveau: NV9X is basically a G80, fix issue with NV6X being detected as G80. Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv10: fix build after merge nv40: simple swtnl path (half broken, but getting there) nv40: workaround main swtnl breakage nouveau: create fence object when allocating pushbuf, instead of submit nv40: a few more fp opcodes nouveau: pass nvws to nvws->push_* functions, rather than nouveau_channel* nv40: "implement" noise opcodes in fragprog Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: match gallium API changes Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv40: use new pipe_framebuffer width/height fields nouveau: try combining prev and next resources on free nouveau: potentially delay buffer destruction nouveau: use saved fence pointer, not head of unsignalled list nouveau: do a retry if initial buffer alloc fails nv40: use num_cbufs nv40: align each level to 64 pixels nv40: s/free/FREE/ nv40: oops nv40: swtnl fallback on unsupported array format nv40: call semi-magic 0x1d88 method nv40: ensure vb relocs don't end up on list for swtnl nv40: add 16-bit SSCALED vb formats nv40: fix bug in query code Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv40: add dxtn formats (disabled) nv40: workaround fp result.data[0] clobberage nv40: fp: fix multiple refs to a single const withing an instruction nv40: catch fp extra-const cases where both const and immd have same idx nv40: remove some badness from fp temp/result allocation nv40: fix fp depth write nv40: vp reg changes similar to recent fp changes nouveau: fix infinite wait on space for userbuf. nv40: respect rasterizer cso bypass_clipping flag nv40: maintain pipe_surface status field nouveau: refcount buffers on validate list. Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv40: respect do_flip in surface_copy() nv40: vp const/immd fix nv40: vp 1/0/- swz Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: adapt to recent gallium changes nv40: mark fp dirty even when only consts updated nv40: track current scissor enable/disable state nv40: support vp clip distance regs, unused currently. nouveau: update object header nv40: fix slight thinko Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: winsys printf disappeared :) handle IsPositionInvariant flag nv40: shorten zsa state lines nv40: only update draw module state when using swtnl Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv40: need to resubmit buffers if pushbuf gets flushed during draw nv40: convert the inline idxbuf paths also nv40: static attribs -> stateobj nv40: remove redundant state_emit() calls nouveau: in some cases don't create the buffer in local mem initially. nv40: have test for hw idxbuf in single place nouveau: create swizzled surface + scaled image objects Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv40: kill some warnings nv40: implement user clip planes Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv40: use vb/ve counts rather than shader inputs for related loops Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: PIPE_ATTRIB_MAX -> PIPE_MAX_ATTRIBS fix non-i386 builds Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1 nouveau: fix build Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: stub set_edgeflags for all nv pipe drivers nv40: do full swtnl fallback when edge flags present. nv40: enable DXTn formats Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: bitmap texcoord bias has been removed nv50: report some supported formats to keep the state tracker from asserting. nv50: slightly less skeletal texture funcs, prevents fun segfaults nouveau: chipset is a device property, remove from nv/nvc. nouveau: create objnull during channel creation nouveau: make nouveau_device.h part of public API nouveau: remove chipset fields in all nv pipe driver context/screen structs. nouveau: remove winsys-related stuff from nouveau_local.h Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv40: fix typo in one of the previous commits Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: remove final PIPE_FORMAT_U_* usage nouveau: missed PCI case Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: very quick port to tex-surface changes. nouveau: oops, more tex-surfaces fallout nouveau: rework buffer validation a bit nouveau: flush pending pushbuf if buffer on validate list at map/del nv40: a couple of memory leaks nouveau: fix warning nouveau: kill off surface_alloc_storage() Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: update for interface changes + hack around gallium x86_64 bustage Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: major thinko Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 Revert "mesa: Use the appropriate relocation." nouveau: adapt to cpp->pf_block changes nv50: import current "state of the art" nv50 code nv50: use "real" constbufs for shaders + tcb uploads nv50: fucking horrible hack, I really hate G8x shaders.. nv50: implement SUB nv50: DPH nv50: split code/data upload out, fp will use it later on nv50: drop the majority of the old shader code, reimplement, only MOV so far. nv50: start using interpreter for fragprog too, not hardcoded passthrough nv50: remove hardcoded fp stuff nv50: checkpoint: shader code now exceeds caps of "old" code nv50: some fixes + MIN/MAX nv50: big fuckup, fix it nv50: fix EX2.. somehow nv50: DPH, XPD, some TODOs nv50: small cleanup nv50: SGE/SLT nv50: FLR/FRC nv50: ABS nv50: DST nv50: handle 0/1 SWZ nv50: fixes + untested _SAT modifier nv50: POW! nv50: oops, copy+pasto nv50: create emit_pow() - emit_lit() will need to use it nv50: obey per-source abs (TGSI_UTIL_SIGN_CLEAR) nv50: LIT - sort-of nv50: obey writemask in a couple of places nv50: hehe, damage from tex-surfaces.. surface_fill() reenabled now :) nv50: note a critical bug nv50: fix src1 & src2 == const nv50: delayed write of fragprog result regs until end of program nv50: remove NV50_PROG_{VERTEX,FRAGMENT} nv50: use emit_flop() instead of building RCP manually on interp nv50: note some things discovered during renouveau session nv50: support the other TGSI_UTIL_SIGN modes nv50: fix SGE/SLT when sources need swapping nv50: quick hack so progs/fp/fp-tri works for the moment nv50: LRP nv50: various fixes + SCS nv50: move some magics Revert "nv50: move some magics" nv50: move magics take 2 nv50: rename nv50_state.h to nv50_program.h nv50: get vp working again, fp is broken regardless somehow.. nv50: carry instructions around in nv50_program_exec, not a flat array nv50: allow relocating a shader's constants at upload time nv50: use constbuf segment 0 for everything - I can't make the others work.. nv50: more efficient const upload + fixes (fp/* works now!) nv50: remove some cruft, don't upload program unless really needed nv50: support a couple more common VBO formats nv50: draw_elements() - inline only for the moment nv50: valgrind complaint nv50: fix blend cso nv50: another vbo format nv50: comment on a so-far unseen bug nv50: flag to indicate to winsys we want a surface for use as a zeta buffer nv50: disable ztest for now - it doesn't work still nv50: do tsc/tic upload + stub out shader TEX stuff nv50: simplify interp crap a bit... nv50: disable inline IMMD for now, IMMD+pred == BANG! nv50: a couple more bits'n'pieces nv50: abuse constbuf upload for program upload nv50: hacks for stuff I don't really get yet nv50: hack of a TEX opcode nv50: use stateobjs for sampler/image_control uploads nv50: fix blend colour nv50: separate state validation and upload, similar to nv40 nv50: get tri-scissor-tri working nv50: make TEX a halfie nv50: some people are just born stupid.. really.. nv50: move surface_map/unmap into nv50_surface.c nv50: R32_FLOAT vbo format nv50: make sure static buffers (constbuf, tex control etc) get on reloc list nv50: simplify emit_interp a bit nv50: remove some debug nv50: maintain pipe surface status field nv50: turn on depth test/write again, not 100% but winsys handles it better nv50: rework miptree/texture/texsurf code a bit nv50: whoops nv50: vpt translate/scale backwards nv50: maybe some scissor fixes.. nv50: don't multiply polygon offset units by 2.0 like on nv40 nv50: fix line stipple nv50: reverse stencil sides, header is wrong nv50: fixes after rebase + commits note on the code that was just pushed. nouveau: oops, bump the drm patchlevel back down again Merge remote branch 'upstream/gallium-0.1' into gallium-0.1 nv50: make use of nouveau drm 0.0.11 to get 3d going Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv50: more "abuse" by using libc malloc etc.. nouveau: update to latest object header nv50: get clear-scissor working nv50: enable GART usage for vertex buffers nv50: add license headers to .c files nv50: split tic construction out into own file nv50: add some texture formats nv50: demagic tex filter / wrap mode nouveau: winsys surface funcs deprecated, remove them nv50: quick hack to get textures untiled on map, and tiled on unmap nv50: obey do_flip in surface_copy() Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv50: add NV86 and NV94 to list of "supported" chips Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: is_format_supported() interface changes Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 Merge remote branch 'origin/gallium-0.1' into nouveau-gallium-0.1 nouveau: fix build nv40/nv50: enable mirror wrap modes Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: pf_sprint_name -> pf_name Merge remote branch 'origin/gallium-0.1' into nouveau-gallium-0.1 nv30/nv40: KIL/KILP swapped meanings Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nouveau: gallium directory structure changed again.. Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 Merge remote branch 'nouveau/gallium-0.1' into nouveau-gallium-0.2 Merge remote branch 'upstream/gallium-0.2' into nouveau-gallium-0.2 Merge remote branch 'upstream/gallium-0.2' into nouveau-gallium-0.2 nouveau: rework nouveau_screen for latest and greatest changes Merge remote branch 'upstream/gallium-0.2' into nouveau-gallium-0.2 Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 nv50: hack surface alloc a bit for now nv50: use 3D engine clears, 2D engine doesn't understand zeta formats Merge remote branch 'origin/gallium-0.2' into gallium-0.2 nouveau: some small API changes Merge remote branch 'origin/gallium-0.2' into gallium-0.2 Merge remote branch 'origin/gallium-0.2' into gallium-0.2 Merge remote branch 'nouveau/gallium-0.1' into gallium-0.2 nv40: rename some vars in texture layout code Merge remote branch 'origin/gallium-0.2' into gallium-0.2 nouveau: pass object handle not pointer to GPU... nv40: init pipe_surface correctly nouveau: remove previous hack around x86_64 breakage gallium: add st_set_teximage_surface for EXT_texture_from_pixmap nouveau: return a value for PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS nv40: apply ABS modifier to RSQ source in vp nv50: ensure we actually get contiguous regs for TEX insn. nv50: indentation for TEX is a little overenthusiastic nv50: add TXP to TEX case.. not correct, but anyway.. nv50: slightly better miptree allocation nv50: working towards 3D textures nv50: fix crash in nv50_program_destroy nv50: fill image unit index in TEX varients nouveau: use usage, not uninitialised flags value... nouveau: return buffer map to something sane. nv50: create buffers for each image that makes up a texture nv50: any cpu access to a texture is done on its backing images nv50: disable shader debug nv50: enable npot textures nv50: fix a typo and a thinko nv50: remove previous hack to manage tiled surfaces nv50: fix assertion failure nouveau: fix warning nv50: another typo.. nv50: fix handling of depth textures nv50: make rtt work again nv50: implement KIL enough for progs/fp/kil to work nv50: occlusion queries nv50: aniso nv50: shadow mapping nv50: add DXTn formats nv50: change some magic reg, makes more things work nv50: get glxgears showing all 3 gears instead of 1!! nv50: fix progs/tests/manytex nouveau: link against libdrm_nouveau (installed with libdrm) nouveau: get things building/running again after pipe_surface.buffer removal nouveau: notifier timeout is a float now nouveau: support getting "native" bo from winsys nv50: move 2d blit/fill code into pipe driver nv04-nv40: move 2d blit/fill code into pipe driver nv50: stop using nouveau_push.h, it's evil nv50: rework for texture_transfer changes nv50: fix occlusion queries nv50: remove unused variable nouveau: reenable all the non-nv50 pipe drivers nv50: delay uploads until transfer object is destroyed nouveau: make stateobjs start off with refcount of 1 nouveau: fix more breakage from pipe_reference.. nv50: simplify tesla object selection nouveau: use bo_handle_ref instead of bo_fake to get front-buffer bo Benjamin Close (7): i965: fix compilation autogen: Make sure MAKEFLAGS is not set before running autoreconf galium: Makefile fixes: -Werror=implicit-function-declaration -> -Werror-implicit-function-declaration egl: Allow compilation to succeed with FreeBSD egl: Use -dlopen rather than -dl which is non portable gallium: Fix build when exiting CFLAGS contains a path with different gl.h gallium: Add support for BSD operating systems, tested with FreeBSD Benno Schulenberg (3): fix Unichrome/Blender crash, bug 13142 remove commented-out code code clean-ups, reformatting Bernardo Innocenti (2): remove static lib before building to make more bulletproof always print error messages, unless LIBGL_DEBUG=quiet Bernd Buschinski (1): glx: Add missing include for XCB, fixing crash on 64-bit. Blair Sadewitz (10): mesa: also check for __NetBSD__ mesa: also check for __NetBSD__ mesa: extra braces mesa: check for __INTERIX to typedef uintptr_t mesa: added test for __NetBSD__ mesa: added test for __NetBSD__ additional preprocessor checks for stdint.h, inttypes.h, etc mesa: added test for __NetBSD__ mesa: added test for __NetBSD__ additional preprocessor checks for stdint.h, inttypes.h, etc Brad King (1): mesa: fix param indexing Brad Smith (2): mesa: added checks for OpenBSD mesa: added checks for OpenBSD Brian (3418): New info about Mesa's git repository. New git repository info, links. Removed/obsolete. Replaced by .html files. Replaced by .html file. Updated with new mesa-commit list. Merge branch 'master' of git+ssh://bri...@git.freedesktop.org/git/mesa/mesa Use XDisplayName() when reporting errors (bug 8079). Remove the xdemo.c program from PROGS since it doesn't work with GLX/DRI. Checkpoint new GLSL compiler back-end to produce fp/vp-style assembly instructions. Rewrite/simplify most built-in functions to use updated set of __asm instructions. Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes. Checkpoint work for new GLSL compiler back-end. Checkpoint for GLSL compiler changes. Retire old GLSL shader code. Move all the code for computing ctx->_TriangleCaps into state.c. Not needed. Obsolete. Checkpoint GLSL compiler work. Add new sources, remove obsolete. Remove unused 3Dlabs code. Remove unused 3Dlabs code. Obsolete. Remove unneeded -I directories (3Dlabs headers). Check in a long-misplaced spec update. Remove include of s_arbshader.h New functions for cloning programs and parameter lists. The new linker actually does a few things right now: Assorted fix-ups for the new linker. Updates for new linker (merged varying/uniform vars). Modify _mesa_strdup() so it handles NULL correctly. Replace __extension__ with LONGSTRING. Split the program.[ch] files into several new files. Move many functions into new files. Updated #includes after splitting program.h Updated includes. Updated includes. chmod a-x Updated includes. Renamed from s_nvfragprog.[ch] Merge branch 'master' of git+ssh://bri...@git.freedesktop.org/git/mesa/mesa Move some code from prog_print.c to prog_instruction.c Remove some moved extern decls. include prog_print.h remove some unneeded includes remove unneded includes remove unneeded includes remove unneeded includes Renamed s_nvfragprog.[ch] to s_fragprog.[ch], program_instruction.h to prog_instruction.h Renamed s_nvfragprog.[ch] to s_fragprog.[ch] change/add/rm several filenames simple extension function wrangler Use extfuncs.h helper. Added command line options for loading Lots of assorted changes for new GLSL compiler backend. more debug output use MAX_VARYING use MAX_VARYING updated includes updated includes varying changes varying var changes varying var changes vertex/fragment program field changes redo mat4 addition, mat4 constructor from vec4s Lots of assorted changes. code movement fix double-printing of comment info added assertion to catch use of too many temporaries start rewriting the matrix/vector functions start implementing relational operators don't allow fog when using a fragment shader (bug 9346) initial release notes for 6.5.3 Don't update span->array->z[] values from SLANG_FRAGMENT_FIXED_FRAGDEPTH. cases for NOP, BRA added cases for BRA, NOP print BRA instructions Initial code for conditional constructs. fix comment, handle NOP comments Use _mesa_free_linked_program_data() GLSL API functions. Implement if-conditionals and while loops, added temporary resolve-branches function in linker. Generate IR code for for/while loops, break and continue statements. Check for inst->CondUpdate, print .C suffix. Added instruction counter to catch infinite loops (temporary). Implement array indexing of simple vec2/3/4 types. A bit of a hack for now... rewrite +=, -= etc for floats new error msg additional error checking lots of clean-up and re-org check for null Parameters ptr in _mesa_clone_program() Massive re-org of GLSL-related API functions. Overhaul of GLSL API functions, dispatching, etc. Overhaul of GLSL API functions, dispatching, etc. Clean-up and re-org of the main GLSL object types. Fix shader object reference counting and hash table deallocation. Minor clean-ups, reformatting, comment changes. code re-org use cast wrappers for sanity checking New IR_COND node for evaluating conditional expressions (for if/while/for).