mesa.git
14 years agonv50: permit usage of undefined TGSI TEMPs
Christoph Bumiller [Sun, 25 Jul 2010 22:56:12 +0000 (00:56 +0200)]
nv50: permit usage of undefined TGSI TEMPs

14 years agonv50: fix constant_operand opt mul by 2 case
Christoph Bumiller [Sun, 25 Jul 2010 21:32:18 +0000 (23:32 +0200)]
nv50: fix constant_operand opt mul by 2 case

14 years agonv50: simple reload elimination and local CSE
Christoph Bumiller [Sun, 25 Jul 2010 20:21:38 +0000 (22:21 +0200)]
nv50: simple reload elimination and local CSE

14 years agonv50: add/fix some license headers
Christoph Bumiller [Sat, 24 Jul 2010 20:16:05 +0000 (22:16 +0200)]
nv50: add/fix some license headers

14 years agonv50: change back accidentally swapped UNORM,SNORM vertex type
Christoph Bumiller [Sat, 24 Jul 2010 19:18:51 +0000 (21:18 +0200)]
nv50: change back accidentally swapped UNORM,SNORM vertex type

14 years agonv50: don't produce MOV immediate to output reg in store opt
Christoph Bumiller [Sat, 24 Jul 2010 19:17:21 +0000 (21:17 +0200)]
nv50: don't produce MOV immediate to output reg in store opt

14 years agonv50: introduce the big formats table
Christoph Bumiller [Sat, 24 Jul 2010 12:46:44 +0000 (14:46 +0200)]
nv50: introduce the big formats table

14 years agonouveau: update nouveau_class.h
Christoph Bumiller [Sat, 24 Jul 2010 10:49:15 +0000 (12:49 +0200)]
nouveau: update nouveau_class.h

Adds nvc0, new vertex formats, and dual source blending values.

14 years agonv50: import new compiler
Christoph Bumiller [Fri, 23 Jul 2010 19:21:25 +0000 (21:21 +0200)]
nv50: import new compiler

14 years agoi965: Cleanly fail programs with unsupported array access.
Eric Anholt [Fri, 23 Jul 2010 17:01:45 +0000 (10:01 -0700)]
i965: Cleanly fail programs with unsupported array access.

This should be more useful for developers and for bug triaging than
just generating wrong code.

14 years agoi965: Add support for VS relative addressing of temporary arrays.
Eric Anholt [Fri, 23 Jul 2010 17:34:29 +0000 (10:34 -0700)]
i965: Add support for VS relative addressing of temporary arrays.

Fixes glsl-vs-arrays.  Bug #27388.

14 years agodraw: add small ybias factor for drawing wide points
Brian Paul [Fri, 23 Jul 2010 16:32:25 +0000 (10:32 -0600)]
draw: add small ybias factor for drawing wide points

Fixes minor rasterization error detected by some tests.

14 years agodocs: document new extensions for Gallium
Brian Paul [Thu, 22 Jul 2010 22:55:41 +0000 (16:55 -0600)]
docs: document new extensions for Gallium

14 years agosoftpipe: Check for NULL pointer in sp_destroy_tile_cache().
Michal Krol [Thu, 22 Jul 2010 16:32:50 +0000 (18:32 +0200)]
softpipe: Check for NULL pointer in sp_destroy_tile_cache().

14 years agosoftpipe: Check for NULL pointer in sp_destroy_tex_tile_cache().
Michal Krol [Thu, 22 Jul 2010 16:32:31 +0000 (18:32 +0200)]
softpipe: Check for NULL pointer in sp_destroy_tex_tile_cache().

14 years agonv50: implement depth clamp
Christoph Bumiller [Fri, 23 Jul 2010 10:03:33 +0000 (12:03 +0200)]
nv50: implement depth clamp

14 years agoxorg/vmwgfx: Implement early mode pruning based on max fb size.
Thomas Hellstrom [Fri, 23 Jul 2010 02:44:26 +0000 (04:44 +0200)]
xorg/vmwgfx: Implement early mode pruning based on max fb size.

Also move some initialization from screen init to pre-init, now
that it is possible.

