Age | Commit message (Collapse) | Author |
|
Use the _mesa_clip_readpixels() function to clip the src region against
the buffer's bounds. Neatly, the resulting pixel unpack object's
SkipPixels/SkipRows fields can be used to determine the position of the
region in the destination texture.
Fixes crash in progs/samples/copy.c and probably other cases.
|
|
|
|
|
|
Corresponds to d225a25e21a24508aea3b877c78beb35502e942d and fixes
piglit glsl-fs-loop-nested. Bug #25173.
(cherry picked from commit a81836ee2fe5092d695b717addf8cec91f569777)
|
|
We were doing it ad-hoc before, as instructions with potential
aliasing problems were identified. But thanks to swizzling basically
anything can have aliasing, so just do it generally at source reg
setup time. This is somewhat inefficient, because sometimes an
operation doesn't need unaliasing protection if the swizzling is safe,
but the unaliasing before didn't cover those cases either.
Fixes piglit glsl-fs-loop.
(cherry picked from commit 6b194dab6b4d9f12cdd54c699b23c0d3420a49c2)
|
|
We were patching up all the break and continues between the start of
our loop and the end of our loop, even if they were breaks/continues
for an inner loop. Avoiding patching already patched breaks/continues
fixes piglit glsl-vs-loop-nested.
(cherry picked from commit f6f547d87ea68f44c50a0b0231b7360ca94b2975)
|
|
(cherry picked from commit 7f6d2754d586545ab6c970acffdd897294879039)
|
|
The code was walking over the regs of pairs of attributes and checking
whether the attribute with a given reg index had point sprite enabled.
So the point sprite setup code was rarely even getting executed.
Instead, we need to determine which channels of a reg need point
sprite coordinate replacement. In addition, it was multiplying the
attribute by 1/w, when it's supposed to cover (0, 1) in each direction
regardless of w, and it wasn't filling in the Z and W components of
the texcoord as specified.
Fixes piglit point-sprite and the spriteblast demo. Bug #24431, #22245.
(cherry picked from commit bc632d04370566c1156cbd0345fe303834f0b910)
|
|
This would be triggered by use of sqrt() along with control flow.
Fixes piglit-fs-sqrt-branch and a bug in Yo Frankie!.
(cherry picked from commit 48dca99feb394febc3af44e14f23fb12a9cc9204)
|
|
The bad response length would hang the GPU with a masked sample in a
shader using control flow. For 8-wide, the response length is always
4, and masked slots are just not written to. brw_wm_glsl.c already
allocates registers in the right locations.
Fixes piglit glsl-fs-bug25902 (fd.o bug #25902).
(cherry picked from commit f6d210c284751ac50a8d6358de7e75a1ff1e4ac7)
(cherry picked from commit dc8c0359448cdae7b367552ba58783c04b199778)
|
|
|
|
From 247e121106e8d3e389f2e5a6edf13ea70ac18df7 Mon Sep 17 00:00:00 2001
These seem to be documented in
<http://www.svgopen.org/2003/papers/RasterOperationsUsingFilterElements/index.html>.
|
|
If flush happens inside radeonRefillCurrentMaRegion the last dma buffer would
be unmapped twice. Unmapping buffer when moving buffer to wait list fixes the
mapping error.
|
|
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
(cherry picked from commit f05a4ee6f2840590c90da4be2fe5c6295410a5af)
|
|
|
|
Allows compiz to work in depth 16.
The DRI2 getBuffersWithFormat hook is only required for 16/32 bit depth
buffers, for colour buffers the only requirement is that the format matches
the drawable depth, which we can't check here.
(cherry picked from commit c50477c255a34444720fb944c54373462ef39fb9)
|
|
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
Signed-off-by: Jeff Smith <whydoubt@yahoo.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
|
|
|
|
Set the _NEW_BUFFERS flag and remove the code which updated the
parent framebuffer size. Normal Mesa state validation will do that.
Fixes issues with Warsow on r300g and possibly other bugs.
|
|
|
|
|
|
|
|
There was a DrawBuffer/ReadBuffer typo and we were neglecting to invert
the texture coords when copying from a window to an FBO.
Plus, add some surface dump/debug code (disabled).
(cherry picked from commit 34f02071618624263eba839b5aeb930d0e794078)
|
|
We weren't inverting the textured quad when drawing into an fbo.
(cherry picked from commit 8d3f629a13afb0d6acafc7a007972fdc5efe6847)
|
|
Could result in use of freed memory and consequently random crashes, e.g. on
screen resize.
(cherry picked from commit 21c91b410a2a2cbf8eb677e59e3322f86320f2b0)
Conflicts:
src/gallium/state_trackers/xorg/xorg_tracker.h
|
|
noticed by fredrikh on IRC.
|
|
Before, we only cleared the flags for the active tiles (the ones inside
the framebuffer bound). The problem is if we later bound a different,
larger surface to the tile cache we'd have some stale clear-flags still
set (and mistakenly clear some tiles in the new surface).
Fixes fd.o bug 26932.
|
|
There's no reason to release the renderbuffer from the framebuffer object
or release the gallium surface in this function (they're reference counted).
In fact, we don't want to do this because we may later use the texture as a
pixel source (ex: glBlitFramebuffer) and need the surface.
Fixes fd.o bug 26923 and is part of the fix for bug 26932.
|
|
|
|
Allow render to texture for X8_Z24 and Z24_X8 formats.
Replace big if/else with switch, etc.
|
|
|
|
|
|
|
|
|
|
R300 hw doesn't support sampling from Z24_S8 or S8_Z24 formats.
|
|
|
|
Fixes some relocation failures
|
|
|
|
|
|
|
|
Fixes two wine d3d9 unit tests
|
|
|
|
_tnl_UpdateFixedFunctionProgram is already called in r300_draw.c
|
|
|
|
MESA_FORMAT_Z16 has no stencil bits.
|
|
When the paint is color, paint_bind_samplers binds a dummy sampler
without a texture. It causes demos requiring a sampler (those use a
mask or an image) to crash.
|
|
Fixes use of uninitialized variables in non-debug builds.
|