mesa.git
12 years agost/mesa: properly allocate MSAA renderbuffers
Marek Olšák [Fri, 15 Jun 2012 16:52:28 +0000 (18:52 +0200)]
st/mesa: properly allocate MSAA renderbuffers

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agost/mesa: make unsupported renderbuffer formats always fail as FBO incomplete
Marek Olšák [Fri, 15 Jun 2012 00:00:36 +0000 (02:00 +0200)]
st/mesa: make unsupported renderbuffer formats always fail as FBO incomplete

instead of failing to allocate a renderbuffer.

This also fixes piglit/get-renderbuffer-internalformat with non-renderable
formats.

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agost/mesa: separate sw renderbuffer allocation from hw one
Marek Olšák [Fri, 15 Jun 2012 15:58:35 +0000 (17:58 +0200)]
st/mesa: separate sw renderbuffer allocation from hw one

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa: if AllocStorage doesn't choose a format, report FRAMEBUFFER_UNSUPPORTED
Marek Olšák [Fri, 15 Jun 2012 15:21:05 +0000 (17:21 +0200)]
mesa: if AllocStorage doesn't choose a format, report FRAMEBUFFER_UNSUPPORTED

This allows drivers not to do any allocation in AllocStorage if the storage
cannot be allocated because of an unsupported internalformat + samples combo.

The little ugliness is that AllocStorage is expected to return TRUE in this
case.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoi915g: More ops commute.
Stéphane Marchesin [Wed, 13 Jun 2012 17:00:57 +0000 (10:00 -0700)]
i915g: More ops commute.

This allows using the optimizations more broadly.

12 years agor600g: fix lockups with streamout on r7xx
Marek Olšák [Thu, 14 Jun 2012 20:32:51 +0000 (22:32 +0200)]
r600g: fix lockups with streamout on r7xx

This requires the latest streamout kernel patches.

Streamout is disabled by default on r7xx, so this patch is safe for regular
users.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agor600g: compute CS space for streamout correctly, add comments
Marek Olšák [Thu, 14 Jun 2012 20:25:50 +0000 (22:25 +0200)]
r600g: compute CS space for streamout correctly, add comments

SET_CONTEXT_REG was not counted in.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agor600g: set SMX_ACTION_ENA to fix streamout cache flushes on some chipsets
Marek Olšák [Thu, 14 Jun 2012 20:23:05 +0000 (22:23 +0200)]
r600g: set SMX_ACTION_ENA to fix streamout cache flushes on some chipsets

It helps on R7xx.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoclover: Fix build with LLVM libs installed to non-standard directories
Alexey Shvetsov [Mon, 4 Jun 2012 13:30:48 +0000 (09:30 -0400)]
clover: Fix build with LLVM libs installed to non-standard directories

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agost/mesa: don't do srgb->linear conversion in decompress_with_blit
Marek Olšák [Fri, 15 Jun 2012 03:13:02 +0000 (05:13 +0200)]
st/mesa: don't do srgb->linear conversion in decompress_with_blit

This fixes piglit/getteximage-formats on r600g.

NOTE: This is a candidate for stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglsl: Use ir_unop_f2u to convert floats to uints.
Paul Berry [Wed, 13 Jun 2012 22:50:23 +0000 (15:50 -0700)]
glsl: Use ir_unop_f2u to convert floats to uints.

Fixes piglit tests
spec/glsl-1.30/execution/{vs,fs}-float-uint-conversion on i965.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agogallium: Add TGSI_OPCODE_F2U to gallivm backend.
Paul Berry [Wed, 13 Jun 2012 22:46:27 +0000 (15:46 -0700)]
gallium: Add TGSI_OPCODE_F2U to gallivm backend.

Note: for the moment TGSI_OPCODE_F2U is implemented using
lp_build_itrunc() (the same function used to implement
TGSI_OPCODE_F2I).  In the long run, we should create an
lp_build_utrunc() function to do the proper conversion.  But this
should allow us to limp along with mostly correct behaviour for now.

