Eric Anholt [Tue, 17 Jun 2008 21:14:02 +0000 (14:14 -0700)]
[intel] Fix no_rast option on non-965.
The no_rast fallback was getting partially overwritten by later TNL init,
resulting in a segfault when things were in a mixed-up state.
Eric Anholt [Tue, 17 Jun 2008 18:15:59 +0000 (11:15 -0700)]
[intel-gem] Bug #16326: Fix X tile unswizzling on 965.
Apparently a bit gets flipped in the addressing for some rows of each tile.
Eric Anholt [Wed, 11 Jun 2008 21:44:48 +0000 (14:44 -0700)]
[intel-gem] Chase domain flag renaming in the DRM.
This is an API breakage only.
Eric Anholt [Wed, 11 Jun 2008 18:45:51 +0000 (11:45 -0700)]
[gem] Enable bo_reuse by default.
The objects are swappable, so we're less concerned by excessive object
allocation now, and it's about a 20% performance improvement. If we get
concerns about the memory consumption from others, we can look into a
compromise position later.
Keith Packard [Fri, 6 Jun 2008 20:05:46 +0000 (13:05 -0700)]
[intel-gem] Call the new throttle ioctl from swap buffers
Swap buffers is a fairly reasonable time to wait for the hardware for a
while; this keeps us from overrunning the ring.
Keith Packard [Wed, 4 Jun 2008 05:56:25 +0000 (22:56 -0700)]
Merge commit 'origin/master' into drm-gem
Conflicts:
src/mesa/drivers/dri/common/dri_bufmgr.h
src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c
src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h
src/mesa/drivers/dri/intel/intel_ioctl.c
Dave Airlie [Wed, 28 May 2008 05:55:44 +0000 (15:55 +1000)]
mesa/drm/ttm: allow build against non-TTM aware libdrm
I'll release a libdrm 2.3.1 without TTM apis included from a special
drm branch that should allow mesa 7.1 to build against it.
I've had to turn off DRI2 stuff.
Eric Anholt [Tue, 3 Jun 2008 21:43:48 +0000 (14:43 -0700)]
[intel] Convert drivers to using libdrm bufmgr code.
Ian Romanick [Mon, 2 Jun 2008 18:19:35 +0000 (11:19 -0700)]
bug #16503: use INSTALL macro instead of hard-coding to bin/minstall
This is only part of the fix. Someone with more autoconf-fu will have
to fix the rest
Nicolai Haehnle [Sat, 31 May 2008 22:10:45 +0000 (00:10 +0200)]
[t_vp_build] Fix refcounting-related memory leak
This memory leak is identical to the earlier one in texenvprogram.
Fixed by not creating an additional reference to new programs in cache_item.
On top of that, remove some duplicated state setting.
Nicolai Haehnle [Sat, 31 May 2008 22:01:46 +0000 (00:01 +0200)]
[texenvprogram] Fix refcounting-related memory leak.
All newly created programs have RefCount == 1, but the fragment program cache
added an additional reference in cache_item, with the result being that none
of the programs were ever freed.
Solve the problem by not creating the additional reference in cache_item.
Dave Airlie [Sun, 1 Jun 2008 21:18:21 +0000 (07:18 +1000)]
r500: add missing brackets around depth testing
Corbin Simpson [Sun, 1 Jun 2008 18:45:30 +0000 (11:45 -0700)]
r5xx: Enable depth write emission.
Thanks to nh for the r3xx version.
Nicolai Haehnle [Sun, 1 Jun 2008 17:53:52 +0000 (19:53 +0200)]
r300: Writing to result.depth in fragment programs (R3xx; only stub for R5xx)
Setup fg_depth_src for depth writing programs and change early Z (ztop)
semantics.
Piglit's version of glean/fragprog test passes now (unlike Glean, its
dependency on EXT_fog_coord, which we don't support, is optional).
R3xx only at the moment, but should be straightforward to adapt to R5xx
(I don't own an R5xx, and I don't want to break anything.)
Nicolai Haehnle [Sun, 1 Jun 2008 11:13:32 +0000 (13:13 +0200)]
[r300] Fix KIL instruction and swizzling of texture coordinates
The KIL instruction only works if at least one texture unit is enabled
in hardware.
Texture instructions do not support swizzles, negations etc. natively,
so we now emit an explicit swizzling etc. operation when the texture coordinate
requires it.
This fixes the Piglit fp-kil test.
Corbin Simpson [Sun, 1 Jun 2008 10:23:00 +0000 (03:23 -0700)]
r5xx: Add OPCODE_FLR.
Why didn't anybody tell me we were missing this one? I thought I committed it ages ago!
Corbin Simpson [Sun, 1 Jun 2008 05:41:54 +0000 (22:41 -0700)]
r5xx: Last emit_sop() for now.
This should also clean up LIT later on.
Corbin Simpson [Sun, 1 Jun 2008 05:23:11 +0000 (22:23 -0700)]
r5xx: More emit_sop(), stage 2.
SIN/COS.
Corbin Simpson [Sun, 1 Jun 2008 05:09:38 +0000 (22:09 -0700)]
r5xx: Cleanup SOP with emit_sop().
I wish I had a snarky commit message, but I'll save that for after I get the
trig working with this.
Corbin Simpson [Sun, 1 Jun 2008 03:48:15 +0000 (20:48 -0700)]
r5xx: Dump shader constants when dumping program assembly.
Dave Airlie [Sat, 31 May 2008 23:32:55 +0000 (09:32 +1000)]
r300: disable the lowimpact fallbacks by default.
because really we should be able to just fix the driver.
Markus Amsler [Sat, 31 May 2008 01:10:21 +0000 (03:10 +0200)]
r500: Use 8bit fog alpha compare value.
This fixes transparency issues on r500 by enabling
backwards compatibility with the r300 alpha compare value.
Eric Anholt [Fri, 30 May 2008 22:12:15 +0000 (15:12 -0700)]
[intel-gem] Remember last offset of reused BOs to avoid more kernel relocs.
This is good for about 5% on ipers on 965, and should help any cpu-bound app.
Luc Verhaegen [Thu, 29 May 2008 17:00:06 +0000 (11:00 -0600)]
Fix segfault on exit in unichrome driver (bug 16150)
Brian Paul [Thu, 29 May 2008 16:46:39 +0000 (10:46 -0600)]
undo prev change to this VC7 project file
Meant to update the VC8 project file.
Karl Schultz [Thu, 29 May 2008 16:43:48 +0000 (10:43 -0600)]
added prog_uniform.[ch]
Brian Paul [Thu, 29 May 2008 16:41:31 +0000 (10:41 -0600)]
Assorted Windows fixes (Karl Schultz)
Brian Paul [Wed, 28 May 2008 15:10:48 +0000 (09:10 -0600)]
Use the GLuint64EXT type defined by GL_EXT_timer_query
Removes some compiler #ifdef stuff.
Dennis Kasprzyk [Thu, 29 May 2008 09:25:21 +0000 (11:25 +0200)]
R1/2/3/4/5xx: fixed calculation of cliprects in CopyBuffer.
Dennis Kasprzyk [Thu, 29 May 2008 09:24:16 +0000 (11:24 +0200)]
Report correct damage rectangle in CopySubBuffer.
Keith Packard [Tue, 27 May 2008 00:51:38 +0000 (17:51 -0700)]
[intel-gem] Once mapped, leave buffers mapped.
Mapping and unmapping buffers is expensive, and having the map around isn't
harmful (other than consuming address space). So, once mapped, just leave
buffers mapped in case they get re-used.
Markus Amsler [Thu, 29 May 2008 00:11:59 +0000 (02:11 +0200)]
r300: fix R300_FG_ALPHA_FUNC_VAL_MASK
Brian Paul [Wed, 28 May 2008 15:06:28 +0000 (09:06 -0600)]
updated function list
Brian Paul [Wed, 28 May 2008 14:53:32 +0000 (08:53 -0600)]
replace make with $(MAKE) (bug 16133)
Dave Airlie [Wed, 28 May 2008 00:23:25 +0000 (10:23 +1000)]
r300: disable cmdbuf debug again
Dave Airlie [Wed, 28 May 2008 00:20:14 +0000 (10:20 +1000)]
Merge branch 'r500-support'
Bring in all the r500 3D code into master should be as stable as the r300
code it is landing on top off.
Conflicts:
src/mesa/drivers/dri/r300/r300_reg.h
src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/radeon/radeon_screen.c
Dave Airlie [Wed, 28 May 2008 00:07:30 +0000 (10:07 +1000)]
r500: remove warnings and only start on newer drms.
This removes lots of warnings to the user, and only allows the driver
to run on > .29 drms for r500 cards.
Alex Deucher [Wed, 28 May 2008 00:11:14 +0000 (10:11 +1000)]
R3/4/5xx: update to use drm get_param for num gb pipes
Dave Airlie [Wed, 28 May 2008 00:03:10 +0000 (10:03 +1000)]
r500: cleanup warnings and include files
Brian Paul [Tue, 27 May 2008 19:27:57 +0000 (13:27 -0600)]
update, re-org build/install instructions
Brian Paul [Tue, 27 May 2008 18:51:37 +0000 (12:51 -0600)]
set version string to 7.1 rc1
Brian Paul [Tue, 27 May 2008 18:51:10 +0000 (12:51 -0600)]
updates for 7.1 release
Brian Paul [Tue, 27 May 2008 18:50:59 +0000 (12:50 -0600)]
prep for 7.1 RC1
Brian Paul [Tue, 27 May 2008 15:49:18 +0000 (09:49 -0600)]
allow GLX_SAMPLES_ARB==0 (bug 16073)
Jouk Jansen [Tue, 27 May 2008 14:58:39 +0000 (08:58 -0600)]
updated for latest sources
Karl Schultz [Tue, 27 May 2008 14:48:25 +0000 (08:48 -0600)]
dependency fixes (bug 13544)
Corbin Simpson [Tue, 27 May 2008 09:12:10 +0000 (02:12 -0700)]
r5xx: Add OPCODE_XPD. In working condition, I might add.
And we're officially finished with the ARB_fragment_program
instruction set. It's worth noting that LIT is still not reliable.
SIN and COS were fixed a few commits ago. We're finished with stage 1!
Whoohoo!
Corbin Simpson [Tue, 27 May 2008 08:01:46 +0000 (01:01 -0700)]
r5xx: Just a few small LIT fixes.
Still broken; will fix tomorrow.
Corbin Simpson [Tue, 27 May 2008 05:34:32 +0000 (22:34 -0700)]
r5xx: Fix emit_mov() regression.
Specifically, fix improper swizzling.
Dave Airlie [Tue, 27 May 2008 08:15:14 +0000 (18:15 +1000)]
r500: the cs is shared per context - doh so don't use for program upload.
Also remove some unused bits of the r500 fragprog struct
Dave Airlie [Tue, 27 May 2008 07:39:35 +0000 (17:39 +1000)]
r500: need to re-setup inst offset/end for translated programs
this fixes texenv
Dave Airlie [Tue, 27 May 2008 07:11:04 +0000 (17:11 +1000)]
r500: reset fp/fp_const counts
Dave Airlie [Tue, 27 May 2008 07:08:03 +0000 (17:08 +1000)]
r300/r500: emit flush inside vap_cntl state atom
Not sure if this is a good or bad plan, it certainly doesn't make things worse here.
Dave Airlie [Tue, 27 May 2008 05:29:39 +0000 (15:29 +1000)]
r500: hopefully fix 4096 texture harder
Corbin Simpson [Tue, 27 May 2008 05:12:24 +0000 (22:12 -0700)]
r5xx: Fix FP temp counting.
One of the ref counters wasn't being added to the temp counter.
Yet another product of late-night coding...
Dave Airlie [Tue, 27 May 2008 02:46:44 +0000 (12:46 +1000)]
r500: remove debugging
Dave Airlie [Tue, 27 May 2008 02:45:15 +0000 (12:45 +1000)]
r300/r500: fix r500 fragment program texture unit references
Dave Airlie [Tue, 27 May 2008 00:59:42 +0000 (10:59 +1000)]
r500: initial support for tmu mappings
Corbin Simpson [Mon, 26 May 2008 23:00:05 +0000 (16:00 -0700)]
r5xx: Enhance emit_mov().
Now we can add arbitrary sources and swizzles. Will make many things smoother.
Corbin Simpson [Mon, 26 May 2008 22:18:41 +0000 (15:18 -0700)]
r5xx: Moar LIT.
Still not working, but getting closer.
Corbin Simpson [Mon, 26 May 2008 19:35:39 +0000 (12:35 -0700)]
r5xx: First stab at LIT.
Keith Packard [Mon, 26 May 2008 07:19:20 +0000 (00:19 -0700)]
[intel] all flushing in intelEmitCopyBlit
Add both MI_FLUSH and intel_batchbuffer_flush to intelEmitCopyBlit.
This ensures that the data are flushed *and* the gem kernel driver sees the
various memory domain transitions.
Corbin Simpson [Mon, 26 May 2008 05:50:00 +0000 (22:50 -0700)]
Replace copyright on r500_fragprog.c
Huh, could have sworn I already did this once before...
Maybe I forgot to commit it?
Keith Packard [Mon, 26 May 2008 03:49:53 +0000 (20:49 -0700)]
[intel] Enable buffer re-use for gem
Use the new DRM_IOCTL_I915_GEM_BUSY ioctl to detect
idle buffers for re-use.
Corbin Simpson [Mon, 26 May 2008 02:53:48 +0000 (19:53 -0700)]
r5xx: Unbreak texture swizzling.
Corbin Simpson [Sun, 25 May 2008 18:46:16 +0000 (11:46 -0700)]
r5xx: Massive MAD cleanup.
Common uses of MAD now use emit_mad(), the two common negation masks work,
and fixed a few off-by-one errors.
Corbin Simpson [Sun, 25 May 2008 18:35:54 +0000 (11:35 -0700)]
r5xx: Negation masks for every inst except SWZ.
Yay?
Corbin Simpson [Sun, 25 May 2008 18:35:20 +0000 (11:35 -0700)]
r5xx: More emit_alu().
Converted ADD.
Corbin Simpson [Sun, 25 May 2008 18:07:51 +0000 (11:07 -0700)]
r5xx: Add emit_mad() for FP.
If it uses MAD, emit it with emit_mad()!
(Now available at your local grocer's. Multiply and add responsibly.)
Corbin Simpson [Sat, 24 May 2008 18:30:57 +0000 (11:30 -0700)]
r5xx: Consolidate FP tex insts.
They're all the same, really.
Corbin Simpson [Sat, 24 May 2008 16:17:28 +0000 (09:17 -0700)]
r5xx: Fix SGE/SLT.
Corbin Simpson [Fri, 23 May 2008 09:05:24 +0000 (02:05 -0700)]
r5xx: Remove some debugging cruft.
Tormod Volden [Sat, 24 May 2008 16:32:03 +0000 (18:32 +0200)]
dri: vblank_mode warning
From what I can see the environment variables LIBGL_THROTTLE_REFRESH
and LIBGL_SYNC_REFRESH were taken out like 3 years ago, but this
warning was never updated.
Dave Airlie [Sat, 24 May 2008 08:18:18 +0000 (18:18 +1000)]
r500: missed a couple of inst4s.
Dave Airlie [Sat, 24 May 2008 08:12:26 +0000 (18:12 +1000)]
r500: add depth output write
Not sure how well this works yet, but we need to set the alpha to w_omask
George Sapountzis [Fri, 23 May 2008 19:55:36 +0000 (22:55 +0300)]
dri/swrast: cosmetic, mainly generic vs. xorg terminology
George Sapountzis [Fri, 23 May 2008 19:55:12 +0000 (22:55 +0300)]
dri/swrast: add dithering support
George Sapountzis [Fri, 23 May 2008 19:54:54 +0000 (22:54 +0300)]
dri/swrast: add support for r3g3b2
George Sapountzis [Fri, 23 May 2008 19:52:52 +0000 (22:52 +0300)]
dri: add support for generating 3_3_2 configs
George Sapountzis [Fri, 23 May 2008 19:52:36 +0000 (22:52 +0300)]
dri/swrast: split out common pixel macros
George Sapountzis [Fri, 23 May 2008 19:52:19 +0000 (22:52 +0300)]
dri/swrast: drop TODO list
George Sapountzis [Fri, 23 May 2008 19:48:55 +0000 (22:48 +0300)]
drop GLcore
Eric Anholt [Fri, 23 May 2008 19:43:05 +0000 (12:43 -0700)]
Remove stale comment about glFlush().
We don't need an MI_FLUSH there, because everything that's been flushed in the
batch will eventually hit the hardware.
Eric Anholt [Fri, 23 May 2008 19:18:50 +0000 (12:18 -0700)]
Emit a flush after the swapbuffers blit, so contents end up on the screen.
Otherwise, since the MI_FLUSH at the end of every batch had been removed,
non-automatic-flushing chips (965) wouldn't get flushed and apps with static
rendering would get partial screen contents until the server's blockhandler
flush kicked in.
Corbin Simpson [Fri, 23 May 2008 07:16:49 +0000 (00:16 -0700)]
r5xx: Clean up some compiler warnings.
Corbin Simpson [Fri, 23 May 2008 07:14:31 +0000 (00:14 -0700)]
r5xx: Move dumb_shader.
Was getting ticked having to scroll around it, lawl.
Corbin Simpson [Fri, 23 May 2008 07:12:37 +0000 (00:12 -0700)]
r5xx: Add OPCODE_DST.
Works completely, swizzles and everything.
Corbin Simpson [Thu, 22 May 2008 09:34:57 +0000 (02:34 -0700)]
r5xx: More trig work.
SCS now works. COS/SIN have slight issues still.
Eric Anholt [Mon, 19 May 2008 22:42:00 +0000 (15:42 -0700)]
Add back a mostly-correct glFinish for GEM and fake.
The right solution would probably be keeping a list of regions which have been
rendered to.
Keith Packard [Thu, 22 May 2008 17:44:47 +0000 (10:44 -0700)]
[intel-gem] Make sure set_domain is called often enough.
The write_domain needs to be set after any batch buffer uses an object,
track when that happens in the new 'cpu_domain_set' field.
Dave Airlie [Thu, 22 May 2008 07:09:30 +0000 (17:09 +1000)]
r500: bump state atom size up for fp and fp constants
Corbin Simpson [Thu, 22 May 2008 06:35:43 +0000 (23:35 -0700)]
r5xx: Fixed LRP.
Works perfectly. It's a complex one, though, so it might fail in weird ways...
Corbin Simpson [Thu, 22 May 2008 06:33:13 +0000 (23:33 -0700)]
r5xx: Change debug info for readability.
It's weird seeing the compiled program before the assembly, that's all.
Jesse Barnes [Wed, 21 May 2008 22:36:08 +0000 (15:36 -0700)]
Add cscope files to .gitignore
Corbin Simpson [Wed, 21 May 2008 20:51:32 +0000 (13:51 -0700)]
r5xx: Initial (broken) OPCODE_LRP.
Will compile, run, and not eat your kids, but the math is wrong.
Dan Nicholson [Wed, 21 May 2008 17:55:49 +0000 (10:55 -0700)]
Follow along GL/glx -> glx renaming in xserver
The xserver glx modules were lifted up to the top level, so this changes
the glapi generation to look in the new location.
Kristian Høgsberg [Wed, 21 May 2008 16:04:33 +0000 (12:04 -0400)]
Add remaining glapi generated server headers.
This adds all the headers needed by the xserver glx module and also adds
a rule to copy over the shared glapi.[ch] and glthread.[ch] files.
Specifying an xserver path (set XORG_BASE on the make command line) is
now mandatory when regenerating the glapi files.
Kristian Høgsberg [Wed, 21 May 2008 15:59:23 +0000 (11:59 -0400)]
Make the shared glapi files not include glheader.h.
Kristian Høgsberg [Tue, 20 May 2008 21:06:19 +0000 (17:06 -0400)]
Revert "glapi: Generate xserver glapi sources in the mesa tree"
This reverts commit
7688791fc52f116eea421fda1d17aba5cf10977b, and takes
us back to generating the glapi files straight into the xserver tree.
Conflicts:
src/glx/x11/indirect_size_get.c
Corbin Simpson [Wed, 21 May 2008 15:24:28 +0000 (08:24 -0700)]
r5xx: Add OPCODE_POW.
Necessary for Google Earth, among other things.