mesa.git
14 years agor300compiler: Add MRT number to debugging output.
Corbin Simpson [Wed, 11 Nov 2009 11:08:08 +0000 (03:08 -0800)]
r300compiler: Add MRT number to debugging output.

14 years agor300compiler, r300 classic, r300g: Add support for MRTs in the frag shader.
Corbin Simpson [Wed, 11 Nov 2009 11:06:51 +0000 (03:06 -0800)]
r300compiler, r300 classic, r300g: Add support for MRTs in the frag shader.

This maybe breaks the vert compiler. Hopefully not.

14 years agotgsi: ureg_DECL_gs_input() accepts shader semantics.
Michal Krol [Tue, 2 Feb 2010 09:42:13 +0000 (10:42 +0100)]
tgsi: ureg_DECL_gs_input() accepts shader semantics.

14 years agovega: implement tgsi_ureg shaders cache
Igor Oliveira [Tue, 2 Feb 2010 02:02:15 +0000 (22:02 -0400)]
vega: implement tgsi_ureg shaders cache

14 years agovega: change tgsi asm by tgsi_ureg
Igor Oliveira [Tue, 2 Feb 2010 02:01:51 +0000 (22:01 -0400)]
vega: change tgsi asm by tgsi_ureg

14 years agor200: Fix EXT_fogcoord rendering.
Pauli Nieminen [Tue, 2 Feb 2010 03:39:28 +0000 (05:39 +0200)]
r200: Fix EXT_fogcoord rendering.

The fogcoord calue was not pushed to GPU because of implicit float to int conversion.
Fix is to use float pointer to buffer object so no conversion is done in assigment

14 years agor300g: Fix funky segfault.
Corbin Simpson [Tue, 2 Feb 2010 03:47:46 +0000 (19:47 -0800)]
r300g: Fix funky segfault.

14 years agost/egl: Wrong context might be used in eglBindTexImage.
Chia-I Wu [Tue, 2 Feb 2010 03:22:51 +0000 (11:22 +0800)]
st/egl: Wrong context might be used in eglBindTexImage.

If the pbuffer surface is current, gctx is set to the current context.
Make sure it is set to OpenGL ES 1 context again before binding.

14 years agodocs: Update for EGL environment variables.
Chia-I Wu [Tue, 2 Feb 2010 03:05:19 +0000 (11:05 +0800)]
docs: Update for EGL environment variables.

Mention that EGL_DRIVER should be a full path, and add a link from
envvars.html to egl.html.

14 years agoprogs/es2: Fix an assertion failure in tri.
Chia-I Wu [Tue, 2 Feb 2010 02:40:32 +0000 (10:40 +0800)]
progs/es2: Fix an assertion failure in tri.

EGL_SURFACE_TYPE is a config attribute, not a surface attribute.  Thanks
to Mike Stroyan for pointing out this error.

14 years agost/mesa: fix texture deallocation bug
Brian Paul [Tue, 2 Feb 2010 02:04:16 +0000 (19:04 -0700)]
st/mesa: fix texture deallocation bug

This fixes a bug reported by Christoph Bumiller on mesa3d-dev.

When a texture is first created as RGBA, then re-defined with
glTexImage(internalFormat=GL_DEPTH_COMPONENT) we failed to deallocate
the original texture.  When this texture was bound as a FBO surface,
the depth/Z surface format was RGBA instead of Z.  Depending on the
driver this led to a failed assertion or FBO validation failure.

This patch does three things:

1. Remove ancient code that mysteriously tested if we were replacing
the smallest mipmap level and tested if the texture was not a cube map
texture.  I can't see any reason for those tests.

2. Move the width=height=depth=0 test to after the code which frees
texture data.  Calling glTexImage with width=height=depth=0 and data=NULL
is a way to free a single mipmap level.

3. Update the code comments.

There are no apparent conform, glean or piglit regressions from this change.

(cherry picked from commit 43e4b584227534e30e487e7fb7e99d6501cbcd85)

14 years agoprogs/tests: add another FBO test to exercise a RGBA vs. Z texture bug
Brian Paul [Tue, 2 Feb 2010 02:02:52 +0000 (19:02 -0700)]
progs/tests: add another FBO test to exercise a RGBA vs. Z texture bug

See comments in file for more details.

