Commit Graph

30307 Commits

Author SHA1 Message Date
Chia-I Wu 94cb321b5d egl: Clean up header inclusions.
Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
2010-01-30 22:55:49 +08:00
Roland Scheidegger 847ac8ec5f gallium: fix blend state cso
if independent blend state was disabled, only the data from first rt was
stored, however the comparison used the full state, hence there never was
a match and always a new object was created.
Fixes a huge performance drop with llvmpipe due to recompilation.
2010-01-30 01:58:00 +01:00
Brian Paul b8d4cbd7e2 progs/demos: new image dissolve demo
Dissolve between two images using a random pattern in the stencil
buffer and a varying stencil ref value.
2010-01-29 14:01:34 -07:00
Brian Paul 98f3f1c695 gallium: document pipe_context::get_query_result() 2010-01-29 14:01:34 -07:00
Keith Whitwell 3fc73c389a Merge commit 'lb2/arb_fragment_coord_conventions' 2010-01-29 20:24:26 +00:00
Corbin Simpson 882279d31a docs: Mark what I've been up to.
Brian, feel free to split/revert if you disagree.
2010-01-29 09:54:42 -08:00
Brian Paul e94021660b progs/tests: added a few more files to .gitignore 2010-01-29 08:43:28 -07:00
Brian Paul 6fea2be795 tnl: check that state is validated before drawing
(cherry picked from commit 9fd3c74724)

Conflicts:

	src/mesa/tnl/t_draw.c
2010-01-29 08:40:46 -07:00
Brian Paul 987dd63b90 st/mesa: check that state is validated before drawing
(cherry picked from commit 4d1234e222)

Conflicts:

	src/mesa/state_tracker/st_draw.c
2010-01-29 08:39:47 -07:00
Brian Paul 5ce9183c1c vbo: fix missing state validation bugs
Commit 2708ddfb06 caused a few regressions.
We need to check/validate state after calling bind_arrays() because
it might set the _NEW_ARRAYS flag if the varying VP inputs change.

The symptom of this problem was some attribute arrays being ignored
(or interpreted as constant-valued) in glDrawRangeElements or
glMultiDrawElements.

A follow-on patch will add some additional asserts to try to catch
this kind of thing in the future.

(cherry picked from commit 3cba779e16)
2010-01-29 08:38:21 -07:00
Brian Paul a38859569d mesa: do state validation in _mesa_valid_to_render()
...rather than checking/validating before all the calls to
_mesa_valid_to_render() and valid_to_render().

The next patch will actually fix some bugs...

(cherry picked from commit 23eda89ec8)
2010-01-29 08:38:11 -07:00
Brian Paul 364b008d18 docs: Fixed Windows build for 7.7.1
(cherry picked from commit a0518e66b2)
2010-01-29 08:37:31 -07:00
Brian Paul ee5e84eba6 windows: assorted build fixes
These changes were originally submitted by Karl Schultz for Mesa 7.7-rc2
but weren't applied.

(cherry picked from commit 82c76cd16f)
2010-01-29 08:37:15 -07:00
Rodolfo Ribeiro Gomes 81cca6d453 glx: fix possible memory leaks in dri2CreateScreen()
Original patch fixed up by Brian Paul.
2010-01-29 08:36:47 -07:00
Brian Paul 4886f677ec mesa: Warn when indices are out of bounds, but do not skip the draw in debug builds.
The driver (or preferably the hardware) should handle out of bounds
indices.

If there are problems then it's better to detect those in the debug
builds.

(cherry picked from commit e3257912e0)
2010-01-29 08:31:48 -07:00
Luca Barbieri b2299d80b4 softpipe: support all TGSI fragment coord conventions (v4)
Changes in v4:
- Rebase and modify for changes in previous patches

Changes in v3:
- Use positive caps instead of negative caps

Changes in v2:
- Now takes the fragment convention directly from the fragment shader

Adds internal support for all fragment coord conventions to softpipe.

