mesa.git
13 years agomesa/st: Handle feedback draw when VBO offsets are not sorted in ascending order.
José Fonseca [Wed, 6 Apr 2011 13:38:26 +0000 (14:38 +0100)]
mesa/st: Handle feedback draw when VBO offsets are not sorted in ascending order.

Simply port the same logic from setup_interleaved_attribs().

Avoids overflow in mustpass.c and feedback.c conform tests.

13 years agoi965: clear global offset to zero in m0.2 for VS DP read.
Zou Nan hai [Thu, 7 Apr 2011 13:07:57 +0000 (21:07 +0800)]
i965:   clear global offset to zero in m0.2 for VS DP read.

Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
13 years agomesa: Fix allocation size of extension_indices array.
Vinson Lee [Wed, 6 Apr 2011 23:13:15 +0000 (16:13 -0700)]
mesa: Fix allocation size of extension_indices array.

Reviewed-by: Brian Paul <brianp@vmware.com>
13 years agomesa: fix error message text
Brian Paul [Wed, 6 Apr 2011 20:22:39 +0000 (14:22 -0600)]
mesa: fix error message text

13 years agomesa: consolidate code in _mesa_update_array_max_element()
Brian Paul [Wed, 6 Apr 2011 20:16:57 +0000 (14:16 -0600)]
mesa: consolidate code in _mesa_update_array_max_element()

13 years agomesa: Add link to 7.10.2 release notes
Ian Romanick [Wed, 6 Apr 2011 20:46:58 +0000 (13:46 -0700)]
mesa: Add link to 7.10.2 release notes

13 years agodocs: update news.html with 7.10.2 release
Ian Romanick [Wed, 6 Apr 2011 20:41:43 +0000 (13:41 -0700)]
docs: update news.html with 7.10.2 release
(cherry picked from commit b0866f6cfdfcaf23686b1ae2a99627d468196db2)

13 years agoImport 7.10.2 release notes from 7.10 branch
Ian Romanick [Wed, 6 Apr 2011 20:46:20 +0000 (13:46 -0700)]
Import 7.10.2 release notes from 7.10 branch

13 years agor600g: Fix non-independent blend state.
Julian Adams [Wed, 6 Apr 2011 19:04:08 +0000 (21:04 +0200)]
r600g: Fix non-independent blend state.

This fixes piglit fbo/fbo-drawbuffers-blend-add.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
13 years agomesa: init/release the default texture buffer object
Brian Paul [Wed, 6 Apr 2011 19:00:14 +0000 (13:00 -0600)]
mesa: init/release the default texture buffer object

13 years agomesa: fix popping of texture state for GL_TEXTURE_BUFFER
Brian Paul [Wed, 6 Apr 2011 18:45:21 +0000 (12:45 -0600)]
mesa: fix popping of texture state for GL_TEXTURE_BUFFER

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=36032

13 years agomesa: TEXTURE_BUFFER fix-up
Brian Paul [Wed, 6 Apr 2011 18:33:28 +0000 (12:33 -0600)]
mesa: TEXTURE_BUFFER fix-up

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=36033

13 years agor300/compiler: Don't try to convert RGB to Alpha in full instructions
Tom Stellard [Wed, 6 Apr 2011 06:49:23 +0000 (23:49 -0700)]
r300/compiler: Don't try to convert RGB to Alpha in full instructions

Note: This is a candidate for the 7.10 branch.

13 years agomesa: Recognize MESA_VERBOSE=all as shortcut for all debug options.
José Fonseca [Wed, 6 Apr 2011 07:25:22 +0000 (08:25 +0100)]
mesa: Recognize MESA_VERBOSE=all as shortcut for all debug options.

13 years agodraw: Fix thinko in debug warnings.
José Fonseca [Tue, 5 Apr 2011 20:35:11 +0000 (21:35 +0100)]
draw: Fix thinko in debug warnings.

13 years agotrace: Correct/cleanup.
José Fonseca [Tue, 5 Apr 2011 19:13:44 +0000 (20:13 +0100)]
trace: Correct/cleanup.

Observe the actual type hierarchy and polymorphism of sampler views and
surface state.

s/texture/resource/

etc.