14 years agomesa: change _mesa_find_free_register() to find multiple free regs
Brian Paul [Tue, 2 Feb 2010 01:00:12 +0000 (18:00 -0700)]
mesa: change _mesa_find_free_register() to find multiple free regs

Before, _mesa_find_free_register() would scan the given shader to
find a free/unused register of the given type.  But subsequent calls
would return the same register again.  This caused a failure in the
_mesa_remove_output_reads() function which sometimes needs several
free temps.

Now use a new function which build a vector of 'used' flags and another
function which searches that vector for an unused register starting at
a position that's incremented for each call.

Fixes fd.o bug 26317.  Note that a regression test for this has been
added to the glean/glsl1 test.

(cherry picked from commit e0d01c9d7f46ccd531f8dd1a04c5ac067200ef1e)

14 years agor300g: Inline immediates where possible.
Corbin Simpson [Mon, 1 Feb 2010 20:47:03 +0000 (12:47 -0800)]
r300g: Inline immediates where possible.

Oh look, more gears. Seems to work just fine though.

14 years agost/mesa: remove duplicate calculation of fp input mapping
Keith Whitwell [Mon, 1 Feb 2010 20:42:34 +0000 (20:42 +0000)]
st/mesa: remove duplicate calculation of fp input mapping

This was being calculated the same way in two different places.
Now just do it in st_translate_fragment_program().

14 years agost/mesa: remove dead stfp input_map array
Keith Whitwell [Mon, 1 Feb 2010 20:32:32 +0000 (20:32 +0000)]
st/mesa: remove dead stfp input_map array

Was being calculated and not used.  Also was probably incorrect...

14 years agomesa: added _mesa_print_vp/p_inputs() functions (debug aids)
Brian Paul [Mon, 1 Feb 2010 20:03:25 +0000 (13:03 -0700)]
mesa: added _mesa_print_vp/p_inputs() functions (debug aids)

14 years agoglslcompiler: add glapi_nop.o to OBJECTS
Brian Paul [Sat, 30 Jan 2010 20:10:08 +0000 (13:10 -0700)]
glslcompiler: add glapi_nop.o to OBJECTS

14 years agomesa: Remove unnecessary headers.
Vinson Lee [Mon, 1 Feb 2010 08:43:33 +0000 (00:43 -0800)]
mesa: Remove unnecessary headers.

14 years agoglx: Remove unnecessary headers.
Vinson Lee [Mon, 1 Feb 2010 08:22:50 +0000 (00:22 -0800)]
glx: Remove unnecessary headers.

14 years agost/dri: Remove duplicate type qualifier.
Vinson Lee [Mon, 1 Feb 2010 07:52:48 +0000 (23:52 -0800)]
st/dri: Remove duplicate type qualifier.

14 years agoi965g: Add missing va_end.
Vinson Lee [Mon, 1 Feb 2010 07:47:07 +0000 (23:47 -0800)]
i965g: Add missing va_end.

14 years agor300g: Fix memory leak on memory allocation failure.
Vinson Lee [Mon, 1 Feb 2010 06:38:25 +0000 (22:38 -0800)]
r300g: Fix memory leak on memory allocation failure.

14 years agor600: Remove duplicate assignment.
Vinson Lee [Mon, 1 Feb 2010 06:33:01 +0000 (22:33 -0800)]
r600: Remove duplicate assignment.

14 years agoegl: Remove unnecessary headers.
Vinson Lee [Mon, 1 Feb 2010 05:56:53 +0000 (21:56 -0800)]
egl: Remove unnecessary headers.

14 years agonv04: Update to new nouveau_class.h
Marcin Kościelnicki [Sun, 31 Jan 2010 19:31:01 +0000 (19:31 +0000)]
nv04: Update to new nouveau_class.h

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
14 years agonv50/nv40/nv30: fix small memory leak of nouveau_resources on screen_destroy
Marcin Slusarz [Tue, 12 Jan 2010 14:41:50 +0000 (15:41 +0100)]
nv50/nv40/nv30: fix small memory leak of nouveau_resources on screen_destroy

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
14 years agonv10, nv20: Fix build.
Francisco Jerez [Sun, 31 Jan 2010 16:18:09 +0000 (17:18 +0100)]
nv10, nv20: Fix build.

