summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2011-03-11mesa: Add a builtin uniform for the ATI_envmap_bumpmap rotation matrix.Eric Anholt
For fixed function fragment processing in GLSL IR, we want to be able to reference this state value. gl_* not explicitly permitted is reserved, so using this variable name internally shouldn't be any issue.
2011-03-11mesa: Move texenvprogram.c to ff_fragment_shader.cpp.Eric Anholt
This file is about to change to generating a shader program instead of a fragment program.
2011-03-11prog_cache: Add some support for shader_programs in prog_cache.Eric Anholt
This is used in the upcoming fixed function shader_program generation, and shader_program and ARB programs are together in this code until both fragment and vertex ff get converted.
2011-03-11mesa: Don't try to remove an internal shader_program from the hash.Eric Anholt
It fails on assertions if the key isn't actually present.
2011-03-11i965: Use ffs() on a 32-bit int value instad of ffsll().Eric Anholt
2011-03-11gallium: remove flags from the flush functionMarek Olšák
The drivers have been changed so that they behave as if all of the flags were set. This is already implicit in most hardware drivers and required for multiple contexts. Some state trackers were also abusing the PIPE_FLUSH_RENDER_CACHE flag to decide whether flush_frontbuffer should be called. New flag ST_FLUSH_FRONT has been added to st_api.h as a replacement.
2011-03-11gallium: remove the geom_flags param from is_format_supportedMarek Olšák
2011-03-11gallium: cleanup fence_signalled and fence_finishMarek Olšák
So that they don't have the driver-specific param and return type.
2011-03-11mesa: test against MaxUniformComponents in check_resources()Brian Paul
Since we're compiling/linking GLSL shaders we should check against the shader uniform limits, not the legacy vertex/fragment program parameter limits which are usually lower.
2011-03-11mesa: move location of some geometry program limitsBrian Paul
The gl_program_constants struct is for limits that are applicable to any/all shader stages. Move the geometry shader-only fields into the gl_constants struct. Remove redundant MaxGeometryUniformComponents field too.
2011-03-11mesa: use check_resources() to check program against limitsBrian Paul
Without these checks we could create shaders with more samplers, constants than the driver could handle. Fail linking rather than dying later.
2011-03-11mesa: replace NEED_SECONDARY_COLOR(), RGBA_LOGICOP_ENABLED() with inlinesBrian Paul
and rename them.
2011-03-11mesa: call FLUSH_VERTICES() before deleting shaders, buffers, query objectsBrian Paul
Need to flush rendering (or at least indicate that the rug might be getting pulled out from underneath us) when a shader, buffer object or query object is about to be deleted. Also, this helps to tell the VBO module to unmap its current vertex buffer.
2011-03-11st/mesa: remove unnecessary flushesMarek Olšák
The framebuffer cache flush should be implicit when calling set_framebuffer_state. There is no need to flush the command stream either.
2011-03-09intel: Don't complain when getparam fails due to a missing param.Eric Anholt
This is an expected behavior when we're testing for the presence of new kernel features.
2011-03-09i965: Pack the tracked state atoms into separate arrays for prepare/emit.Chris Wilson
Improves performance of a hacked-up scissor-many (to reuse a small set of scissors instead of blowing out the cache, and then to run 100x more iterations so it actually took some time) by 3.6% +/- 1.2% (n=10)
2011-03-08gallium: add timeout parameter to fence_finishMarek Olšák
This is a follow-up to the ARB_sync patch for st/mesa and completes the ARB_sync implementation.
2011-03-08st/mesa: implement ARB_syncMarek Olšák
The ServerWaitSync implementation matches Intel's driver. The extension is advertised when pipe_screen::fence_finish is set.
2011-03-08st/mesa: cleanup checking for signed compressed formats in generate_mipmapsMarek Olšák
2011-03-08st/mesa: add LATC and 3DC supportMarek Olšák
softpipe passes all tests.
2011-03-08mesa: add ATI_texture_compression_3dcMarek Olšák
LUMINANCE_ALPHA_LATC2 = LUMINANCE_ALPHA_3DC, so this is easy. Note that there is no specification for 3DC, just a few white papers from ATI.
2011-03-08mesa: add EXT_texture_compression_latcMarek Olšák
The encoding/decoding algorithms are shared with RGTC. Thanks to some magic with the base format, the RGTC texstore functions work for LATC too. swrast passes the related piglit tests besides two things: - The alpha channel is wrong (it's always 1), however the incorrect alpha channel makes some other tests fail too, so I guess it's unrelated to LATC. - Signed LATC fetches aren't correct yet (signed values are clamped to [0,1]), however RGTC has the same problem. Further testing (with other of my patches) shows that hardware drivers and softpipe work. BTW, ETQW uses this extension.
2011-03-08st/mesa: Fix an incorrect user vertex buffer referenceThomas Hellstrom
st->user_vb[attr] was always pointing to the same user vb, regardless of the value of attr. Together with reverting the temporary workaround for bug 34378, and a fix in the svga driver, this fixes googleearth on svga. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-03-08vbo: mark vertex arrays as dirty when re-bindingMarek Olšák
This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=34378
2011-03-08r300/compiler: remove unused variablesMarek Olšák
2011-03-08swrast: flip the conditionals in shadow_compare4() for readabilityBrian Paul
2011-03-08swrast: add coord clamping, fix comparisons for shadow testingPhilip Taylor
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=31159 for swrast and piglit depth-tex-compare. NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Brian Paul <brianp@vmware.com>
2011-03-08r300/compiler: fix equal and notequal shadow compare functionsMarek Olšák
2011-03-08r300/compiler: detect constants harderMarek Olšák
2011-03-08r300/compiler: improve the detection of constants for constant foldingMarek Olšák
Now the expression V==0 generates one instruction instead of two.
2011-03-08r300/compiler: saturate Z before the shadow comparisonMarek Olšák
This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=31159 NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-03-07mesa: return after invalidating renderbufferMarek Olšák
2011-03-07st/mesa: fail to alloc a renderbuffer if st_choose_renderbuffer_format failsMarek Olšák
This fixes: state_tracker/st_format.c:401:st_pipe_format_to_mesa_format: Assertion `0' failed.
2011-03-07mesa: invalidate framebuffer if internal format of renderbuffer is changedMarek Olšák
RenderTexture doesn't have to be called in invalidate_rb, I guess.
2011-03-07mesa: initialize DummyBufferObject's mutexBrian Paul
The mutex's fields were all zeros. That's OK on Linux, but not Windows. NOTE: This is a candidate for the 7.10 branch.
2011-03-07st/mesa: fix incorrect version checking codeBrian Paul
2011-03-07mesa: remove stray _mesa_finish() call in _mesa_CopyPixels()Brian Paul
Leftover debug code from 6364d75008b4fa580c1cb47c59ba1cf3e0caa6cd.
2011-03-07i915: Only invert wpos when rendering to the system framebuffer.Henri Verbeet
2011-03-07i915: Derive the gl_fragment_program from i915_fragment_program.Henri Verbeet
Instead of using the current gl_fragment_program. These aren't necessarily the same, for example when translate_program() is called by i915ValidateFragmentProgram().
2011-03-07intel: check for miptree allocation failureChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-07intel: Add some defense against buffer allocation failure for subimage blitsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-07intel: Add some defense against bo allocation failureChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-06glx/dri: add initial dri interface for GLX_EXT_framebuffer_sRGB.Dave Airlie
This realigns the name of the glx bit to align with the core mesa names.
2011-03-05gallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISORMarek Olšák
ARB_instanced_arrays is a subset of D3D9. ARB_draw_instanced is a subset of D3D10. The point of this change is to allow D3D9-level drivers to enable ARB_instanced_arrays without ARB_draw_instanced.
2011-03-04i965: Apply a workaround for the Ironlake "vertex flashing".Eric Anholt
This is an awful hack and will hurt performance on Ironlake, but we're at a loss as to what's going wrong otherwise. This is the only common variable we've found that avoids the problem on 4 applications (CelShading, gnome-shell, Pill Popper, and my GLSL demo), while other variables we've tried appear to only be confounding. Neither the specifications nor the hardware team have been able to provide any enlightenment, despite much searching. https://bugs.freedesktop.org/show_bug.cgi?id=29172 Tested by: Chris Lord <chris@linux.intel.com> (Pill Popper) Tested by: Ryan Lortie <desrt@desrt.ca> (gnome-shell)
2011-03-04st/mesa: set PIPE_BIND_RENDER_TARGET for sRGB formats if UNORM is supportedMarek Olšák
Because the format can be changed to UNORM in a surface. This fixes: state_tracker/st_atom_framebuffer.c:163:update_framebuffer_state: Assertion `framebuffer->cbufs[i]->texture->bind & (1 << 1)' failed.
2011-03-04i965: Fix extending VB packetsChris Wilson
Computation of the delta of this array from the last had a silly little bug and ignored any initial delta==0 causing grief in Nexuiz and friends. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-04i965: Handle URB_FENCE erratum for BroadwaterChris Wilson
There is a silicon bug which causes unpredictable behaviour if the URB_FENCE command should cross a cache-line boundary. Pad before the command to avoid such occurrences. As this command only applies to gen4/5, do the fixup unconditionally as the specs do not actually state for which chip it was fixed (and the cost is negligible)... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-04i965: Align index to type size and flush if the type changesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-04intel: Add couple of missing gen6 commands to decodeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>