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.
Eric Anholt [Wed, 27 Jan 2010 01:02:55 +0000 (17:02 -0800)]
intel: Remove DRI1 junk from CopyPixels.
Eric Anholt [Wed, 27 Jan 2010 00:40:05 +0000 (16:40 -0800)]
intel: Remove DRI1 junk from glClear blit implementation.
Eric Anholt [Wed, 27 Jan 2010 00:35:27 +0000 (16:35 -0800)]
i965: Remove DRI1 leftovers from stipple offset handling.
Vinson Lee [Wed, 27 Jan 2010 01:00:15 +0000 (17:00 -0800)]
i965g: Silence uninitialized variable warning.
Vinson Lee [Wed, 27 Jan 2010 00:45:32 +0000 (16:45 -0800)]
softpipe: Remove unused variables.
Vinson Lee [Wed, 27 Jan 2010 00:37:10 +0000 (16:37 -0800)]
st/mesa: Silence uninitialized variable warning.
Eric Anholt [Wed, 27 Jan 2010 00:22:10 +0000 (16:22 -0800)]
intel: Fix PBO blit ReadPixels from an FBO.
Bug #25921 -- clutter PBO usage gave unreliable results.
Igor Oliveira [Mon, 25 Jan 2010 23:23:04 +0000 (19:23 -0400)]
docs: add documentation to double opcodes
Signed-off-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Tue, 26 Jan 2010 22:43:23 +0000 (14:43 -0800)]
i965: Add support for EXT_draw_buffers2.
Eric Anholt [Tue, 26 Jan 2010 21:08:42 +0000 (13:08 -0800)]
i965: Fix fp fragment.position handling and enable HW part of ARB_fcc.
As with swrast, this fixes the default pixel center behavior which was
broken, and implements the previous behavior for integer. Fixes
piglit fp-arb-fragment-coord-conventions-none. The extension won't be
exposed until we get the GLSL part implemented.
The DRI1 origin_x/y parts are dropped since they're no longer relevant.
Eric Anholt [Tue, 26 Jan 2010 20:43:43 +0000 (12:43 -0800)]
swrast: Implement ARB_fragment_coord_conventions but don't enable.
This brings swrast's support up to the state of gallium, and fixes the
default center behavior of fragment.position.xy in piglit
fp-arb-fragment-coord-conventions-none.
The extension is not enabled currently because the GLSL part of the
extension isn't supported, so piglit
glsl-arb-fragment-coord-conventions-define fails as would any serious
test of the GLSL part.
Alan Hourihane [Tue, 26 Jan 2010 20:58:11 +0000 (20:58 +0000)]
support an 'embedded' platform target which turns off most parts of the
build.
Alan Hourihane [Tue, 26 Jan 2010 20:57:03 +0000 (20:57 +0000)]
Check for __USE_MISC for defining uint & ushort
Brian Paul [Tue, 26 Jan 2010 20:23:25 +0000 (13:23 -0700)]
Merge branch 'mesa_7_7_branch'
Merging was easier than cherry picking in this instance.
Erik Wien [Tue, 26 Jan 2010 20:19:30 +0000 (13:19 -0700)]
mesa: Don't bind DRAW/READ_FRAMEBUFFER separately without FBO blit support
If GL_EXT_framebuffer_blit was not supported _mesa_DeleteFramebuffersEXT
would raise an error when deleting the currently bound framebuffer. This
because it tried to bind the default DRAW- and READ_FRAMEBUFFER separately.
This patch binds the default FRAMEBUFFER instead in that case.
Encountered in the fbo/fbo-copyteximage piglit test on R600.
Patch cleaned up a bit by Brian Paul.
Jesse Barnes [Tue, 26 Jan 2010 20:16:53 +0000 (22:16 +0200)]
intel: make sure we update the renderbuffers after a swap
Now that LOCK_HARDWARE is gone, we don't have a convenient place to
update the renderbuffers everywhere we need them. So grab new buffers
when we invalidate the old ones until we optimize things further.
Alan Hourihane [Tue, 26 Jan 2010 19:57:34 +0000 (19:57 +0000)]
add missing SCons.Util
Brian Paul [Tue, 26 Jan 2010 19:49:44 +0000 (12:49 -0700)]
vbo: if 'end' is out of bounds, clamp it
If we determine that the 'end' parameter to glDrawElements() is out of
bounds, clamp it to the max legal index value.
Brian Paul [Tue, 26 Jan 2010 19:47:51 +0000 (12:47 -0700)]
vbo: clamp DrawElements start/end to max possible values
Some apps are sloppy with their start/end values. Clamp them to
max possible values to prevent problems later.
Alan Hourihane [Tue, 26 Jan 2010 19:18:32 +0000 (19:18 +0000)]
fix typo
Alan Hourihane [Tue, 26 Jan 2010 19:14:16 +0000 (19:14 +0000)]
Allow the environment to override certain flags.
Alan Hourihane [Tue, 26 Jan 2010 19:13:27 +0000 (19:13 +0000)]
only use -Werror flags with gcc 4.2.x and 4.3.x.
could use a better test here though.
Aaron Plattner [Tue, 26 Jan 2010 18:14:11 +0000 (10:14 -0800)]
glxgears: Support GLX_EXT_swap_control for querying the current swap interval.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Tue, 26 Jan 2010 17:53:34 +0000 (10:53 -0700)]
mesa: remove redundant _MaxElement computation
Eric added some new code to check if offset < obj_size before computing
_MaxElement but my original code was still present afterward and it
clobbered the _MaxElement value.
Not sure if this came from a bad merge or what.
Brian Paul [Tue, 26 Jan 2010 17:48:00 +0000 (10:48 -0700)]
progs/tests: use glDrawRangeElements() in bufferobj.c
Christoph Bumiller [Tue, 26 Jan 2010 16:58:50 +0000 (17:58 +0100)]
nv50: supports independent blend enables
Roland Scheidegger [Tue, 26 Jan 2010 16:32:57 +0000 (17:32 +0100)]
gallium: add the new PIPE_CAP blend bits to more drivers
some drivers will complain if they don't know the cap bit