Eric Anholt [Wed, 18 Jun 2008 21:35:59 +0000 (14:35 -0700)]
i915: Note the non-PBO fallback for textured drawpixels under DEBUG_PIXEL.
Eric Anholt [Wed, 18 Jun 2008 21:19:18 +0000 (14:19 -0700)]
i915: Restore the accelerated PBO pixel path functions after GEM changes.
The fencing code is not required, and waiting on the fences defeated one of
the purposes of the extension, which is to allow asynchronous readpixels.
Eric Anholt [Wed, 18 Jun 2008 21:07:38 +0000 (14:07 -0700)]
Merge commit 'origin/master' into drm-gem
Eric Anholt [Wed, 18 Jun 2008 20:50:13 +0000 (13:50 -0700)]
i915: Bug #14313: Fix accelerated (PBO) ReadPixels.
Refactoring of mine in
02d5ba849197e19843dad164239b51f18fb16faf broke it
by failing to understand that the masking was about sign extension.
Xiang, Haihao [Wed, 18 Jun 2008 07:33:33 +0000 (15:33 +0800)]
i965: add support for Intel 4 series chipsets
Brian Paul [Tue, 17 Jun 2008 22:44:04 +0000 (16:44 -0600)]
mesa: fix inconsistent use of GL_UNSIGNED_INT vs. GL_UNSIGNED_INT_24_8_EXT for Z unpacking
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.
Wilfried Holzke [Tue, 17 Jun 2008 16:07:47 +0000 (10:07 -0600)]
assorted glide driver fixes
Brian Paul [Tue, 17 Jun 2008 15:01:32 +0000 (09:01 -0600)]
glu: silence warnings
Dave Airlie [Tue, 17 Jun 2008 06:29:45 +0000 (16:29 +1000)]
mesa: make mm.c use unsigned ints for offsets.
If you have a GPU using this code and it has the offsets up in this space,
this fails.
Corbin Simpson [Mon, 16 Jun 2008 18:37:32 +0000 (11:37 -0700)]
r300: Make LOD bias a persistent environment variable.
Per airlied's suggestion.
H. Verbeet [Mon, 16 Jun 2008 16:40:32 +0000 (10:40 -0600)]
Compute/setup fog coordinates even if vertex program is enabled.
Only when fog's enabled, of course.
In the usual case, this is just a pass-through operation.
Brian Paul [Mon, 16 Jun 2008 16:03:05 +0000 (10:03 -0600)]
mesa: allocate pixel zoom arrays on heap, not stack
Fixes stack overflow on Windows.
H. Verbeet [Mon, 16 Jun 2008 15:40:26 +0000 (09:40 -0600)]
Don't compute vertex fog when fragment program is active.
Corbin Simpson [Mon, 16 Jun 2008 08:21:42 +0000 (01:21 -0700)]
r300: Fix new incarnation of bug 3195.
tests/bug_3195 doesn't render right, but at least it doesn't segfault this way.
Corbin Simpson [Mon, 16 Jun 2008 08:02:16 +0000 (01:02 -0700)]
r300: Forgot to clear old state before writing new state.
Oooops. Hehe.
Corbin Simpson [Mon, 16 Jun 2008 06:54:32 +0000 (23:54 -0700)]
r300: Enable LOD bias state emission.
Properly set t->filter_1 for r300_state to emit.
Expect buggies as people see LOD bias enabled for the first time...
Corbin Simpson [Mon, 16 Jun 2008 00:30:07 +0000 (17:30 -0700)]
Oops, misordered a few instructions.
Not like it matters, though, since it's not taking effect yet.
Corbin Simpson [Mon, 16 Jun 2008 00:14:07 +0000 (17:14 -0700)]
r300: Unbreak LOD biasing, a bit.
Needs a bit more work on submission.
Dan Nicholson [Sun, 15 Jun 2008 16:06:27 +0000 (09:06 -0700)]
No more drivers/xorg
Don't try to clean in xorg since GLcore is gone.
Corbin Simpson [Sun, 15 Jun 2008 02:32:33 +0000 (19:32 -0700)]
r5xx: Enable fragment.position, partial ARB_shadow.
I don't like PROGRAM_BUILTIN; could we either patch Mesa or just use a different constant?
Corbin Simpson [Sun, 15 Jun 2008 00:51:04 +0000 (17:51 -0700)]
r5xx: Detangle FP fallback and translation switches.
r5xx should fallback if it encounters a bad FP.
TODO: Re-enable the dumb shader so we don't have to completely fallback.
Nicolai Haehnle [Sat, 14 Jun 2008 21:09:15 +0000 (23:09 +0200)]
r300: Add radeonTransformALU and fix a bug in r300_fragprog DPH
This new generic transform replaces "special" instructions by more generic
variants. Hopefully, we will be able to share this code between r300 and r500.
Nicolai Haehnle [Sat, 14 Jun 2008 18:26:10 +0000 (20:26 +0200)]
r300_fragprog: Use less complex instructions
MOV, ADD and MUL do not fit the hardware as well as MAD, but they are less
complex and thus leave more room for future optimizations.
Corbin Simpson [Sat, 14 Jun 2008 15:56:03 +0000 (08:56 -0700)]
r5xx: More FP rewriting; fix texrect FP insts.
Corbin Simpson [Sat, 14 Jun 2008 14:21:40 +0000 (07:21 -0700)]
r5xx: New FP code, take two.
Add the code emission source file, and comment out unneeded tex de-swizzling.
Corbin Simpson [Sat, 14 Jun 2008 14:03:08 +0000 (07:03 -0700)]
r5xx: FP refactor, take one.
Yes, I know it's massive. Imagine how I felt, auditing 3000 lines of code.
Corbin Simpson [Sat, 14 Jun 2008 11:37:09 +0000 (04:37 -0700)]
r3xx/r5xx: Don't force aniso.
*Pulls paper bag down over head*
Nicolai Haehnle [Sat, 14 Jun 2008 02:07:51 +0000 (04:07 +0200)]
r300: Implement GL_ARB_shadow and GL_EXT_shadow_funcs
Nicolai Haehnle [Sat, 14 Jun 2008 00:28:58 +0000 (02:28 +0200)]
texenvprogram: Mark textures using ARB_shadow as ShadowSamplers
Since ARB_fragment_program and friends are defined to ignore the setting of
the GL_TEXTURE_COMPARE_FUNC parameter, we have to explicitly enable the
shadow comparison by marking the texture unit in ShadowSamplers when
appropriate.
Nicolai Haehnle [Sat, 14 Jun 2008 01:34:09 +0000 (03:34 +0200)]
r300: Add radeonCompilerDump for debugging
Nicolai Haehnle [Fri, 13 Jun 2008 23:46:19 +0000 (01:46 +0200)]
r300_fragprog: Refactor TEX transformation
Streamlining source and destination registers, as well as texcoord scaling for
RECT textures is now done in a radeon_program based transformation.
The idea is that this will allow us to optimize away unnecessary indirections
more easily.
Nicolai Haehnle [Fri, 13 Jun 2008 21:46:04 +0000 (23:46 +0200)]
r300: Add radeon_program and trivial refactoring of r300_fragprog to use it
The idea/hope is that radeon_program will serve as an intermediate
representation for r3xx up to r6xx fragment and vertex programs.
Right now, it is nothing more than a simplistic wrapper around Mesa's
prog_instruction, together with the notion of clauses, taken from r6xx docs.
The clauses will eventually be used to represent the nodes that are used in
r300 family fragment programs.
Nicolai Haehnle [Fri, 13 Jun 2008 20:09:37 +0000 (22:09 +0200)]
r300: Do not include r300_fragprog.h from r300_context.h and other cleanups
Nicolai Haehnle [Fri, 13 Jun 2008 20:03:26 +0000 (22:03 +0200)]
r300_fragprog: Remove dead declarations, move NOP declarations into source
Nicolai Haehnle [Fri, 13 Jun 2008 19:43:09 +0000 (21:43 +0200)]
r300_fragprog: Refactoring and cleanup
Refactor so that r300_pfs_compile_state "owns"/holds a pointer to
r300_fragment_program instead of the other way round. This is more natural from
an object orientation point of view.
Move the compiled hardware state into r300_fragment_program_code, in
anticipation of on-the-fly program recompilation based on external OpenGL
state.
Nicolai Haehnle [Fri, 13 Jun 2008 18:03:17 +0000 (20:03 +0200)]
r300_fragprog: Remove dead code
Nicolai Haehnle [Fri, 13 Jun 2008 18:49:52 +0000 (20:49 +0200)]
r300/r500: Separate fragprog compiler structures
r500 code still used r300_pfs_compile_state, which contains some fields that
really only make sense on r3xx type hardware. In order to allow both fragprog
implementations to go forward without disturbing each other, I've pushed this
structure down into the respective r[3|5]00_fragprog.c
Nicolai Haehnle [Fri, 13 Jun 2008 16:41:16 +0000 (18:41 +0200)]
r300: Fix depth texture GL_LUMINANCE vs. GL_INTENSITY mixup
Nicolai Haehnle [Sat, 7 Jun 2008 12:17:56 +0000 (14:17 +0200)]
r300: Reenable t->filter_1 (though currently not used)
George Sapountzis [Fri, 13 Jun 2008 12:54:08 +0000 (15:54 +0300)]
glx: load swrast_dri.so
caveats:
- does not work with old (i.e. libGLcore) xserver:
- made unbindContext a noop
- extensions:
GLX_SGI_make_current_read
GLX_EXT_texture_from_pixmap
GLX_MESA_copy_sub_buffer
George Sapountzis [Fri, 13 Jun 2008 12:52:32 +0000 (15:52 +0300)]
dri/swrast: make unbind a noop
This is for loading swrast_dri.so from libGL.
MakeContextCurrent() seems to unbind the context right after binding it and
DRI drivers also have a noop DriverAPI.UnbindContext ...
George Sapountzis [Fri, 13 Jun 2008 12:48:34 +0000 (15:48 +0300)]
dri/swrast: add OpenGL 2.1 functions
George Sapountzis [Fri, 13 Jun 2008 12:48:06 +0000 (15:48 +0300)]
glx: use ErrorMessageF
Zack Rusin [Thu, 12 Jun 2008 23:41:54 +0000 (19:41 -0400)]
silly bug: it's PROGRAM_VARYING
Zack Rusin [Thu, 12 Jun 2008 22:53:52 +0000 (18:53 -0400)]
glsl: make sure we replace all output reads with temporaries
test in if.glsl
Zack Rusin [Thu, 12 Jun 2008 23:37:26 +0000 (19:37 -0400)]
glsl: allow uniforms
Zack Rusin [Mon, 9 Jun 2008 03:05:15 +0000 (23:05 -0400)]
glsl: fix array size initialiazers using const variables
e.g.
const int kernelSize = 9;
uniform vec2 kernel[kernelSize];
Zack Rusin [Thu, 12 Jun 2008 18:19:10 +0000 (14:19 -0400)]
almost forgot - RelAddr is a boolean so use it here
Zack Rusin [Thu, 12 Jun 2008 04:03:35 +0000 (00:03 -0400)]
shaders: fix allocation of arrays of parameters
Zack Rusin [Tue, 10 Jun 2008 20:59:44 +0000 (16:59 -0400)]
glsl: implement variable array indexes
Dan Nicholson [Thu, 12 Jun 2008 13:37:45 +0000 (06:37 -0700)]
Update .gitignore for progs/glsl
Dave Airlie [Thu, 12 Jun 2008 06:26:46 +0000 (16:26 +1000)]
sparc: add swrast to dri drivers
Dave Airlie [Thu, 12 Jun 2008 02:06:50 +0000 (12:06 +1000)]
sparc: add DRI drivers for sparc patch from Fedora
Brian Paul [Thu, 12 Jun 2008 01:33:30 +0000 (19:33 -0600)]
remove obsoleted doxygen \param comments
Someone changed the function parameters but didn't bother to update the
comments.
Also, whitespace changes, clean-ups.
Brian Paul [Thu, 12 Jun 2008 01:33:14 +0000 (19:33 -0600)]
comments
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.
Brian Paul [Tue, 10 Jun 2008 18:08:30 +0000 (12:08 -0600)]
remove unnecessary swrast, tnl includes
Brian Paul [Tue, 10 Jun 2008 16:09:03 +0000 (10:09 -0600)]
add some missing rule dependencies
Roland Scheidegger [Tue, 10 Jun 2008 13:43:33 +0000 (15:43 +0200)]
copy msaa visuals capability
Dan Nicholson [Tue, 10 Jun 2008 13:06:40 +0000 (06:06 -0700)]
Distribute version.mk in case autoconf needs to be run again
Users may need to rebuild the configure script, so we need to distribute
version.mk so autoconf can run successfully.
Xiang, Haihao [Tue, 10 Jun 2008 08:31:36 +0000 (16:31 +0800)]
Brian Paul [Mon, 9 Jun 2008 22:06:44 +0000 (16:06 -0600)]
fix Xlib libGL.so build problem.
Also, build driverfuncs.c into libmesa.a since it's always needed.
Brian Paul [Mon, 9 Jun 2008 20:09:09 +0000 (14:09 -0600)]
s/SOLO/MESA/
Brian Paul [Mon, 9 Jun 2008 19:50:44 +0000 (13:50 -0600)]
Makefile clean-ups
Brian Paul [Mon, 9 Jun 2008 19:50:31 +0000 (13:50 -0600)]
more old stuff, rename SOLO->MESA, etc
Brian Paul [Mon, 9 Jun 2008 19:50:11 +0000 (13:50 -0600)]
Makefile clean-ups
Brian Paul [Fri, 6 Jun 2008 18:38:24 +0000 (12:38 -0600)]
document makefile changes
Alan Hourihane [Mon, 9 Jun 2008 15:24:15 +0000 (16:24 +0100)]
Check for NULL pointer
George Sapountzis [Mon, 9 Jun 2008 14:47:49 +0000 (17:47 +0300)]
glx: use goto's vs. nested if's ala xserver
compile tested only
George Sapountzis [Mon, 9 Jun 2008 14:47:09 +0000 (17:47 +0300)]
glx: add dri_common.c ala xserver
also drop driFilterModes which is unused
in preparation of loading swrast_dri.so
George Sapountzis [Mon, 9 Jun 2008 14:46:39 +0000 (17:46 +0300)]
dri/swrast: minor cosmetic
Nicolai Haehnle [Sun, 8 Jun 2008 20:36:20 +0000 (22:36 +0200)]
r300: Workaround hardware readcache problem
This workaround is similar to the one found in r200_span.c.
It seems like some part of the read hardware doesn't realize that
VRAM has changed. By reading from an arbitrary position, this is fixed.
The piglit test bugs/r300-readcache is a regression test for this bug.
Brian [Sun, 8 Jun 2008 17:25:30 +0000 (11:25 -0600)]
remove realglx.[ch] from build
Roland Scheidegger [Sun, 8 Jun 2008 12:04:39 +0000 (14:04 +0200)]
i965: fix OPCODE_TEX when additional ops are needed
Corbin Simpson [Sat, 7 Jun 2008 19:37:10 +0000 (12:37 -0700)]
r300: Allow driconf to set a default anisotropy.
If an app does not use GL_EXT_tex_filter_aniso, this lets driconf set it instead.
Nicolai Haehnle [Sat, 7 Jun 2008 19:07:28 +0000 (21:07 +0200)]
r300: Some cleanups in depth and stencil state handling
This also fixes a bug with Zfunc set to GL_NEVER in glean/paths.
Nicolai Haehnle [Sat, 7 Jun 2008 18:33:28 +0000 (20:33 +0200)]
r300: Apply writemask when clearing stencil buffer
This fixes the glean/maskedClear test.
Nicolai Haehnle [Sat, 7 Jun 2008 18:25:47 +0000 (20:25 +0200)]
r300: Fix stencil buffer clear
The glean/readPixSanity test passes now.
Nicolai Haehnle [Sat, 7 Jun 2008 16:54:35 +0000 (18:54 +0200)]
r300: Further anisotropic filtering fixes
Thanks to Corbin for the initial cut today. Fixed some minor stuff (in
particular, make sure we still use a MIP_LINEAR filtering mode; anisotropy
without MIP_LINEAR filtering is not the truly pleasing anisotropy).
Nicolai Haehnle [Sat, 7 Jun 2008 12:17:36 +0000 (14:17 +0200)]
r300: Update LOD_BIAS register constants
Corbin Simpson [Sat, 7 Jun 2008 08:37:35 +0000 (01:37 -0700)]
r5xx: Unbreak anisotropic filtering?
Not quite finished, maybe? Not sure.
Corbin Simpson [Sat, 7 Jun 2008 04:53:05 +0000 (21:53 -0700)]
r5xx: Fix speedy LIT once and for all.
To do: Add a slightly more accurate LIT. Will do later.
Jose Fonseca [Sat, 7 Jun 2008 03:34:45 +0000 (12:34 +0900)]
Fix CRLF line endings.
Jose Fonseca [Sat, 7 Jun 2008 03:33:47 +0000 (12:33 +0900)]
Fix CRLF line endings.
Nicolai Haehnle [Fri, 6 Jun 2008 21:47:46 +0000 (23:47 +0200)]
r300: Improve texture layout calculations
The texture layout calculations for mipmapped cubemaps used to be completely
wrong, since the GPU expects images to be grouped by miplevel instead of by
face number.
This has been fixed now, though the memory layout is still slightly incorrect
for the smaller miplevels. Unfortunately, the docs are lacking in that area.
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.
Nicolai Haehnle [Fri, 6 Jun 2008 19:28:08 +0000 (21:28 +0200)]
r300: Cleanup TX_MIN_FILTER defines
This commit should not affect the functionality at all, just cleanup
some of the original texture filter guesswork using information from
the register documentation.
Nicolai Haehnle [Fri, 6 Jun 2008 19:13:12 +0000 (21:13 +0200)]
r300: Remove unused variable r300_tex_obj::dirty_state and related defines
This variable was only ever written to, but nobody used its value.
Brian Paul [Fri, 6 Jun 2008 18:27:55 +0000 (12:27 -0600)]
s/subdirs/asm_subdirs/
Brian Paul [Fri, 6 Jun 2008 18:27:14 +0000 (12:27 -0600)]
move the install rules
Brian Paul [Fri, 6 Jun 2008 18:25:24 +0000 (12:25 -0600)]
remove stray semicolon
Brian Paul [Fri, 6 Jun 2008 18:24:44 +0000 (12:24 -0600)]
move a beos-ism down into drivers/beos/Makefile
Brian Paul [Fri, 6 Jun 2008 18:18:40 +0000 (12:18 -0600)]
Remove the old, complicated default build rule; use the new driver_subdirs rule
Also, all the old driver-specific rules are now gone.
Brian Paul [Fri, 6 Jun 2008 18:12:59 +0000 (12:12 -0600)]
remove more old stuff, insert new driver_subdir build rules (but not enabled yet)
Brian Paul [Fri, 6 Jun 2008 18:09:55 +0000 (12:09 -0600)]
new drivers/Makefile with simple default/clean/install rules
Brian Paul [Fri, 6 Jun 2008 18:09:01 +0000 (12:09 -0600)]
move directfb-libgl into drivers/directfb/Makefile
Brian Paul [Thu, 5 Jun 2008 22:44:11 +0000 (16:44 -0600)]
Move fbdev driver construction into src/mesa/drivers/fbdev/Makefile