| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
The triangle rasterizer sets this field to indicate front/back-facing.
It gets passed into the generated fragment code as another parameter.
Used now for stencil front/back selection but will also be used for
fragment shaders in general (see TGSI_SEMANTIC_FACE).
With this commit two-sided stenciling mostly works but there's
still a bug or two...
|
| |
|
| |
|
|
|
|
| |
Instead of passing an array, just pass two scalar values.
|
| |
|
|
|
|
| |
Fixes occasional bad tiles seen in some demos like progs/demos/reflect.c
|
|
|
|
|
|
|
| |
Swizzling needs the destination surface in VRAM, but the subsequent
rendering operations making use of it are likely to not care. Fire the
ring after validation to leave the memory manager more room for
maneuvering.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
nouveau reallocated the mipmap tree on every MIN_FILTER call to account
for mipmap change. We only need to do this if the texture does not fit
in the existing mipmap tree. This gives a big performance boost for a
game like bzflag which changes MIN_FILTER all the time for its font
rendering.
Signed-off-by: Xavier Chantry <[email protected]>
Signed-off-by: Francisco Jerez <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
The default viewport is the window rectangle, which is set up by
_mesa_make_current(). To be able to do that we need to get the
window dimension (and buffers) first, so we have to call
intel_prepare_render() before we can call into _mesa_make_current().
Fixes #26676 and #26678.
|
| |
|
|
|
|
|
|
| |
Most stencil demos look OK (modulo some unrelated rendering glitches).
Only single-sided stencil test works at this point.
There are probably some bugs to be found...
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Use the new enum values rather than integers in a few places.
|
| |
|
| |
|
|
|
|
|
|
| |
The pitch is not really an inherent part of the miptree, since it's
not part of any of the layout calculations, and it's dictated by the
libdrm-allocated region pitch now.
|
|
|
|
|
|
|
| |
The primary consumer of this (miptree relayout) already has this code
for handling failure, and the other paths want to know if failure
actually occurs and do something appropriate, which may not include
memcpy.
|
|
|
|
|
| |
If a non-zero src_y was used, this would break piglit
depth-level-clamp.
|
|
|
|
| |
Bug #26966: 945 miptree pitch disagreement with libdrm.
|
|
|
|
|
| |
We don't have any fallback code here, and we want to avoid this path
if failure would happen, so just assert.
|
|
|
|
| |
This is the last pitch-dependent part of miptree setup.
|
| |
|
| |
|
| |
|
|
|
|
| |
This lets us avoid conditionals and duplicated code in several places.
|
|
|
|
|
|
|
| |
If the test image was larger than the window, nothing was drawn because
of invalid raster position. Use glWindowPos instead of glRasterPos.
Also, use integer src/dst coordinates to avoid grabbing black pixels
outside of the src image region.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
src/mesa/state_tracker/st_cb_drawpixels.c
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
And replace some instances of GLuint with unsigned int to avoid pulling in
GL/gl.h
|
| |
| |
| |
| |
| | |
Nearly certain this is what was intended; it compiles, but I'm not sure
this path is ever hit in my tests.
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
Makefile
src/mesa/main/version.h
|
| |
| |
| |
| |
| |
| | |
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)
|