13 years agoRevert "trace: Dump blend state as a binary blob."
José Fonseca [Mon, 4 Apr 2011 10:48:07 +0000 (11:48 +0100)]
Revert "trace: Dump blend state as a binary blob."

This reverts commit dcdf94c87c087186f963b6e201b2989c61a76ef0.

No retrace support anymore, so human-legible representation of blend
state is much more useful than a blob.

13 years agost/python: Remove bindings, and all its dependencies.
José Fonseca [Mon, 4 Apr 2011 10:41:30 +0000 (11:41 +0100)]
st/python: Remove bindings, and all its dependencies.

Because:
- bindings are not fully automatic, and they are broken most of the time
- unit tests/samples can be written in C on top of graw
- tracing/retracing is more useful at API levels with stable ABIs such as
  GL, producing traces that cover more layers of the driver stack and and
  can be used for regression testing

13 years agoswrast: simplify assertion to silence warning
Brian Paul [Tue, 5 Apr 2011 23:52:47 +0000 (17:52 -0600)]
swrast: simplify assertion to silence warning

13 years agomesa: core support for GL_ARB_texture_buffer_object
Brian Paul [Wed, 6 Apr 2011 01:02:07 +0000 (19:02 -0600)]
mesa: core support for GL_ARB_texture_buffer_object

No GLSL or driver support yet.

13 years agomesa: regenerated API entrypoints for GL_ARB_texture_buffer_object
Brian Paul [Wed, 6 Apr 2011 00:50:39 +0000 (18:50 -0600)]
mesa: regenerated API entrypoints for GL_ARB_texture_buffer_object

13 years agomesa: API spec for GL_ARB_texture_buffer_object
Brian Paul [Wed, 6 Apr 2011 00:48:26 +0000 (18:48 -0600)]
mesa: API spec for GL_ARB_texture_buffer_object

13 years agoscons: Generate empty git_sha1.h for all platforms.
Vinson Lee [Tue, 5 Apr 2011 22:32:39 +0000 (15:32 -0700)]
scons: Generate empty git_sha1.h for all platforms.

Fixes MinGW SCons build.

13 years agoir_to_mesa: Use gl_register_file enum type rather than 'int'.
Kenneth Graunke [Tue, 5 Apr 2011 20:22:30 +0000 (13:22 -0700)]
ir_to_mesa: Use gl_register_file enum type rather than 'int'.

src_reg already used this; make dst_reg use it too.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoir_to_mesa: Unprefix ir_to_mesa_undef* and ir_to_mesa_address_reg.
Kenneth Graunke [Tue, 5 Apr 2011 20:19:50 +0000 (13:19 -0700)]
ir_to_mesa: Unprefix ir_to_mesa_undef* and ir_to_mesa_address_reg.

Rename ir_to_mesa_undef to undef_src, for clarity.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoir_to_mesa: Use emit overloads to avoid passing undef registers.
Kenneth Graunke [Tue, 5 Apr 2011 19:22:42 +0000 (12:22 -0700)]
ir_to_mesa: Use emit overloads to avoid passing undef registers.

Makes the code just a little bit cleaner.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoir_to_mesa: Rename ir_to_mesa_emit_*_opX methods to emit_*.
Kenneth Graunke [Tue, 5 Apr 2011 19:16:57 +0000 (12:16 -0700)]
ir_to_mesa: Rename ir_to_mesa_emit_*_opX methods to emit_*.

There's really no need for a prefix on member functions, and overloading
takes care of the _op1/_op2 distinction quite nicely.  Eric already made
a similar change in the i965 FS backend.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoir_to_mesa: Use constructors to convert between src_reg and dst_reg.
Kenneth Graunke [Tue, 5 Apr 2011 19:01:59 +0000 (12:01 -0700)]
ir_to_mesa: Use constructors to convert between src_reg and dst_reg.

Rather than ir_to_mesa_dst_reg_from_src and ir_to_mesa_src_reg_from_dst.

The new constructors are marked 'explicit' so that the compiler can
catch cases where source and destination registers were accidentally
interchanged.