Also import a new vmwgfx drm (1.3) header.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
14 years agost/xorg: Init the Gallium3D / libkms resources in pre-init.
Thomas Hellstrom [Fri, 23 Jul 2010 02:36:43 +0000 (04:36 +0200)]
st/xorg: Init the Gallium3D / libkms resources in pre-init.

This makes it possible to prune modes already in pre-init.
We also keep these resources alive across server generations, and
they are implicitly closed on server exit.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
14 years agost/xorg: Kill a couple of compilation warnings
Thomas Hellstrom [Thu, 22 Jul 2010 01:41:10 +0000 (03:41 +0200)]
st/xorg: Kill a couple of compilation warnings

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
14 years agost/xorg vmwgfx/xorg: Add a pre-init customizer callback
Thomas Hellstrom [Thu, 22 Jul 2010 00:05:35 +0000 (02:05 +0200)]
st/xorg vmwgfx/xorg: Add a pre-init customizer callback

Add a customizer callback just before initial config setting, so that the
customizer code can initialize the mode validator using the drm
file-descriptor.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
14 years agost/xorg: Add a possibility to prune modes and limit fb allocation size based on max...
Thomas Hellstrom [Wed, 21 Jul 2010 23:49:46 +0000 (01:49 +0200)]
st/xorg: Add a possibility to prune modes and limit fb allocation size based on max fb size.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
14 years agollvmpipe: Partially fix resource texture from_handle
Jakob Bornecrantz [Fri, 23 Jul 2010 03:18:51 +0000 (20:18 -0700)]
llvmpipe: Partially fix resource texture from_handle

14 years agollvmpipe: Don't align values already aligned
Jakob Bornecrantz [Fri, 23 Jul 2010 03:17:35 +0000 (20:17 -0700)]
llvmpipe: Don't align values already aligned

14 years agoi915g: Rename winsys debug options
Jakob Bornecrantz [Fri, 23 Jul 2010 03:13:02 +0000 (20:13 -0700)]
i915g: Rename winsys debug options

14 years agoi915g: Allow wrapping with software pipes
Jakob Bornecrantz [Fri, 23 Jul 2010 03:11:20 +0000 (20:11 -0700)]
i915g: Allow wrapping with software pipes

14 years agoi915g: Set total_nblocksy in from_handle
Jakob Bornecrantz [Fri, 23 Jul 2010 03:03:29 +0000 (20:03 -0700)]
i915g: Set total_nblocksy in from_handle

14 years agoi915g: Add some debug prints in texture code
Jakob Bornecrantz [Fri, 23 Jul 2010 03:02:58 +0000 (20:02 -0700)]
i915g: Add some debug prints in texture code

14 years agoi915g: Ifdef out debug code on non-debug builds
Jakob Bornecrantz [Fri, 23 Jul 2010 03:00:28 +0000 (20:00 -0700)]
i915g: Ifdef out debug code on non-debug builds

14 years agotgsi: Fix error message on invalid swizzle parse
Jakob Bornecrantz [Fri, 16 Jul 2010 04:11:24 +0000 (21:11 -0700)]
tgsi: Fix error message on invalid swizzle parse

14 years agoglx: Drop screen argument to GetGLXDRIDrawable
Kristian Høgsberg [Fri, 23 Jul 2010 02:36:37 +0000 (22:36 -0400)]
glx: Drop screen argument to GetGLXDRIDrawable

We'll just get it from the returned drawable when we need it.

14 years agoglx: Move WaitGL, WaitX, UseXFont to context vtable functions
Kristian Høgsberg [Fri, 23 Jul 2010 02:24:00 +0000 (22:24 -0400)]
glx: Move WaitGL, WaitX, UseXFont to context vtable functions

14 years agoglx: Allocate the __GLXcontext in the DRI drivers
Kristian Høgsberg [Fri, 23 Jul 2010 01:24:14 +0000 (21:24 -0400)]
glx: Allocate the __GLXcontext in the DRI drivers

14 years agoglx: Use _Xglobal_lock for protecting extension display list
Kristian Høgsberg [Fri, 23 Jul 2010 01:11:02 +0000 (21:11 -0400)]
glx: Use _Xglobal_lock for protecting extension display list

Avoids double locking glXLock in the X wire to event handlers.

14 years agoglsl: remove invalid _mesa_problem() call
Brian Paul [Thu, 22 Jul 2010 22:35:43 +0000 (16:35 -0600)]
glsl: remove invalid _mesa_problem() call

Fixes fd.o bug 29206.

14 years agodraw: re-order optimization passes depending on LLVM version, 32/64-bit
Brian Paul [Thu, 22 Jul 2010 22:07:18 +0000 (16:07 -0600)]
draw: re-order optimization passes depending on LLVM version, 32/64-bit

This is a work-around for an apparent bug in LLVM seen with piglit's
glsl-vs-sqrt-zero test.

14 years agodraw: added new assertions to clipping code
Brian Paul [Thu, 22 Jul 2010 17:18:45 +0000 (11:18 -0600)]
draw: added new assertions to clipping code

14 years agoi965: Respect VS/VP point size result when enabled.
Eric Anholt [Thu, 22 Jul 2010 17:04:24 +0000 (10:04 -0700)]
i965: Respect VS/VP point size result when enabled.

Fixes glsl-vs-point-size.

14 years agoi965: Fix the disasm output for da16 src widths.
Eric Anholt [Thu, 22 Jul 2010 08:53:43 +0000 (01:53 -0700)]
i965: Fix the disasm output for da16 src widths.

This has confused me twice now.  It's a fixed width of 4 (usually a
region description of <4,4,1>), not 1.  If it was 1, we'd have been
skipping all over register space.

14 years agoi965: Avoid extra MOV in VS indirect register reads.
Eric Anholt [Thu, 22 Jul 2010 08:27:15 +0000 (01:27 -0700)]
i965: Avoid extra MOV in VS indirect register reads.

14 years agoi965: Fix up VS temporary array access for fixed index offset != 0.
Eric Anholt [Thu, 22 Jul 2010 07:06:10 +0000 (00:06 -0700)]
i965: Fix up VS temporary array access for fixed index offset != 0.

14 years agor600: Flip point sprite coordinates when rendering to an FBO.
Henri Verbeet [Thu, 22 Jul 2010 15:10:11 +0000 (11:10 -0400)]
r600: Flip point sprite coordinates when rendering to an FBO.

This supersedes http://lists.freedesktop.org/archives/mesa-dev/2010-July/001442.html.

14 years agoi965: In the VS, multiply the address reg by the appropriate register size.
Eric Anholt [Thu, 22 Jul 2010 04:45:34 +0000 (21:45 -0700)]
i965: In the VS, multiply the address reg by the appropriate register size.

The ARL value is increments of vec4 in the register file.  But
PROGRAM_TEMPORARY or PROGRAM_INPUT are stored as vec4s interleaved
between the two verts being executed (thus a vec8 each), compared to
PROGRAM_STATE_VAR being packed vec4s.

Fixes:
glsl-vs-arrays-2
glsl-vs-mov-after-deref
(without regressing glsl-vs-arrays-3)

14 years agoi965: Clean up brw_dp_READ_4_vs() now that it has fewer options to support.
Eric Anholt [Thu, 22 Jul 2010 02:49:39 +0000 (19:49 -0700)]
i965: Clean up brw_dp_READ_4_vs() now that it has fewer options to support.

14 years agoi965: Support relative addressed VS constant reads using the appropriate msg.
Eric Anholt [Thu, 22 Jul 2010 01:29:06 +0000 (18:29 -0700)]
i965: Support relative addressed VS constant reads using the appropriate msg.

The previous support was overly complicated by trying to use the same
1-OWORD message for both offsets.

14 years agoi965: Fix the DP read msg_control definitions other than plain OWORD.
Eric Anholt [Thu, 22 Jul 2010 01:41:06 +0000 (18:41 -0700)]
i965: Fix the DP read msg_control definitions other than plain OWORD.

14 years agoi965: Clean up dead code from the VS get_constant/get_reladdr_constant split.
Eric Anholt [Thu, 22 Jul 2010 00:35:21 +0000 (17:35 -0700)]
i965: Clean up dead code from the VS get_constant/get_reladdr_constant split.

14 years agoi956: Set the execution size correctly for scratch space writes.
Eric Anholt [Wed, 21 Jul 2010 22:54:53 +0000 (15:54 -0700)]
i956: Set the execution size correctly for scratch space writes.

Otherwise, the second half isn't written, and we end up reading back
black.

Fixes the remaining junk drawn in glsl-max-varyings, and will likely
help with a number of large real-world shaders.

14 years agoi965: Set the GEM domain flags for the scratch space.
Eric Anholt [Wed, 21 Jul 2010 20:52:37 +0000 (13:52 -0700)]
i965: Set the GEM domain flags for the scratch space.

They go into the render cache, so while we don't care about their
contents after execution, failing to note them could cause the writes
to be flushed over important buffer contents later.

14 years agoi965: Use the pretty define for 4-oword DP reads.
Eric Anholt [Wed, 21 Jul 2010 20:49:14 +0000 (13:49 -0700)]
i965: Use the pretty define for 4-oword DP reads.

14 years agoi965: Set the send commit bit on register spills as required pre-gen6.
Eric Anholt [Wed, 21 Jul 2010 20:07:12 +0000 (13:07 -0700)]
i965: Set the send commit bit on register spills as required pre-gen6.

Otherwise, the subsequent read may not get the written value.

14 years agoi965: Add disasm for dataport reads (register unspilling).
Eric Anholt [Wed, 21 Jul 2010 18:19:52 +0000 (11:19 -0700)]
i965: Add disasm for dataport reads (register unspilling).

14 years agoglx: Move last few dri_interface.h types out of glxclient.h and drop include
Kristian Høgsberg [Wed, 21 Jul 2010 18:09:49 +0000 (14:09 -0400)]
glx: Move last few dri_interface.h types out of glxclient.h and drop include

14 years agoglx: Move __driContext field out of __GLXcontextRec
Kristian Høgsberg [Wed, 21 Jul 2010 17:55:30 +0000 (13:55 -0400)]
glx: Move __driContext field out of __GLXcontextRec

14 years agosoftpipe: add missing support for PIPE_FORMAT_S8_USCALED surfaces
Brian Paul [Wed, 21 Jul 2010 22:48:45 +0000 (16:48 -0600)]
softpipe: add missing support for PIPE_FORMAT_S8_USCALED surfaces

And remove checks of surface depth bits.  The state tracker should
not turn on depth/stencil testing if the framebuffer doesn't have
depth/stencil.

14 years agosoftpipe: fix sp_tile_cache_flush_clear() regression
Brian Paul [Wed, 21 Jul 2010 22:00:42 +0000 (16:00 -0600)]
softpipe: fix sp_tile_cache_flush_clear() regression

14 years agoRevert "dri2: Remove an unused variable."
Jerome Glisse [Wed, 21 Jul 2010 21:40:37 +0000 (17:40 -0400)]
Revert "dri2: Remove an unused variable."

glx_info is used if X_DRI2SwapBuffers is defined
This reverts commit c0ca2bfb2ad8cf7fb9d756b5ae52cb77236ff605.

14 years agor600g: add support for all R6XX/R7XX asic
Jerome Glisse [Wed, 21 Jul 2010 21:03:38 +0000 (17:03 -0400)]
r600g: add support for all R6XX/R7XX asic

This configure some of the value properly based on
asic so others asic than RV710 works too.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: add r600 compile mode to compiler.
Dave Airlie [Wed, 21 Jul 2010 05:39:23 +0000 (15:39 +1000)]
r600g: add r600 compile mode to compiler.

some of the ALU instructions are different on r6xx vs r7xx,
separate the alu translation to separate files, and use family
to pick which compile stage to use.

14 years agor600g: add family retrival
Dave Airlie [Wed, 21 Jul 2010 05:39:01 +0000 (15:39 +1000)]
r600g: add family retrival

allow pipe driver to get the family of the gpu.

14 years agollvmpipe: say no to depth clamp
Marek Olšák [Wed, 21 Jul 2010 20:31:59 +0000 (22:31 +0200)]
llvmpipe: say no to depth clamp

The other drivers just return 0 without the assert.

14 years agor300g: implement depth clamp
Marek Olšák [Tue, 20 Jul 2010 14:37:22 +0000 (16:37 +0200)]
r300g: implement depth clamp

Depth clamping seems to be implicit if clipping is disabled.

It's not perfect, but it's good enough for wine and passes
the corresponding piglit tests.

14 years agor300g: cleanup clip state emission
Marek Olšák [Wed, 21 Jul 2010 18:41:04 +0000 (20:41 +0200)]
r300g: cleanup clip state emission

14 years agodraw: disable depth clipping if depth clamp is enabled
Marek Olšák [Wed, 21 Jul 2010 18:31:39 +0000 (20:31 +0200)]
draw: disable depth clipping if depth clamp is enabled

14 years agost/mesa: implement depth clamp
Marek Olšák [Wed, 21 Jul 2010 07:14:43 +0000 (09:14 +0200)]
st/mesa: implement depth clamp

14 years agocso: handle depth clamp
Marek Olšák [Wed, 21 Jul 2010 07:14:21 +0000 (09:14 +0200)]
cso: handle depth clamp

14 years agogallium: add depth clamp to the interface
Marek Olšák [Wed, 21 Jul 2010 07:13:53 +0000 (09:13 +0200)]
gallium: add depth clamp to the interface

14 years agoAdd missing initialization of inOutFlags pointer.
Carl Worth [Wed, 21 Jul 2010 20:26:26 +0000 (13:26 -0700)]
Add missing initialization of inOutFlags pointer.

This quiets a compiler warning, (and ensures a segmentation fault rather
than memory corruption if this variable is written through before being
initialized elsewhere).

14 years agoMakefiles: Don't complain if depend file to be included doesn't exist.
Carl Worth [Tue, 20 Jul 2010 22:59:56 +0000 (15:59 -0700)]
Makefiles: Don't complain if depend file to be included doesn't exist.

While bootstrapping the dependencies, make will see the "include depend"
directive before the depend file has been created. To avoid a spurious
warning in this case we use "-include" instead, (which differs precisely
in the fact that it will not emit a diagnostic if the named file does
not exist).

14 years agoi965: Remove an unused variable.
Carl Worth [Wed, 21 Jul 2010 20:17:22 +0000 (13:17 -0700)]
i965: Remove an unused variable.

To quiet a compiler warning.

14 years agodri2: Remove an unused variable.
Carl Worth [Wed, 21 Jul 2010 20:17:05 +0000 (13:17 -0700)]
dri2: Remove an unused variable.

To quiet a compiler warning.

14 years agoRegenerate program/lex.yy.c
Carl Worth [Wed, 21 Jul 2010 20:13:46 +0000 (13:13 -0700)]
Regenerate program/lex.yy.c

Based on the two recent changes to program_lexer.l.

14 years agoAvoid more warnings in flex-generated code.
Carl Worth [Wed, 21 Jul 2010 20:11:46 +0000 (13:11 -0700)]
Avoid more warnings in flex-generated code.

This avoids two "function defined but not used" warnings. For the yyinput
function we define YY_NO_INPUT which tells flex to simply not generate this
function.

For unput, we add a call to this function, but inside a while(0) so
that it will quiet the warning without actually changing any
functionality.

14 years agoAvoid warnings in flex-generated code.
Carl Worth [Wed, 21 Jul 2010 19:49:01 +0000 (12:49 -0700)]
Avoid warnings in flex-generated code.

Add declarations for two functions generated in the flex ouput. It
would be nicer if flex simply declared these generated functions as
static, but for now we can at least avoid the warning this way.

14 years agodraw: tweak aa line width threshold and sampling
Brian Paul [Wed, 21 Jul 2010 17:37:13 +0000 (11:37 -0600)]
draw: tweak aa line width threshold and sampling

Set sampler max_lod to avoid sampling the 1x1 and 2x2 mipmap levels.

Fixes piglit line-aa-width test, fd.o bug 29160.

14 years agonouveau/nvfx: Add new PIPE_CAP values
Patrice Mandin [Wed, 21 Jul 2010 17:28:45 +0000 (19:28 +0200)]
nouveau/nvfx: Add new PIPE_CAP values

Signed-off-by: Patrice Mandin <patmandin@gmail.com>
14 years agogallivm: replace has_indirect_addressing field with indirect_files field
Brian Paul [Wed, 21 Jul 2010 15:59:23 +0000 (09:59 -0600)]
gallivm: replace has_indirect_addressing field with indirect_files field

Instead of one big boolean indicating indirect addressing, use a
bitfield indicating which register files are accessed with indirect
addressing.

Most shaders that use indirect addressing only use it to access the
constant buffer.  So no need to use an array for temporary registers
in this case.

14 years agotgsi: added tgsi_shader_info::indirect_files field
Brian Paul [Wed, 21 Jul 2010 15:51:11 +0000 (09:51 -0600)]
tgsi: added tgsi_shader_info::indirect_files field

Indicates which register files are accessed with indirect addressing.

14 years agogallivm: refactor code into get_indirect_offsets() function
Brian Paul [Wed, 21 Jul 2010 15:42:11 +0000 (09:42 -0600)]
gallivm: refactor code into get_indirect_offsets() function

14 years agogallivm: added comment
Brian Paul [Wed, 21 Jul 2010 15:17:47 +0000 (09:17 -0600)]
gallivm: added comment

14 years agogallivm: remove extraneous braces
Brian Paul [Wed, 21 Jul 2010 15:16:02 +0000 (09:16 -0600)]
gallivm: remove extraneous braces

14 years agogallivm: no longer do indirect addressing in get_temp_ptr()
Brian Paul [Wed, 21 Jul 2010 15:15:30 +0000 (09:15 -0600)]
gallivm: no longer do indirect addressing in get_temp_ptr()

14 years agogallivm: implement correct indirect addressing of temp registers
Brian Paul [Wed, 21 Jul 2010 15:10:49 +0000 (09:10 -0600)]
gallivm: implement correct indirect addressing of temp registers

As with indexing the const buffer, the ADDR reg may have totally
different values for each element.  Need to use a gather operation.

14 years agogallivm: re-org, comments for get_temp_ptr()
Brian Paul [Wed, 21 Jul 2010 14:18:56 +0000 (08:18 -0600)]
gallivm: re-org, comments for get_temp_ptr()

14 years agodraw: whitespace clean-up
Brian Paul [Wed, 21 Jul 2010 14:13:02 +0000 (08:13 -0600)]
draw: whitespace clean-up

14 years agogallium: remove pointless bitfield restrction in pipe_vertex_element
Keith Whitwell [Wed, 21 Jul 2010 14:39:09 +0000 (15:39 +0100)]
gallium: remove pointless bitfield restrction in pipe_vertex_element

This used to be a somewhat packed struct, but no longer.  Remove the
last remaining bitfield tag.

14 years agogallivm: rename a var to avoid compiler warnings
Brian Paul [Wed, 21 Jul 2010 14:08:12 +0000 (08:08 -0600)]
gallivm: rename a var to avoid compiler warnings

14 years agogallivm: fix indirect addressing of constant buffer
Brian Paul [Wed, 21 Jul 2010 00:48:53 +0000 (18:48 -0600)]
gallivm: fix indirect addressing of constant buffer

The previous code assumed that all elements of the address register
were the same.  But it can vary from pixel to pixel or vertex to
vertex so we must use a gather operation when dynamically indexing
the constant buffer.

Still need to fix this for the temporary register file...

14 years agogallivm: added lp_build_const_int32() helper
Brian Paul [Wed, 21 Jul 2010 00:45:45 +0000 (18:45 -0600)]
gallivm: added lp_build_const_int32() helper

14 years agoradeon: Remove unnecessary header.
Vinson Lee [Tue, 20 Jul 2010 21:18:42 +0000 (14:18 -0700)]
radeon: Remove unnecessary header.

14 years agor600g: split trans unit computation
Jerome Glisse [Tue, 20 Jul 2010 19:04:55 +0000 (15:04 -0400)]
r600g: split trans unit computation

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agost/mesa: implement and advertise GL_ARB_draw_elements_base_vertex
Marek Olšák [Sat, 5 Jun 2010 17:32:29 +0000 (19:32 +0200)]
st/mesa: implement and advertise GL_ARB_draw_elements_base_vertex

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agodraw: correctly handle max_index=0xffffffff case in vcache code
Brian Paul [Tue, 20 Jul 2010 17:46:43 +0000 (11:46 -0600)]
draw: correctly handle max_index=0xffffffff case in vcache code

If max_index=0xffffffff and elt_bias > 0 the test for
elt_bias + max_index >= DRAW_PIPE_MAX_VERTICES
was wrong.  Check earlier if max_index=0xffffffff and do the
"fail" case.

This fixes the piglit draw-elements-base-vertex test (and probably
some other things).

14 years agost/mesa: implement depth texture modes
Marek Olšák [Mon, 19 Jul 2010 18:46:15 +0000 (20:46 +0200)]
st/mesa: implement depth texture modes

14 years agomesa: call ctx->Driver.ChooseTextureFormat() only when necessary.
Brian Paul [Tue, 20 Jul 2010 14:40:19 +0000 (08:40 -0600)]
mesa: call ctx->Driver.ChooseTextureFormat() only when necessary.

When defining mipmap level 'L' and level L-1 exists and the new level's
internalFormat matches level L-1's internalFormat, then use the same hw
format.  Otherwise, do the regular ctx->Driver.ChooseTextureFormat() call.

This avoids a problem where we end up choosing different hw formats for
different mipmap levels depending on how the levels are defined (glTexImage
vs. glCopyTexImage vs. glGenerateMipmap, etc).

The root problem is the ChooseTextureFormat() implementation in some
drivers uses the user's glTexImage format/type parameters in the choosing
heuristic.  Later mipmap levels might be generated with different calls
(ex: glCopyTexImage()) so we don't always have format/type info and the
driver may choose a different format.

For more background info see the July 2010 mesa-dev thread "Bug in
_mesa_meta_GenerateMipmap"

14 years agograw/tests: pass -e option to test draw_elements_instanced()
Brian Paul [Tue, 20 Jul 2010 14:39:30 +0000 (08:39 -0600)]
graw/tests: pass -e option to test draw_elements_instanced()

14 years agosoftpipe: Support non-depth-stencil formats in sp_tile_cache_flush_clear().
Michal Krol [Tue, 20 Jul 2010 13:00:28 +0000 (15:00 +0200)]
softpipe: Support non-depth-stencil formats in sp_tile_cache_flush_clear().

14 years agoglx: #ifdef DRI specific prototype
Kristian Høgsberg [Tue, 20 Jul 2010 11:43:50 +0000 (07:43 -0400)]
glx: #ifdef DRI specific prototype

https://bugs.freedesktop.org/show_bug.cgi?id=29162

14 years agoglx/dri2: Fix dri2CopySubBuffer() again.
Michel Dänzer [Tue, 20 Jul 2010 10:21:17 +0000 (12:21 +0200)]
glx/dri2: Fix dri2CopySubBuffer() again.

Only refresh the fake front buffer if there is one, and only destroy the region
once.

Fixes X11 protocol errors reported by 'mcgreg' on IRC.

14 years agoutil: mempool: initialize last block's magic number in a page
Marek Olšák [Mon, 19 Jul 2010 21:26:17 +0000 (23:26 +0200)]
util: mempool: initialize last block's magic number in a page

14 years agost/egl: Fixes for recent GLX cleanup.
Chia-I Wu [Tue, 20 Jul 2010 03:49:59 +0000 (11:49 +0800)]
st/egl: Fixes for recent GLX cleanup.

Mainly, the type of __GLXdisplayPrivateRec::screenConfigs has changed
from "__GLXscreenConfigs *" to "__GLXscreenConfigs **".