12 years agogallium: Add support for ir_unop_f2u to tgsi backend.
Paul Berry [Wed, 13 Jun 2012 22:50:06 +0000 (15:50 -0700)]
gallium: Add support for ir_unop_f2u to tgsi backend.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoir_to_mesa: Add support for ir_unop_f2u to ir_to_mesa backend.
Paul Berry [Wed, 13 Jun 2012 22:49:46 +0000 (15:49 -0700)]
ir_to_mesa: Add support for ir_unop_f2u to ir_to_mesa backend.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoi965: Add support for ir_unop_f2u to i965 backend.
Paul Berry [Wed, 13 Jun 2012 22:49:25 +0000 (15:49 -0700)]
i965: Add support for ir_unop_f2u to i965 backend.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglsl: Add support for ir_unop_f2u to constant folding.
Paul Berry [Wed, 13 Jun 2012 22:48:56 +0000 (15:48 -0700)]
glsl: Add support for ir_unop_f2u to constant folding.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglsl: Add unary operation ir_unop_f2u.
Paul Berry [Wed, 13 Jun 2012 22:47:45 +0000 (15:47 -0700)]
glsl: Add unary operation ir_unop_f2u.

Previously, we performed conversions from float->uint by a two step
process: float->int->uint.  However, on platforms that use saturating
conversions (e.g. i965), this didn't work, because if the source value
was larger than the maximum representable int (0x7fffffff), then
converting it to an int would clamp it to 0x7fffffff.

This patch just adds the new opcode; further patches will adapt
optimization passes and back-ends to use it, and then finally the
ast_to_hir logic will be modified to emit the new opcode.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoi965/blorp: Implement source clipping.
Paul Berry [Tue, 12 Jun 2012 17:44:10 +0000 (10:44 -0700)]
i965/blorp: Implement source clipping.

This patch modifies blorp blits (which are used for MSAA) to properly
account for clipping of source coordinates.  Previously, if we
detected the possibility of source clipping, we would fall back to the
blit meta-op, which doesn't support MSAA and is very slow for depth
and stencil buffers.

Fixes piglit tests
"EXT_framebuffer_multisample/clip-and-scissor-blit" on i965/Gen6+.

Also substantially speeds up the Humble Bundle V game "Psychonauts" on
Gen6+ (without this patch, the game's depth buffer blits use the slow
blit meta-op).

Reviewed-by: Carl Worth <cworth@cworth.org>
12 years agoscons: add st_atom_array.c to the build
Brian Paul [Fri, 15 Jun 2012 15:31:15 +0000 (09:31 -0600)]
scons: add st_atom_array.c to the build

12 years agowinsys/radeon: enable IB submission to compute rings v2
Christian König [Mon, 21 May 2012 15:51:52 +0000 (17:51 +0200)]
winsys/radeon: enable IB submission to compute rings v2

This allows to submit things to the compute only
rings on cayman+

v2: rebased on current master and actually make use
    of the new flag in evergreen_compute.c

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
12 years agost/mesa: atomize vertex array state
Marek Olšák [Sat, 12 May 2012 13:52:40 +0000 (15:52 +0200)]
st/mesa: atomize vertex array state

This moves the state validation to where all the other states are validated.

12 years agowinsys/radeon: Remove unnecessary pipe_thread_destroy in radeon_drm_cs_destroy
Maarten Lankhorst [Tue, 22 May 2012 10:25:55 +0000 (12:25 +0200)]
winsys/radeon: Remove unnecessary pipe_thread_destroy in radeon_drm_cs_destroy

Fixes crash bug introduced with 210ddf0819b5 fd.o #49198
pthread_detach after a pthread_join is unneeded.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Marek Olšák <maraeo@gmail.com>
12 years agonv50,nvc0: fix stream output target buffer leak
Marcin Slusarz [Thu, 14 Jun 2012 19:48:46 +0000 (21:48 +0200)]
nv50,nvc0: fix stream output target buffer leak