14 years agoegl: Clean up surface attributes.
Chia-I Wu [Sun, 31 Jan 2010 09:56:30 +0000 (17:56 +0800)]
egl: Clean up surface attributes.

Add missing attributes and use correct types in _EGLSurface.  Remove
ifdef tests that serve no purpose.  Update _eglQuerySurface and
_eglSurfaceAttrib for missing queries and checks.

14 years agoegl: Add support for more EGLImage extensions to EGL core.
Chia-I Wu [Sun, 31 Jan 2010 09:34:02 +0000 (17:34 +0800)]
egl: Add support for more EGLImage extensions to EGL core.

Add support EGL_KHR_vg_parent_image and EGL_KHR_gl_*.  This is as simple
as adding some flags that can be enabled.  Individual drivers need to
implement the extensions before enbaling the flags.

14 years agost/mesa: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 10:34:51 +0000 (02:34 -0800)]
st/mesa: Remove unnecessary headers.

14 years agomesa: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 10:30:12 +0000 (02:30 -0800)]
mesa: Remove unnecessary headers.

14 years agoi965: Silence uninitialized variable warning.
Vinson Lee [Sun, 31 Jan 2010 08:44:57 +0000 (00:44 -0800)]
i965: Silence uninitialized variable warning.

14 years agor300g: Silence uninitialized variable warning.
Vinson Lee [Sun, 31 Jan 2010 06:50:35 +0000 (22:50 -0800)]
r300g: Silence uninitialized variable warning.

14 years agoegl: Surface type validaction should depend on extensions supported.
Chia-I Wu [Sun, 31 Jan 2010 06:39:06 +0000 (14:39 +0800)]
egl: Surface type validaction should depend on extensions supported.

EGL_SCREEN_BIT_MESA is a valid bit only when EGL_MESA_screen_surface is
supported.

14 years agoegl: Initialize display configs with the display.
Chia-I Wu [Sun, 31 Jan 2010 06:32:31 +0000 (14:32 +0800)]
egl: Initialize display configs with the display.

This changes _eglInitConfig to take the display as its argument.

14 years agoegl: Initialize display resources with their display.
Chia-I Wu [Sun, 31 Jan 2010 05:33:57 +0000 (13:33 +0800)]
egl: Initialize display resources with their display.

Change _eglInitSurface, _eglInitContext, and _eglInitImage to take an
_EGLDisplay instead of an _EGLDriver.  This is a more natural form, and
plus, the display encodes information such as the extensions supported
that might be required for attribute list parsing.

14 years agoegl: Refactor _eglInitImage.
Chia-I Wu [Sun, 31 Jan 2010 05:04:12 +0000 (13:04 +0800)]
egl: Refactor _eglInitImage.

Refactor attribute list parsing code to _eglParseImageAttribList.

14 years agoegl: Refactor _eglInitContext.
Chia-I Wu [Sun, 31 Jan 2010 04:57:53 +0000 (12:57 +0800)]
egl: Refactor _eglInitContext.

Refactor attribute list parsing code to _eglParseContextAttribList.  Add
a check to make sure the config supports the client API.

14 years agoegl: Refactor _eglInitSurface.
Chia-I Wu [Sun, 31 Jan 2010 04:13:59 +0000 (12:13 +0800)]
egl: Refactor _eglInitSurface.

Refactor attribute list parsing code to _eglParseSurfaceAttribList.

14 years agoi915: Set bit field of length 1 light_twoside to unsigned.
Vinson Lee [Sun, 31 Jan 2010 06:36:54 +0000 (22:36 -0800)]
i915: Set bit field of length 1 light_twoside to unsigned.

14 years agoglut: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 06:24:34 +0000 (22:24 -0800)]
glut: Remove unnecessary headers.

14 years agoradeon: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 05:32:09 +0000 (21:32 -0800)]
radeon: Remove unnecessary headers.

14 years agor600: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 05:11:04 +0000 (21:11 -0800)]
r600: Remove unnecessary headers.

14 years agor300: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 04:49:42 +0000 (20:49 -0800)]
r300: Remove unnecessary headers.

14 years agor200: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 04:43:23 +0000 (20:43 -0800)]
r200: Remove unnecessary headers.