This also necessitated using constructors to initialize the undef and
address registers, as well as adding a default constructor.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoir_to_mesa: Remove the "ir_to_mesa_" prefix on src_reg/dst_reg types.
Kenneth Graunke [Tue, 5 Apr 2011 18:43:21 +0000 (11:43 -0700)]
ir_to_mesa: Remove the "ir_to_mesa_" prefix on src_reg/dst_reg types.

Both classes are completely private to ir_to_mesa.cpp, so there won't be
any name conflicts with other parts of Mesa.  The prefix simply makes it
harder to read.

Also, use a class rather than typedef structs.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoir_to_mesa: Rename src_reg and dst_reg variables to src and dst.
Kenneth Graunke [Tue, 5 Apr 2011 18:30:36 +0000 (11:30 -0700)]
ir_to_mesa: Rename src_reg and dst_reg variables to src and dst.

This is in preparation from removing the "ir_to_mesa_" prefix on the
src_reg and dst_reg types, which would cause a naming conflict.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoscons: generate empty git_sha1.h file for now
Brian Paul [Tue, 5 Apr 2011 20:07:41 +0000 (14:07 -0600)]
scons: generate empty git_sha1.h file for now

My feeble attempt to invoke the extract_git_sha1 script from
SConscript didn't work.  Hopefully this will do for now.

13 years agomesa: Include GIT SHA1 in GL version string
Ian Romanick [Thu, 31 Mar 2011 18:42:01 +0000 (11:42 -0700)]
mesa: Include GIT SHA1 in GL version string

Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
13 years agodri: Remove driver date from renderer string
Ian Romanick [Tue, 1 Mar 2011 22:10:49 +0000 (14:10 -0800)]
dri: Remove driver date from renderer string

Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
13 years agoir_to_mesa: Handle shadow compare w/projection and LOD bias correctly
Ian Romanick [Mon, 4 Apr 2011 20:35:26 +0000 (13:35 -0700)]
ir_to_mesa: Handle shadow compare w/projection and LOD bias correctly

The code would previously handle the projection, then swizzle the
shadow comparitor into place.  However, when the projection is done
"by hand," as in the TXB case, the unprojected shadow comparitor would
over-write the projected shadow comparitor.

Shadow comparison with projection and LOD is an extremely rare case in
real application code, so it shouldn't matter that we don't handle
that case with the greatest efficiency.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=32395

13 years agor300g: postpone fragment shader state validation until draw_vbo
Marek Olšák [Tue, 5 Apr 2011 15:57:02 +0000 (17:57 +0200)]
r300g: postpone fragment shader state validation until draw_vbo

13 years agor300/compiler: Fix vertex shader MAD instructions with constant swizzles
Tom Stellard [Tue, 5 Apr 2011 07:04:45 +0000 (00:04 -0700)]
r300/compiler: Fix vertex shader MAD instructions with constant swizzles

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agost/mesa: Apply LOD from texture object
Fabian Bieler [Fri, 25 Mar 2011 10:06:01 +0000 (11:06 +0100)]
st/mesa: Apply LOD from texture object

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agost/mesa: Apply LOD bias from correct texture unit
Fabian Bieler [Fri, 25 Mar 2011 10:04:41 +0000 (11:04 +0100)]
st/mesa: Apply LOD bias from correct texture unit

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agomesa: fix alpha value for texstore_rgbx8888
Brian Paul [Tue, 5 Apr 2011 13:53:05 +0000 (07:53 -0600)]
mesa: fix alpha value for texstore_rgbx8888

Silences constant overflow compiler warning.

13 years agomesa: Guard against null pointer deref in fbo validation
Fabian Bieler [Tue, 5 Apr 2011 13:51:01 +0000 (07:51 -0600)]
mesa: Guard against null pointer deref in fbo validation

This matches the behaviour below when numSamples is compared.

At least with the gallium state tracker this can actually occur if st_render_texture fails.

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agomesa: added _mesa_get_attachment_teximage() helpers
Brian Paul [Tue, 5 Apr 2011 13:51:01 +0000 (07:51 -0600)]
mesa: added _mesa_get_attachment_teximage() helpers

13 years agomesa: 80-column wrapping
Brian Paul [Tue, 5 Apr 2011 13:51:01 +0000 (07:51 -0600)]
mesa: 80-column wrapping

