summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi: move scissor state to new state handlingChristian König2012-07-245-53/+26
| | | | Signed-off-by: Christian König <[email protected]>
* radeonsi: move clip state to new handlingChristian König2012-07-245-58/+26
| | | | Signed-off-by: Christian König <[email protected]>
* radeonsi: move blend color to new state handlingChristian König2012-07-245-26/+19
| | | | Signed-off-by: Christian König <[email protected]>
* radeonsi: move blender to new state handlingChristian König2012-07-247-191/+178
| | | | Signed-off-by: Christian König <[email protected]>
* radeonsi: rework state handling v2Christian König2012-07-248-1/+358
| | | | | | | | Add a complete new state handling for SI. v2: fix spelling error Signed-off-by: Christian König <[email protected]>
* automake: Honor GL_LIB for mangled/custom lib namesBrad King2012-07-232-28/+15
| | | | | | | | | | | | | | | | Commit 2d4b77c7 (automake: Convert src/mesa/drivers/x11/Makefile to automake, 2012-06-12) dropped the old Makefile, which used GL_LIB, and replaced it with a Makefile.am hard-coding the name "GL". This broke handling of --enable-mangling and --with-gl-lib-name options which depend on GL_LIB to specify the GL library name. Use "@GL_LIB@" in src/mesa/drivers/x11/Makefile.am to configure the library name. Also use this approach to simplify src/glx/Makefile.am and drop the HAVE_MANGLED_GL conditional. While at it, fix the compatibility link we create in "lib" for the software-only driver to use version GL_MAJOR instead of hard-coding "1". Reviewed-by: Dan Nicholson <[email protected]>
* st/mesa: fix DDY opcode for FBOsMarek Olšák2012-07-231-2/+22
| | | | | | This fixes piglit/fbo-deriv. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: set the centroid qualifier in fragment shader inputsMarek Olšák2012-07-233-4/+11
| | | | | | This fixes some centroid tests in the EXT_framebuffer_multisample piglit group. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: flush the glBitmap cache before changing framebuffer stateMarek Olšák2012-07-233-39/+41
| | | | | | | | | | This fixes the piglit EXT_framebuffer_multisample/bitmap tests. Note that we must not rely on ctx->DrawBuffer when flushing the cache, because that's already updated with a new framebuffer. We want to draw into the old framebuffer where glBitmap was called. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: set the correct window renderbuffer internal formatMarek Olšák2012-07-231-1/+9
| | | | | | The multisample-resolve blit relies on this being correct. Reviewed-by: Brian Paul <[email protected]>
* mesa: fix format checking when doing a multisample resolveMarek Olšák2012-07-231-1/+111
| | | | | | v2: make it more bullet-proof Reviewed-by: Brian Paul <[email protected]>
* gallivm: Prefer the standard JIT engine whenever possible.José Fonseca2012-07-231-4/+4
| | | | | | | | | | | Testing shows that the standard JIT engine retrofited with AVX support is quite stable and as capable to handle AVX instructions as MC-JIT is. And the old JIT is much more memory efficient, as we don't need to allocate one engine instance per shader, as we do for MC-JIT due to its incompleteness. Reviewed-by: Roland Scheidegger <[email protected]>
* r600g: don't emit forbidden reg with old kernel on evergreenJerome Glisse2012-07-231-1/+3
| | | | | | Fix https://bugs.freedesktop.org/show_bug.cgi?id=52313 Signed-off-by: Jerome Glisse <[email protected]>
* r600g: don't emit forbidden register on old kernelJerome Glisse2012-07-232-2/+6
| | | | | | Fix https://bugs.freedesktop.org/show_bug.cgi?id=52313 Signed-off-by: Jerome Glisse <[email protected]>
* radeon/llvm: Fix a bug with IF LOGICALNZ with int operandVincent Lejeune2012-07-233-11/+17
| | | | Signed-off-by: Tom Stellard <[email protected]>
* pipe_loader: Try to connect with the X server before probing pciids v2Tom Stellard2012-07-231-0/+61
| | | | | | | | | | | | | | | | When X is running it is neccesary for pipe_loader to authenticate with DRM, in order to be able to use the device. This makes it possible to run OpenCL programs while X is running. v2: - Fix C++ style comments - Drop Xlib-xcb dependency - Close the X connection when done - Split auth code into separate function Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* mesa: Prevent repeated glDeleteShader() from blowing away our refcounts.Kenneth Graunke2012-07-221-3/+5
| | | | | | | | | | | | | | | | | | | Calling glDeleteShader() should mark shaders as pending for deletion, but shouldn't decrement the refcount every time. Otherwise, repeated glDeleteShader() is not safe. This is particularly bad since glDeleteProgram() frees shaders: if you first call glDeleteShader() on the shaders attached to the program (thus decrementing the refcount), then called glDeleteProgram(), it would try to free them again (decrementing the refcount another time), causing a refcount > 0 assertion to fail. Similar to commit d950a778. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* imports.h: Correct ceilf typo.Matt Turner2012-07-221-1/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/mesa: remove st_flush_bitmap wrapperMarek Olšák2012-07-223-17/+1
| | | | just a cleanup
* mesa formats: add MESA_FORMAT_ABGR2101010_UINTJordan Justen2012-07-217-1/+154
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa formats: unpack ARGB8888/XRGB8888Jordan Justen2012-07-211-0/+34
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa pack: use _mesa_problem instead of assertJordan Justen2012-07-212-8/+18
| | | | | | | | If the pack type is not supported, use _mesa_problem rather than asserting. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: add glformats integer type/format detection routinesJordan Justen2012-07-2113-94/+295
| | | | | | | | | | | | _mesa_is_integer_format is moved to formats.c and renamed as _mesa_is_enum_format_integer. _mesa_is_format_unsigned, _mesa_is_type_integer, _mesa_is_type_unsigned, and _mesa_is_enum_format_or_type_integer are added. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* Remove unused _mesa_memset16Matt Turner2012-07-212-16/+0
| | | | | | | Unused since commit fd104a845. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* Remove _mesa_inv_sqrtf in favor of 1/SQRTFMatt Turner2012-07-214-117/+4
| | | | | | | | Except for a couple of explicit uses, _mesa_inv_sqrtf was disabled since its addition in 2003 (see f9b1e524). Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* Remove _mesa_sqrt* in favor of plain sqrtMatt Turner2012-07-213-117/+1
| | | | | | | | | | Temporarily disabled since 2003 (see 386578c5b). This saves us from calling sqrt() 128 times to generate the sqrttab in one_time_init(). Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* Use INV_SQRT instead of 1/SQRTFMatt Turner2012-07-212-3/+3
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i830: Fix stack corruptionChad Versace2012-07-201-1/+1
| | | | | | | | | | | | | | | Found by compiler warning: i830_texstate.c:131:28: warning: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess] memset(state, 0, sizeof(state)); ~~~~~ ^~~~~ On 64-bit systems, memset here would write an extra 4 bytes. Note: This is a candidate for the stable branches. Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mesa: disable MSVC global optimization in pack.cJosé Fonseca2012-07-201-0/+13
| | | | | | | | To reduce excessive compilation time in release mode. NOTE: This is a candidate for the 8.0 branch. Tested-by: Brian Paul <[email protected]>
* mesa: whitespace fixes in pbo.cBrian Paul2012-07-201-14/+14
|
* mesa: update texstore.c commentBrian Paul2012-07-201-3/+2
|
* llvmpipe: use runtime loop instead of static loop for looping over quadsRoland Scheidegger2012-07-203-72/+516
| | | | | | | | | | | | | | | | | | | | | This can potentially cut shader program size by a factor of 4 for 4-wide execution respectively 2 for 8-wide execution and while this ratios aren't quite reached for more complex shaders it can be close. Could not really measure a performance difference so far except for trivial shaders (glxgears). There seems to be a fair amount of unnecessary move's generated especially at the beginning it might be possible to optimize those away somehow. Things aren't quite as clean, some additional stuff needs to be done for keeping both paths working (though llvm might be able to optimize this away). glxgears seems to lose about 5-10% of performance, looking at the generated shaders this is actually less than I'd think it would be - both 4 and 8-wide shaders, despite containing a loop actually have about 10% more instructions in total, and will have roughly 50% more executed instructions (though mostly cheap ones). Need to figure out how to reduce overhead... v2: keep complex interpolation for 4-wide mode, adapt to interface changes. Reviewed-by: José Fonseca <[email protected]>
* nv30: Support negative offsets in indirect constant access.Roy Spliet2012-07-204-8/+15
| | | | | | | | Fixes piglit vp-address-01 amongst several others. Signed-off-by: Roy Spliet <[email protected]> Reviewed-by: Lucas Stach <[email protected]> Tested-by: Lucas Stach <[email protected]>
* nv50/ir: set position before i instead of i->next in NV50LoweringPreSSA::visitBryan Cain2012-07-201-7/+2
| | | | | Fixes rendering glitches in Psychonauts such as Raz's eyes flickering white. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=51962.
* i965/gen7: Increase the WM threads to hardware limits.Eric Anholt2012-07-201-1/+1
| | | | | | | | | | | | This thread count is only supposed to be enabled when "WIZ Hashing Disable in GT_MODE register enabled." I've always been confused whether that means the bit in the register should be 1 or 0. For my IVB GT2's register 0x7008 value of 0x0, this appears to work fine. Improves l4d2 performance at 640x480 by 0.88 +/- 0.11% (n=88). Improves performance with rasterization at 1280x1024 by 1.45% +/- 0.36% (n=6). Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Assign locations for uniforms in UBOs using the std140 rules.Eric Anholt2012-07-205-2/+270
| | | | | | Fixes piglit layout-std140. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Don't resize arrays in uniform blocks.Eric Anholt2012-07-201-0/+7
| | | | | | | This is a requirement for std140 uniform blocks, and optional for packed/shared blocks. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Don't dead-code eliminiate uniforms declared in uniform blocks.Eric Anholt2012-07-201-1/+7
| | | | | | | This is a requirement for std140 uniform blocks, and optional for packed/shared blocks. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Implement the UBO-specific pnames of glGetActiveUniformsiv.Eric Anholt2012-07-201-2/+13
| | | | Reviewed-by: Ian Romanick <[email protected]>
* glsl: Propagate uniform block information into gl_uniform_storage.Eric Anholt2012-07-202-1/+74
| | | | | | | Now we can actually return information on uniforms in uniform blocks in the new queries. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add implementation of glGetUniformBlockIndex().Eric Anholt2012-07-201-0/+27
| | | | | | | | | Now that we finally have a list of uniform blocks in the linked shader program, we can tell what their indices are. Fixes piglit GL_ARB_uniform_buffer_object/getuniformblockindex. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Set the uniform_block index for the linked shader variables.Eric Anholt2012-07-201-0/+45
| | | | | | | | | | | | At this point in the linking, we've totally lost track of the struct gl_uniform_buffer that this pointed to in the original unlinked shader, so we do a nasty n^2 walk to find it the new one based on the variable name. Note that these point into the shader's list of gl_uniform_buffers, not the linked program's. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add support for glGetActiveUniformsiv on non-UBO pnames.Eric Anholt2012-07-203-0/+70
| | | | | | | We'll need to propagate the UBO fields to the uniform storage records before we can handle the other pnames. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add support for glGetUniformIndices().Eric Anholt2012-07-201-0/+35
| | | | | | | | | This is a single entrypoint that maps from a series of names to the indices of those names within the active uniforms list. Each index is like glGetUniformLocation()'s return value, except that it doesn't encode an array offset. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Move the _mesa_uniform_merge_location_offset to glGetUniformLocation().Eric Anholt2012-07-204-16/+28
| | | | | | | With the upcoming GL_ARB_uniform_buffer_object changes, the only other caller that will want the cooked value is state_tracker. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Merge the lists of uniform blocks into the linked shader program.Eric Anholt2012-07-205-4/+185
| | | | | | This attempts error-checking, but the layout isn't done yet. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Translate the AST for uniform blocks into some IR structures.Eric Anholt2012-07-206-1/+103
| | | | | | | | | | We're going to need this structure to cross-validate the uniform blocks between shader stages, since unused ir_variables might get dropped. It's also the place we store the RowMajor qualifier, which is not part of the GLSL type (since that would cause a bunch of type equality checks to fail). Reviewed-by: Ian Romanick <[email protected]>
* glsl: Turn UBO variable declarations into ir_variables and check qualifiers.Eric Anholt2012-07-204-3/+39
| | | | | | Fixes piglit layout-*-non-uniform and layout-*-within-block. Reviewed-by: Ian Romanick <[email protected]>
* st/xorg: fix masked transformationsLucas Stach2012-07-201-20/+40
| | | | | | | | | | Someone tried to be clever and "optimized" add_vertex_data2() to just use two points for the texture coordinates and then reuse individual components. Sadly this is not how matrix multiplication works. Fixes rendercheck -t tmcoords Signed-off-by: Lucas Stach <[email protected]>
* i965/blorp: Use IMS layout when texturing from depth/stencil surfaces.Paul Berry2012-07-201-23/+43
| | | | | | | | | | | | | | Previously, on Gen7, when texturing from a depth or stencil surface, the blorp engine would configure the 3D pipeline as though the input surface was non-multisampled, and perform the necessary coordinate transformations in the fragment shader to account for the IMS layout. This meant outputting a lot of extra fragment shader code, and it raised some uncertainty about how to deal with very large surfaces. This patch modifies blorp to configure the 3D pipeline properly for IMS layout when reading from depth and stencil surfaces. Reviewed-by: Anuj Phogat <[email protected]>