14 years agor128: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 04:24:13 +0000 (20:24 -0800)]
r128: Remove unnecessary headers.

14 years agoegl: Remove code blocks that are commented out.
Chia-I Wu [Sun, 31 Jan 2010 03:26:56 +0000 (11:26 +0800)]
egl: Remove code blocks that are commented out.

They are either unit tests or to demonstrate how functions are supposed
to be used.  The unit test is outdated and it should be better to take a
look at any of the working drivers to see how a function is used.

14 years agoprogs/egl: Update eglinfo to display more attributes.
Chia-I Wu [Sat, 30 Jan 2010 17:57:37 +0000 (01:57 +0800)]
progs/egl: Update eglinfo to display more attributes.

Add config caveat, bind-to-texture, and renderable type.  Remove double
buffer and stereo attributes.

14 years agost/egl: Do not ignore configs without a renderable type.
Chia-I Wu [Sat, 30 Jan 2010 17:25:59 +0000 (01:25 +0800)]
st/egl: Do not ignore configs without a renderable type.

Configs without a renderable type are still informative for programs
such as eglinfo.

14 years agost/egl: Remove egl_g3d_get_current_context.
Chia-I Wu [Sat, 30 Jan 2010 17:18:18 +0000 (01:18 +0800)]
st/egl: Remove egl_g3d_get_current_context.

There is now _eglGetAPIContext that can return the current context of
the given API.

14 years agointel: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 03:11:31 +0000 (19:11 -0800)]
intel: Remove unnecessary headers.

14 years agoi965: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 03:01:19 +0000 (19:01 -0800)]
i965: Remove unnecessary headers.

14 years agoi915: Remove unnecessary headers.
Vinson Lee [Sun, 31 Jan 2010 02:54:56 +0000 (18:54 -0800)]
i915: Remove unnecessary headers.

14 years agointel: Respect texture tiling when doing a PBO blit teximage upload.
Eric Anholt [Sat, 30 Jan 2010 23:11:09 +0000 (15:11 -0800)]
intel: Respect texture tiling when doing a PBO blit teximage upload.

Bug #26008.  Fixes piglit pbo-teximage-tiling-2.

14 years agoRevert "r300g: Don't handle SHADOW_AMBIENT."
Corbin Simpson [Sat, 30 Jan 2010 22:09:04 +0000 (14:09 -0800)]
Revert "r300g: Don't handle SHADOW_AMBIENT."

This reverts commit 627a45848faf9e6d19d386b9eb30d36bf18d0998.

I was wrong. Who could have known? :3

14 years agointel: Fix inverting of inversion test for windows in glClear cleanup.
Eric Anholt [Sat, 30 Jan 2010 20:37:54 +0000 (12:37 -0800)]
intel: Fix inverting of inversion test for windows in glClear cleanup.

Bug #26290.

14 years agor300g: Independent blend enables only work on r500.
Corbin Simpson [Sat, 30 Jan 2010 20:33:44 +0000 (12:33 -0800)]
r300g: Independent blend enables only work on r500.

14 years agor300g: Don't handle SHADOW_AMBIENT.
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

14 years agor300g: Fix comment on SHADOW_AMBIENT.
Corbin Simpson [Sat, 30 Jan 2010 20:23:24 +0000 (12:23 -0800)]
r300g: Fix comment on SHADOW_AMBIENT.

14 years agogallium-docs: Fix missing PIPE_CAPs.
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

14 years agor300g: Dual-source blending isn't possible, period.
Corbin Simpson [Sat, 30 Jan 2010 20:03:20 +0000 (12:03 -0800)]
r300g: Dual-source blending isn't possible, period.

14 years agor300g: Add alpha render targets.
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>
14 years agoprogs/es1: Add bindtex.
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.

14 years agost/egl: eglBindTexImage should bind to an OpenGL ES texture.
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.

14 years agoegl: Remove my_strdup.
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.

14 years agoegl: Remove unused VisibleRefCount.
Chia-I Wu [Sat, 30 Jan 2010 14:55:00 +0000 (22:55 +0800)]
egl: Remove unused VisibleRefCount.

14 years agoegl: Rename Binding to CurrentContext in _EGLSurface.
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.

14 years agoegl: Clean up header inclusions.
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.

14 years agogallium: fix blend state cso
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.