It manifests at exit as:
"WARNING: destroying GPU memory cache with some buffers still in use"

12 years agonv50: disable stream output before reconfiguring it
Christoph Bumiller [Thu, 14 Jun 2012 21:30:49 +0000 (23:30 +0200)]
nv50: disable stream output before reconfiguring it

If we don't, the GPU will just throw an ILLEGAL_OPERATION error.

12 years agonv50/ir: handle NEG,ABS modifiers for short RCP encoding
Christoph Bumiller [Thu, 14 Jun 2012 21:24:36 +0000 (23:24 +0200)]
nv50/ir: handle NEG,ABS modifiers for short RCP encoding

12 years agost/mesa: fix glDrawPixels(GL_DEPTH_COMPONENT) color output
Brian Paul [Fri, 8 Jun 2012 20:26:53 +0000 (14:26 -0600)]
st/mesa: fix glDrawPixels(GL_DEPTH_COMPONENT) color output

When drawing a depth image the fragment shader also needs to emit the
current raster color.

The new piglit drawpix-z test exercises this.

NOTE: This is a candiate for the 8.0 branch.

12 years agodocs: add info about shortlog_mesa.sh script
Brian Paul [Thu, 14 Jun 2012 18:17:31 +0000 (12:17 -0600)]
docs: add info about shortlog_mesa.sh script

12 years agoglx/tests and mesa/tests: Update .gitignore files.
Paul Berry [Thu, 14 Jun 2012 17:02:24 +0000 (10:02 -0700)]
glx/tests and mesa/tests: Update .gitignore files.

This patch updates .gitignore files to account for the new build
artifacts introduced by the following commits:

ae376f0 glx/tests: Rename test as glx-test
8fecdcc mesa/tests: Add tests for _mesa_lookup_enum_by_{name,nr} functions
a29ad2b mesa/tests: Add tests for the generated dispatch table

12 years agost/vdpau: fix YCbCr down/up-loads for buffers larger than requested
Christian König [Wed, 6 Jun 2012 15:53:58 +0000 (17:53 +0200)]
st/vdpau: fix YCbCr down/up-loads for buffers larger than requested

When the video buffer turns out to be larger than
requested by the application we shouldn't upload
or download more data into / from it original requested.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=39309
Signed-off-by: Christian König <deathsimple@vodafone.de>
12 years agoscons: Fix Haiku binary optimizations
Alexander von Gluck IV [Thu, 14 Jun 2012 15:08:07 +0000 (08:08 -0700)]
scons: Fix Haiku binary optimizations

Haiku targets the Pentium or higher processor.
To ensure compatibility we can do march 586 and
mtune 686. Mesa will still use sse however if
the cpu supports it (and the stack is properly
aligned). These flags only effect the internal
compiler optimizations.

12 years agomesa: fix html in shortlog_mesa.sh script
Andreas Boll [Thu, 14 Jun 2012 14:25:42 +0000 (08:25 -0600)]
mesa: fix html in shortlog_mesa.sh script

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agomesa: added Ian's shortlog_mesa.sh script in bin/
Brian Paul [Thu, 14 Jun 2012 14:22:54 +0000 (08:22 -0600)]
mesa: added Ian's shortlog_mesa.sh script in bin/

12 years agosvga: make svga_surface_needs_propagation() surface const
Brian Paul [Wed, 13 Jun 2012 17:41:32 +0000 (11:41 -0600)]
svga: make svga_surface_needs_propagation() surface const

12 years agosvga: add svga_surface_const() cast wrapper
Brian Paul [Wed, 13 Jun 2012 17:41:03 +0000 (11:41 -0600)]
svga: add svga_surface_const() cast wrapper

12 years agosvga: fix comment typo
Brian Paul [Wed, 13 Jun 2012 17:40:34 +0000 (11:40 -0600)]
svga: fix comment typo