This patch is not required for use with the current state trackers, but it
allows softpipe to run any TGSI program and enhances performance.
2010-01-29 14:14:29 +01:00
Luca Barbieri 62c673b6ac st/mesa: Gallium support for ARB_fragment_coord_conventions (v4)
Changes in v4;
- Implemented Brian Paul's style suggestions

Changes in v3:
- Use positive caps instead of negative ones

Changes in v2:
- Updated formatting

The state tracker will use the TGSI convention properties if the hardware
exposes the appropriate capability, and otherwise adjust WPOS itself.

This will also fix some drivers that were previously broken due to their
incorrect, inadvertent, use of conventions other than upper_left+half_integer.
2010-01-29 14:14:29 +01:00
Luca Barbieri 6c403750d6 tgsi: add caps for fragment coord conventions (v3)
Changes in v3:
- Renumber caps to accomodate caps to add to master in the meantime
- Document caps
- Add unsupported caps to *_screen.c too

Changes in v2:
- Split for properties patch
- Use positive caps instead of negative caps

This adds 4 caps to indicate support of each of the fragment coord
conventions.

All drivers are also modifed to add the appropriate caps.

Some drivers were incorrectly using non-Gallium-default conventions,
and caps for them have them set so that they will behave correctly
after the later state tracker patches.

This drivers are softpipe/llvmpipe (uses integer rather than half
integer) and pre-nv50 Nouveau (uses lower left rather than upper left).

Other drivers might be broken. With this patchset, fixing them is
only a matter of exposing the appropriate caps that match the behavior
of the existing code.

Drivers are encouraged to support all conventions themselves for better
performance, and this feature is added to softpipe in a later patch.
2010-01-29 14:13:14 +01:00
Luca Barbieri 73317139a4 tgsi: add properties for fragment coord conventions (v3)
Changes in v3:
- Documented the new properties
- Added comments for property values
- Rebased to current master

Changes in v2:
- Caps are added in a separate, subsequent patch

This adds two TGSI fragment program properties that indicate the
fragment coord conventions.

The properties behave as described in the extension spec for
GL_ARB_fragment_coord_conventions, but the default origin in
upper left instead of lower left as in OpenGL.

The syntax is:
PROPERTY FS_COORD_ORIGIN [UPPER_LEFT|LOWER_LEFT]
PROPERTY FS_COORD_PIXEL_CENTER [HALF_INTEGER|INTEGER]

The names have been chosen for consistency with the GS properties
and the OpenGL extension spec.

The defaults are of course the previously assumed conventions:
UPPER_LEFT and HALF_INTEGER.
2010-01-29 14:13:14 +01:00
Luca Barbieri 3cea5525d0 mesa: don't expose GL_ARB_fragment_coord_conventions until the GLSL part is done
Exposing it was incorrect, as the GLSL part of the extension is
missing.

We still keep the ARB_fragment_coord_conventions field, so that the
ARBfp parser can know whether to accept or reject the keywords.
2010-01-29 14:13:13 +01:00
Alan Hourihane 7683271e63 another gcc 4.2.x check for mstackrealign 2010-01-29 10:22:50 +00:00
Vinson Lee df8273494e glu/sgi: Remove unnecessary headers. 2010-01-28 18:07:04 -08:00
Vinson Lee 548b9c4ece svga: Remove unnecessary headers. 2010-01-28 17:32:33 -08:00
Vinson Lee 7280c4c9fe softpipe: Remove unnecessary header. 2010-01-28 15:56:50 -08:00
Vinson Lee 1a2f9d722e llvmpipe: Remove unnecessary header. 2010-01-28 15:54:57 -08:00
Vinson Lee fc4939bff9 egl: Remove unnecessary headers. 2010-01-28 15:39:11 -08:00
Vinson Lee d40070029f progs/tests: Remove unnecessary headers. 2010-01-28 15:11:39 -08:00
Vinson Lee bbb41153c2 progs/glsl: Fix bump GLSL compilation error on Mac OS. 2010-01-28 14:58:24 -08:00
Vinson Lee 77b1f2fbcf progs/glsl: Remove unused variable in bump.c. 2010-01-28 14:54:10 -08:00
Vinson Lee 07fb52bcf6 progs/glsl: Remove unnecessary header from samplers.c. 2010-01-28 14:22:15 -08:00
Corbin Simpson 0087322729 r300g: Clean up blend masks, change caps.
progs/tests/drawbuffers should work, except I can't test it. GG new
shader parser. GG.
2010-01-28 13:39:47 -08:00
Corbin Simpson 2e481e9fad gallium-docs: Minor grammar, need to talk about dual-source blends. 2010-01-28 13:37:09 -08:00
Corbin Simpson 505a43aff2 gallium-docs: Clean up constantbuf info a bit.
Hmm, does this belong in context, next to set_constant_buffer? Maybe
a paragraph in shaders might be useful.
2010-01-28 12:35:12 -08:00
Corbin Simpson a5f7c63fc0 gallium-docs: Add PIPE_CAP info. 2010-01-28 12:22:51 -08:00
Eric Anholt f20e83210e intel: Set the region's tiling to none when attaching a PBO to a region.
Note that when detaching the PBO from the region and making a new BO
for the region, we don't make it tiled even if the region originally
was.

