Corbin Simpson [Sat, 30 Jan 2010 20:23:43 +0000 (12:23 -0800)]
r300g: Don't handle SHADOW_AMBIENT.
Bisected so that only this commit has to be reverted if I'm wrong.
...Pfft, like I'm ever wrong. :3
Corbin Simpson [Sat, 30 Jan 2010 20:23:24 +0000 (12:23 -0800)]
r300g: Fix comment on SHADOW_AMBIENT.
Corbin Simpson [Sat, 30 Jan 2010 20:11:28 +0000 (12:11 -0800)]
gallium-docs: Fix missing PIPE_CAPs.
Hmm, need to cross-ref those TGSI things. My work is never done... :3
Corbin Simpson [Sat, 30 Jan 2010 20:03:20 +0000 (12:03 -0800)]
r300g: Dual-source blending isn't possible, period.
Mathias Fröhlich [Sat, 30 Jan 2010 19:38:21 +0000 (11:38 -0800)]
r300g: Add alpha render targets.
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Tested-by: Mathias Fröhlich <Mathias.Froehlich@gmx.net>
Chia-I Wu [Sat, 30 Jan 2010 15:07:31 +0000 (23:07 +0800)]
progs/es1: Add bindtex.
It is ported from progs/egl/xeglbindtex.c. With the OpenGL ES port, the
OpenGL version is removed.
Chia-I Wu [Sat, 30 Jan 2010 15:13:18 +0000 (23:13 +0800)]
st/egl: eglBindTexImage should bind to an OpenGL ES texture.
The spec says that it only works with OpenGL ES.
Chia-I Wu [Sat, 30 Jan 2010 15:02:12 +0000 (23:02 +0800)]
egl: Remove my_strdup.
There is already _eglstrdup for the main library's use.
Chia-I Wu [Sat, 30 Jan 2010 14:55:00 +0000 (22:55 +0800)]
egl: Remove unused VisibleRefCount.
Chia-I Wu [Sat, 30 Jan 2010 14:45:54 +0000 (22:45 +0800)]
egl: Rename Binding to CurrentContext in _EGLSurface.
A context can be bound to a surface just like it can be bound to a
thread. CurrentContext is a more consistent name.
Chia-I Wu [Fri, 29 Jan 2010 01:00:30 +0000 (09:00 +0800)]
egl: Clean up header inclusions.
Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
Roland Scheidegger [Sat, 30 Jan 2010 00:56:42 +0000 (01:56 +0100)]
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.
Brian Paul [Fri, 29 Jan 2010 21:01:12 +0000 (14:01 -0700)]
progs/demos: new image dissolve demo
Dissolve between two images using a random pattern in the stencil
buffer and a varying stencil ref value.
Brian Paul [Fri, 29 Jan 2010 19:36:26 +0000 (12:36 -0700)]
gallium: document pipe_context::get_query_result()
Keith Whitwell [Fri, 29 Jan 2010 20:24:26 +0000 (20:24 +0000)]
Merge commit 'lb2/arb_fragment_coord_conventions'
Corbin Simpson [Fri, 29 Jan 2010 17:53:55 +0000 (09:53 -0800)]
docs: Mark what I've been up to.
Brian, feel free to split/revert if you disagree.
Brian Paul [Fri, 29 Jan 2010 15:43:28 +0000 (08:43 -0700)]
progs/tests: added a few more files to .gitignore
Brian Paul [Fri, 29 Jan 2010 15:40:46 +0000 (08:40 -0700)]
tnl: check that state is validated before drawing
(cherry picked from commit
9fd3c74724e557bc6ecc851d8552615ab3becfe2)
Conflicts:
src/mesa/tnl/t_draw.c
Brian Paul [Fri, 29 Jan 2010 15:39:47 +0000 (08:39 -0700)]
st/mesa: check that state is validated before drawing
(cherry picked from commit
4d1234e22242529c8d85f5ef0cf826af41a91570)
Conflicts:
src/mesa/state_tracker/st_draw.c
Brian Paul [Fri, 29 Jan 2010 15:38:21 +0000 (08:38 -0700)]
vbo: fix missing state validation bugs
Commit
2708ddfb06a36d8568e2aa130bf1f7d551fcd309 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
3cba779e16935f7c3a0bfd8af48bd5e015068e96)
Brian Paul [Fri, 29 Jan 2010 15:38:11 +0000 (08:38 -0700)]
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
23eda89ec89e2bd5bc26077bd56e8d6b5d4040d4)
Brian Paul [Fri, 29 Jan 2010 15:37:31 +0000 (08:37 -0700)]
docs: Fixed Windows build for 7.7.1
(cherry picked from commit
a0518e66b2960d3bab386985e24ccbc9c51abf97)
Brian Paul [Fri, 29 Jan 2010 15:37:15 +0000 (08:37 -0700)]
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
82c76cd16f35f4d903f49761af7eb28a755ad299)
Rodolfo Ribeiro Gomes [Fri, 29 Jan 2010 15:36:47 +0000 (08:36 -0700)]
glx: fix possible memory leaks in dri2CreateScreen()
Original patch fixed up by Brian Paul.
Brian Paul [Fri, 29 Jan 2010 15:31:48 +0000 (08:31 -0700)]
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
e3257912e006120f6ab611e77005eed1a464030a)
Luca Barbieri [Thu, 21 Jan 2010 04:38:45 +0000 (05:38 +0100)]
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.
Luca Barbieri [Thu, 21 Jan 2010 05:37:48 +0000 (06:37 +0100)]
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.
Luca Barbieri [Thu, 21 Jan 2010 04:36:14 +0000 (05:36 +0100)]
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.
Luca Barbieri [Thu, 21 Jan 2010 04:36:14 +0000 (05:36 +0100)]
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.
Luca Barbieri [Thu, 28 Jan 2010 22:17:27 +0000 (23:17 +0100)]
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.
Alan Hourihane [Fri, 29 Jan 2010 10:22:22 +0000 (10:22 +0000)]
another gcc 4.2.x check for mstackrealign
Vinson Lee [Fri, 29 Jan 2010 02:07:04 +0000 (18:07 -0800)]
glu/sgi: Remove unnecessary headers.
Vinson Lee [Fri, 29 Jan 2010 01:32:33 +0000 (17:32 -0800)]
svga: Remove unnecessary headers.
Vinson Lee [Thu, 28 Jan 2010 23:56:50 +0000 (15:56 -0800)]
softpipe: Remove unnecessary header.
Vinson Lee [Thu, 28 Jan 2010 23:54:57 +0000 (15:54 -0800)]
llvmpipe: Remove unnecessary header.
Vinson Lee [Thu, 28 Jan 2010 23:39:11 +0000 (15:39 -0800)]
egl: Remove unnecessary headers.
Vinson Lee [Thu, 28 Jan 2010 23:11:39 +0000 (15:11 -0800)]
progs/tests: Remove unnecessary headers.
Vinson Lee [Thu, 28 Jan 2010 22:58:24 +0000 (14:58 -0800)]
progs/glsl: Fix bump GLSL compilation error on Mac OS.
Vinson Lee [Thu, 28 Jan 2010 22:54:10 +0000 (14:54 -0800)]
progs/glsl: Remove unused variable in bump.c.
Vinson Lee [Thu, 28 Jan 2010 22:20:33 +0000 (14:20 -0800)]
progs/glsl: Remove unnecessary header from samplers.c.
Corbin Simpson [Thu, 28 Jan 2010 21:39:13 +0000 (13:39 -0800)]
r300g: Clean up blend masks, change caps.
progs/tests/drawbuffers should work, except I can't test it. GG new
shader parser. GG.
Corbin Simpson [Thu, 28 Jan 2010 21:37:09 +0000 (13:37 -0800)]
gallium-docs: Minor grammar, need to talk about dual-source blends.
Corbin Simpson [Thu, 28 Jan 2010 20:29:53 +0000 (12:29 -0800)]
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.
Corbin Simpson [Thu, 28 Jan 2010 20:22:08 +0000 (12:22 -0800)]
gallium-docs: Add PIPE_CAP info.
Eric Anholt [Thu, 28 Jan 2010 18:53:04 +0000 (10:53 -0800)]
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.
Eric Anholt [Thu, 28 Jan 2010 06:22:49 +0000 (22:22 -0800)]
i915: Remove unused initial and current state, now that there's nothing else.
Eric Anholt [Thu, 28 Jan 2010 05:22:00 +0000 (21:22 -0800)]
intel: Remove long-disabled meta readpixels, and associated meta support.
Jakob Bornecrantz [Thu, 28 Jan 2010 16:59:26 +0000 (17:59 +0100)]
st/xorg: Update to new libkms interface but be backwards compatible
Alan Hourihane [Thu, 28 Jan 2010 17:26:05 +0000 (17:26 +0000)]
define own embedded target and cleanup previous commit.
Alan Hourihane [Thu, 28 Jan 2010 17:22:35 +0000 (17:22 +0000)]
Don't define HAVE_POSIX_MEMALIGN for embedded target.
Roland Scheidegger [Thu, 28 Jan 2010 16:23:58 +0000 (17:23 +0100)]
Merge commit 'origin/perrtblend'
Conflicts:
src/gallium/drivers/softpipe/sp_screen.c
src/gallium/include/pipe/p_defines.h
Roland Scheidegger [Thu, 28 Jan 2010 16:11:49 +0000 (17:11 +0100)]
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).
Alan Hourihane [Thu, 28 Jan 2010 15:34:10 +0000 (15:34 +0000)]
add PIPE_SUBSYSTEM_EMBEDDED when embedded platform used
Michal Krol [Wed, 27 Jan 2010 19:43:42 +0000 (20:43 +0100)]
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.
Michal Krol [Wed, 27 Jan 2010 14:24:50 +0000 (15:24 +0100)]
tgsi: Add ureg_property_gs_output_prim/max_vertices().
Michal Krol [Mon, 25 Jan 2010 13:55:24 +0000 (14:55 +0100)]
docs: Implement constant buffer CAPs.
Michal Krol [Mon, 25 Jan 2010 13:31:32 +0000 (14:31 +0100)]
softpipe: Report some sane values for constant buffer CAP queries.
Michal Krol [Mon, 25 Jan 2010 12:35:35 +0000 (13:35 +0100)]
gallium: Add CAPs for constant buffers.
Michal Krol [Mon, 25 Jan 2010 12:29:33 +0000 (13:29 +0100)]
gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.
Michal Krol [Mon, 25 Jan 2010 11:42:17 +0000 (12:42 +0100)]
regress: Add vertex shaders tests for constant buffers.
Michal Krol [Mon, 25 Jan 2010 11:36:50 +0000 (12:36 +0100)]
gallium: Enable multiple constant buffers for vertex and geometry shaders.
Michal Krol [Fri, 22 Jan 2010 08:40:33 +0000 (09:40 +0100)]
regress: Add fragment shader test for one-dimensional constant buffers.
Michal Krol [Thu, 21 Jan 2010 19:03:13 +0000 (20:03 +0100)]
regress: Add two-dimension constant buffer test.
Michal Krol [Thu, 21 Jan 2010 19:02:44 +0000 (20:02 +0100)]
python: Link to ws2_32 on windows.
Michal Krol [Thu, 21 Jan 2010 19:02:17 +0000 (20:02 +0100)]
tgsi: Handle two-dimensional constants in text parser.
Michal Krol [Mon, 11 Jan 2010 19:50:57 +0000 (20:50 +0100)]
regress: Fix shader header.
Michal Krol [Tue, 19 Jan 2010 12:20:15 +0000 (13:20 +0100)]
gallium: Implement 2D constant buffers for fragment shader in softpipe.
Michal Krol [Tue, 19 Jan 2010 12:16:20 +0000 (13:16 +0100)]
tgsi: Handle 2-D declarations.
Michal Krol [Tue, 19 Jan 2010 12:03:01 +0000 (13:03 +0100)]
gallium: Add tgsi_declaration_dimension token.
This will allow us to declare two-dimensional constant buffers.
Corbin Simpson [Thu, 28 Jan 2010 11:03:07 +0000 (03:03 -0800)]
radeong: Slight improvement to buffer creation.
Corbin Simpson [Thu, 28 Jan 2010 10:58:28 +0000 (02:58 -0800)]
gallium-docs: Moar buffer info.
Oh look, that one question about map_buffer_range is answered.
Corbin Simpson [Thu, 28 Jan 2010 10:43:45 +0000 (02:43 -0800)]
gallium-docs: Start doc'ing screen buffers.
Corbin Simpson [Thu, 28 Jan 2010 09:28:59 +0000 (01:28 -0800)]
r300g: Fix bizarre half-flushes with immd mode.
Corbin Simpson [Thu, 28 Jan 2010 05:31:36 +0000 (21:31 -0800)]
r300g: Atomize framebuffers.
There might be some optimizations possible here...
Chia-I Wu [Wed, 27 Jan 2010 15:18:22 +0000 (23:18 +0800)]
docs: Update the developer section of egl.html.
Mainly to add a subsection on the lifetime of display resources.
Vinson Lee [Thu, 28 Jan 2010 09:32:15 +0000 (01:32 -0800)]
scons: Do not use linker option '-Bsymbolic' on Mac OS X.
ld on Mac OS X does not recognize the option '-Bsymbolic'.
Chia-I Wu [Thu, 28 Jan 2010 08:57:49 +0000 (16:57 +0800)]
egl: Migrate drivers to use _eglBindContext.
_eglMakeCurrent is a big hammer that is not easy to use. Migrate
drivers to use _eglBindContext and un-export _eglMakeCurrent.
Chia-I Wu [Thu, 28 Jan 2010 08:49:40 +0000 (16:49 +0800)]
egl: Correctly unbind contexts in eglReleaseThread.
MakeCurrent unbinds the current context of the current API. Modify the
current API to make sure all contexts are correctly unbound.
Chia-I Wu [Wed, 27 Jan 2010 15:51:54 +0000 (23:51 +0800)]
egl: eglMakeCurrent should accept an uninitialized display.
When no context or surface are given, the display is allowed to be
uninitialized. Most drivers cannot handle an uninitialized display.
But they are updated to at least throw a fatal message.
Chia-I Wu [Wed, 27 Jan 2010 15:31:20 +0000 (23:31 +0800)]
egl: Add _eglBindContext.
It works similar to _eglMakeCurrent, except that the old context and
surfaces are returned instead of destroyed. _eglMakeCurrent is now
calling the new _eglBindContext.
Chia-I Wu [Wed, 27 Jan 2010 15:55:58 +0000 (23:55 +0800)]
egl: Use a boolean to indicate whether a display is initialized.
The driver pointer of the display was used to decide whether a display
is initialized. Use a boolean for that purpose allows accessing the
driver of an uninitialized display.
Vinson Lee [Thu, 28 Jan 2010 09:19:53 +0000 (01:19 -0800)]
scons: Fix GLEW build on Mac OS X.
Vinson Lee [Thu, 28 Jan 2010 08:40:43 +0000 (00:40 -0800)]
tgsi: Silence uninitialized variable warning.
Vinson Lee [Thu, 28 Jan 2010 08:33:30 +0000 (00:33 -0800)]
radeon: Silence "format" compiler warnings.
Vinson Lee [Thu, 28 Jan 2010 08:25:20 +0000 (00:25 -0800)]
st/xorg: Remove unnecessary headers.
Vinson Lee [Thu, 28 Jan 2010 08:20:22 +0000 (00:20 -0800)]
st/dri: Remove unnecessary headers.
Vinson Lee [Thu, 28 Jan 2010 02:08:37 +0000 (18:08 -0800)]
llvmpipe: Remove unnecessary headers.
Brian Paul [Thu, 28 Jan 2010 00:48:15 +0000 (17:48 -0700)]
swrast: s/FIXED_TO_FLOAT/FixedToFloat/
Vinson Lee [Thu, 28 Jan 2010 00:11:23 +0000 (16:11 -0800)]
r300g: Remove unnecessary headers.
Brian Paul [Thu, 28 Jan 2010 00:03:48 +0000 (17:03 -0700)]
mesa: fix int/uint comparison warnings
Reported by Karl Schultz.
Brian Paul [Thu, 28 Jan 2010 00:03:04 +0000 (17:03 -0700)]
mesa: fix double->float assignment warnings, int/uint comparison warnings
Reported by Karl Schultz.
Brian Paul [Thu, 28 Jan 2010 00:02:29 +0000 (17:02 -0700)]
mesa: fix double->float assignment warnings
Reported by Karl Schultz.
Brian Paul [Thu, 28 Jan 2010 00:01:54 +0000 (17:01 -0700)]
mesa: fix int/uint comparison warnings
Reported by Karl Schultz.
Brian Paul [Thu, 28 Jan 2010 00:01:10 +0000 (17:01 -0700)]
tnl: fix double->float and int/uint conversion warnings
Reported by Karl Schultz.
Brian Paul [Thu, 28 Jan 2010 00:00:32 +0000 (17:00 -0700)]
swrast: silence double->float assignment warnings
Reported by Karl Schultz.
Brian Paul [Thu, 28 Jan 2010 00:00:15 +0000 (17:00 -0700)]
mesa: more info in glActiveTexture error msg
Brian Paul [Wed, 27 Jan 2010 00:31:06 +0000 (17:31 -0700)]
configs: added vega to default GALLIUM_STATE_TRACKERS_DIRS
Vinson Lee [Wed, 27 Jan 2010 23:54:21 +0000 (15:54 -0800)]
i965g: Remove unnecessary headers.
Vinson Lee [Wed, 27 Jan 2010 23:35:58 +0000 (15:35 -0800)]
util: Remove unnecessary header.
Vinson Lee [Wed, 27 Jan 2010 23:32:48 +0000 (15:32 -0800)]
tgsi: Remove unnecessary header.