summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Fix hash table leakAntoine Labour2012-06-122-6/+15
| | | | | | | 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.
* mesa: Free uniforms correclty.Antoine Labour2012-06-121-1/+2
| | | | | | | | This is an array of uniforms, not a single one. Reviewed-by: Ian Romanick <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* meta: Cleanup the resources we allocate.Antoine Labour2012-06-121-6/+66
| | | | | | | | | | | 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 <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* glx: Handle a null reply in QueryVersion.Stéphane Marchesin2012-06-121-0/+3
| | | | | | | | Works around crashes when X connections break. Reviewed-by: Ian Romanick <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* radeonsi: Don't always re-compile shaders after they're bound.Michel Dänzer2012-06-121-6/+1
|
* st/xorg: Fix crash on startup.Dave Airlie2012-06-121-4/+11
| | | | | Signed-off-by: Dave Airlie <[email protected]> Tested-by: Michel Dänzer <[email protected]>
* radeonsi: Use linear instead of constant interpolation for now.Michel Dänzer2012-06-122-4/+22
| | | | Constant interpolation still hangs the GPU for some reason.
* radeonsi: Handle SUB_f32.Thomas Stellard2012-06-122-2/+3
| | | | | Signed-off-by: Thomas Stellard <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* radeonsi: Only dump shaders with environment variable RADEON_DUMP_SHADERS=1.Michel Dänzer2012-06-122-9/+20
|
* mesa: Build git_sha1.h before computing dependencies.Eric Anholt2012-06-121-1/+1
| | | | | | | | | 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 [email protected]
* mesa: Unbind GL_TEXTURE_BUFFER on DeleteBuffers.Kenneth Graunke2012-06-111-0/+4
| | | | | | | | Fixes oglconform's tbo/basic.buffer.delete test. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Make glPrimitiveRestartIndex execute immediately in display lists.Kenneth Graunke2012-06-111-0/+3
| | | | | | | | | | | | | | | 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 <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Check for a negative "size" parameter in glCopyBufferSubData().Kenneth Graunke2012-06-111-0/+6
| | | | | | | | | | | | | | 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 <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* scons: Fix scons build.José Fonseca2012-06-112-0/+4
|
* glsl: Put a bunch of optimization visitors under anonymous namespaces.Eric Anholt2012-06-1115-0/+57
| | | | | | | | | | | | | | | | | 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 <[email protected]>
* automake: Merge the dricore libglsl build into libdricore.Eric Anholt2012-06-112-33/+12
| | | | | | | | | | | | | 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.
* automake: Add a prefix variable for libglsl sources.Eric Anholt2012-06-113-86/+88
| | | | | See e86c40a84d241b954594f5ae7df9b9c3fc797a4e for reasoning. In the process I did s/:=/=/ to shut up automake about nonportable make syntax.
* automake: Convert src/Makefile to automake.Eric Anholt2012-06-113-40/+5
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* automake: Move top-level makefile to automake.Eric Anholt2012-06-111-0/+17
| | | | | | | | | This is part of a series to fix our build issues in the automake case by hooking up the automatic Makefile regeneration support. The extract_git_sha1 is moved into src/mesa/Makefile so that we get correct dependency generation. Reviewed-by: Kenneth Graunke <[email protected]>
* automake: Globally add stub automake targets to the old Makefiles.Eric Anholt2012-06-1115-39/+3
| | | | | | | | | I tried to update all the old Makefiles that included the default config to be sure they had a default target if they didn't previously have one, since this new all target will always point at it. Almost everything had one. Reviewed-by: Kenneth Graunke <[email protected]>
* android: fix the buildTapani Pälli2012-06-111-29/+16
| | | | | | | | | Some more of the files are now autogenerated, this caused build breakage, patch adds generation of these missing files. Patch also changes existing make so that the files are created to be part of the local source (not intermediate directory, this causes several problems). Signed-off-by: Tapani Pälli <[email protected]>
* i915g: Fix depth/stencil glClearMichael Karcher2012-06-101-6/+5
| | | | | | | | | | | | | This patch fixes a copy/paste error and masking of depth/stencil (stencil is in the top 8 bits), and makes glean/readPixSanity happy. Both the stencil and the depth buffer piglit test also pass if glClear(DEPTH | STENCIL) is executed instead of glClear(DEPTH)/glClear(STENCIL). Reviewed-by: Daniel Vetter <[email protected]> Tested-by: Christopher Egert <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
* mesa: Fix "glCopyBuffserSubData" typos in error messages and comments.Kenneth Graunke2012-06-081-10/+10
| | | | Signed-off-by: Kenneth Graunke <[email protected]>
* glsl: Clean up warnings about deleting classes without virtual destructors.Eric Anholt2012-06-081-0/+10
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: fix deref_hash memory leak in constant_expression_valueMarcin Slusarz2012-06-081-2/+5
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* glcpp: .gitignore cleanupAndreas Boll2012-06-081-3/+0
| | | | | | *.o, *.lo and *~ are already in toplevel .gitignore Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: .gitignore cleanupAndreas Boll2012-06-081-11/+0
| | | | | | | | remove archaic .cvsignore *.pyo is already in toplevel .gitignore *.pyc is already in toplevel .gitignore Reviewed-by: Kenneth Graunke <[email protected]>
* gallivm: Fix calculating rho for 3d textures for the single-quad caseRoland Scheidegger2012-06-081-2/+1
| | | | | | Discovered by accident, this looks like a very old typo bug. Signed-off-by: José Fonseca <[email protected]>
* i965: Add forgotten bitcast operations in brw_fs_channel_expressions.Kenneth Graunke2012-06-071-0/+4
| | | | Signed-off-by: Kenneth Graunke <[email protected]>
* i965/blorp: allow all buffer formats provided src and dst match.Paul Berry2012-06-071-25/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, blits using the "blorp" mechanism only worked for 8-bit RGBA color buffers, 24-bit depth buffers, and 8 bit stencil buffers. This was not enough, because the blorp mechanism must be used for blitting whenever MSAA is in use. This patch allows all formats to be used, provided the source and destination formats match. So far I have confirmed that the following formats work properly with MSAA: - GL_RGB - GL_RGBA - GL_ALPHA - GL_ALPHA4 - GL_ALPHA8 - GL_R3_G3_B2 - GL_RGB4 - GL_RGB5 - GL_RGB8 - GL_RGB10 - GL_RGB12 - GL_RGB16 - GL_RGBA2 - GL_RGBA4 - GL_RGB5_A1 - GL_RGBA8 - GL_RGB10_A2 - GL_RGBA12 - GL_RGBA16 Fixes piglit tests "EXT_framebuffer_multisample/formats {2,4}" on Sandy Bridge and Ivy Bridge. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/blorp: Implement logic for additional buffer formats.Paul Berry2012-06-073-7/+37
| | | | | | | | | | | | | Previously the blorp engine only supported RGBA8 color buffers and 24-bit depth buffers. This patch adds support for any color buffer format that is supported as a render target, and for 16-bit and 32-bit depth buffers. This required threading the brw_context struct through into brw_blorp_surface_info::set() so that it can consult the brw->render_target_format array. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/blorp: De-virtualize brw_blorp_{mip,surface}_info::set() function.Paul Berry2012-06-071-4/+4
| | | | | | | | | | Even though brw_blorp_surface_info is derived from brw_blorp_mip_info, this function doesn't need to be virtual, because it is never accessed through a base class pointer. Making the function non-virtual will allow it to take additional parameters in the brw_blorp_surface_info case. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/blorp: Refactor surface format determination.Paul Berry2012-06-074-10/+10
| | | | | | | | | | | This patch moves the responsibility for deciding on the format of the source and destination surfaces from the gen{6,7}_blorp_emit_surface_state() functions to brw_blorp_surface_info::set(), which is shared between Gen6 and Gen7. This will make it possible to add support for more surface formats without code duplication. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Enable the GL_ARB_shader_bit_encode extension.Kenneth Graunke2012-06-073-0/+25
| | | | Signed-off-by: Kenneth Graunke <[email protected]>
* st/mesa: Finally activate the ARB_shader_bit_encoding extension.Olivier Galibert2012-06-071-0/+4
| | | | | Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Bitwise conversion operator support in the software renderers.Olivier Galibert2012-06-072-0/+11
| | | | | | | | | | | | | TGSI doesn't need an opcode, since registers are untyped (but beware once doubles come into the scene). Mesa IR doesn't handle native integers, so trying to handle them there is worthless, the case entries are only added for warning reasons. It was only tested with softpipe, since llvmpipe doesn't support glsl 1.3 yet. Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Bitwise conversion operator support in ir_constant_expression.Olivier Galibert2012-06-071-0/+47
| | | | | | | | | A "test_out = floatBitsToUint(-1.0);" fired through the GLSL compiler gives a correct "(assign (x) (var_ref test_out) (constant uint (3212836864)))" Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Bitwise conversion operator support in ir_validate.Olivier Galibert2012-06-071-0/+16
| | | | | Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Bitwise conversion operator support in ir_expression.Olivier Galibert2012-06-071-0/+4
| | | | | Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: New unary opcodes for ARB_shader_bit_encoding support.Olivier Galibert2012-06-077-11/+125
| | | | | | | The opcodes are bitcast_f2u, bitcast_f2i, bitcast_i2f and bitcast_u2f. Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Scaffolding for ARB_shader_bit_encoding.Olivier Galibert2012-06-078-0/+11
| | | | | | | | That adds support for activating the extension. It doesn't actually *do* anything yet, of course. Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Return 8 bits for GL_TEXTURE_RED_SIZE on RGTC formats.Kenneth Graunke2012-06-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | From the issues section of the GL_ARB_texture_compression_rgtc extension: 15) What should glGetTexLevelParameter return for GL_TEXTURE_GREEN_SIZE and GL_TEXTURE_BLUE_SIZE for the RGTC1 formats? What should glGetTexLevelParameter return for GL_TEXTURE_BLUE_SIZE for the RGTC2 formats? RESOLVED: Zero bits. These formats always return 0.0 for these respective components and have no bits devoted to these components. Returning 8 bits for red size of RGTC1 and the red and green sizes of RGTC2 makes sense because that's the maximum potential precision for the uncompressed texels. Thus, we need to return 8 bits for GL_TEXTURE_RED_SIZE on all RGTC formats and 8 bits for GL_TEXTURE_GREEN_SIZE on RGTC2 formats. BLUE should be 0. Fixes oglconform/rgtc/advanced.texture_fetch.tex_param. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glsl: Hook up loop_variable_state destructor to plug a memory leak.Kenneth Graunke2012-06-071-0/+17
| | | | | | | | | | | | | While ~loop_state() is already freeing the loop_variable_state objects via ralloc_free(this->mem_ctx), the ~loop_variable_state() destructor was never getting called, so the hash table inside loop_variable_state was never getting destroyed. Fixes a memory leak in any shader with loops. NOTE: This is a candidate for stable release branches. Signed-off-by: Kenneth Graunke <[email protected]>
* radeon/llvm: Emulate RECIP_UINT instruction on CaymanTom Stellard2012-06-062-4/+13
|
* radeon/llvm: Remove some duplicate code in the R600 CodeEmitterTom Stellard2012-06-061-9/+3
|
* radeon/llvm: Fix MULLO* instructions on CaymanTom Stellard2012-06-064-14/+53
| | | | | On Cayman, the MULLO* instructions must fill all slots in an instruction group.
* r600g: Compute support for CaymanTom Stellard2012-06-065-66/+95
|
* xorg: port to new compat API.Dave Airlie2012-06-068-63/+162
| | | | Signed-off-by: Dave Airlie <[email protected]>
* mesa: consolidate internal glCompressedTexSubImage1/2/3D codeBrian Paul2012-06-067-138/+42
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: consolidate internal glCompressedTexImage1/2/3D codeBrian Paul2012-06-067-140/+44
| | | | Reviewed-by: Kenneth Graunke <[email protected]>