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)
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.
Vinson Lee [Wed, 27 Jan 2010 23:06:13 +0000 (15:06 -0800)]
gallium/draw: Remove unnecessary headers.
Vinson Lee [Wed, 27 Jan 2010 22:04:53 +0000 (14:04 -0800)]
r300g: Silence GCC "missing braces around initializer" warning.
Alex Deucher [Wed, 27 Jan 2010 17:18:02 +0000 (12:18 -0500)]
r600: fix warning
Alex Deucher [Wed, 27 Jan 2010 17:16:50 +0000 (12:16 -0500)]
r600: rv670 support 8 tex instructions just like other r6xx
also clarify some other const values.
Brian Paul [Wed, 27 Jan 2010 16:21:57 +0000 (09:21 -0700)]
cell: remove commas from structs wrapped in PIPE_ALIGN_TYPE macro
This avoids the need to make PIPE_ALIGN_TYPE a variadic macro.
Alan Hourihane [Wed, 27 Jan 2010 12:46:46 +0000 (12:46 +0000)]
Duplicate CCVERSION check code to compensate for different env CC.
Andre Maasikas [Wed, 27 Jan 2010 09:22:56 +0000 (11:22 +0200)]
r600: increase max texture units to 16
Andre Maasikas [Wed, 27 Jan 2010 08:20:15 +0000 (10:20 +0200)]
r600: fix XPD with writemask
same variable used for 2 different temp registers
fixes e.g. glsl/bump
Vinson Lee [Wed, 27 Jan 2010 07:28:23 +0000 (23:28 -0800)]
softpipe: Remove unnecessary header.
Vinson Lee [Wed, 27 Jan 2010 07:26:41 +0000 (23:26 -0800)]
i915g: Remove unnecessary headers.
Vinson Lee [Wed, 27 Jan 2010 06:56:58 +0000 (22:56 -0800)]
scons: Use '-Werror=' option on GCC 4.2.x and greater.
The existing code only checked for GCC 4.2.x and 4.3.x.
Corbin Simpson [Wed, 27 Jan 2010 06:08:11 +0000 (22:08 -0800)]
r300g: Turn the RS block into an atom.
At least one extraneous dirty was eliminated, as well as the chance for
avoiding dirty on shader change.
Corbin Simpson [Wed, 27 Jan 2010 05:49:02 +0000 (21:49 -0800)]
r300g: Make vertex_format into an atom.
Some delicious hax here.
Corbin Simpson [Wed, 27 Jan 2010 05:41:44 +0000 (21:41 -0800)]
r300g: Kill dead code for hashing custom state.
It just wasn't meant to be.
Corbin Simpson [Wed, 27 Jan 2010 04:11:39 +0000 (20:11 -0800)]
r300g: Add A8_UNORM texture format.
Keeps teeworld happy.
Dave Airlie [Wed, 27 Jan 2010 01:46:26 +0000 (11:46 +1000)]
radeon/r200/r300: don't clean non-emitted state.
So if we don't actually emit an atom to the hw because we don't
need it in the current state (e.g. lighting related atoms when
lighting is off) then don't mark it as clean, because when
lighting gets switched on we won't emit it at all.
This fixes funky gears colors.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Wed, 27 Jan 2010 01:02:32 +0000 (11:02 +1000)]
radeon: remove unused file
Eric Anholt [Wed, 27 Jan 2010 02:04:03 +0000 (18:04 -0800)]
intel: Remove dead code from having to clip copyteximage source rect.
mesa core does it now. If only it did so for other entrypoints.
Eric Anholt [Wed, 27 Jan 2010 02:01:37 +0000 (18:01 -0800)]
intel: Use a handy helper in glReadPixels source clipping.
Eric Anholt [Wed, 27 Jan 2010 01:47:03 +0000 (17:47 -0800)]
intel: Clean up stale comments about cliprects.
Eric Anholt [Wed, 27 Jan 2010 01:40:44 +0000 (17:40 -0800)]
intel: Remove the remaining cliprects code from DRI1.
Eric Anholt [Wed, 27 Jan 2010 01:36:35 +0000 (17:36 -0800)]
intel: Remove DRI1 junk from spans code.
This reduces the driver size by over 1%.
Eric Anholt [Wed, 27 Jan 2010 01:11:11 +0000 (17:11 -0800)]
intel: Remove DRI1 junk from blit glBitmap.