12 years agorbug: fix make process on Linux Mint 13 x64.
Aaron Watry [Wed, 13 Jun 2012 01:16:37 +0000 (20:16 -0500)]
rbug: fix make process on Linux Mint 13 x64.

Previously, rbug_*.c would fail to compile with incomplete prototype
errors when make was run from the command line on my machine. My IDE
always built fine, and still does after this patch (Netbeans 7.1.2).

Most of the includes from files in gallium/auxiliary/rbug/* were
assuming an rbug/ subdirectory, while the headers are actually in the
same directory as the .c files.

The build error was also previously a problem for me on Ubuntu 11.10
and Mint 12.

Fixes build for the following configuration: ./autogen.sh
--enable-debug --enable-texture-float --with-gallium-drivers=r600
--with-dri-drivers=radeon --enable-r600-llvm-compiler

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agowindows/gdi: Remove GL_NV_register_combiners and GL_NV_vertex_array_range exports
José Fonseca [Thu, 14 Jun 2012 11:02:03 +0000 (12:02 +0100)]
windows/gdi: Remove GL_NV_register_combiners and GL_NV_vertex_array_range exports

12 years agoglsl: Fix pi/2 constant in acos built-in function
Ian Romanick [Mon, 4 Jun 2012 17:20:36 +0000 (10:20 -0700)]
glsl: Fix pi/2 constant in acos built-in function

In single precision, 1.5707963 becomes 1.5707962513 which is too
small.  However, 1.5707964 becomes 1.5707963705 which is just right.
The value 1.5707964 is already used in asin.ir.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
12 years agoglapi: Remove GL_NV_vertex_array_range from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:50:54 +0000 (12:50 -0700)]
glapi: Remove GL_NV_vertex_array_range from the dispatch table

There is no GLX protocol for these functions.  Open-source Linux
driver have not supported this extension for many years, and it seems
unlikely at this point that this support will return.  There's no
reason to have slots for these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_NV_fence from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:46:54 +0000 (12:46 -0700)]
glapi: Remove GL_NV_fence from the dispatch table

There is no GLX protocol for these functions.  No open-source Linux
driver has ever supported this extension, and it seems unlikely at
this point that one ever will.  There's no reason to have slots for
these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_NV_register_combiners from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:41:08 +0000 (12:41 -0700)]
glapi: Remove GL_NV_register_combiners from the dispatch table

There is no GLX protocol for these functions.  No open-source Linux
driver has ever supported this extension, and it seems unlikely at
this point that one ever will.  There's no reason to have slots for
these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_APPLE_texture_range from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:32:27 +0000 (12:32 -0700)]
glapi: Remove GL_APPLE_texture_range from the dispatch table

There is no GLX protocol for these functions, and no Linux driver has
ever supported this extension.  There's no reason to have slots for
these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_SGIX_pixel_texture from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:23:36 +0000 (12:23 -0700)]
glapi: Remove GL_SGIX_pixel_texture from the dispatch table

There is no GLX protocol for this function.  Open-source Linux driver
have not supported this extension for many years, and it seems
unlikely at this point that this support will return.  There's no
reason to have slots for this function in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_SGIS_pixel_texture from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:15:11 +0000 (12:15 -0700)]
glapi: Remove GL_SGIS_pixel_texture from the dispatch table

There is no GLX protocol for these functions, and no Linux driver has
ever supported this extension.  There's no reason to have slots for
these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa/tests: Add tests for the generated dispatch table
Ian Romanick [Tue, 29 May 2012 18:28:11 +0000 (11:28 -0700)]
mesa/tests: Add tests for the generated dispatch table

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa/tests: Add tests for _mesa_lookup_enum_by_{name,nr} functions
Ian Romanick [Fri, 25 May 2012 15:26:33 +0000 (08:26 -0700)]
mesa/tests: Add tests for _mesa_lookup_enum_by_{name,nr} functions

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing GL_EXT_texture_sRGB_decode enums
Ian Romanick [Fri, 25 May 2012 19:35:21 +0000 (12:35 -0700)]
glapi: Add missing GL_EXT_texture_sRGB_decode enums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing GL_EXT_framebuffer_sRGB enums
Ian Romanick [Fri, 25 May 2012 19:35:04 +0000 (12:35 -0700)]
glapi: Add missing GL_EXT_framebuffer_sRGB enums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing GL_EXT_packed_float enums
Ian Romanick [Fri, 25 May 2012 19:34:51 +0000 (12:34 -0700)]
glapi: Add missing GL_EXT_packed_float enums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing framebuffer sRGB enum
Ian Romanick [Fri, 25 May 2012 19:33:57 +0000 (12:33 -0700)]
glapi: Add missing framebuffer sRGB enum

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add uniform buffer object enums
Ian Romanick [Fri, 25 May 2012 19:13:23 +0000 (12:13 -0700)]
glapi: Add uniform buffer object enums

These are from OpenGL 3.1 and ARB_uniform_buffer_object.  I only added
them to 3.1 because that required the least work.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing enums for GL_NV_fragment_program
Ian Romanick [Fri, 25 May 2012 19:12:58 +0000 (12:12 -0700)]
glapi: Add missing enums for GL_NV_fragment_program

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing enums for GL_ARB_occlusion_query2
Ian Romanick [Fri, 25 May 2012 19:12:33 +0000 (12:12 -0700)]
glapi: Add missing enums for GL_ARB_occlusion_query2

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove extraneous GL_ from TEXTURE_IMMUTABLE_FORMAT
Ian Romanick [Fri, 25 May 2012 19:07:40 +0000 (12:07 -0700)]
glapi: Remove extraneous GL_ from TEXTURE_IMMUTABLE_FORMAT

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing enums for GL_ATI_fragment_shader
Ian Romanick [Fri, 25 May 2012 18:39:59 +0000 (11:39 -0700)]
glapi: Add missing enums for GL_ATI_fragment_shader

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add texture swizzle enums
Ian Romanick [Fri, 25 May 2012 18:34:42 +0000 (11:34 -0700)]
glapi: Add texture swizzle enums

These are from OpenGL 3.3, ARB_texture_swizzle, and
EXT_texture_swizzle (with different names).  I only added them to 3.3
because that required the least work.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add a couple missing 3.0 enums
Ian Romanick [Fri, 25 May 2012 18:34:16 +0000 (11:34 -0700)]
glapi: Add a couple missing 3.0 enums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing _NV extension on COMBINE4
Ian Romanick [Fri, 25 May 2012 18:33:39 +0000 (11:33 -0700)]
glapi: Add missing _NV extension on COMBINE4

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing enums for GL_EXT_vertex_array
Ian Romanick [Fri, 25 May 2012 18:18:21 +0000 (11:18 -0700)]
glapi: Add missing enums for GL_EXT_vertex_array

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing enums for GL_EXT_compiled_vertex_array
Ian Romanick [Fri, 25 May 2012 18:13:42 +0000 (11:13 -0700)]
glapi: Add missing enums for GL_EXT_compiled_vertex_array

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglx/tests: Add unit tests for generated code in indirect_init.c
Ian Romanick [Thu, 24 May 2012 17:21:03 +0000 (10:21 -0700)]
glx/tests: Add unit tests for generated code in indirect_init.c

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglx/tests: Add unit tests for generated code in indirect_size.c
Ian Romanick [Thu, 24 May 2012 16:08:56 +0000 (09:08 -0700)]
glx/tests: Add unit tests for generated code in indirect_size.c

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglx/tests: Rename test as glx-test
Ian Romanick [Tue, 29 May 2012 22:20:21 +0000 (15:20 -0700)]
glx/tests: Rename test as glx-test

This matches the existing test in src/glsl/tests.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglx: Move tests from tests/glx to src/glx/tests
Ian Romanick [Wed, 23 May 2012 22:23:22 +0000 (15:23 -0700)]
glx: Move tests from tests/glx to src/glx/tests

This matches the organization of other unit tests in Mesa.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoutil: add some comments, fix indentation
Brian Paul [Tue, 12 Jun 2012 23:27:56 +0000 (17:27 -0600)]
util: add some comments, fix indentation

12 years agoglsl: Transform dot product by a basis vector into a swizzle
Matt Turner [Tue, 5 Jun 2012 01:59:34 +0000 (21:59 -0400)]
glsl: Transform dot product by a basis vector into a swizzle

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglsl: Add is_basis function
Matt Turner [Mon, 4 Jun 2012 20:26:32 +0000 (16:26 -0400)]
glsl: Add is_basis function

Determines whether it's a basis vector, i.e., a vector with one element
equal to 1 and all other elements equal to 0.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglsl: Check for zero vectors in ir_binop_dot
Matt Turner [Mon, 4 Jun 2012 20:17:12 +0000 (16:17 -0400)]
glsl: Check for zero vectors in ir_binop_dot

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agomesa: move variable declaration out of loop to fix MSVC build
Brian Paul [Tue, 12 Jun 2012 22:31:33 +0000 (16:31 -0600)]
mesa: move variable declaration out of loop to fix MSVC build

12 years agomesa: Fix bool-int mismatch
Stéphane Marchesin [Tue, 12 Jun 2012 22:11:21 +0000 (15:11 -0700)]
mesa: Fix bool-int mismatch

Also include stdbool for windows.

12 years agomesa: Fix hash table leak
Antoine Labour [Fri, 25 May 2012 01:17:50 +0000 (18:17 -0700)]
mesa: Fix hash table leak

When a value was replaced, the new key was strdup'd and leaked.
To fix this, we modify the hash table implementation to return
whether the value was replaced and free() the (now useless)
duplicate string.

12 years agomesa: Free uniforms correclty.
Antoine Labour [Fri, 25 May 2012 01:15:44 +0000 (18:15 -0700)]
mesa: Free uniforms correclty.

This is an array of uniforms, not a single one.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
NOTE: This is a candidate for the 8.0 branch.

12 years agometa: Cleanup the resources we allocate.
Antoine Labour [Fri, 25 May 2012 01:08:27 +0000 (18:08 -0700)]
meta: Cleanup the resources we allocate.

When we have multiple shared contexts, and one of them is
long-running, this will lead to never freeing those resources
since they are shared. Instead, free them right away on context
destruction since we know the other context isn't using them.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
NOTE: This is a candidate for the 8.0 branch.

12 years agoglx: Handle a null reply in QueryVersion.
Stéphane Marchesin [Fri, 25 May 2012 00:58:53 +0000 (17:58 -0700)]
glx: Handle a null reply in QueryVersion.

Works around crashes when X connections break.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
NOTE: This is a candidate for the 8.0 branch.

12 years agoradeonsi: Don't always re-compile shaders after they're bound.
Michel Dänzer [Tue, 12 Jun 2012 18:18:24 +0000 (20:18 +0200)]
radeonsi: Don't always re-compile shaders after they're bound.

12 years agost/xorg: Fix crash on startup.
Dave Airlie [Fri, 8 Jun 2012 16:10:18 +0000 (18:10 +0200)]
st/xorg: Fix crash on startup.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoradeonsi: Use linear instead of constant interpolation for now.
Michel Dänzer [Fri, 8 Jun 2012 15:15:21 +0000 (17:15 +0200)]
radeonsi: Use linear instead of constant interpolation for now.

Constant interpolation still hangs the GPU for some reason.

12 years agoradeonsi: Handle SUB_f32.
Thomas Stellard [Thu, 7 Jun 2012 17:33:24 +0000 (19:33 +0200)]
radeonsi: Handle SUB_f32.

Signed-off-by: Thomas Stellard <tom.stellard@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoradeonsi: Only dump shaders with environment variable RADEON_DUMP_SHADERS=1.
Michel Dänzer [Thu, 7 Jun 2012 17:30:47 +0000 (19:30 +0200)]
radeonsi: Only dump shaders with environment variable RADEON_DUMP_SHADERS=1.

12 years agomesa: Build git_sha1.h before computing dependencies.
Eric Anholt [Tue, 12 Jun 2012 01:46:51 +0000 (18:46 -0700)]
mesa: Build git_sha1.h before computing dependencies.

Otherwise, version.c doesn't get a dependency on it in a clean build,
and then it doesn't necessarily get generated before version.c is
compiled.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50976
Reviewed-by: Jakob Bornecrantz jakob@vmware.com
12 years agodocs: whitespaces cleanup
Andreas Boll [Tue, 12 Jun 2012 07:05:49 +0000 (09:05 +0200)]
docs: whitespaces cleanup

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs: remove some superfluous <p> tags
Andreas Boll [Tue, 12 Jun 2012 07:05:46 +0000 (09:05 +0200)]
docs: remove some superfluous <p> tags

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs: remove unused table styles
Andreas Boll [Tue, 12 Jun 2012 07:05:42 +0000 (09:05 +0200)]
docs: remove unused table styles

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs: remove unused anchor links
Andreas Boll [Tue, 12 Jun 2012 07:05:39 +0000 (09:05 +0200)]
docs: remove unused anchor links

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs: prefer lowercase html tags
Andreas Boll [Tue, 12 Jun 2012 07:05:36 +0000 (09:05 +0200)]
docs: prefer lowercase html tags

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs: use id instead of <a name>
Andreas Boll [Tue, 12 Jun 2012 07:05:33 +0000 (09:05 +0200)]
docs: use id instead of <a name>

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs/subset-A.html: fix markup
Andreas Boll [Tue, 12 Jun 2012 07:05:30 +0000 (09:05 +0200)]
docs/subset-A.html: fix markup

fixes tidy warnings:

line 11 column 1 - Warning: <center> isn't allowed in <h1> elements
line 10 column 1 - Info: <h1> previously mentioned
line 11 column 34 - Warning: discarding unexpected </center>
line 14 column 1 - Warning: <center> isn't allowed in <h2> elements
line 13 column 1 - Info: <h2> previously mentioned
line 13 column 1 - Warning: missing </h2> before <h3>
line 18 column 1 - Warning: discarding unexpected </center>
line 19 column 1 - Warning: discarding unexpected </h2>

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs/news.html: use proper markup
Andreas Boll [Tue, 12 Jun 2012 07:05:26 +0000 (09:05 +0200)]
docs/news.html: use proper markup

fixes tidy warnings:

line 1227 column 9 - Warning: missing <li>
line 1228 column 17 - Warning: missing <li>
line 1235 column 25 - Warning: missing <li>
line 1259 column 17 - Warning: missing <li>
line 1267 column 9 - Warning: missing <li>
line 1359 column 9 - Warning: missing <li>
line 1361 column 55 - Warning: discarding unexpected </i>
line 1354 column 1 - Warning: trimming empty <p>

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs: fix html end/start tags
Andreas Boll [Tue, 12 Jun 2012 07:05:22 +0000 (09:05 +0200)]
docs: fix html end/start tags

for more well-formed html

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs: escape special html chars
Andreas Boll [Tue, 12 Jun 2012 07:05:15 +0000 (09:05 +0200)]
docs: escape special html chars

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs: consolidate html header and footer
Andreas Boll [Tue, 12 Jun 2012 07:05:03 +0000 (09:05 +0200)]
docs: consolidate html header and footer

add doctype
add character encoding
add missing <head> tag
unify html header and footer

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agomesa: Unbind GL_TEXTURE_BUFFER on DeleteBuffers.
Kenneth Graunke [Sun, 10 Jun 2012 04:44:58 +0000 (21:44 -0700)]
mesa: Unbind GL_TEXTURE_BUFFER on DeleteBuffers.

Fixes oglconform's tbo/basic.buffer.delete test.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Make glPrimitiveRestartIndex execute immediately in display lists.
Kenneth Graunke [Sun, 10 Jun 2012 01:06:17 +0000 (18:06 -0700)]
mesa: Make glPrimitiveRestartIndex execute immediately in display lists.

From the GL_NV_primitive_restart spec:
"PrimitiveRestartIndexNV is not compiled into display lists, but is
 executed immediately."

Prior to this patch, calls to glPrimitiveRestartIndex would hit the noop
dispatch stub.

+2 oglconforms.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Check for a negative "size" parameter in glCopyBufferSubData().
Kenneth Graunke [Sat, 9 Jun 2012 05:12:23 +0000 (22:12 -0700)]
mesa: Check for a negative "size" parameter in glCopyBufferSubData().

From the GL_ARB_copy_buffer spec:
"An INVALID_VALUE error is generated if any of readoffset, writeoffset,
 or size are negative [...]"

Fixes oglconform's copybuffer/negative.CNNegativeValues test.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoautomake: Add AM_PROG_AR before LT_INIT to silence a lot of warnings.
Kenneth Graunke [Thu, 31 May 2012 04:54:21 +0000 (21:54 -0700)]
automake: Add AM_PROG_AR before LT_INIT to silence a lot of warnings.

The warnings appear to occur with newer automake (probably 1.12).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agoscons: Fix scons build.
José Fonseca [Mon, 11 Jun 2012 18:38:07 +0000 (19:38 +0100)]
scons: Fix scons build.

12 years agoconfigure.ac: Add --with-(gl|glu|osmesa)-lib-name options
Brad King [Tue, 5 Jun 2012 17:59:58 +0000 (13:59 -0400)]
configure.ac: Add --with-(gl|glu|osmesa)-lib-name options

These allow one to mangle the library names, without also mangling the
symbol names, to make them distinct from other GL libraries on the
system.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglsl: Put a bunch of optimization visitors under anonymous namespaces.
Eric Anholt [Tue, 29 May 2012 23:18:37 +0000 (16:18 -0700)]
glsl: Put a bunch of optimization visitors under anonymous namespaces.

Because these classes are used entirely from their own source files
and not from separate DSOs, the linker gets to produce massively less
code.  This cuts about 13k of text in the libdricore case.  In the
non-libdricore case, the additional linkage information allows the
compiler to inline some code, so libglsl.a size actually increases by
about 300 bytes.

For a dricore build, improves shader_runner runtime on
glsl-fs-copy-propagation-texcoords-1 by 0.21% +/- 0.03% (n=353574,
outliers removed).  No statistically significant difference with n=322
on glslparsertest on a yofrankie shader intended to test compiler
performance.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoautomake: Merge the dricore libglsl build into libdricore.
Eric Anholt [Tue, 29 May 2012 21:55:40 +0000 (14:55 -0700)]
automake: Merge the dricore libglsl build into libdricore.

Now we have just one library of "all of Mesa core" instead of both
libdricore and libglsl that drivers link against.

I did this change in a sort of nonrecursive make fashion: the
generated files are still produced in the non-automake build, like the
rest of dricore, but the GLSL files are stuffed into libdricore
without building a convenience library in src/glsl (even though we
could now).  This would make a bit more sense if glsl was just another
dir under src/mesa, because right now I had to contort the prefix
variable name to look another ../ level up.

12 years agoautomake: Add a prefix variable for libglsl sources.
Eric Anholt [Tue, 29 May 2012 21:45:10 +0000 (14:45 -0700)]
automake: Add a prefix variable for libglsl sources.

See e86c40a84d241b954594f5ae7df9b9c3fc797a4e for reasoning.  In the
process I did s/:=/=/ to shut up automake about nonportable make syntax.