Fixes piglit pbo-teximage-tiling.
2010-01-28 10:55:25 -08:00
Eric Anholt c9886d535e i915: Remove unused initial and current state, now that there's nothing else. 2010-01-28 10:55:25 -08:00
Eric Anholt f9439e4a46 intel: Remove long-disabled meta readpixels, and associated meta support. 2010-01-28 10:55:25 -08:00
Jakob Bornecrantz c75e238434 st/xorg: Update to new libkms interface but be backwards compatible 2010-01-28 18:37:54 +00:00
Alan Hourihane 32e6043150 define own embedded target and cleanup previous commit. 2010-01-28 17:26:05 +00:00
Alan Hourihane 75cd6f3ece Don't define HAVE_POSIX_MEMALIGN for embedded target. 2010-01-28 17:23:31 +00:00
Roland Scheidegger 9b346f83a7 Merge commit 'origin/perrtblend'
Conflicts:
	src/gallium/drivers/softpipe/sp_screen.c
	src/gallium/include/pipe/p_defines.h
2010-01-28 17:23:58 +01:00
Roland Scheidegger 2fa34bf44c gallium: remove PIPE_CAP_S3TC, and add PIPE_CAP_DUAL_SOURCE_BLEND
there's no point in keeping deprecated PIPE_CAPS around since there's no
stable interface (yet).
Reuse the enum for PIPE_CAP_DUAL_SOURCE_BLEND. Drivers advertizing this
will accept the pipe blendfactors with SRC1 in them and be able to do dual
source blending (src color from pixel shader output 0, and blendfactor with
SRC1 will come from output 1, only one render target may be bound when using
any of these blend factors).
2010-01-28 17:11:49 +01:00
Alan Hourihane bd60e6cd5c add PIPE_SUBSYSTEM_EMBEDDED when embedded platform used 2010-01-28 15:34:10 +00:00
Michal Krol 9e895831bc tgsi: Constants declared with ureg_DECL_constant() are one-dimensional.
This is to maintain backward compatibility with drivers
that don't support arrays of constant buffers.
2010-01-28 14:08:22 +01:00
Michal Krol 3ba2ab3a23 tgsi: Add ureg_property_gs_output_prim/max_vertices(). 2010-01-28 14:08:19 +01:00
Michal Krol 6522804cb3 docs: Implement constant buffer CAPs. 2010-01-28 14:08:16 +01:00
Michal Krol 3320acb67d softpipe: Report some sane values for constant buffer CAP queries. 2010-01-28 14:08:12 +01:00
Michal Krol 25123e0c88 gallium: Add CAPs for constant buffers. 2010-01-28 14:08:08 +01:00
Michal Krol 7c5f255201 gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS. 2010-01-28 14:08:03 +01:00
Michal Krol 333c035a51 regress: Add vertex shaders tests for constant buffers. 2010-01-28 14:07:58 +01:00