Alex Deucher [Wed, 1 Dec 2010 18:22:00 +0000 (13:22 -0500)]
r600c: fix some opcodes on evergreen
There were a few places where we were using the wrong opcodes
on evergreen. arl still needs to be fixed on evergreen; see
r600g for reference.
NOTE: This is a candidate for the 7.9 branch.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Marek Olšák [Wed, 1 Dec 2010 15:44:22 +0000 (16:44 +0100)]
r300/compiler: implement and lower OPCODE_CLAMP
Needed for st/vega.
José Fonseca [Wed, 1 Dec 2010 12:31:21 +0000 (12:31 +0000)]
vega: Remove extraneous ;
José Fonseca [Wed, 1 Dec 2010 12:20:58 +0000 (12:20 +0000)]
scons: Move MSVS_VERSION option to common module.
José Fonseca [Tue, 30 Nov 2010 14:06:34 +0000 (14:06 +0000)]
svga: Silence debug printf.
Chia-I Wu [Wed, 1 Dec 2010 10:23:53 +0000 (18:23 +0800)]
st/vega: Avoid unnecessary constant bufer upload.
Remember the last uploaded data and avoid re-uploading.
Chia-I Wu [Wed, 1 Dec 2010 09:13:09 +0000 (17:13 +0800)]
st/vega: Initialize pipe states with renderer.
Initialize vertex elements, rasterizer, stencil ref, and vertex shader
with renderer_create. Remove RASTERIZER_DIRTY and VS_DIRTY flags.
Chia-I Wu [Wed, 1 Dec 2010 09:51:41 +0000 (17:51 +0800)]
st/vega: Create drawing surface mask as needed.
As the blend texture, a drawing surface mask is used when masking is
enabled. It should be created as needed.
s/alpha_mask/surface_mask/ to follow OpenVG 1.1 naming.
Chia-I Wu [Wed, 1 Dec 2010 09:38:57 +0000 (17:38 +0800)]
st/vega: Delay blend texture creation until needed.
It is used for more advanced blending or mask update. It might not be
ever needed for some applications.
Chia-I Wu [Wed, 1 Dec 2010 08:59:43 +0000 (16:59 +0800)]
Chia-I Wu [Wed, 1 Dec 2010 05:39:59 +0000 (13:39 +0800)]
st/vega: Simplify radial gradient.
Eight less instructions with comments.
Chia-I Wu [Wed, 1 Dec 2010 03:54:58 +0000 (11:54 +0800)]
st/vega: Fix degenerate paints.
Fix the case that the two points of a linear gradient coincide, or the
case that the radius of a radial gradient is equal to or less than 0.
Zhenyu Wang [Wed, 1 Dec 2010 07:02:46 +0000 (15:02 +0800)]
i965: also using align1 mode for math2 on sandybridge
Like Eric's workaround patch of commit
490c23ee6be2e8531b5a14d42f808de83d401130.
This forces to align1 mode for math2 too.
Chia-I Wu [Wed, 1 Dec 2010 03:39:02 +0000 (11:39 +0800)]
st/vega: Fix negated logic in image_draw.
A typo from last commit.
Chia-I Wu [Tue, 30 Nov 2010 18:30:59 +0000 (02:30 +0800)]
st/vega: Fix paint coordinates transformations.
Depending on whether vgDrawPath(mode), vgDrawImage, or vgDrawGlyph[s] is
called, different paint-to-user and user-to-surface matrices should be
used to derive the sample points for the paint.
This fixes "paint" demo.
Chia-I Wu [Mon, 29 Nov 2010 07:11:16 +0000 (15:11 +0800)]
st/vega: Bump version to 1.1.
Chia-I Wu [Mon, 29 Nov 2010 03:49:18 +0000 (11:49 +0800)]
st/vega: Add color transformation support.
Per OpenVG 1.1. A new shader stage is added. It uses the first two
constants of the fragment shader for color transformation parameters.
Chia-I Wu [Mon, 29 Nov 2010 11:15:03 +0000 (19:15 +0800)]
st/vega: More flexible shader selection.
Divide bits of VegaShaderType into 6 groups: paint, image, mask, fill,
premultiply, and bw. Each group represents a stage. At most one shader
from each group will be selected when constructing the final fragment
shader.
Chia-I Wu [Sun, 28 Nov 2010 16:15:51 +0000 (00:15 +0800)]
st/vega: Revive mask layer support.
Chia-I Wu [Tue, 23 Nov 2010 17:24:38 +0000 (01:24 +0800)]
st/vega: Add primitive text support.
Optional features such as auth-hinting are not implemented. There is no
anti-aliasing, and no effort is done to keep the glyph origin integral.
So the text quality is poor.
Chia-I Wu [Wed, 24 Nov 2010 07:51:46 +0000 (15:51 +0800)]
st/vega: Make image_draw take a matrix.
Chia-I Wu [Wed, 24 Nov 2010 07:42:48 +0000 (15:42 +0800)]
st/vega: Make path_render and path_stroke take a matrix.
Chia-I Wu [Tue, 23 Nov 2010 14:39:31 +0000 (22:39 +0800)]
st/vega: Fix image sampler views for alpha-only formats.
For alpha-only VG formats, R = G = B = 1.0.
Chia-I Wu [Mon, 19 Apr 2010 12:16:07 +0000 (20:16 +0800)]
st/vega: Update to latest headers.
Chia-I Wu [Sun, 28 Nov 2010 11:45:17 +0000 (19:45 +0800)]
st/vega: Get rid of renderer_copy_texture.
Chia-I Wu [Sun, 28 Nov 2010 12:20:45 +0000 (20:20 +0800)]
st/vega: vg_copy_texture and vg_copy_surface should share code.
Chia-I Wu [Sat, 27 Nov 2010 19:48:23 +0000 (03:48 +0800)]
st/vega: Clean up renderer fields and functions.
Chia-I Wu [Sat, 27 Nov 2010 19:39:18 +0000 (03:39 +0800)]
st/vega: Clean up vg_context fields and functions.
Chia-I Wu [Sat, 27 Nov 2010 19:29:55 +0000 (03:29 +0800)]
st/vega: vg_manager should care about only the color buffer.
Move depth/stencil buffer, blend texture view, and alpha mask view
creation to vg_context.c.
Chia-I Wu [Sun, 28 Nov 2010 09:30:29 +0000 (17:30 +0800)]
st/vega: Make shader_bind call into the renderer.
With this commit, the pipe states are entirely managed by the renderer.
The rest of the code interfaces with the renderer instead of
manipulating the states directly.
Chia-I Wu [Sat, 27 Nov 2010 17:58:05 +0000 (01:58 +0800)]
st/vega: Move g3d states to renderer.
Let vg_context focus on OpenVG states and renderer focus on gallium
states.
Chia-I Wu [Sat, 27 Nov 2010 17:37:35 +0000 (01:37 +0800)]
st/vega: Use st_framebuffer for fb width/height.
This allows us to eventually make g3d states opaque.
Chia-I Wu [Sat, 27 Nov 2010 14:05:37 +0000 (22:05 +0800)]
st/vega: Delay fb state update to vg_validate_state.
vg_manager_validate_framebuffer should mark the fb dirty and have
vg_validate_state call cso_set_framebuffer. Rename VIEWPORT_DIRTY to
FRAMEBUFFER_DIRTY.
Chia-I Wu [Sat, 27 Nov 2010 07:04:30 +0000 (15:04 +0800)]
st/vega: Add POLYGON_STENCIL and POLYGON_FILL renderer state.
The states are designated for polygon filling. Polygon filling is a
two-pass process utilizing the stencil buffer. polygon_fill and
polygon_array_fill functions are updated to make use of the state.
Chia-I Wu [Sun, 28 Nov 2010 08:06:23 +0000 (16:06 +0800)]
st/vega: Use the renderer for vgMask.
vgMask renders to the alpha mask with special fragment shaders. The
operation can be supported by switching the renderer to FILTER state.
Chia-I Wu [Fri, 26 Nov 2010 15:25:18 +0000 (23:25 +0800)]
st/vega: Add FILTER renderer state for image filtering.
The state is designated to perform image filtering. execute_filter is
updated to make use of the state.
Chia-I Wu [Fri, 26 Nov 2010 15:21:17 +0000 (23:21 +0800)]
st/vega: Add CLEAR renderer state for vgClear.
This state provides the ability to clear rectangles of the framebuffer
to the specified color, honoring scissoring. vegaClear is updated to
make use of the state.
Chia-I Wu [Fri, 26 Nov 2010 14:49:20 +0000 (22:49 +0800)]
st/vega: Add SCISSOR renderer state.
The state can be used to set rectangles of the depth buffer to 0.0f.
update_clip_state is changed to use the state for scissor update.
Chia-I Wu [Fri, 26 Nov 2010 14:56:05 +0000 (22:56 +0800)]
st/vega: Add DRAWTEX renderer state.
This state provides glDrawTex-like function. It can be used for
vgSetPixels.
Rather than modifying every user of the renderer, this commit instead
modifies renderer_copy_surface to use DRAWTEX or COPY state internally
depending on whether the destination is the framebuffer.
Chia-I Wu [Fri, 26 Nov 2010 14:48:10 +0000 (22:48 +0800)]
st/vega: Overhaul renderer with renderer states.
Renderer states are high-level states to perform specific tasks. The
renderer is initially in INIT state. In that state, the renderer is
used for OpenVG pipeline.
This commit adds a new COPY state to the renderer. The state is used
for copying between two pipe resources using textured drawing. It can
be used for vgCopyImage, for example.
Rather than modifying every user of the renderer, this commit instead
modifies renderer_copy_texture to use the COPY state internally.
Chia-I Wu [Wed, 1 Dec 2010 03:21:17 +0000 (11:21 +0800)]
llvmpipe: Fix build errors on x86.
The errors were introduced by
efc82aef35a2aac5d2ed9774f6d28f2626796416.
Kristian Høgsberg [Tue, 30 Nov 2010 02:04:43 +0000 (21:04 -0500)]
docs: Fix MESA_drm_image typo
Brian Paul [Tue, 30 Nov 2010 23:07:52 +0000 (16:07 -0700)]
gallivm/llvmpipe: squash merge of the llvm-context branch
This branch defines a gallivm_state structure which contains the
LLVMBuilderRef, LLVMContextRef, etc. All data structures built with
this object can be periodically freed during a "garbage collection"
operation.
The gallivm_state object has to be passed to most of the builder
functions where LLVMBuilderRef used to be used.
Conflicts:
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
src/gallium/drivers/llvmpipe/lp_state_setup.c
Marek Olšák [Mon, 29 Nov 2010 02:40:04 +0000 (03:40 +0100)]
r300g: fix texture border color once again
I made the texwrap test be more thorough and realized that this driver code
had not been quite right. This commit fixes the border color for depth
textures, compressed textures, and 16-bits-per-channel textures
with up to 2 channels (R16, RG16).
NOTE: This is a candidate for the 7.9 branch.
Kenneth Graunke [Wed, 17 Nov 2010 19:03:57 +0000 (11:03 -0800)]
glsl/linker: Free any IR discarded by optimization passes.
Previously, IR for a linked shader was allocated directly out of the
gl_shader object - meaning all of it lived as long as the shader.
Now, IR is allocated out of a temporary context, and any -live- IR is
reparented/stolen to (effectively) the gl_shader. Any remaining IR can
be freed.
NOTE: This is a candidate for the 7.9 branch.
Kenneth Graunke [Thu, 11 Nov 2010 20:14:02 +0000 (12:14 -0800)]
glsl: Remove anti-built-in hacks from the print visitor.
Now that we only import built-in signatures that are actually used,
printing them is reasonable.
Kenneth Graunke [Thu, 11 Nov 2010 20:11:27 +0000 (12:11 -0800)]
glsl: Lazily import built-in function prototypes.
This makes a very simple 1.30 shader go from 196k of memory to 9k.
NOTE: This -may- be a candidate for the 7.9 branch, as the benefit is
substantial. However, it's not a simple change, so it may be wiser to
wait for 7.10.
Kenneth Graunke [Thu, 11 Nov 2010 20:21:27 +0000 (12:21 -0800)]
glsl: Refactor out cloning of function prototypes.
This allows us to reuse some code and will be useful later.
Aras Pranckevicius [Tue, 30 Nov 2010 21:24:44 +0000 (13:24 -0800)]
glsl: fix matrix type check in ir_algebraic
Fixes glsl-mat-mul-1.
Eric Anholt [Tue, 30 Nov 2010 21:28:47 +0000 (13:28 -0800)]
glsl: Quiet unreachable no-return-from-function warning.
Zack Rusin [Tue, 30 Nov 2010 21:13:11 +0000 (16:13 -0500)]
scons: add alias for identity
Eric Anholt [Tue, 30 Nov 2010 19:23:28 +0000 (11:23 -0800)]
glsl: Fix structure and array comparisions.
We were trying to emit a single ir_expression to compare the whole
thing. The backends (ir_to_mesa.cpp and brw_fs.cpp so far) expected
ir_binop_any_nequal or ir_binop_all_equal to apply to at most a vector
(with matrices broken down by the lowering pass). Break them down to
a bunch of ORed or ANDed any_nequals/all_equals.
Fixes:
glsl-array-compare
glsl-array-compare-02
glsl-fs-struct-equal
glsl-fs-struct-notequal
Bug #31909
Eric Anholt [Wed, 3 Nov 2010 17:21:07 +0000 (10:21 -0700)]
glsl: Add a helper constructor for expressions that works out result type.
This doesn't cover all expressions or all operand types, but it will
complain if you overreach and it allows for much greater slack on the
programmer's part.
Keith Whitwell [Tue, 30 Nov 2010 12:00:25 +0000 (12:00 +0000)]
llvmpipe: shortcircuit some calls to set_scene_state
Keith Whitwell [Tue, 30 Nov 2010 11:22:46 +0000 (11:22 +0000)]
llvmpipe: remove misleading debug string
Keith Whitwell [Mon, 29 Nov 2010 19:18:54 +0000 (19:18 +0000)]
llvmpipe: raise dirty flag on transfers to bound constbuf
Need this to trigger the scene to update its shadow of the constant
state.
José Fonseca [Mon, 29 Nov 2010 20:53:44 +0000 (20:53 +0000)]
wgl: More complete WGL_ARB_pbuffer support.
José Fonseca [Wed, 5 May 2010 14:14:02 +0000 (15:14 +0100)]
wgl: Stub WGL_ARB_pbuffer support.
See http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt
José Fonseca [Mon, 29 Nov 2010 21:13:38 +0000 (21:13 +0000)]
scons: Alias for svga
José Fonseca [Fri, 26 Nov 2010 17:12:09 +0000 (17:12 +0000)]
svga: Use consistent hexadecimal representation on debug output.
Marek Olšák [Mon, 29 Nov 2010 22:37:25 +0000 (23:37 +0100)]
util: rename u_mempool -> u_slab
Zack Rusin [Tue, 30 Nov 2010 07:01:43 +0000 (02:01 -0500)]
gallivm: fix storing of the addr register
we store into the index specified by the register index, not an
indirect register.
Eric Anholt [Fri, 5 Nov 2010 13:11:24 +0000 (06:11 -0700)]
glsl: Make the symbol table's add_variable just use the variable's name.
Eric Anholt [Fri, 5 Nov 2010 13:08:45 +0000 (06:08 -0700)]
glsl: Make the symbol table's add_function just use the function's name.
Eric Anholt [Tue, 30 Nov 2010 00:16:38 +0000 (16:16 -0800)]
i965: Fix type of gl_FragData[] dereference for FB write.
Fixes glsl-fs-fragdata-1, and hopefully Eve Online where I noticed
this bug in the generated shader. Bug #31952.
Adam Jackson [Mon, 29 Nov 2010 22:37:54 +0000 (17:37 -0500)]
drivers/x11: unifdef XFree86Server
This code was for the old GLcore build of the software rasteriser. The
X server switched to a DRI driver for software indirect GLX long ago.
Signed-off-by: Adam Jackson <ajax@redhat.com>
Marek Olšák [Mon, 29 Nov 2010 04:46:15 +0000 (05:46 +0100)]
st/mesa: fix texture border color for RED and RG base formats
The spec says the border color should be consistent with the internal
format.
Signed-off-by: Brian Paul <brianp@vmware.com>
pontus lidman [Mon, 29 Nov 2010 16:20:41 +0000 (09:20 -0700)]
mesa: check for posix_memalign() errors
Signed-off-by: Brian Paul <brianp@vmware.com>
Dave Airlie [Mon, 29 Nov 2010 01:38:24 +0000 (11:38 +1000)]
r600g: it looks like r600 can handle dword offsets in the indices.
Tested with piglit + ut2004 still seems to render okay (and it
definitely does this)
Marek Olšák [Sun, 28 Nov 2010 15:59:03 +0000 (16:59 +0100)]
u_blitter: interpolate clear color using a GENERIC varying instead of COLOR
There are also some u_simple_shaders changes.
On r300, the TGSI_SEMANTIC_COLOR varying is a fixed-point number clamped
to the range [0,1] and limited to 12 bits of precision. Therefore we can't
use it for passing through a clear color in order to clear high precision
texture formats.
This also makes u_blitter use only one vertex shader instead of two.
Henri Verbeet [Sat, 27 Nov 2010 16:29:56 +0000 (17:29 +0100)]
r600g: Fix the PIPE_FORMAT_A8_UNORM color swap for Evergreen as well.
Henri Verbeet [Sat, 27 Nov 2010 15:43:57 +0000 (16:43 +0100)]
r600g: Fix the PIPE_FORMAT_L8A8_UNORM color swaps.
Mathias Fröhlich [Sat, 30 Oct 2010 13:38:39 +0000 (15:38 +0200)]
st/mesa: Set PIPE_TRANSFER_DISCARD for GL_MAP_INVALIDATE_RANGE/BUFFFER_BIT
Signed-off-by: Brian Paul <brianp@vmware.com>
Note: this is a candidate for the 7.9 branch.
Brian Paul [Fri, 26 Nov 2010 20:42:23 +0000 (13:42 -0700)]
st/mesa: fix mapping of zero-sized buffer objects
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31934
Thomas Hellstrom [Fri, 26 Nov 2010 09:12:32 +0000 (10:12 +0100)]
xorg/vmwgfx: Don't clip video to viewport
Since the viewport is not updated on RandR12 mode switches anymore,
clipping to viewport may incorrectly clip away the video.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Thomas Hellstrom [Fri, 26 Nov 2010 09:06:47 +0000 (10:06 +0100)]
xorg/vmwgfx: Flush even if we don't autopaint the color key
This may help paint the colorkey before overlay updates in some
situations where the app paints the color key (mainly xine).
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Marek Olšák [Thu, 25 Nov 2010 14:07:02 +0000 (15:07 +0100)]
r300/compiler: move util functions to radeon_compiler_util
The compiler seriously needs a cleanup as far as the arrangement of functions
is concerned. It's hard to know whether some function was implemented or not
because there are so many places to search in and it can be anywhere and
named anyhow.
Marek Olšák [Thu, 25 Nov 2010 03:34:31 +0000 (04:34 +0100)]
r300/compiler: add a function for swizzling a mask
Marek Olšák [Thu, 25 Nov 2010 00:25:03 +0000 (01:25 +0100)]
r300/compiler: remove duplicate function rc_mask_to_swz
Marek Olšák [Wed, 24 Nov 2010 23:35:30 +0000 (00:35 +0100)]
r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction
It looks like the function was originally written for ARB_fragment_program.
NOTE: This is a candidate for the 7.9 branch.
Marek Olšák [Tue, 23 Nov 2010 13:09:21 +0000 (14:09 +0100)]
u_blitter: use PIPE_TRANSFER_DISCARD to prevent cpu/gpu stall
But the driver must be smart here and follow PIPE_TRANSFER_DISCARD,
as it should.
Xavier Chantry [Wed, 24 Nov 2010 20:50:36 +0000 (21:50 +0100)]
nvfx: reset nvfx->hw_zeta
If nvfx_framebuffer prepare and validate were called successively with
fb->zsbuf not NULL and then NULL, nvfx->hw_zeta would contain garbage and
this would cause failures in nvfx_framebuffer_relocate/OUT_RELOC(hw_zeta).
This was triggered by piglit/texwrap 2D GL_DEPTH_COMPONENT24 and caused
first a 'write to user buffer!!' error in libdrm and then worse things.
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Xavier Chantry [Wed, 24 Nov 2010 20:50:35 +0000 (21:50 +0100)]
nvfx: fb->nr_cbufs <= 1 on nv30
7e1bf946316ff99feaa3f2e85f70b45bd9a77ade changed
PIPE_CAP_MAX_RENDER_TARGETS to 1 on nv30.
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Kenneth Graunke [Thu, 25 Nov 2010 05:33:07 +0000 (21:33 -0800)]
glsl: Add a virtual as_discard() method.
NOTE: This is candidate for the 7.9 branch.
Kenneth Graunke [Thu, 25 Nov 2010 07:54:03 +0000 (23:54 -0800)]
glsl: Use do_common_optimization in the standalone compiler.
NOTE: This is a candidate for the 7.9 branch.
Kenneth Graunke [Thu, 25 Nov 2010 08:09:43 +0000 (00:09 -0800)]
glsl: Don't inline function prototypes.
Currently, the standalone compiler tries to do function inlining before
linking shaders (including linking against the built-in functions).
This resulted in the built-in function _prototypes_ being inlined rather
than the actual function definition.
This is only known to fix a bug in the standalone compiler; most
programs should be unaffected. Still, it seems like a good idea.
NOTE: This is a candidate for the 7.9 branch.
Vinson Lee [Thu, 25 Nov 2010 07:03:26 +0000 (23:03 -0800)]
r300/compiler: Move declaration before code.
Fixes this GCC warning with linux-x86 build.
radeon_pair_regalloc.c: In function ‘compute_live_intervals’:
radeon_pair_regalloc.c:222: warning: ISO C90 forbids mixed declarations and code
Vinson Lee [Thu, 25 Nov 2010 07:00:03 +0000 (23:00 -0800)]
r300/compiler: Move declaration before code.
Fixes this GCC warning with linux-x86 build.
radeon_pair_regalloc.c: In function ‘compute_live_intervals’:
radeon_pair_regalloc.c:221: warning: ISO C90 forbids mixed declarations and code
Chia-I Wu [Thu, 25 Nov 2010 05:18:47 +0000 (13:18 +0800)]
st/vega: Fix a typo in EXTENDED_BLENDER_OVER_FUNC.
The typo was introduced by commit
231d5457b275c1d9bbeff14165cf3da33dda176b.
Chia-I Wu [Thu, 25 Nov 2010 05:01:17 +0000 (13:01 +0800)]
st/vega: No flipping in vg_prepare_blend_surface.
The blend sampler view is addressed with unnormalized coordinates in the
fragment shader. It should have the same orientation as the surface
does.
Chia-I Wu [Thu, 25 Nov 2010 04:20:15 +0000 (12:20 +0800)]
st/vega: Masks and surfaces should share orientation.
The alpha mask is addressed with unnormalized coordinates in the
fragment shader. It should have the same orientation as the surface
does.
This fixes "mask" OpenVG demo.
Chia-I Wu [Wed, 24 Nov 2010 08:29:10 +0000 (16:29 +0800)]
st/vega: Fix a crash with empty paths.
Chia-I Wu [Thu, 25 Nov 2010 05:00:18 +0000 (13:00 +0800)]
auxiliary: util_blit_pixels_tex should restore the viewport.
Viewport state should be saved/restored.
Dave Airlie [Wed, 24 Nov 2010 21:29:03 +0000 (07:29 +1000)]
r300g/r600g: bump cache manager timeouts to 1s
On lightsmark on my r500 this drop the bufmgr allocations of the sysprof.
Kenneth Graunke [Wed, 24 Nov 2010 21:59:46 +0000 (13:59 -0800)]
mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.
Previously, the get table listed all three as having custom locations,
yet find_custom_value did not have cases to handle them.
MAX_VARYING_VECTORS does not need a custom location since MaxVaryings is
already stored as float[4] (or vec4). MaxUniformComponents is stored as
the number of floats, however, so a custom implementation that divides
by 4 is necessary.
Fixes bugs.freedesktop.org #31495.
Peter Clifton [Wed, 24 Nov 2010 15:24:31 +0000 (15:24 +0000)]
meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear
This fixes incorrect behaviour when the stencil clear value exceeds
the size of the stencil buffer, for example, when set with:
glClearStencil (~1); /* Set a bit pattern of 111...
11111110 */
glClear (GL_STENCIL_BUFFER_BIT);
The clear value needs to be masked by the value 2^m - 1, where m is the
number of bits in the stencil buffer. Previously, we passed the value
masked with 0x7fffffff to _mesa_StencilFuncSeparate which then clamps,
NOT masks the value to the range 0 to 2^m - 1.
The result would be clearing the stencil buffer to 0xff, rather than 0xfe.
Signed-off-by: Peter Clifton <pcjc2@cam.ac.uk>
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Wed, 24 Nov 2010 19:01:02 +0000 (12:01 -0700)]
x11: remove test_proxy_teximage() function
This was really just for testing purposes.
Brian Paul [Wed, 24 Nov 2010 19:00:16 +0000 (12:00 -0700)]
mesa: added _mesa_format_image_size64()
Brian Paul [Wed, 24 Nov 2010 17:24:17 +0000 (10:24 -0700)]
mesa: add assertion and update comment in _mesa_format_image_size()
Kristian Høgsberg [Wed, 24 Nov 2010 15:12:20 +0000 (10:12 -0500)]
i965: Don't write mrf assignment for pointsize output
https://bugs.freedesktop.org/show_bug.cgi?id=31894