13 years agor300c: fix build since last r300g commit
Dave Airlie [Tue, 5 Apr 2011 06:54:08 +0000 (16:54 +1000)]
r300c: fix build since last r300g commit

13 years agor300g: fix RG/LATC1_SNORM by doing UNORM->SNORM conversion in the shader
Marek Olšák [Tue, 5 Apr 2011 04:21:26 +0000 (06:21 +0200)]
r300g: fix RG/LATC1_SNORM by doing UNORM->SNORM conversion in the shader

13 years agor300/compiler: implement the CND opcode
Marek Olšák [Tue, 5 Apr 2011 04:18:18 +0000 (06:18 +0200)]
r300/compiler: implement the CND opcode

No one uses it now, but I will need it for a lowering pass.

13 years agor300/compiler: set the MSB of ADDR for inline constants
Marek Olšák [Tue, 5 Apr 2011 00:44:03 +0000 (02:44 +0200)]
r300/compiler: set the MSB of ADDR for inline constants

The docs say so.

13 years agost/mesa: minor assorted clean-ups and fixes
Brian Paul [Mon, 4 Apr 2011 23:42:25 +0000 (17:42 -0600)]
st/mesa: minor assorted clean-ups and fixes

13 years agost/mesa: use 'array' local var to simplify the code a bit
Brian Paul [Mon, 4 Apr 2011 23:36:40 +0000 (17:36 -0600)]
st/mesa: use 'array' local var to simplify the code a bit

13 years agost/mesa: fix zero-sized user vertex buffer bug
Brian Paul [Mon, 4 Apr 2011 23:24:09 +0000 (17:24 -0600)]
st/mesa: fix zero-sized user vertex buffer bug

Commit 4c4ab5668cd6df573db7b065f0493fb80ac70ab8 didn't properly
handle the stride==0 case.

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

13 years agomesa: Add fall-back formats for unsupported snorm formats
Ian Romanick [Sun, 3 Apr 2011 01:56:33 +0000 (18:56 -0700)]
mesa: Add fall-back formats for unsupported snorm formats

This is always the way with real hardware and desktop OpenGL.  Some
hardware can't do some formats natively.  The alpha-only, luminance,
and intensity formats are usually the most problematic.  Some sized
formats can also be problematic.  This patch provides fall-back
formats for those that are not natively supported.

At some point it would be interesting to try providing
device-independent conversions using EXT_texture_swizzle.  The drivers
that support EXT_texture_swizzle could, for example, see
GL_LUMINANCE16_SNORM as MESA_FORMAT_SIGNED_R16 with a { r, r, r, 1 }
swizzle.  Care would need to be taken to prevent issues with using
those textures for FBO rendering.

This is the rest of the fix for glean's pixelFormats test on i965.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agoi965: Add the missing supportable EXT_texture_snorm formats
Ian Romanick [Sun, 3 Apr 2011 01:49:13 +0000 (18:49 -0700)]
i965: Add the missing supportable EXT_texture_snorm formats

This class of hardware can natively sample all of the snorm surface
formats that DX10 requires, but it can't do some of the legacy GL
formats.  In particular, all of the alpha, luminance, and intensity
formats are unsupported.

This partially fixes the breakage in glean's pixelFormats test since
GL_EXT_texture_snorm support was added to Mesa.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agonv50: prevent NV_OP_SELECT from having flags_def defined
Bryan Cain [Mon, 4 Apr 2011 21:07:16 +0000 (23:07 +0200)]
nv50: prevent NV_OP_SELECT from having flags_def defined

13 years agomesa: work around failed assertion for GL_RGBA16_SNORM accum buffer
Brian Paul [Mon, 4 Apr 2011 20:37:16 +0000 (14:37 -0600)]
mesa: work around failed assertion for GL_RGBA16_SNORM accum buffer

We use this format to represent the accum buffer.  No snorm texture
sampling or rendering takes place.

Fixes failed assertion with swrast and any app using the accum buffer
(and glxinfo).

13 years agodocs: update prerequisites, remove old demo info
Brian Paul [Mon, 4 Apr 2011 17:30:46 +0000 (11:30 -0600)]
docs: update prerequisites, remove old demo info