14 years agoprogs/demos: new image dissolve demo
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.

14 years agogallium: document pipe_context::get_query_result()
Brian Paul [Fri, 29 Jan 2010 19:36:26 +0000 (12:36 -0700)]
gallium: document pipe_context::get_query_result()

14 years agoMerge commit 'lb2/arb_fragment_coord_conventions'
Keith Whitwell [Fri, 29 Jan 2010 20:24:26 +0000 (20:24 +0000)]
Merge commit 'lb2/arb_fragment_coord_conventions'

14 years agodocs: Mark what I've been up to.
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.

14 years agoprogs/tests: added a few more files to .gitignore
Brian Paul [Fri, 29 Jan 2010 15:43:28 +0000 (08:43 -0700)]
progs/tests: added a few more files to .gitignore

14 years agotnl: check that state is validated before drawing
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

14 years agost/mesa: check that state is validated before drawing
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

14 years agovbo: fix missing state validation bugs
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)

14 years agomesa: do state validation in _mesa_valid_to_render()
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)

14 years agodocs: Fixed Windows build for 7.7.1
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)

14 years agowindows: assorted build fixes
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)

14 years agoglx: fix possible memory leaks in dri2CreateScreen()
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.

14 years agomesa: Warn when indices are out of bounds, but do not skip the draw in debug builds.
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)

14 years agosoftpipe: support all TGSI fragment coord conventions (v4)
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.

14 years agost/mesa: Gallium support for ARB_fragment_coord_conventions (v4)
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.

14 years agotgsi: add caps for fragment coord conventions (v3)
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.

14 years agotgsi: add properties for fragment coord conventions (v3)
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.

14 years agomesa: don't expose GL_ARB_fragment_coord_conventions until the GLSL part is done
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.

14 years agoanother gcc 4.2.x check for mstackrealign
Alan Hourihane [Fri, 29 Jan 2010 10:22:22 +0000 (10:22 +0000)]
another gcc 4.2.x check for mstackrealign

14 years agoglu/sgi: Remove unnecessary headers.
Vinson Lee [Fri, 29 Jan 2010 02:07:04 +0000 (18:07 -0800)]
glu/sgi: Remove unnecessary headers.

14 years agosvga: Remove unnecessary headers.
Vinson Lee [Fri, 29 Jan 2010 01:32:33 +0000 (17:32 -0800)]
svga: Remove unnecessary headers.

14 years agosoftpipe: Remove unnecessary header.
Vinson Lee [Thu, 28 Jan 2010 23:56:50 +0000 (15:56 -0800)]
softpipe: Remove unnecessary header.

14 years agollvmpipe: Remove unnecessary header.
Vinson Lee [Thu, 28 Jan 2010 23:54:57 +0000 (15:54 -0800)]
llvmpipe: Remove unnecessary header.

14 years agoegl: Remove unnecessary headers.
Vinson Lee [Thu, 28 Jan 2010 23:39:11 +0000 (15:39 -0800)]
egl: Remove unnecessary headers.

14 years agoprogs/tests: Remove unnecessary headers.
Vinson Lee [Thu, 28 Jan 2010 23:11:39 +0000 (15:11 -0800)]
progs/tests: Remove unnecessary headers.

14 years agoprogs/glsl: Fix bump GLSL compilation error on Mac OS.
Vinson Lee [Thu, 28 Jan 2010 22:58:24 +0000 (14:58 -0800)]
progs/glsl: Fix bump GLSL compilation error on Mac OS.

14 years agoprogs/glsl: Remove unused variable in bump.c.
Vinson Lee [Thu, 28 Jan 2010 22:54:10 +0000 (14:54 -0800)]
progs/glsl: Remove unused variable in bump.c.

14 years agoprogs/glsl: Remove unnecessary header from samplers.c.
Vinson Lee [Thu, 28 Jan 2010 22:20:33 +0000 (14:20 -0800)]
progs/glsl: Remove unnecessary header from samplers.c.

14 years agor300g: Clean up blend masks, change caps.
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.

14 years agogallium-docs: Minor grammar, need to talk about dual-source blends.
Corbin Simpson [Thu, 28 Jan 2010 21:37:09 +0000 (13:37 -0800)]
gallium-docs: Minor grammar, need to talk about dual-source blends.