mesa: Changes to 'refs/tags/mesa-7.5-rc4-1'
Tag 'mesa-7.5-rc4-1' created by Julien Cristau <jcristau@debian.org> at 2009-06-28 18:56 +0000
Tagging upload of mesa 7.5~rc4-1 to experimental.
Changes since mesa-7.4.4-1:
Adam Jackson (2):
intel: Avoid mapping the texture image for CopyTex{,Sub}Image
glx: Make glXGetScreenDriver() work for DRI2
Aidan Thornton (1):
Initialize psp->waitX/waitGL for swrast_dri.so.
Alan Coopersmith (8):
Add Solaris to OS'es using PROT_EXEC mmap() to get executable heap space
r300_cmdbuf.c: convert cast to a form supported by Sun cc
mklib improvements for Solaris
Convert u_int*_t to C99 standard uint*_t
Add #ifdefs needed to compile Gallium on Solaris with gcc or Sun cc
define __builtin_expect for non-gcc compilers in two more glx files
Add Solaris to OS'es using X in eglplatform.h
egl/main/Makefile: Add dependency of install target on default build target
Alan Hourihane (120):
remove duplicate init func
remove redundant init
set outputs_safe to 0 as it's possible for the code generation
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.
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 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
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
egl: fix makecurrent with null drawable/context
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: tweak to formatting
Merge commit 'origin/master' into gallium-0.2
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.
slang: if we detect an if/break or if/continue within a loop and we're
Revert "slang: if we detect an if/break or if/continue within a loop and we're"
slang: redo the last commit for if/break & if/continue tests as it
slang: if/else/break & if/else/continue work for unrolled loops
mesa: check renderbuffer is defined before use.
egl: try harder for eglGetProcAddress()
egl: fix comment
slang: support uniform arrays
slang: initialize the context
mesa: bump MAX_PROGRAM_TEMPS to 256 (there's some big shaders out there)
slang: ensure structure elements have their array length set
mesa: ensure pbo stencil buffers are mapped before use
gallium: when using gl_PointCoord ensure we use the correct attribute.
demos: ensure display lists are destroyed for next generation
Alex Deucher (2):
R300: Add support for RS600 chips
R300: add quadpipe overrides
Ben Skeggs (493):
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
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
st/dri2: use pipe_screen.is_format_supported to choose depth/stencil format
nouveau: rewrite winsys in terms of drm_api, support dri2 state tracker
nouveau: fix some pipe_buffer reference counting issues
nv50: fix typo in nv50_query.c
nv50: adapt for new clear interface
nv50: fix mrt clear
Benjamin Close (6):
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
Blair Sadewitz (4):
mesa: also check for __NetBSD__
mesa: added test for __NetBSD__
mesa: added test for __NetBSD__
additional preprocessor checks for stdint.h, inttypes.h, etc
Brad Smith (1):
mesa: added checks for OpenBSD
Brian (2083):
define, use SP_MAX_CLIP_PLANES
scissor state
add scissor state
scissor depends on glScissor() and framebuffer size
#ifndef SP_DEFINES_H protection, copyright
Implement blend state
added st_atom_blend.c, st_atom_scissor.c
Stencil state.
use GLubyte for stencil ref/mask/clear
Add some comments to explain things, code clarifications.
INLINE goes before the function's return type
implement point rendering
depth(Z) state
added depth(Z) state support
comments, clean-up, alphabetize members
sketch out texture sampler state
added st_atom_depth.c
simple line drawing code
framebuffer state
initial framebuffer state
In softpipe_set_viewport() use ordinary (struct) assignment to update softpipe->viewport.
framebuffer state
Added st_update_framebuffer struct/object.
s/PRIM_H/SP_STATE_H/
change clear color
Define just one set of PIPE_FUNC_LESS, GREATER, EQUAL, etc tokens.
Added alpha test state.
add point/line/polygon state
just use regular malloc(), free(), memcpy()
don't request GLUT_ALPHA
Re-org of surface/framebuffer state.
hook up point state
Initial work for glClear(), clear color state.
implement softpipe clearing (untested)
plug in write_mono_row_ub
fix comment
actually use new glClear code
better comment
Initial implementation of a software pipeline for quad rasterization (fragment ops).
quad blending works now, but many blend terms need to be added in blend_quad().
only blend active pixels in the quad
Rename "tile" files to "quad".
s/tile/quad/
update includes (s/tile/quad/)
triangles w/ depth test
checkpoint: implement z/depth testing
alpha test and misc changes
Assorted token renaming/removal, minor state changes, etc.
added blend comments
more texture sampler work
initial texture object, texture format code
better triangle Z coords
code for functional Z buffer surface
emit quad->outputs.depth[], hack need_z
clean-ups
fix logic error in updating of quad's Z values. Basic depth testing works now
consolidate point/line state into pipe_setup_state
s/G_CONTEXT_H/SP_CONTEXT_H/
texture object construction
added texture types and mapping types
more work on tex objects, surfaces, mappable buffers
added buffer_data(), buffer_sub_data() to pipe_buffer
rename a few structs (use _state suffix consistantly), reorder/sort fields in some structs
clarify that line_stipple_factor is in [0,255] corresponding to GL's range of [1,256].
Rewrite blending in terms of SIMD operations.
Blend MIN/MAX modes are special: the src/dest terms are always one.
added blend_color
hook in state tracking for blend color
SIMD comments
Rename/move some files to modularize the primitive/draw code.
New 'draw' module for handling the various stages of primitive drawing (clipping, culling, etc).
New 'draw' module for primitive drawing (clipping, culling, etc).
Obsolete file.
Rename G_NEW_* tokens to SP_NEW_*
s/G_/SP_/
Remove softpipe includes
remove some dead/disabled stuff
Fix EMIT_ATTR() to populate the draw->vf_attr_to_slot[] array.
Added comments, assertions.
comments
Comments, minor clean-up.
use cursor keys to translate triangle
use 'c' to cycle through polygon cull modes
press 'f' to toggle GL_CCW/GL_CW front face
Fix front/back mix-up. added comments.
added comments
comments, clean-up
fix problems with polygon offset
Do depth testing with integer values.
remove unneeded casts, added comments
clamp after offsetting, new comments
clean-up, comments
Fix line clipping bug. New comments.
remove debug printf
Fill in remaining switch cases. Only call next stage if quad->mask != 0.
clean-ups
Begin hooking up stenciling.
Checkpoint: stencil roughly working, some bugs to fix...
Compute quad.facing from prim->det and polygon winding.
fix stencil logic error, use proper front/back face value
need to clamp floats to [0,1] in write functions
Implement polygon stipple state tracking, application.
Obsolete file.
Fix broken depth offset.
remove glDepthFunc(GL_LEQUAL) change from prev commit
disable debug printfs
remove unused hw_data_offset
fix MIN/MAX mix-up
handle edge flags for GL_POLYGONs
culling was inverted
front/back-face determination was wrong
Added colormask, dither, multisample state. Implement colormasking stage.
Rename prim_stage -> draw_stage
Remove dead code
s/prim_setup/sp_draw_render_stage/, new comments
XXX comment about skipping stipple for points/lines
Add a quad 'bufloop' stage to handle glDrawBuffer(GL_FRONT_AND_BACK).
minor changes, comments about multiple color buffers, MRT.
minor rename
Added basic occlusion counting
press 's' to toggle smoothing
Implement AA points and AA coverage application in quad pipeline.
Add 'prim' field to quad so that stipple and aa coverage stages can do the right thing.
Enable Keith's branch-less stipple code - it works.
comments
set INTERP_CONSTANT when appropriate
Fix for-loop in interp() so we don't go out of bounds.
Fix more polygon winding, culling confusion.
press 'f' to toggle front-face winding
Fix setup.light_twoside determination.
Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
call ctx->Driver.NewProgram() instead of _mesa_new_program()
use enabled/linked fragment shader in preference to a fragment program
simple fragment shader test
rebuild quad pipeline when framebuffer changes too
Basic fragment programs run now.
added code to test per-vertex colors
added missing OPCODE_ARL to TGSI_OPCODES[], added sanity check assertion
Fix a typo (i << i) that was fouling up the vertex layout info.
Compute need_z and need_w properly and use the correct const/linear/perspective interpolation in shade_quad().
s/GLuint/GLbitfield/
comments
added PROGRAM_UNIFORM to map_register_file()
Add VF_ATTRIB_VAR0..7 for varying variables.
added GL_FRAGMENT_PROGRAM_NV in st_new_program()
added PROGRAM_NAMED_PARAM in map_register_file()
check return value of tgsi_parse_init()
use consistent indentation
patch things up enough to allow texture sampling to work
Fix pinterp() to compute 1 / FRAG_ATTRIB_WPOS.w Update comments too.
implement DDX, DDY instructions
rename some vars
Implement line stippling.
init quad.coverage values to 1.0 in case line AA is enabled so that we see something
s/SP_TILE_H/SP_QUAD_H/
check scissor state
Implement point/line quad clipping. Not quite as efficient as it probably could be, but sufficient for now.
Maintain cliprect (scissor) info in sp_state_derived.c.
remove obsolete comments
Clip triangles against softpipe->cliprect which includes scissor and surface bounds.
renaming, comments, clean-up
added map/unmap() stubs
call st_invalidate_state()
disable ProgramStringNotify assertion
remove old comments
map/unmap surfaces before/after rendering
implement surfaces for softpipe rendering
Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
implement read_quad_f_swz()
compute scale for Z24 buffers
Lots of improvements to the surface-related code.
Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
remove some obsolete xmesa remnants
32 and z24s8 softpipe buffers
fix assertions
fix value returned by intel_new_renderbuffer_fb()
fix comments and param names for intel_miptree_image_map()
remove obsolete xmesa_get_stencil_surface() stub
fix stencil addressing bug
In i915/i830_emit_state(), check if state->draw_region is non-null.
simplify clear.x1,y2,x2,y2 setup
re-fix stencil addressing bug
Lift region-related functions up to the pipe interface.
Redesign pipe_surface in terms of pipe_region.
Obsolete.
sp_z_surface.h is dead
Checkpoint: glClear changes - working, bug very rough.
s/Z24_S8/S8_Z24/ (stencil is in the high byte)
s/Z24_S8/S8_Z24/
More work on glClear.
Re-implement intelClear() in terms of softpipe_clear(). Pretty simple/small now.
get cliprect bounds after softpipe_update_derived()
rearrange things in xmesa_clear() a bit
implement masking in sp_region_fill()
Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
comment follow-up
add PIPE_MASK_RGBA
sketch out clearing with quads
include st_cb_clear.h
New header file.
Implement new draw_vertices() path for simple vertex array drawing, use it for glClear.
test glClear w/ scissor
added clear-scissor.c
get rid of accum param
Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
setup more state for clear_with_quad()
remove st_draw.h include
initial work for textured-quad glDrawPixels
added st_cb_drawpixels.c
call st_init_cb_drawpixels
pipe->clear() now takes a surface, rather than color/depth/stencil flags.
beginings of teximage functions
trim #includes
more formats
hook in teximage bits
added pipe->supported_formats()
framebuffer object functions
more work on st_choose_pipe_format()
added st_cb_fbo.c
remove intel_pixel.c
Checkpoint lifting of intel_mipmap_tree (intel_mipmap_tree -> pipe_mipmap_tree and move some code)
checkpoint: move some texture layout code
remove intel dependencies from intel_mipmap_tree.c
remove more intel dependencies
More code movement, removal of intel dependencies
Lift intel_mipmap_tree.c to st_mipmap_tree.c
minor renaming
Replace intel_texture_object with st_texture_object, intel_texture_image with st_texture_image
remove timing code
disable some PBO code, remove intel dependencies
more intel_context removal
disable/remove intel dependencies
comments
new texture functions
clean-ups
use new texture funcs
switch to new texture functions in state tracker
clean-ups
added st_cb_texture.c
softpipe/winsys interface
use new xmesa_create_softpipe()
added xm_softpipe.c
Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
fix asst. warnings
new header
New st_init_*_functions() to initialize the driver functions table.
need a softpipe func for texture layout
added softpipe_mipmap_tree_layout
call st_init_driver_functions()
call st_init_driver_functions(), make intelInitDriverFunctions() static
get rid of temp write_mono_row_ub() function
prototypes
don't include non-existant intel_buffer_objects.h
s/pipe_texture_object/pipe_mipmap_tree/, drop st_texobj.c
sketch out new pipe surface/sampler types
texture image state handling
plug in texture/sampler state update
added st_atom_texture.c
remove pipe_surface_sampler
checkpoint new tgsi_sampler_state struct
s/intel/st/
added pipe_mipmap_tree::format
set mt->format
debug info
remove dst!=src assertion
map/unmap textures
added a get_tile() func
include p_state.h
initial texture filtering code
use new tex filtering code
clean up tgsi_sampler-related bits
fully support all texcoord wrap modes
more get_tile() work
define i915_surface struct
replace draw_offset w/ 0 for now
added PIPE_TEX_FACE_*
sketch out 1D/3D/cube texture sampling
add lambda param to get_sample()
rewrite texture sampling code (smaller, simpler)
Add a quad_stage::begin() method to do per-primitive preparations (like setting up samplers).
add quad_stage::begin() funcs
fix qs->next tests
very simple texture cache implementation
new assertions
print_vertex func for debugging
added assertion
setup frag shader state: color pass-through program
initial lod/mipmap texture supported
use surface offset value in get_tile()
clean-up
update lod bias, limits
checkpoint: intel_renderbuffer removal
checkpoint: intel_renderbuffer removal (move vbl_pending field into intel_framebuffer
checkpoint: intel_renderbuffer removal (intel_renderbuffer now == gl_renderbuffer
checkpoint: more intel_renderbuffer removal
disable intel_get_rb_region()
remove color_rb[] and lots of dead code
checkpoint: no longer using intel_fbo.c
surface-related prototypes
remove dead code, remove intel_fbo.h includes
Checkpoint intel_renderbuffer removal.
remove some includes
don't include intel_depthstencil.h
Obsolete files
remove intel_depthstencil.c and intel_fbo.c
minor clean-ups
*numFormats = 3
assertions
don't use intel_read_draw_buffer.c anymore
fix merge conflicts
dead code removal
Obsolete
comments, assertions, etc
vertex colors are ARGB
invert Y axis with the viewport transformation to put things right side up
move viewport Y inversion to state tracker
comments
more work toward texture-based glDrawPixels
added null ptr checks
export softpipe_init_surface_funcs()
init strb->Base.DataType appropriately, clean-ups
asst changes to get softpipe rendering again (no zbuf support for now)
change triangle orientation, fix exit()
invert Y axis
code movement
Rename (file contains surface format-related functions)
rename st_cb_teximage.h st_format.h
return (softpipe) in GL_RENDERER string - temporarily
flesh out w/ more formats, y=0=top convention
we can now just rely on softpipe for surface creation, quad_read/write, etc
move intel_supported_formats() into intel_context.c
no longer need intel_surface.c
obsolete files
include surface.offset in address calculations
added pipe_surface_unreference()
remove some temporary hacks
sketch out some render-to-texture code
more render to texture work
add missing break stmt
Reply to: