Nicolai Haehnle [Fri, 11 Jul 2008 23:14:35 +0000 (01:14 +0200)]
r500_fragprog: Major refactoring of final emit
Use an abstracted instruction scheduling and register allocation algorithm
that we will be able to share with r300_fragprog.
Unlike the original emit code, this code tries to pair instructions that
only use the RGB part of the ALU with instructions that only use the alpha
part. However, the pairing algorithm still has some shortcomings;
for example, it doesn't generate optimal code for the emulation of LIT.
Nicolai Haehnle [Sun, 6 Jul 2008 17:48:50 +0000 (19:48 +0200)]
r500: Add "Not quite SSA" and dead code elimination pass
In addition, this pass fixes non-native swizzles.
Nicolai Haehnle [Sun, 6 Jul 2008 14:58:51 +0000 (16:58 +0200)]
r500_fragprog: Transform trigonometric functions in first pass
Alex Deucher [Fri, 11 Jul 2008 23:23:06 +0000 (19:23 -0400)]
R300: update vap_cntl values for NUM_FPUS
based on info from hw team
Dan Nicholson [Fri, 11 Jul 2008 17:43:29 +0000 (10:43 -0700)]
Remove generated pkg-config files on `make clean'
Dan Nicholson [Tue, 1 Jul 2008 16:03:15 +0000 (09:03 -0700)]
autoconf: Add information about the --x-* options to --help output
Try to tell the user that the --x-* options are only used when the X
libraries can't be found by pkg-config.
Dan Nicholson [Tue, 1 Jul 2008 15:55:42 +0000 (08:55 -0700)]
autoconf: Tell the user about docs/autoconf.html in --help output
The documentation in autoconf.html is much more explicit about how the
different configure options control the build. This adds a notice at the
end of the `./configure --help' output to tell the user about it.
Dave Airlie [Thu, 10 Jul 2008 21:28:55 +0000 (07:28 +1000)]
intel: fix batch flushing problem with cliprects handling.
pointed out and debugged by stringfellow on #dri-devel
Brian Paul [Wed, 9 Jul 2008 21:06:36 +0000 (15:06 -0600)]
mesa: return -1, not GL_FALSE if _glapi_add_dispatch() fails name sanity check
Brian Paul [Wed, 9 Jul 2008 14:35:50 +0000 (08:35 -0600)]
mesa: fix state.clip[n].plane parsing bug (bug 16611)
Brian Paul [Wed, 9 Jul 2008 13:48:46 +0000 (07:48 -0600)]
mesa: check for OpenBSD (bug 15604)
Xiang, Haihao [Wed, 9 Jul 2008 05:08:09 +0000 (13:08 +0800)]
i915: fall back to software rendering when shadow comparison is
enabled for 1D texture. fix #12176
Brian Paul [Tue, 8 Jul 2008 22:52:45 +0000 (16:52 -0600)]
mesa: remove debug code
Brian Paul [Tue, 8 Jul 2008 22:28:33 +0000 (16:28 -0600)]
add yet another Makefile
Brian Paul [Tue, 8 Jul 2008 22:26:28 +0000 (16:26 -0600)]
bump version to rc3
Brian Paul [Tue, 8 Jul 2008 22:26:06 +0000 (16:26 -0600)]
added more Makefiles to file list
Brian Paul [Tue, 8 Jul 2008 22:17:04 +0000 (16:17 -0600)]
mesa: implement glGetUniformiv() with new ctx->Driver function
The old implementation could overwrite the caller's param buffer.
Brian Paul [Tue, 8 Jul 2008 22:16:57 +0000 (16:16 -0600)]
added src/mesa/drivers/Makefile to file list
Brian Paul [Tue, 8 Jul 2008 21:12:48 +0000 (15:12 -0600)]
mesa: bump version to rc2
Brian Paul [Tue, 8 Jul 2008 21:11:23 +0000 (15:11 -0600)]
added null texObj ptr check (bug 15567)
Brian Paul [Tue, 8 Jul 2008 20:59:36 +0000 (14:59 -0600)]
mesa: more debug output
Brian Paul [Tue, 8 Jul 2008 19:05:34 +0000 (13:05 -0600)]
mesa: compute global var size before doing codegen
Brian Paul [Tue, 8 Jul 2008 19:02:24 +0000 (13:02 -0600)]
mesa: add missing VARYING case to storage_string()
Xiang, Haihao [Tue, 8 Jul 2008 06:14:04 +0000 (14:14 +0800)]
i965: official name for GM45 chipset
George Sapountzis [Mon, 7 Jul 2008 15:34:17 +0000 (18:34 +0300)]
glx: add LIBGL_ALWAYS_SOFTWARE
this disables accelerated DRI and fallbacks to client-side software rendering.
compile-tested only.
Dan Nicholson [Sun, 6 Jul 2008 21:17:39 +0000 (14:17 -0700)]
autoconf: Allow commas or spaces to separate DRI drivers
Explicitly allow the argument to --with-dri-drivers to contain
comma-separated or space-separated drivers. A space-separated driver
list worked by chance before.
Dan Nicholson [Thu, 3 Jul 2008 16:17:44 +0000 (09:17 -0700)]
Set library and header installation directories from configuration
Currently the installation directories for libraries and headers are
resolved within the install commands. For instance, the libraries will
be installed to $(INSTALL_DIR)/$(LIB_DIR). This limits the flexibility
of the installation, such as when the libraries should be installed to a
subdirectory like /usr/lib/tls.
This adds the make variables $(INSTALL_LIB_DIR) and $(INSTALL_INC_DIR)
to define the locations that the libraries and headers are installed.
For the static configs, this resolves exactly as before to
$(INSTALL_DIR)/include and $(INSTALL_DIR)/$(LIB_DIR). For autoconf, they
are derived directly from the --libdir and --includedir settings.
Nicolai Haehnle [Sun, 6 Jul 2008 14:39:31 +0000 (16:39 +0200)]
r500_fragprog: Fix RSQ with negative parameters
Nicolai Haehnle [Sat, 5 Jul 2008 21:54:31 +0000 (23:54 +0200)]
r300_fragprog: Emulate trigonometric functions in radeon_program_alu
Nicolai Haehnle [Sat, 5 Jul 2008 20:44:37 +0000 (22:44 +0200)]
r300: Translate fragment program DST in radeon_program_alu
Nicolai Haehnle [Sat, 5 Jul 2008 20:35:46 +0000 (22:35 +0200)]
r300: Translate fragment program LRP in radeon_program_alu.c
Nicolai Haehnle [Sat, 5 Jul 2008 20:21:24 +0000 (22:21 +0200)]
r300: Allow adding parameters during fragprog transform, share LIT code
Nicolai Haehnle [Sat, 5 Jul 2008 18:01:20 +0000 (20:01 +0200)]
r300: Correctly scan for used temporary registers
This fixes a regression introduced by
dea8719f0...
Nicolai Haehnle [Sat, 5 Jul 2008 14:07:37 +0000 (16:07 +0200)]
r500: Major refactoring of fragment program emit
Use the common facilities to convert non-native instructions into native ones.
Worked hard to make the code easier to read (hopefully), by using helper
functions instead of direct manipulation of the machine code.
Fixes two bugs related to FLR and XPD.
Nicolai Haehnle [Sat, 5 Jul 2008 09:53:39 +0000 (11:53 +0200)]
r300: Remove clause stuff for now in favour of a cloned generic gl_program
Nicolai Haehnle [Sat, 5 Jul 2008 08:58:54 +0000 (10:58 +0200)]
r500_fragprog: Cleanup some unused variables and code.
Nicolai Haehnle [Sat, 5 Jul 2008 08:24:27 +0000 (10:24 +0200)]
r500: Fix a mixup in fragment program LRP instruction emit
Nicolai Haehnle [Sat, 5 Jul 2008 07:31:44 +0000 (09:31 +0200)]
r500: Fix blend color.
Nicolai Haehnle [Sat, 5 Jul 2008 16:03:44 +0000 (18:03 +0200)]
_mesa_clone_program: Copy ShadowSamplers
Nicolai Haehnle [Fri, 4 Jul 2008 16:18:19 +0000 (18:18 +0200)]
r300: Fix depth texture in compare mode
Missed the homogenous divide of R by Q before...
Nicolai Haehnle [Sun, 29 Jun 2008 12:53:04 +0000 (14:53 +0200)]
Enable TexGen based on InputsRead when a fragment program is active
The old behaviour depended on which texture images the fragment program
reads from, which seems to contradict the shader specifications.
Note: Piglit's general/texgen test checks for this problem.
Brian Paul [Fri, 4 Jul 2008 16:05:39 +0000 (10:05 -0600)]
GLSL-related bug fixes
Brian Paul [Fri, 4 Jul 2008 15:58:55 +0000 (09:58 -0600)]
mesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if program isn't linked
Brian Paul [Fri, 4 Jul 2008 15:55:48 +0000 (09:55 -0600)]
mesa: remove incorrect assertion
Alan Hourihane [Fri, 4 Jul 2008 12:54:49 +0000 (13:54 +0100)]
glcontextmodes.c is required remove the reference in .gitignore
Xiang, Haihao [Fri, 4 Jul 2008 01:53:51 +0000 (09:53 +0800)]
mesa: fix polygon offset issue (bug #12061)
Brian Paul [Thu, 3 Jul 2008 22:21:11 +0000 (16:21 -0600)]
mesa: fix various error codes
Brian Paul [Thu, 3 Jul 2008 22:02:05 +0000 (16:02 -0600)]
mesa: fix some error codes in _mesa_ShaderSourceARB()
Brian Paul [Thu, 3 Jul 2008 21:40:38 +0000 (15:40 -0600)]
mesa: fix problem freeing framebuffer/renderbuffer objects
Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer objects.
Brian Paul [Thu, 3 Jul 2008 19:49:48 +0000 (13:49 -0600)]
mesa: additional error checking, fix error codes
Brian Paul [Thu, 3 Jul 2008 19:24:28 +0000 (13:24 -0600)]
mesa: regenerated file
Brian Paul [Thu, 3 Jul 2008 19:24:19 +0000 (13:24 -0600)]
mesa: additional vec4 constructor
Brian Paul [Thu, 3 Jul 2008 19:05:28 +0000 (13:05 -0600)]
mesa: fix array storage allocation bug
Brian Paul [Thu, 3 Jul 2008 19:03:35 +0000 (13:03 -0600)]
mesa: fix incorrect array size, added assertion
Brian Paul [Thu, 3 Jul 2008 01:17:11 +0000 (19:17 -0600)]
mesa: fix vertex array validation test for attribute 0 (vert pos)
We don't actually need vertex array[0] enabled when using a vertex
program/shader.
Brian Paul [Wed, 2 Jul 2008 22:51:49 +0000 (16:51 -0600)]
mesa: when linking a shader program, make sure all the shaders compiled OK
Brian Paul [Wed, 2 Jul 2008 22:50:52 +0000 (16:50 -0600)]
mesa: added some debug code (disabled)
Brian Paul [Wed, 2 Jul 2008 22:40:24 +0000 (16:40 -0600)]
mesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()
If the 'shader' parameter is wrong, need to either generate GL_INVALID_VALUE
or GL_INVALID_OPERATION. It depends on whether 'shader' actually names a
'program' or is a totally unknown ID.
There might be other cases to fix...
Brian Paul [Wed, 2 Jul 2008 22:39:48 +0000 (16:39 -0600)]
mesa: regenerated
Brian Paul [Wed, 2 Jul 2008 22:39:26 +0000 (16:39 -0600)]
mesa: added some missing equal() notEqual() intrinsics
Brian Paul [Wed, 2 Jul 2008 18:38:24 +0000 (12:38 -0600)]
mesa: regenerated files
Brian Paul [Wed, 2 Jul 2008 18:37:01 +0000 (12:37 -0600)]
mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctors
Roland Scheidegger [Wed, 2 Jul 2008 18:20:33 +0000 (20:20 +0200)]
mesa: fix issues around multisample enable
multisample enable is enabled by default, however gl mandates multisample
rendering rules only apply if there's also a multisampled buffer.
Brian Paul [Wed, 2 Jul 2008 15:16:10 +0000 (09:16 -0600)]
generate a link error if the vertex shader references too many textures
Brian Paul [Wed, 2 Jul 2008 15:14:53 +0000 (09:14 -0600)]
set ctx->Const.MaxVertexTextureImageUnits = 0
This disallows vertex shader texture sampling. See bugs 16157, 13838.
Ian Romanick [Wed, 2 Jul 2008 13:26:11 +0000 (06:26 -0700)]
VBO: Regenerate files based on recent changes to gl_API.xml
Since GL_ARB_vertex_buffer_object protocol isn't supported yet, these
changes are innocuous.
Paulo Cesar Pereira de Andrade [Wed, 2 Jul 2008 13:22:47 +0000 (06:22 -0700)]
Ian Romanick [Wed, 2 Jul 2008 02:30:32 +0000 (19:30 -0700)]
VBO: Add missing functions related to VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB
Ian Romanick [Wed, 2 Jul 2008 01:20:21 +0000 (18:20 -0700)]
VBO: add GLX related annotations
Brian Paul [Tue, 1 Jul 2008 23:59:07 +0000 (17:59 -0600)]
mesa: fix a GLSL vector subscript/writemask bug
This fixes a failure for cases like:
vec4 v;
v[1] *= 2.0;
The v[1] actually acts like a writemask, equivalent to v.y
The fix is a bit convoluted, but will do for now.
Brian Paul [Tue, 1 Jul 2008 23:52:31 +0000 (17:52 -0600)]
mesa: move some functions
Brian Paul [Tue, 1 Jul 2008 23:50:14 +0000 (17:50 -0600)]
mesa: make _slang_swizzle_swizzle() non-private
Brian Paul [Tue, 1 Jul 2008 17:41:21 +0000 (11:41 -0600)]
mesa: better function inlining in the presence of 'return' statements
Before, the presence of a 'return' statement always prevented inlining
a function. This was because we didn't want to accidentally return from
the _calling_ function. We still need the semantic of 'return' when inlining
but we can't always use unconditional branches/jumps (GPUs don't always
support arbitrary branching).
Now, we allow inlining functions w/ return if the return is the last
statement in the function. This fixes the common case of a function
that returns a value, such as:
vec4 square(const in vec4 x)
{
return x * x;
}
which effectively compiles into:
vec4 square(const in vec4 x)
{
__retVal = x * x;
return;
}
The 'return' can be no-op'd now and we can inline the function.
Brian Paul [Tue, 1 Jul 2008 17:41:02 +0000 (11:41 -0600)]
mesa: add/fix some IrInfo entries for debugging purposes
Brian Paul [Tue, 1 Jul 2008 15:02:10 +0000 (09:02 -0600)]
link to DRM 2.3.1
Brian Paul [Tue, 1 Jul 2008 14:48:48 +0000 (08:48 -0600)]
press 'm' to toggle multisample enable/disable
Brian Paul [Tue, 1 Jul 2008 14:48:22 +0000 (08:48 -0600)]
init machine->Samplers (fixes vertex program texture fetches)
Dave Airlie [Tue, 1 Jul 2008 08:22:12 +0000 (18:22 +1000)]
dri: drop asserts to make build against stable libdrm
These asserts are of questionable use at the moment with things in flux.
Xiang, Haihao [Tue, 1 Jul 2008 03:38:07 +0000 (11:38 +0800)]
dri: Take the base image size into account when computing
first level of the mipmap. fix #16210
Dan Nicholson [Mon, 30 Jun 2008 17:28:02 +0000 (10:28 -0700)]
autoconf: Improve the visibility of the swrast DRI driver
Improve the --with-dri-drivers help text so that users are aware that
they should install the swrast DRI driver.
Corbin Simpson [Mon, 30 Jun 2008 18:12:51 +0000 (11:12 -0700)]
r3xx/r5xx: Enable ARB_point_parameters.
This isn't complete yet. It does cover the two most common usage cases,
though, and at least the third one (POINT_DISTANCE_ATTENUATION) is possible,
so I'll do that later.
Nicolai Haehnle [Mon, 30 Jun 2008 06:37:13 +0000 (08:37 +0200)]
r300: Fix dumb mistake in LOD bias translation
Nicolai Haehnle [Sun, 29 Jun 2008 22:44:26 +0000 (00:44 +0200)]
r300: Cleanup LodBias support
. There is both a per-texture unit and a per-texture object (at least for
OpenGL 1.4); this should now be supported properly.
. The LOD bias calculation in r300_state has been simplified and corrected
(need to multiply by 32 instead of 31, and ensure clamping)
. do not clamp LOD bias in TexEnv, as that behaviour conflicts with what
the spec says
. set Const.MaxTextureLodBias properly
. remove the no_neg_lod_bias property; if somebody can explain what
it's good for, we can add it back in, but according to Google, nobody
seems to use it
. removed some dead code and unused variables
Corbin Simpson [Sun, 29 Jun 2008 17:30:47 +0000 (10:30 -0700)]
r300: Change LOD bias emission to more closely follow per-tex rules.
Okay, this time it's for real, and for good. This should be a perma-fix.
Corbin Simpson [Sun, 29 Jun 2008 17:29:32 +0000 (10:29 -0700)]
Revert accidental edit to progs/demos/lodbias.
*puts yet another paper bag over head*
Nicolai Haehnle [Sun, 29 Jun 2008 15:24:32 +0000 (17:24 +0200)]
demos/shadowtex: Don't set TEXTURE_WRAP_T for 1D texture
The operation doesn't really make sense. It triggered a bug in the r300 DRI
driver (and possibly other drivers that simulate 1D textures via 2D textures).
I've added an isolated test case for this bug to Piglit, so everybody wins.
Nicolai Haehnle [Sun, 29 Jun 2008 15:20:52 +0000 (17:20 +0200)]
r300: Fix wrap mode for 1D textures
Brian Paul [Sat, 28 Jun 2008 22:48:31 +0000 (16:48 -0600)]
s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()
Brian Paul [Sat, 28 Jun 2008 22:48:23 +0000 (16:48 -0600)]
mesa: added null ptr checks
Dan Nicholson [Thu, 12 Jun 2008 13:46:32 +0000 (06:46 -0700)]
DRI-specific pkg-config file
Since the gl pkg-config file doesn't convey any specifics about the
backend in use, this adds a new pkg-config file for when DRI is in use.
This can be used by the xserver build to determine if the DRI and/or
GLX extensions are appropriate.
Dan Nicholson [Wed, 4 Jun 2008 20:17:06 +0000 (13:17 -0700)]
autoconf: Check for posix_memalign
Rather than just defining HAVE_POSIX_MEMALIGN on Linux, check whether
the function exists on all platforms and define the macro if it is.
Alan Hourihane [Thu, 26 Jun 2008 21:53:29 +0000 (22:53 +0100)]
Check in SwapBuffers for any new pending dri2 events
Eric Anholt [Tue, 24 Jun 2008 21:04:11 +0000 (14:04 -0700)]
intel: Fix glCopyPixels when x or y are < 0 in hw coordinates.
Nothing would get drawn as the negative coordinates broke the rectangle
intersection code that used unsigned ints. Tested with copypix demo and
sliding the copy to the upper left.
Eric Anholt [Tue, 24 Jun 2008 20:18:40 +0000 (13:18 -0700)]
i965: Use the shared intel_pixel_copy.c.
This disables the textured copy implementation on 965, which didn't appear
to work (mesa copypix demo, disable the blit path, move so that regions don't
overlap and textured is used, and you get garbage). If we resurrect this for
i965, I'd rather it used the 915-style metaops instead. Current metaops code
left in place so that whoever picks it up has a reference.
Eric Anholt [Tue, 24 Jun 2008 18:49:21 +0000 (11:49 -0700)]
intel: Same pixel function init for everyone now.
Eric Anholt [Tue, 24 Jun 2008 18:44:42 +0000 (11:44 -0700)]
intel: Avoid glBitmap software fallback for blending when no blending occurs.
Mesa demos tend to leave blending on but in GL_ONE/GL_ZERO, or
GL_SRC_ALPHA/GL_ONE_MINUS_SRC_ALPHA with a source alpha of 1.0.
Eric Anholt [Tue, 24 Jun 2008 18:34:42 +0000 (11:34 -0700)]
intel: Merge check_blit_fragment_ops between i915/i965.
Both had some useful bits for the other.
Eric Anholt [Tue, 24 Jun 2008 17:50:10 +0000 (10:50 -0700)]
intel: Note reasons for blit pixel op fallbacks under INTEL_DEBUG=pix.
Eric Anholt [Tue, 24 Jun 2008 16:37:07 +0000 (09:37 -0700)]
i915: Add support for accelerated glBitmap, shared from 965.
Eric Anholt [Tue, 24 Jun 2008 16:48:23 +0000 (09:48 -0700)]
i915: Fix read != draw drawable for glCopyPixels.
Taken from commit
bad6e175cf59cce630c37d73f6e71f3a4de50ae6.