13 years agodocs: update info about Mesa packaging/contents
Brian Paul [Mon, 4 Apr 2011 17:16:51 +0000 (11:16 -0600)]
docs: update info about Mesa packaging/contents

13 years agor300/compiler: apply the texture swizzle to shadow pass and fail values too
Marek Olšák [Mon, 4 Apr 2011 16:55:08 +0000 (18:55 +0200)]
r300/compiler: apply the texture swizzle to shadow pass and fail values too

Piglit tests:
- glsl-fs-shadow2d-01
- glsl-fs-shadow2d-02
- glsl-fs-shadow2d-03
- fs-shadow2d-red-01
- fs-shadow2d-red-02
- fs-shadow2d-red-03

NOTE: This is a candidate for the stable branches.

13 years agor300/compiler: propagate SaturateMode down to the result of shadow comparison
Marek Olšák [Mon, 4 Apr 2011 16:35:16 +0000 (18:35 +0200)]
r300/compiler: propagate SaturateMode down to the result of shadow comparison

NOTE: This is a candidate for the stable branches.

13 years agor600g: add some additional ontario pci ids
Alex Deucher [Mon, 4 Apr 2011 15:15:18 +0000 (11:15 -0400)]
r600g: add some additional ontario pci ids

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
13 years agor600c: add new ontario pci ids
Alex Deucher [Mon, 4 Apr 2011 15:13:44 +0000 (11:13 -0400)]
r600c: add new ontario pci ids

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
13 years agor300g: do not wait for a busy BO if neither GPU nor CPU is changing it
Marek Olšák [Sun, 3 Apr 2011 19:25:40 +0000 (21:25 +0200)]
r300g: do not wait for a busy BO if neither GPU nor CPU is changing it

Improves frame rate in apps with at least one user vertex buffer and
a hw index buffer.

13 years agor300g: remove unused RADEON_PB_USAGE_CACHE
Marek Olšák [Sun, 3 Apr 2011 19:18:03 +0000 (21:18 +0200)]
r300g: remove unused RADEON_PB_USAGE_CACHE

13 years agor300g: tell the GLSL compiler to lower the continue opcode
Marek Olšák [Sun, 3 Apr 2011 17:26:54 +0000 (19:26 +0200)]
r300g: tell the GLSL compiler to lower the continue opcode

NOTE: This is a candidate for the stable branches.

13 years agor300g: avoid mapping the same buffer twice
Marek Olšák [Sun, 3 Apr 2011 17:17:19 +0000 (19:17 +0200)]
r300g: avoid mapping the same buffer twice

Shouldn't happen, but you never know.

13 years agor300g: handle DISCARD_WHOLE_RESOURCE for buffers
Marek Olšák [Sun, 3 Apr 2011 16:14:49 +0000 (18:14 +0200)]
r300g: handle DISCARD_WHOLE_RESOURCE for buffers

13 years agor300g: remove the redundant reference counter in radeon_bo
Marek Olšák [Sun, 3 Apr 2011 15:32:47 +0000 (17:32 +0200)]
r300g: remove the redundant reference counter in radeon_bo

We already have pb_buffer::reference::count.

13 years agoRevert "r300/compiler: Remove obsolete compiler passes"
Tom Stellard [Sun, 3 Apr 2011 06:14:12 +0000 (23:14 -0700)]
Revert "r300/compiler: Remove obsolete compiler passes"

This reverts commit 9f013a8233197d4a0482661cb37cfeac1a61b804.

These passes are still need for non-GLSL paths like g3dvl and ARB
programs.

13 years agoi965/fs: Switch W and 1/W in Sandybridge interpolation setup.
Kenneth Graunke [Sun, 3 Apr 2011 08:39:28 +0000 (01:39 -0700)]
i965/fs: Switch W and 1/W in Sandybridge interpolation setup.

Various documentation mentions that "W" is handed to the WM stage,
but further digging seems to indicate that they really mean 1/W.

The code here is still unclear, but changing this fixes piglit
test "fragcoord_w" on Sandybridge as well as a Khronos ES2 conformance
test.  I also tested 3DMarkMobile ES2.0's taiji and hoverjet demos, as
well as Nexuiz, just to be safe.

NOTE: This is a candidate for the 7.10 branch.

13 years agoi965: Fix null register use in Sandybridge implied move resolution.
Kenneth Graunke [Sun, 3 Apr 2011 07:57:30 +0000 (00:57 -0700)]
i965: Fix null register use in Sandybridge implied move resolution.

Fixes regressions caused by commit 9a21bc6401, namely GPU hangs when
running gnome-shell or compiz (Mesa bugs #35820 and #35853).

I incorrectly refactored the case that dealt with ARF_NULL; even in that
case, the source register needs to be changed to the MRF.

NOTE: This is a candidate for the 7.10 branch (if 9a21bc6401 is
cherry-picked, take this one too).

13 years agoi965: Fix the VS thread limits for GT1, and clarify the WM limits on both.
Eric Anholt [Tue, 29 Mar 2011 20:22:13 +0000 (13:22 -0700)]
i965: Fix the VS thread limits for GT1, and clarify the WM limits on both.

13 years agotests: Use elts in translate_test.
José Fonseca [Fri, 1 Apr 2011 19:13:40 +0000 (20:13 +0100)]
tests: Use elts in translate_test.

13 years agoscons: Add aliases for unit tests.
José Fonseca [Fri, 1 Apr 2011 19:12:10 +0000 (20:12 +0100)]
scons: Add aliases for unit tests.

13 years agotranslate: Respect translate_buffer::max_index.
José Fonseca [Fri, 1 Apr 2011 18:19:42 +0000 (19:19 +0100)]
translate: Respect translate_buffer::max_index.

13 years agodraw: Prevent out-of-bounds vertex buffer access.
José Fonseca [Thu, 31 Mar 2011 13:40:25 +0000 (14:40 +0100)]
draw: Prevent out-of-bounds vertex buffer access.

Based on some code and ideas from Keith Whitwell.

13 years agogallium: set PIPE_CAP_MIXED_COLORBUFFER_FORMATS in some drivers
Marek Olšák [Tue, 29 Mar 2011 16:18:05 +0000 (18:18 +0200)]
gallium: set PIPE_CAP_MIXED_COLORBUFFER_FORMATS in some drivers

13 years agogallium: add a CAP for mixed colorbuffer format support
Marek Olšák [Mon, 28 Mar 2011 00:28:48 +0000 (02:28 +0200)]
gallium: add a CAP for mixed colorbuffer format support

Some GPUs can't do it (I think most of DX9 ones), so they should have
the option not to allow it.

13 years agor300/compiler: Remove obsolete compiler passes
Tom Stellard [Fri, 1 Apr 2011 06:45:26 +0000 (23:45 -0700)]
r300/compiler: Remove obsolete compiler passes

Branch emulation and loop unrolling are done in the GLSL frontend.
Transforming loops is no longer needed for fragment shaders, but it is still
necessary for vertex shaders.

13 years agoprog_optimize: Fix reallocating registers for shaders with loops
Tom Stellard [Sun, 27 Mar 2011 08:17:43 +0000 (01:17 -0700)]
prog_optimize: Fix reallocating registers for shaders with loops

Registers that are used inside of loops need to be considered live
starting with the first instruction of the outermost loop.

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

NOTE: This is a candidate for the 7.9 and 7.10 branches.

Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agonv50: fix for GPR allocation granularity being 16 bit
Christoph Bumiller [Thu, 31 Mar 2011 14:36:31 +0000 (16:36 +0200)]
nv50: fix for GPR allocation granularity being 16 bit

13 years agonv50: copy regalloc fixes from nvc0
Christoph Bumiller [Thu, 31 Mar 2011 13:49:33 +0000 (15:49 +0200)]
nv50: copy regalloc fixes from nvc0

Should fix gnome-shell's fade shader.

Unification of the shader backend which is supposed to remove the
code duplication is still WIP.

13 years agodraw: Revert code reorg in previous change.
José Fonseca [Thu, 31 Mar 2011 11:20:10 +0000 (12:20 +0100)]
draw: Revert code reorg in previous change.

Because

  fetch_count = max_index - min_index + 1

overflows for min_index = 0 and max_index = 0xffffffff.

Fixes fdo 35815.

13 years agointel: Fix regression in clear_with_blit from 7bae1c3d
Chris Wilson [Thu, 31 Mar 2011 10:41:46 +0000 (11:41 +0100)]
intel: Fix regression in clear_with_blit from 7bae1c3d

Oops, the mask was being used in the loop to determine whether to use
include the stencil || depth values. This began to fail when mask was
cleared at the beginning of the loop. So reorder the tests and do the
work up-front along with determining the depth_stencil value to use.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35822
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodraw: implement vertex color clamping, and disable SSE and PPC paths
Luca Barbieri [Tue, 15 Feb 2011 23:25:54 +0000 (00:25 +0100)]
draw: implement vertex color clamping, and disable SSE and PPC paths

(some little changes by Marek Olšák)

Squashed commit of the following:

commit 737c0c6b7d591ac0fc969a7590e1691eeef0ce5e
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Fri Aug 27 02:13:57 2010 +0200

    draw: disable SSE and PPC paths (use LLVM instead)

    These paths don't support vertex clamping, and are anyway
    obsoleted by LLVM.

    If you want to re-enable them, add vertex clamping and test that it
    works with the ARB_color_buffer_float piglit tests.

commit fed3486a7ca0683b403913604a26ee49a3ef48c7
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Thu Aug 26 18:27:38 2010 +0200

    draw_llvm: respect vertex color clamp

commit ef0efe9f3d1d0f9b40ebab78940491d2154277a9
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Thu Aug 26 18:26:43 2010 +0200

    draw: respect vertex clamping in interpreter path

13 years agogallium: list use inline function to avoid macro shot coming
Jerome Glisse [Mon, 28 Mar 2011 21:45:31 +0000 (17:45 -0400)]
gallium: list use inline function to avoid macro shot coming

Macro can lead to hard to debug list bugs. For instance consider
the following :
LIST_ADD(item, list->prev)
3 instruction of the macro became :
(list->prev)->next->prev = item
which is equivalent to :
list->prev = item
Thus list prev field changes and next instruction in the macro
(list->prev)->next = item
became :
item->next = item
And you endup with list corruption, other case lead to similar
list corruption. Inline function are not affected by this short
coming

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
13 years agodraw: Forgot to remove one istart usage.
José Fonseca [Wed, 30 Mar 2011 15:08:42 +0000 (16:08 +0100)]
draw: Forgot to remove one istart usage.

13 years agodraw: Fix bug when drawing ushort indices.
José Fonseca [Tue, 29 Mar 2011 14:35:30 +0000 (15:35 +0100)]
draw: Fix bug when drawing ushort indices.

When the condition

 min_index == 0 && sizeof(ib[0]) == sizeof(draw_elts[0])

was true, we were wrongly ignoring istart and processing indices 0.

Reorder some statements to make the code easier to understand.

13 years agointel: Remove the unrelaxed relocation assertion
Chris Wilson [Wed, 30 Mar 2011 14:10:50 +0000 (15:10 +0100)]
intel: Remove the unrelaxed relocation assertion

Now that we purposefully generate delta that point outside of the target
buffer, the assertion has outlived its usefulness.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoegl_dri2 x11: Fix a typo
Feng, Haitao [Tue, 29 Mar 2011 05:41:35 +0000 (13:41 +0800)]
egl_dri2 x11: Fix a typo

Signed-off-by: Haitao Feng <haitao.feng@intel.com>
13 years agointel: Add some defense against buffer allocation failure for subimage blits
Chris Wilson [Fri, 4 Mar 2011 15:04:36 +0000 (15:04 +0000)]
intel: Add some defense against buffer allocation failure for subimage blits

Once more! This time without the unwarranted conversion from
drm_intel_bo_alloc_tiled.

Signed-off-by: [a very embarrassed] Chris Wilson <chris@chris-wilson.co.uk>
13 years agoRevert "intel: Add some defense against buffer allocation failure for subimage blits"
Chris Wilson [Wed, 30 Mar 2011 09:54:31 +0000 (10:54 +0100)]
Revert "intel: Add some defense against buffer allocation failure for subimage blits"

This reverts commit de7678ef521f4fb34459e407a66ab8bf8be733e1.

The conversion from using drm_intel_bo_alloc_tiled to a plain
drm_intel_bo_alloc forgot that the tiled variant adjusts the
allocation height even for TILING_NONE.

Reported-by: Dave Airlie <airlied@redhat.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35786
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agogallium: Use explicit values in caps enums.
Michel Dänzer [Wed, 30 Mar 2011 08:20:00 +0000 (10:20 +0200)]
gallium: Use explicit values in caps enums.

Simplifies mapping between numbers and identifiers for these.

13 years agoUse row stride instead of width when getting colour index texels.
Michel Dänzer [Wed, 30 Mar 2011 08:48:37 +0000 (10:48 +0200)]
Use row stride instead of width when getting colour index texels.

Untested, noticed while working on the depth/stencil fix.

13 years agoUse proper source row stride when getting depth/stencil texels.
Michel Dänzer [Wed, 30 Mar 2011 07:02:21 +0000 (09:02 +0200)]
Use proper source row stride when getting depth/stencil texels.

13 years agointel: Add IS_GT2 macro for recognizing Sandybridge GT2 systems.
Kenneth Graunke [Wed, 30 Mar 2011 00:03:22 +0000 (17:03 -0700)]
intel: Add IS_GT2 macro for recognizing Sandybridge GT2 systems.

Also, refactor IS_GEN6 to use the IS_GT1 and IS_GT2 macros.

13 years agonv50,nvc0: implement colour clamping controls
Christoph Bumiller [Tue, 29 Mar 2011 21:09:02 +0000 (23:09 +0200)]
nv50,nvc0: implement colour clamping controls

13 years agor600g: implement texture barrier
Fredrik Höglund [Tue, 29 Mar 2011 17:52:03 +0000 (19:52 +0200)]
r600g: implement texture barrier

13 years agor600g: implement the pipe_screen fence functions
Fredrik Höglund [Tue, 29 Mar 2011 17:43:59 +0000 (19:43 +0200)]
r600g: implement the pipe_screen fence functions

v2: Allocate the fences from a single shared buffer object.
v3: Allocate the r600_fence structs in blocks of 16.
    Spin a few times before calling sched_yield in r600_fence_finish().

13 years agomesa: Fix ugly indentation left from previous commit
Ian Romanick [Fri, 25 Mar 2011 01:31:05 +0000 (18:31 -0700)]
mesa: Fix ugly indentation left from previous commit

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Chad Versace <chad.versace@intel.com>
13 years agoglsl: Calcluate Mesa state slots in front-end instead of back-end
Ian Romanick [Tue, 25 Jan 2011 18:41:20 +0000 (10:41 -0800)]
glsl: Calcluate Mesa state slots in front-end instead of back-end

This should be the last bit of infrastructure changes before
generating GLSL IR for assembly shaders.

This commit leaves some odd code formatting in ir_to_mesa and brw_fs.
This was done to minimize whitespace changes / reindentation in some
loops.  The following commit will restore formatting sanity.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Chad Versace <chad.versace@intel.com>
13 years agoglsl: Move _mesa_builtin_uniform_desc from uniforms.c to ir_variable.cpp
Ian Romanick [Tue, 25 Jan 2011 00:55:50 +0000 (16:55 -0800)]
glsl: Move _mesa_builtin_uniform_desc from uniforms.c to ir_variable.cpp

This array is going to be used in the main compiler soon.  Leaving
them uniforms.c caused problems for building the stand-alone compiler.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Chad Versace <chad.versace@intel.com>
13 years agor300g: add support for all render targets with one and two channels
Marek Olšák [Tue, 29 Mar 2011 14:35:13 +0000 (16:35 +0200)]
r300g: add support for all render targets with one and two channels

The hardware should be set according to this table:

FORMAT -> R300 COLORFORMAT
-------------------------
X16    -> UV88
X16Y16 -> ARGB8888
X32    -> ARGB8888
X32Y32 -> ARGB16161616

US_OUT_FMT must contain the real format.

I wasn't able to make B3G3R2 and L4A4 work, but those aren't important.